rentzsch.com: tales from the red shed
Programming Special Interest Group PSIG Cancelled
in Programming Special Interest Group
Wednesday, September 30, 2009
11:30 PM

Due to unpleasantness originating from PSIG’s parent Mac User Group, I've cancelled PSIG.

PSIG was born in 1996, so it’s had one heck of a run. 13 years: wow.

If/when PSIG is reborn/replaced, I'll update this blog.

Don’t worry: NSCoder Schaumburg and CocoaHeads Chicago/NSCoder Chicago are both still going strong for your local-Mac/iPhone-programming-get-together fix.

 
C4 [c4[3] removeObject:ironCoder];
in C4
Thursday, September 17, 2009
10:12 PM

Sorry I wasn’t clear in my original C4[3] announcement, but there’s no Iron Coder this year — the Blitz Talks soaked up Iron Coder’s time-slot oxygen for this go-round.

 
C4 C4[2] Videos Available
in C4
Monday, September 14, 2009
12:00 AM

Thanks to the volunteer work of Pat Hughes, Bob Frank, Mike Miley and Chuck Remes, I'm pleased to offer videos of C4[2]’s presentations.

I'll light up the following links, one per day, in prep of C4[3].

If you want to download the videos for offline consumption, archiving or transcoding to your iPod/iPhone simply sign up for a Viddler account, sign in and visit the video’s page — there will be a new download link available.

 
Programming Special Interest Group PSIG 127: Thu Sep 3 2009
in Programming Special Interest Group
Wednesday, September 02, 2009
11:55 AM
When:
Thursday, September 3rd, 2009 @ 7pm
Where:
Hotel Indigo. Use this link to get driving directions to the hotel to avoid a Google Maps bug or use these directions from the Arlington Park Metra station.
Schedule:
Show & Tell
We'll start out the meeting by going around the table and talking about what we're currently working on or learning about. Handouts are welcome, or bring along your Mac and we'll hook it up to the projector.

Book Reports
Bring along the book you're currently reading, or one of your old favorites. Hopefully the book would have some relevance to programming, but we're fairly open-minded. Just give us an overview the book's topic, and what you liked (or disliked) about it.

Topics
Snowy has landed. Jonathan 'Wolf' Rentzsch will lead a discussion of what's new in Mac OS X 10.6 Snow Leopard, what's cool, and what's still unbelievably broken.

Dinner
Please Bring Your Own Beverage. And food.

Looking for Presenters:
I'm always on the look-out for folks to want to give a talk for a meeting. The talk doesn't need to be long (10 minutes is fine if your topic is small or you just want to tease the group) and you don't need to be an expert (just tell us why you think your topic is cool or your experiences). Toss me an email and I'll assign you a chunk of time.
 
C4 C4[3] Registration Open
in C4
Monday, August 10, 2009
12:00 AM

C4[3], scheduled for September 25-27 2009, is now open. Register now. Update: C4[3] sold out inside 8 hours.

Speakers

Augie Fackler: Inside Mercurial, Subversion and Git and Why Patch Algebra isn’t Actually Compelling

Want to learn a version control system? Read a book. Want really learn how things work? Extend a dvcs to seamlessly interoperate with a wholly different vcs.

Augie got his hands simultaneously dirty in both Mercurial and Subversion thanks to his hgsubversion project, which aims to unseat git-svn as the premier dvcs interface to Subversion. Augie will illuminate how hg and svn work under the hood, with side trips to git and why darcs' comp-sci-sexy Patch Algebra doesn’t actually matter.

Christopher Lloyd: Dispatch from Cocotron Control

Cocotron is an ambitious project designed to liberate your Objective-C code from the prison that is OS X. Modern, Windows-friendly and non-viral open-source: this isn’t your father’s GNUstep. Christopher—Cocotron’s founder—will provide an introduction to the project and demonstrate how use it to make cross-platform Cocoa applications.

Dave Dribin: Testing, Testing… 1, 2, 3

