The Pomodoro Technique

Today I used The Pomodoro Technique at work and for the first time.

I had heard of the technique before, as well as the Pragmatic Programmer book Pomodoro Technique Illustrated. Thanks to fellow geek Rachel Ober I was made aware of the free Pomodoro book, which I promply downloaded into the Books folder of my DropBox account making it seamlessly available on my work computer, laptop and iPhone without thinking.

I read through the first chapter to get a quick idea of how it’s done and gave it a try today. It went very well (I completed 8 pomodoros!) which I think is pretty good for my first stab. The experience didn’t come with out some revelations.

I had to curb my email checking

I had to shut off my email alerts. The little “ding” sound was just too distracting to hear every few minutes.  I could just close my email client but it’s Outlook and takes too much time to start up every time.

I had to curb my instant messaging

I had to shut off audio alerts for IM as well. Within 5 minutes of starting my first Pomodoro I got IMs from 5(!) people. It was really tempting to flip back to my IM client to see what people wanted but I managed to ignore them for another 20 minutes.

I could just shut off my IM client as well, but I do use it for work communication (as well as communicating with friends). I do have a work specific IM account, so I could always only allow co-workers to contact me through it.

I should make an effort to talk to people in person instead of IM. It does make me chuckle to think that I could potentially be interrupting somebody else’s Pomodoro though.

During my Pomodoros I set an away message mentioning that I was trying the Pomodoro Technique. In the future I might even link to the site.

I had to separate Pomodoro specific apps and sites from interruptive ones

For a brief period during the day I tried to keep my Pomodoro task and interruptive tasks on separate computers (my work desktop and my personal laptop) but security limitations of our wireless network made it impossible to only do work on my laptop.

Another approach to the above is to use Mac OS X’s Spaces feature to separate out the Pomodoro you’re working on from other interruptions. I used this today and it definitely helped keep me focused. I’m sure there’s a number of Windows equivalents.

Yet another little technique for separating out work from distractions is to use different browsers. In my case I was using Firefox for my Pomodoro work and Chrome for anything that would be interruptive but I didn’t want to close completely.

Questions

My experiment also left me with some questions, some which hopefully the rest of the free book will answer and others that I may find my own answers to over time:

  • How do handle/categorize meetings? Track them? Ignore them? What if they’re more than 30 minutes long?
  • How do you deal with dependencies? What happens when you can’t start your task until somebody completes something you’re relying on? Should you track this? I suspect that information could be useful.

After Effects

It’s funny how even throughout writing this blog post I was tempted by several interruptions but I found myself realizing they were all things that could wait a few minutes.

Small Problem with Maven 2 and Eclipse

In an effort to prepare myself for potentially adding some Maven-based projects to our AntHill Pro system at work I grabbed the Apache Maven 2 Reference Card from Refcardz. It was a good overview but didn’t include some of the basics,  like creating a basic project. Maven in 5 Minutes on the Maven web site proved more useful for that, as did the Guide to using Eclipse with Maven 2.x.

I used MacPorts to install Maven with the following:

sudo port install maven

I created a simple project using the following:

mvn archetype:create -DgroupId=org.spilth.rpgam -DartifactId=rpgam

And then tried to generate an Eclipse project file using:

cd rpgam
mvn eclipse:eclipse

The command failed with the following error in the output:

