Gus Mueller
I write software for the mac and stuff.
I've had a blog (I hate that word) at for 9 years now. I've been itching for some new digs for a while, and finally came up with a name and a new URL: The first post explains what the name is about.

I'll update the news feed in a few days to point to the new one.

Same guy, same crap, new location. Plus, it gives me a chance to play with Slicehost.
This is what Acorn's Type palette looks like:


And here is what I'd imagine it would look like, if the controls were done by the deviantART guys:

Joshua Nozzi: Your Very Own Drag Show with JLNDragEffectManager

"Cocoa developers were treated to a nice Interface Builder makeover in version 3. One effect we’ve all been admiring is dragging an item from the Library palette onto a window. It’s actually not too hard and just takes a little showmanship. I’ll show you how it’s done."

I played with it a little bit this evening. It's pretty easy to use.
Milton Glaser: Ten Things I Have Learned.

"Everyone always talks about confidence in believing what you do. I remember once going to a class in yoga where the teacher said that, spirituality speaking, if you believed that you had achieved enlightenment you have merely arrived at your limitation. I think that is also true in a practical sense. Deeply held beliefs of any kind prevent you from being open to experience, which is why I find all firmly held ideological positions questionable."

Lots of great stuff in his list. Found via Bobulate.
Manton Reece: The only 2 fixes for the iPhone platform:

'''This is so important for a small company. I want my software to fail because it sucks, or is buggy, or doesn't have the right features, not because Apple can shut me down over a minor difference of opinion.'''

SuperMegaUltraGroovy (aka, Chris Liscio): Swimming in OpenCL.

'''Please excuse the vague post, as I don’t have anything specific I’d like to share just yet. However, what I’d like to do here is call attention to my new favorite part of Mac OS X 10.6 Snow Leopard—OpenCL.'''
Coming soon, NaNoDrawMo.
Wil Shipley: Lost in Translations.

Wil was nice enough to let me use his DMLocalizedNibBundle code a while back, and I've been bugging him off and on to make a post about it. I'm glad he finally did- it's great for localizing code, and VoodooPad 4 has been using it for over a year now without any problems. Localization is a PITA, but DMLocalizedNib makes it much much easier.
Acorn 2.1 is out, with bug fixes, a new hex color picker, optimized png web export (via pngcrush), and AppleScript support. All the gory details are in the release notes.

I'm especially interested in seeing what folks do with the new AppleScript support. I've put up a bunch of examples for people to start with. Appl scrt wass aton offn tooo writ.
Brent Simmons introduces TapLynx:

"TapLynx is a framework for building media-based iPhone apps without needing to do any programming.

It’s a tool for developers, though — you still use Xcode to build the app. You configure it via a property list file, add artwork and feeds, build it, upload it. (You build a fully-native Cocoa app: it’s not like compiled Flash or something like that.)"

Looks cool!
VoodooPad 4 added the ability for plugin authors to add support for specific data types in VoodooPad, which would be saved as a page in the document it was created in. So for instance, if you wanted to support some strange data type, that could be done. Or a custom image viewer, you could do that too. Maybe you fancy an outliner? Or maybe you wanted a little editor for JSTalk pages, which are saved right in the document where you got your syntax highlighting and a little run button.

OK, no big surprise, I just wrote that last one, and here's a movie of it in action: It's not built into VP yet, but I'll get that done for a future release when I'm happier with the UI. Source is here on github.

If you wanted to write your own plugin to do something similar, subclass VPItemController (which is a subclass of NSViewController), register yourself it VP so it knows about your data type, and implement some methods for loading and unloading data, and load a nib of your choice for the UI. It's quite simple, and of course welcome feedback on how to make it better.
One of the biggest gripes that folks have about the built in unit testing for Xcode is that it's a pain to setup and debug. I've also hear from folks that this is the reason they don't write tests, which is a shame. But I'm going to share a little secret with you today: thanks to Objective-C, it's pretty darn easy to roll your own solution.

Here's some code for you: CallTestMethods.m.

I've got that in Acorn's App delegate, stuffed inside a category, and hooked up to a debug menu (named "Sanity") which will run through various tests. All I do then is have methods in my category that start with "test", run the various operations, and then fail with a big fat NSException if something goes wrong. (Bonus points go to the developer who uses the __FUNCTION__ and __LINE__ macros to narrow where the exception is being throw).

And if I want to debug the tests using gdb, there's no targets to change or any fancy environment variables to set. I just launch Acorn with gdb, and run my tests. I've even got it hooked up to my build process these days; I launch Acorn from my build script with a -runtests argument, and away it goes. I'm not sure how much easier it could be. It's very low friction and easy to debug, which is important to me.

It's also not hard to imagine writing your own macros to do the checking, and look! NSAssert is already there!

So consider writing your own if Xcode's SenTest framework isn't working out for you.