Writing unit tests can be oddly addictive, once you start. As a reward, you build confidence in the quality of your application, you get better designed code, and you document your APIs with lots of executable examples. Dave will cover what unit testing is, why you should consider using it, and some practical tips.

John Welch: The Carrot or the Stick

It may not seem like it from reading his blog, but John would rather not yell at developers. While it can be fun, it’s always born of frustration and resentment from being ignored. John will provide insight into helping developers engage and even benefit from irate customers.

Jonathan ‘Wolf’ Rentzsch: Studies in JavaScript Object Design

Remember when it was cool to hate JavaScript? Now it’s cool to love JavaScript. Or at least embrace it and understand it for what it is—not what you wish it were. Wolf will explore one small but critical aspect of robust browser-side software: JavaScript inheritance design.

Matt Drance: How to be a Good Developer™

Matt has broken free from the mothership, but while there he saw… activities… that weren’t conducive to a productive professional relationship with your platform vendor. Matt provides insights on how best to waltz with your friendly local 800 lb gorilla.

Michael Lopp: Talk Shit, Delegate, and Know What You Want

Michael has a topic. He blogs about it. He tweets about it. He wrote a book about it. For us, he has some stories to tell about effectively managing teams, virtual and otherwise.

Nick Bradbury: Simplicity Ain’t So Simple

Nick has been deemed an an honorary Mac developer by Mac indies' godfather. That’s pretty impressive for a Windows programmer, even if he writes Windows' most popular RSS reader. Nick demonstrates the passion for software excellence and attention to detail that’s signature to the Mac indie scene. In this talk, Nick will stroll through the ironically-complicated act of creating simple software.

Patrick Thomson: Why MacRuby Matters

MacRuby, the new Ruby implementation powered by LLVM and based on CoreFoundation and Cocoa, has garnered a lot of attention from both the Ruby and the Cocoa communities. Patrick will offer an overview of the rationale behind its creation, explain the ways in which it can benefit your application, and speculate wildly as to what the future may hold.

Peter Wayner: Translucent Databases

One or more of your apps probably has a database in it. And chances are you're collecting more information than you need, and you're storing it insecurely. No fear: Peter literally wrote the book about translucent databases. In his talk, Peter will discuss minimization, misdirection, “stunt” data, equivalence and quantization. From storing prescription records with sensitive data, to implementing a tollway system that keeps travelers anonymous but still accountable to fines, translucent databases are an idea whose time has come.

Along with the accepted Blitz talks:

Jim Correia: 5 Minute Guide to a Better Scripting Interface

Scott Morrison: Building (Unsupported) Plugins for 64 Bit Applications

Fraser Hess: Cocoa Boutique

Rob Rhyne: Design Validation on the iPhone

Jeffrey Czerniak: Emerging Mac OS X Security Tools

Fraser Speirs: Finding the Time: Stories from a One-Man Band

Philippe Casgrain: Friction-free Documentation

Louis Gerbarg: How to Become a Compiler Engineer (in 5 minutes)

Bob Frank: How to Give a Good Preso

David Shayer: Life Recording

Dan Wood: Marketing Is Also Important

Jose Vazquez: Motivational Contexts

Ken Aspeslagh: No Pain, No Gain: Indie Nuggets from Ecamm

Jacob Godwin-Jones: Opacity: A Great Tool for Designers Developers

Kevin A. Mitchell: PyObjC

Mark Boszko: Video and You

And of course expect the standard C4 fare: lunch, dinner, late night poolside parties and Gino’s East Chicago-style deep-dish pizza.

Registration

Register here.

C4[3] costs $512 including meals and is held in downtown Chicago. Strive to arrive at the hotel by Fri Sep 25 at 5:30 pm. It all comes to an end Sun Sep 27 around 4:30 pm.

