The Joy of Developing

The great Mac RSS newsreader, NetNewsWire, has a new beta out, version 3.0. It’s really good, with a ton of performance improvements and nicer layouts. But, they say it crashes some, and they want bug reports.
In fact, it did crash on me once in the past couple of weeks ago, so I sent a note to the developer with the crash log. If you’re unfamiliar, a crash log is generated by the operating system, and looks something like this:

Thread 2 Crashed:
0 com.apple.Foundation 0x9297c120 _NSRaiseError + 264
1 com.apple.Foundation 0x9297be5c +[NSException raise:format:] + 40
2 com.apple.Foundation 0x92a44324 mutateError + 172
3 com.apple.Foundation 0x92948200 -[NSCFString appendString:] + 100
4 <<00000000>> 0x000272bc 0 + 160444
5 <<00000000>> 0x00027338 0 + 160568
6 <<00000000>> 0x000b8cac 0 + 756908
7 com.apple.Foundation 0x9298a888 -[NSURLConnection(NSURLConnectionInternal) _performOriginLoad] + 328
8 com.apple.Foundation 0x9298893c _resourceLoaderPerform + 224
9 com.apple.CoreFoundation 0x907dd4cc __CFRunLoopDoSources0 + 384
10 com.apple.CoreFoundation 0x907dc9fc __CFRunLoopRun + 452
11 com.apple.CoreFoundation 0x907dc47c CFRunLoopRunSpecific + 268
12 com.apple.Foundation 0x9298869c +[NSURLConnection(NSURLConnectionInternal) _resourceLoadLoop:] + 264
13 com.apple.Foundation 0x92961194 forkThreadForFunction + 108
14 libSystem.B.dylib 0x9002b508 _pthread_body + 96

Cool, huh?
Well, yesterday I got a note from Brent Simmons, the developer, that read:

Awesome crash log! I’ve never seen mutateError before, but I love it. Thanks, Michael. (This should get fixed in the next public release.)

And that, friends, is a good developer/customer relationship.