Many Spinning Plates comments

published 01 December 2007

Like many folks in this age of immediacy and information overload, I've been a big fan of multi-tasking. We multi-taskers believe that by multi-tasking we are cutting out any "down-time" and making nearly every previously-idle second a productive one. However, lately I've come to realize that the amount time and effort spent on switching my brain from context to context is incurring an overhead that exceeds any gains I might get in multi-tasking.

So lately I've decided to be a little more single-threaded in my approach to "getting things done" these days. For example, when I first got my shiny new MacBook Pro I installed every kind of whizzy Growl notification I could find. However I realized that the constant interruptions were really taking a toll on my ability to focus on any particular task. So these days I have very few notifications turned on. I check email when I damn well feel like it. I make myself available via IM when I feel I'm in a position to be interrupted. That's about it. Anymore and I know I'll never get anything useful accomplished.

So despite all of what I've just said, my personal geek-time has been quite split-brained between two separate efforts. The first is a methodical (and sometimes maddeningly slow) port of the Python code in Toby Segaran's excellent "Programming Collective Intelligence" to Ruby. The second project is working my way through another fine technical book, Aaaron Hillegas' "Cocoa Programming for Mac OS X". Oh yeah, I've also been noodling around with the latest darling of the SCM world—git. This is to say nothing of the three or four other personal projects I've let dormant for the moment.

I'm a hands-on kind of guy and I get so much more out of nerd books when I can actually write, test, debug and run some code. So while porting code from from one language to another very similar language may feel ridiculous donkey-work, I feel like I internalize the underlying concepts better. As a sort of interesting side-effect I've worked up a number of nice collection-processing snippets around Ruby's Enumerable that I hope to bundle up someday soon as a separate post. Also, if I can figure out a simple, secure way to host a read-only repository (Subversion or git) I'll put the code out in case anyone gives a hoot.

Meanwhile, I've fallen in love with the Cocoa development environment. Objective-C is an interesting language, but perhaps not without its negative points (a compiled language with no type checking?). But the clean separation of MVC components coupled with the easiest WYSIWYG GUI designer is such a huge improvement over pure code-only environments like Java Swing. Anyway, I've had the idea for a simple little Growl app for some time. I'm pretty sure that once I get through the Hillegas book I can knock that out in pretty short order.

blog comments powered by Disqus