The hotel (which I ask that you stay at if at all possible) runs ~$140/night until the group block runs out.

 
Programming Special Interest Group PSIG 126: Thu Aug 6 2009
in Programming Special Interest Group
Thursday, August 06, 2009
01:37 AM
When:
Thursday, August 6th, 2009 @ 7pm
Where:
Hotel Indigo. Use this link to get driving directions to the hotel to avoid a Google Maps bug or use these directions from the Arlington Park Metra station.
Schedule:
Show & Tell
We'll start out the meeting by going around the table and talking about what we're currently working on or learning about. Handouts are welcome, or bring along your Mac and we'll hook it up to the projector.

Book Reports
Bring along the book you're currently reading, or one of your old favorites. Hopefully the book would have some relevance to programming, but we're fairly open-minded. Just give us an overview the book's topic, and what you liked (or disliked) about it.

Topics
Tom Swift will talk about iPhone on Rails, an iPhone framework that makes it easy for iPhone apps to interoperate with Ruby on Rails web applications via ActiveResource. Then Victoria Wang will provide a summary of the goings-ons from DEFCON 17.

Dinner
Please Bring Your Own Beverage. And food.

Looking for Presenters:
I'm always on the look-out for folks to want to give a talk for a meeting. The talk doesn't need to be long (10 minutes is fine if your topic is small or you just want to tease the group) and you don't need to be an expert (just tell us why you think your topic is cool or your experiences). Toss me an email and I'll assign you a chunk of time.
 
Programming Special Interest Group PSIG 125: Thu Jul 2 2009
in Programming Special Interest Group
Wednesday, July 01, 2009
12:10 AM
When:
Thursday, July 2nd, 2009 @ 7pm
Where:
Hotel Indigo. Use this link to get driving directions to the hotel to avoid a Google Maps bug or use these directions from the Arlington Park Metra station.
Schedule:
Show & Tell
We'll start out the meeting by going around the table and talking about what we're currently working on or learning about. Handouts are welcome, or bring along your Mac and we'll hook it up to the projector.

Book Reports
Bring along the book you're currently reading, or one of your old favorites. Hopefully the book would have some relevance to programming, but we're fairly open-minded. Just give us an overview the book's topic, and what you liked (or disliked) about it.

Topics
Victoria Wang will give an introduction to programming 2D animations and web-based games. She will focus on both the industry standard, ActionScript for Adobe Flash, as well as the hot open source alternative, Processing and its counterpart, Processing.js. Join us for some fun code and shiny demos!

Dinner
Please Bring Your Own Beverage. And food.

Looking for Presenters:
I'm always on the look-out for folks to want to give a talk for a meeting. The talk doesn't need to be long (10 minutes is fine if your topic is small or you just want to tease the group) and you don't need to be an expert (just tell us why you think your topic is cool or your experiences). Toss me an email and I'll assign you a chunk of time.
 
C4 C4 Blitz Talks
in C4
Monday, June 29, 2009
03:24 AM

For C4[3] (September 25-27 2009 in Chicago, registration opening “soon”) I'm introducing a new feature: Blitz Talks.

The idea is simple: micro-presentations just prior to the normal, full length ones.

Blatantly ripped off from O'Reilly’s Ignite, the Blitz Talk format is constrained and predefined: you get 20 slides. Each slide is displayed for 15 seconds before I advance to the next slide for you. That adds up to five minutes, total.

A lot of really interesting topics just don’t need the full 45-minute treatment, and I think Blitz Talks are a great way to pack even more content into C4.

Another facet to the Blitz Talks are how they're selected. Normally I ask specific people to talk about specific things at C4. With Blitz Talks, that’s turned around.

Instead, I invite you to submit your proposed 20 C4[3] slides to me by Monday, July 13th 2009. Please send me a private URL to your Keynote file, PowerPoint file or 280 Slides presentation, with what you're going to be saying stashed in the speaker notes.

I'll select about 10 talks. Selected speakers get early access to registration, ahead of when I open general registration. (For now, I've abandoned the C4 attendee lottery idea and am going with this instead — my intent is to “reward” folks passionate enough to contribute to C4).

For your actual presentation at C4, Victoria and I made an app that will display your slides along with an on-screen timer: Blitz.app. The elapsed-time indicator takes up the lower-right corner of your slides, so be sure to test your slides against it.