[WARNING] Unable to get resource ‘jline:jline:jar:0.9.1′ from repository central (http://repo1.maven.org/maven2): Specified destination directory cannot be created: /Users/brian/.m2/repository/jline/jline/0.9.1

It suggested I manually download and install jline. I was not down with this because, well, I thought Maven was supposed to take care of this stuff for me – I shouldn’t have to manually download and install stuff!

Upon looking in my ~/.m2/repository directory I noticed that some directories were owned by root and some by me. I’m not sure how or when this happened but I fixed it with the following:

sudo chown -R brian /Users/brian/.m2/

This fixed the problem and successfully created a .classpath and .project file for Eclipse.

I also started my own Maven cheat sheet.

Lastly, I learned that you an open a Finder window for the current directory from Terminal by using:

open .

Electronic Boogaloo

I’ve always had a passing interest in electronics but the most electronic work I’ve ever really done was fixing the cracked solder of an input of a multitrack recorder I had when I was in high school. Other than when I used to build my own computers, I haven’t done much else.

Recently my friend Kim suggested we “do a project together” after talking about things like Make magazine and Arduino boards. We haven’t picked a project yet but we’ve started investing in learning about electronics in order to obtain the skills we need to build something.

I ended up ordering 3 books:

    Make: Electronics

    In order to do the experiments in Chapter 1 of Make: Electronics I went to a store I haven’t voluntarily been to in years – Radio Shack. It was exciting to see all the various kinds of eletrical components and tools that I could potentially be playing with:

    Exciting Drawers

    I ended up getting the majority of what I needed but the selection at the two Radio Shacks I went to were a little bit slim. I ordered what I was missing and much of the Chapter 2 items from the Radio Shack site instead. The Saturday night after X-mas I started trying out the experiments in the book. My Saturday nights are not normally this wild and crazy:

    Wild Saturday Night

    Today I re-created the above using the breadboard I got in my order. It’s definitely a lot easier than getting those little alligator clips to grab onto little wires:

    Breadboard LED

    I’m still learning and confused by a number of things, but hopefully more experimentation will bring things to light.

    Programming Interactivity

    I also started reading and skimming through Programming Interactivity which led me to the interactive multimedia language and environment called Processing. I soon realized that this language could possibly be used to implement another project I’ve been working on.

    Continuous Integration is the practice of automatically compiling and testing code every time it changes. A Build Monitor presents the results of the compiling and testing, most simply with a Success or Failure message. These are often used as an information radiator, a way to casually inform people of the status of something. I’ve been wanting to build one to display the status of projects we’re running continuous integration builds with AntHill Pro at work. I’d like it to be generic enough to use with other CI tools like Hudson or CruiseControl.

    I have a version I’ve been working on using Quartz Composer for the Mac:

    Geeking Out

    But I realize it would be good to have a cross-platform solution that anybody could use. Thus I started putting together a version in Processing:

    Processing Build Monitor

    I finally also made the project publicly available by putting it up on GitHub: http://github.com/spilth/ci-build-monitor

    Getting Started with Arduino

    I flipped through this book a little bit but since I don’t have an Arduino yet, I can’t do too much with it. I want to make some progress with Make: Electronics before trying out any Arduino projects, if only to arm myself with knowledge so I don’t burn out the Arduino board.

    14 Weeks – But who’s counting?

    This Saturday will make it 14 weeks since I made a fool out of myself in front of a bunch of ten year old kids.

    Today I went back to the “ankle doctor” after 4 weeks of physical therapy. The last few weeks have been pretty good. I’m getting flexibility back in my ankle, I’ve started driving, I really only use the crutches for long walks and I’ve even been able to start going down stairs normally. At today’s appointment I finally got a copy of my x-rays:

    I'm Totally Screwed!

    The plates and screws are staying in me unless I start to find them uncomfortable. Then I can get them taken out if I want.

    The thing I’m most excited about is the fact that the doctor said I could start biking! So at some point this weekend I’m going to get myself a mountain bike and do the first biking I’ve done in a long, long time. Keep your fingers crossed for me!

    Being able to drive has also allowed me to get back to one of my favorite activities: alternate side parking! My neighbor hood has alternate side parking every day of the work week. To add to the joy of moving my car, construction crews have been taking away even more parking spaces as part of the work they’re doing on some senior center at the end of the street. This is yet one more thing that makes me eager to leave this apartment and neighborhood.

    Last weekend I picked up an HD Camcorder – the Canon Vixia HF S10. Since I can’t really afford to break myself again on a skateboard, I decided I’d try filming skateboarders and putting videos together. I figure it’s another way I can enjoy the sport and potentially contribute to it. I didn’t find any skateboarders this past weekend to film, so I may stop by the local skate shop and see if they are looking for people to help shoot their demos and such. I may also start taping our D&D games, meetup groups and other such events.

    I did end up going back to Drop In Skatepark in Hilburn, NY, but the guy who gave me a lesson didn’t see the humour in me asking about who called me in to the ambulance as an “elderly gentleman”. Oh well.

    Another nice benefit to not having to use crutches all the time and being able to go up and down stairs properly is the fact that I can now safely navigate the NYC subway. This has been a money saver as I no longer need to pay $15+ to get to meetup groups downtown. On Wednesday night I went to the New York XP & Agile Meetup where Pivotal Labs did a demo of their awesome web-based agile planning tool Pivotal Tracker. I’ve recently started using it on a project I’m working on with some friends and have really been enjoying it. The demo provided some more insights into how to use it and how it works.