Archive for January, 2009

Fixing the blog subtitle

Posted in meta on January 2nd, 2009 by ben – Be the first to comment

An early comment in this blog by my dad took issue with my subtitle, “Applying and using technology when you lack the desire or resources to be an Alpha Geek.”  Specifically, I can’t really blame a lack of resources on my non-alpha geek status.  Yes, I suppose if I wanted, I could certainly get to the top of the geek toy ladder.

(Perhaps I was thinking of the tautology of “time is money,” because with two young boys around, I don’t value spending the hours it takes to fiddle with the new tech.)

Anyway, the first post covers my thoughts on being a Pragmatic Geek.  To me, being Alpha is about having things - the latest gadget, software, or programming framework.  And from there, it is assembling those things into a broader digital life.  Using that definition, I don’t qualify.  I had my last cell phone for almost 3.5 years, before jumping on the iPhone bandwagon (1.5 years after it launched).

However, before I get nipped for false modesty, I did a little research on the term “alpha geek,” and maybe I’ll change my subtitle even more.  I do enjoy keeping an awareness of the trends, even if I don’t jump on them with time or money.  So I’ll leave it up to the reader to form their opinion of what tier of geek I am.  I’m just happy being a Pragmatic Geek.

Eating the dog food

Posted in diary on January 2nd, 2009 by ben – Be the first to comment

I reached a milestone today with my GTD project: it became usable enough that I can use it to track what I’m working on for its development.  In programmer’s parlance, that’s eating my own dogfood.  Granted, the food tastes pretty bland and requires extra chewing, but it’s edible.

A lot of personal projects are born out of the desire to “scratch an itch,” and this is no exception.  I’ll probably write more in the future about other itches, but for now, I’ll talk a bit about how this scratches my multitasking itch.

I am a vicious multitasker.  Some folks call it a blessing, others a curse.  I believe it’s driven by my desire to constantly be doing something that I will rarely allow myself to sit and be idle if my current task is waiting on something.  Things like long compiles, people typing slowly into an instant messaging window, or waiting for the microwave to heat my coffee will all cause me to take a tangent to something “more productive.”

That said, I acknowledge:

  1. There’s no such thing as multitasking.  Just really fast switching of attention.
  2. Going off on a tangent to fill an idle time slice often gives that tangent more time than it deserves.  Things like scanning the news headlines turns into reading at least 1 long article.
  3. Returning to a task takes a non-zero amount of time to re-acclimate to the details.  The longer you’re away from the task, the longer it takes to re-acclimate.

My “itches” around this issue fall into a few areas

  1. Explicit task focus.  The system should try to keep attention on the current task, and not allow the focus to be lost with a simple alt-tab to another app
  2. Minimize distractions.  When working on a task, keep unrelated things out of sight.  This is related to what I was talking about the other day, about data vs. task.  Most systems try to put as much data on the screen at a time to make it easier to move between items.  But that’s because they don’t know what your current task actually is.
  3. Accommodate interruptions.  When interruptions occur, explicitly acknowledge them, and try to help save the state of the task that is getting interrupted.  

The first thing this system does is exert the task focus.  I requires you to pick a piece of work, and you can get out of that work with either a “done”, “put away,” or an “interruption.”  Every screen reminds you of what you said you’d do.

It’s been a fun week of vacation.  As I told my co-workers, it’s not like I wasn’t going to be in front of a computer on my vacation, it’s just I’d be in front of a different computer.  I’ve also been using this as a chance to explore Grails, and I’m pretty impressed.

Pragmatic Bread

Posted in opinion on January 1st, 2009 by ben – Be the first to comment

According to Larry Wall, the first virtue of a programmer is laziness:

The quality that makes you go to great effort to reduce overall energy expenditure. It makes you write labor-saving programs that other people will find useful, and document what you wrote so you don’t have to answer so many questions about it

I attribute this virtue to Jeff Hertzberg and Zoë François, authors of Artisan Bread and Five Minutes a Day.  They went through all the tradition and legend of artisan bread baking, questioning everything, and reduced it to its essence, and then documented it for the rest of the world.  

Unlike all those Dummy books that promise to let you learn X in 24 hours, this book lives up to its title.  It really is 5 minutes a day, and you’ll always have amazing bread to go with your meals.

Amy and I are mere beginners in this endeavor, but nothing has come out less than excellent in our tries.  The folks we share with are all suitably impressed, too.  If you don’t have the book, we highly recommend it, and giving it a try.  

As disclosure, a co-worker of mine, Graham, is married to Zoë.  Other folks on the team have tried this and give equal reviews.  It’s fun to hear his stories of the runaway success of the book.  She also has a blog, covering more details and other delectable edibles.