For now Blitz.app only accepts PDF files, so eventually your slides will have to make it into that format. I'm looking into reading Keynote 5 files directly, but I don’t know if that feature will be ready in time for C4[3]. Patches welcome.

 
Programming Special Interest Group PSIG 124: Thu Jun 4 2009
in Programming Special Interest Group
Tuesday, June 02, 2009
12:00 AM
When:
Thursday, June 4th, 2009 @ 7pm
Where:
Hotel Indigo. Use this link to get driving directions to the hotel to avoid a Google Maps bug or use these directions from the Arlington Park Metra station.
Schedule:
Show & Tell
We'll start out the meeting by going around the table and talking about what we're currently working on or learning about. Handouts are welcome, or bring along your Mac and we'll hook it up to the projector.

Book Reports
Bring along the book you're currently reading, or one of your old favorites. Hopefully the book would have some relevance to programming, but we're fairly open-minded. Just give us an overview the book's topic, and what you liked (or disliked) about it.

Topics
Jonathan ‘Wolf’ Rentzsch will talk about the modern generation of JavaScript frameworks: Cappuccino, JavaScriptMVC and SproutCore. There are considerable differences between these framework, and those differences are illustrative regarding the challenges for building Web Client-Server apps.

Dinner
Please Bring Your Own Beverage. And food.

Looking for Presenters:
I'm always on the look-out for folks to want to give a talk for a meeting. The talk doesn't need to be long (10 minutes is fine if your topic is small or you just want to tease the group) and you don't need to be an expert (just tell us why you think your topic is cool or your experiences). Toss me an email and I'll assign you a chunk of time.
 
Programming Special Interest Group PSIG 123: Thu May 7 2009
in Programming Special Interest Group
Wednesday, May 06, 2009
09:57 PM
When:
Thursday, May 7th, 2009 @ 7pm
Where:
Hotel Indigo. Use this link to get driving directions to the hotel to avoid a Google Maps bug or use these directions from the Arlington Park Metra station.
Schedule:
Show & Tell
We'll start out the meeting by going around the table and talking about what we're currently working on or learning about. Handouts are welcome, or bring along your Mac and we'll hook it up to the projector.

Book Reports
Bring along the book you're currently reading, or one of your old favorites. Hopefully the book would have some relevance to programming, but we're fairly open-minded. Just give us an overview the book's topic, and what you liked (or disliked) about it.

Topics

Jonathan 'Wolf' Rentzsch will talk about jQuery, the awesomest JavaScript library yet devised. jQuery is the new standard for navigating and manipulating a web browser's DOM. Small, focused and compatiable across all major modern web browsers, jQuery takes away most of the pain of writing dynamic HTML.

Dinner
Please Bring Your Own Beverage. And food.

Looking for Presenters:
I'm always on the look-out for folks to want to give a talk for a meeting. The talk doesn't need to be long (10 minutes is fine if your topic is small or you just want to tease the group) and you don't need to be an expert (just tell us why you think your topic is cool or your experiences). Toss me an email and I'll assign you a chunk of time.
 
Programming Special Interest Group PSIG 122: Thu Apr 2 2009
in Programming Special Interest Group
Wednesday, April 01, 2009
12:35 PM
When:
Thursday, April 2nd, 2009 @ 7pm
Where:
Hotel Indigo (pic, directions from the Arlington Park Metra station).
Schedule:
Show & Tell
We'll start out the meeting by going around the table and talking about what we're currently working on or learning about. Handouts are welcome, or bring along your Mac and we'll hook it up to the projector.

Book Reports
Bring along the book you're currently reading, or one of your old favorites. Hopefully the book would have some relevance to programming, but we're fairly open-minded. Just give us an overview the book's topic, and what you liked (or disliked) about it.

Topics

Jonathan 'Wolf' Rentzsch will talk about JSTalk, Gus Mueller's new interapplication scripting project that seems to be the result of JavaScript, Objective-C and AppleScript having a menage a trios. Wolf will intro the JSTalk language, its tools and demonstrate intergrating it into an existing application.

Dinner
Please Bring Your Own Beverage. And food.

Looking for Presenters:
I'm always on the look-out for folks to want to give a talk for a meeting. The talk doesn't need to be long (10 minutes is fine if your topic is small or you just want to tease the group) and you don't need to be an expert (just tell us why you think your topic is cool or your experiences). Toss me an email and I'll assign you a chunk of time.
 
Programming Special Interest Group PSIG 121: Thu Mar 5 2009
in Programming Special Interest Group
Wednesday, March 04, 2009
11:26 PM
When:
Thursday, March 5th, 2009 @ 7pm
Where:
Hotel Indigo (pic, directions from the Arlington Park Metra station).
Schedule:
Show & Tell
We'll start out the meeting by going around the table and talking about what we're currently working on or learning about. Handouts are welcome, or bring along your Mac and we'll hook it up to the projector.

Book Reports
Bring along the book you're currently reading, or one of your old favorites. Hopefully the book would have some relevance to programming, but we're fairly open-minded. Just give us an overview the book's topic, and what you liked (or disliked) about it.

Topics

Since we never got to it for PSIG 120, Jonathan 'Wolf' Rentzsch will again attempt to talk about Sparkle, Andy Matuschak's open-source framework for self-updating Mac apps. How it works, how to integrate it into your app or plugin, and the up-and-coming tools for handling your appcasts.

Dinner
Please Bring Your Own Beverage. And food.

Looking for Presenters:
I'm always on the look-out for folks to want to give a talk for a meeting. The talk doesn't need to be long (10 minutes is fine if your topic is small or you just want to tease the group) and you don't need to be an expert (just tell us why you think your topic is cool or your experiences). Toss me an email and I'll assign you a chunk of time.
 
Programming Special Interest Group PSIG BYOB (and Food)
in Programming Special Interest Group
Wednesday, February 04, 2009
01:40 PM

I've been laid the smack-down by The Northwest of Us, PSIG’s parent Mac User Group that actually pays for PSIG’s meeting space. Their contract with the hotel doesn’t allow me to bring in pizza for the group anymore.

However, individual attendees can still bring their own food and drink. So I suggest you do that.

 
Programming Special Interest Group PSIG 120: Thu Feb 5 2009
in Programming Special Interest Group
Wednesday, February 04, 2009
12:28 AM
When:
Thursday, February 5th, 2009 @ 7pm
Where:
Hotel Indigo (pic, directions from the Arlington Park Metra station).
Schedule:
Show & Tell
We'll start out the meeting by going around the table and talking about what we're currently working on or learning about. Handouts are welcome, or bring along your Mac and we'll hook it up to the projector.

Book Reports
Bring along the book you're currently reading, or one of your old favorites. Hopefully the book would have some relevance to programming, but we're fairly open-minded. Just give us an overview the book's topic, and what you liked (or disliked) about it.

Topics
Earl J. Wagner will give a talk about creating richer user interfaces for reading news on the web.

Jonathan 'Wolf' Rentzsch will also talk about Sparkle, Andy Matuschak's open-source framework for self-updating Mac apps. How it works, how to integrate it into your app or plugin, and the up-and-coming tools for handling your appcasts.

Dinner
If you want pizza, bring along three dollars and we'll all chip in.

Looking for Presenters:
I'm always on the look-out for folks to want to give a talk for a meeting. The talk doesn't need to be long (10 minutes is fine if your topic is small or you just want to tease the group) and you don't need to be an expert (just tell us why you think your topic is cool or your experiences). Toss me an email and I'll assign you a chunk of time.
 
Notes Textcast: The Story
in Notes
Wednesday, December 24, 2008
12:00 AM

Well, the word is finally out: I'm very pleased to announce Textcast 1.0.

hg log proves Dave Dribin and I have been working on it for the past year (first commit on Dec 10 2007), which is rattling since I remember pitching the app concept to Dave as “a two-week app”. Uhm, our schedule slipped a bit…

Textcast was born while Dave and I were plotting what we thought would be our first app. We wrote some experimental code and did some planning. It became clear that this app would be a great deal of work, so I pitched Textcast as a “simpler” app to get out the door first.

Textcast is a deceptively simple app. It’s aim is simple, but it unifies many disparate technologies and applications which leads to lots of complexity under the hood. It’s one of those projects where you can get the basics working inside a weekend, but it takes months to make it a real Mac app.

Which is worth it, since I'm probably Textcast’s heaviest user. I primarily listen to podcasts generated by Textcast while commuting (by foot, train and car) and exercising. But sometimes I use it for weird stuff like listening to legal contracts which would normally make my eyes cross. I use Textcast practically every day. Indeed, it became increasingly weird to tick off the months using this app that I loved that I couldn’t tell anyone about.

What follows is a potpourri of Textcast-related developer topics. Most of it addresses 10.5-only technologies we used in Textcast:

  • Alex: Of course Textcast relies on Alex, 10.5’s new high-quality voice. Alex makes a world of difference when listening to lots of text, and Textcast probably couldn’t exist unless we cut a deal with Cepstral to bundle their high-quality voices or something.

  • PubSub: Initially I used Textcast exclusively on one-off article basis. I'd spot a long blog posting or feature-length article and use Textcast’s “Import from Safari” feature to pop it into podcast form so I could listen to it later. Dave’s the one who pushed on adding real feed support with 10.5’s new PubSub framework. There were some weird behaviors we needed to work around, but overall I'd say that PubSub was a win. Certainly better than rolling our own feed parser.

  • 10.5-only yet no GC: Textcast isn’t garbage-collected — we use the old explicit retain-release model. Interestingly, Textcast was garbage collected for a short time — I have a commit message from Jan 17 2008 “Turn on garbage collection”. But twelve days later we turned it off for reasons Dave and I can’t remember. I think Dave and I were scared of a rumored conflict between GC and NSOperationQueue, which we were just integrating at the time. Speaking of NSOpQ…

  • NSOperationQueue: I'd call our use of NSOpQ a win, but it did bring definite pain. We definitely wanted to multithread Textcast since converting text to audio using Alex can be considerably processor-intensive. Spreading the load across many cores Just Made Sense. The main pain points were integrating NSOpQ and its worker threads with Core Data, KVO in general and NSSpeechSynthesizer (which is non-thread safe in a very specific manner).

  • Core Data: Mostly a slam-dunk when coupled with mogenerator. Core Data is Standard Operating Procedure around these parts — you need a reason not to use it. The biggest pain turned out to be handling our undo model, which doesn’t fit into Core Data’s model and is thus Very Hard to get right.

  • Unit Testing: It’s official, Dave is test infected. And that’s a good thing. While there’s considerable pain (some undocumented) in getting Xcode set-up optimally, it’s well worth it.

  • Scripting Bridge:. iTunes needs a real API. Badly. But until we get a high-quality API for this increasingly integral app, we have its poor AppleScript support. At least Scripting Bridge mostly allowed us to pretend iTunes has an Objective-C API, easing integration into our app. We also use Scripting Bridge for the “Import from Safari” functionality. It was on my TODO list to also move our NetNewsWire integration from its current AppleScript form to Scripting Bridge, but I screwed up when I sent Brent Simmons our NetNewsWire scripting dictionary patch, which means we can’t use Scripting Bridge straight-up with NetNewsWire. But that patch deserves its own bullet:

  • NetNewsWire Integration: Most of the text I feed into Textcast probably comes from NetNewsWire, so we definitely needed some nice integration with Brent’s fine app. I reached for NetNewsWire’s AppleScript support. That worked fine for importing text from the currently-selected item when in list view mode, but didn’t work if you had a web view frontmost.

    So I did what you'd probably expect from the likes of me: I reverse-engineered NetNewsWire and added the feature. I sent the resulting source code to Brent and kindly asked that he roll the new feature into the next version. He was very cool about it and rolled it into NetNewsWire 3.1.7b4. Thanks, Brent!

    Anyway, the ability to execute Javascript via AppleScript against the currently-selected web view allows me to extract the selected text, covering both avenues of textual input.

    A little polish that I'd like to call out since it’s not obvious: if you don’t have NetNewsWire installed, we don’t even show the “Import from NetNewsWire” toolbar item to reduce clutter+confusion.

  • Open Source: We used a bunch of open-source packages in Textcast. Thanks Mac indie community!

    And speaking of open source, since you've read so far, here’s a treat:

  • JRFeedbackProvider: Early in Textcast’s development, I knew it would be important to capture user feedback. I raided my ~/Applications folder and searched out the best in-app feedback mechanisms. I found two winners: Things.app’s slick-looking multipurpose feedback panel and Acorn’s useful feedback panel with its pre-populated text. So I created my own version which combines both into one nonviral open-source version you can easily drop into your own app (and website!): JRFeedbackProvider. Patches welcome. Thanks to Gus and the Things.app crew for the inspiration.

Phew, long posting. Instead of reading it, how about you listen to it?

 
Notes Ralph Rentzsch 1925-2008
in Notes
Wednesday, December 24, 2008
12:00 AM

I'm an engineer because of my dad.

He gave me my appetite for understanding how things work.
And my healthy disrespect for apparent limitations.

He encouraged me in everything I tried.
And had genuine interest and excitement in my projects.

He was a living illustration that you could be smart and sociable simultaneously.

I am who I am because of my dad.

 
Programming Special Interest Group PSIG 120 Bumped to February
in Programming Special Interest Group
Wednesday, December 03, 2008
09:50 AM

Due to a family medical emergency I'm rescheduling PSIG 120 from its usual bat-time of Thu Dec 4 2008 to Thu Feb 5 2009 (sadly, the next usual slot falls on New Year’s Day).

My Dad’s doing pretty OK, but I'm still firmly in overwhelm mode.

 
Notes Open Radar
in Notes
Sunday, November 16, 2008
12:00 AM

Radar is Apple’s internal bug tracking system. How Apple views Radar and how external third-party developers view Radar causes a bit of a conflict.

Apple heavily uses Radar internally. Thousands of Apple employees' work-days are defined primarily by what’s in their bug queue.

Also factor in how Apple is an incredibly secretive organization. There’s lots of juicy stuff in Radar, so it’s important to Apple little-to-none of that info escapes into the wild.

External, third-party developers tend not to view Radar as Apple views Radar. They look at organizations and projects with more-open or totally-open bug tracking systems and wonder why Apple isn’t like that.

External developers want an more-open bug tracking system so when we run into problems, we can easily check to see if we're bumping our head on a known issue. Or reference an existing bug so we don’t have to spend the significant period of time to write up an excellent bug report when all we want to do is “vote up” an existing bug we just ran into ourselves.

Apple encourages developers to file bugs, even those we know are probably duplicates, in order to “vote up” individual bugs and hopefully give them more priority when it comes time decide schedules.

This duplicate bug-filing encouragement never sat well with external developers, because Radar is completely opaque to us. It’s never clear whether we should spend the considerable time+effort to write up a great bug report (doing so can easily take an entire work-day or two) or if we should just do the minimum since it will just be immediately flagged as a duplicate and then mostly ignored.

Because Radar is opaque, we can’t look at an existing bug report we think is probably a duplicate and realize ours is actually an altogether different bug or that we have a critical piece of information that’s not in the existing bug report.

Sharing bug reports is very important for the indie community, and is the motivation behind things like Apple Bug Friday. We toss around radr:// urls so we can easily reference them when talking to Apple friends and include them when we know for certain we're filing a duplicate.

For over a decade, external developers have been imploring Apple to open up Radar. It’s nearly a rite of passage for new Mac developers.

But just how the request is phrased — “please open Radar” — shuts down the lines of communication and ensures Apple will never open Radar.

As we've seen above, Apple views Radar as an internal system that just happens to have a protected web form that allows outsiders to post things into it. Apple parses “please open Radar” as “please expose your internal secrets”.

Seen that way, you can understand why Apple is reluctant to “open Radar”.

External developers obviously see it differently. I've long advocated that Apple add a checkbox to Radar requests that would flag them as “public” — anyone with a Radar login could search+see them. I would love to make most of my bug reports public, and I suspect most of my fellow developers would as well.

But that was yesterday.

Kicked off by a tweet from Dave Dribin, Tim Burks created a new Google AppEngine site named Open Radar. It’s already being populated as I type this by different folks, so it looks like it’s taking off (Open Radar also has a twitter account and a lot of this is happening over twitter).

Dave Dribin wrote an app called RadarForwarder that accepts those radr:// urls I mentioned before and opens an Open Radar page for them.

And I just wrote OpenRadar.app, which allows you to file your Radars normally, but captures the information and saves it locally. I'll be adding auto-upload of that information to Open Radar soon. It’s the next-best-thing to a “make public” checkbox.

I'll announce it here (and on twitter) when I feel OpenRadar.app is ready for general public usage.

We won’t be getting that “make public” checkbox I've long requested anytime soon, but thanks to a little effort across a few talented people, it looks like we'll finally get that “open” bug tracking system we've been wanting for so long.

 
Programming Special Interest Group PSIG 119: Thu Nov 6 2008
in Programming Special Interest Group
Wednesday, November 05, 2008
09:15 PM
When:
Thursday, November 6th, 2008 @ 7pm
Where:
Hotel Indigo (pic, directions from the Arlington Park Metra station).
Schedule:
Show & Tell
We'll start out the meeting by going around the table and talking about what we're currently working on or learning about. Handouts are welcome, or bring along your Mac and we'll hook it up to the projector.

Book Reports
Bring along the book you're currently reading, or one of your old favorites. Hopefully the book would have some relevance to programming, but we're fairly open-minded. Just give us an overview the book's topic, and what you liked (or disliked) about it.

Topics
Jonathan 'Wolf' Rentzsch will talk about PDFKit, Apple's framework for creating, viewing and modifying PDF files. Introduced in 10.4 and enhanced in 10.5, PDFKit is remarkably sane. I'll show you how easy it is to display PDFs in your application and dynamically generate your own.

Dinner
If you want pizza, bring along three dollars and we'll all chip in.

Looking for Presenters:
I'm always on the look-out for folks to want to give a talk for a meeting. The talk doesn't need to be long (10 minutes is fine if your topic is small or you just want to tease the group) and you don't need to be an expert (just tell us why you think your topic is cool or your experiences). Toss me an email and I'll assign you a chunk of time.
 
Programming Special Interest Group PSIG 118: Thu Oct 2 2008
in Programming Special Interest Group
Thursday, October 02, 2008
12:02 AM
When:
Thursday, October 2nd, 2008 @ 7pm
Where:
Hotel Indigo (pic, directions from the Arlington Park Metra station).
Schedule:
Show & Tell
We'll start out the meeting by going around the table and talking about what we're currently working on or learning about. Handouts are welcome, or bring along your Mac and we'll hook it up to the projector.

Book Reports
Bring along the book you're currently reading, or one of your old favorites. Hopefully the book would have some relevance to programming, but we're fairly open-minded. Just give us an overview the book's topic, and what you liked (or disliked) about it.

Topics
Celebrating the death of the iPhone NDA, Tom Swift will present "iPhone Development: Zero to Sixty". Tom will walk us through all the steps of creating a new app, including the tricky parts of actually getting it loaded on your iPhone/iPod Touch. Brace yourself, it's a bumpy ride.

Dinner
If you want pizza, bring along three dollars and we'll all chip in.

Looking for Presenters:
I'm always on the look-out for folks to want to give a talk for a meeting. The talk doesn't need to be long (10 minutes is fine if your topic is small or you just want to tease the group) and you don't need to be an expert (just tell us why you think your topic is cool or your experiences). Toss me an email and I'll assign you a chunk of time.