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.

    How I Spent My Winter Vacation

    For some reason I always seem to forget to take vacation throughout the year. This left me with 2 weeks of vacation to use before the end of the year this year. I ended up taking them in the middle of December, saving me from a lot of the insanity of Rockefeller Center on the way to and from work every day.

    My vacation started with a Saturday morning ride at Graham Hills Park. It was an early morning ride with my friend Kim that we managed to sneak in before some rain that day. We practiced a few areas but didn’t stick around too long so we wouldn’t get caught in the approaching rain. If it didn’t start raining I think we would’ve gone around a second time.

    Tuesday and Wednesday were spent on the road to South Carolina. On Tuesday I stopped atWhite Clay Creek in Newark, Delaware to try and do some riding, but the trails were too muddy to really enjoy or respectfully ride on. I was looking forward to checking out the “skills trail” to try out a few technical obstacles but even the first one freaked me out, especially because I was by myself:

    Not Yet 2 Not Yet

    I arrived in Bluffton Wednesday afternoon and decided to kick off my week there with an evening road ride around the gated community my parents live in. It was also a nice chance to finally test out the helmet light I got a few weeks ago. The combination of the helmet light and a handlebar light worked very well, even in the foggy evening darkness.

    Thursday morning I went for a ride with my dad at Pinckney Island, which I’m still not sure how to pronounce correctly. The ride was very pretty, but totally flat. I entertained myself by bunny hopping logs and practicing wheelies, enough so that I ended up breaking one of my pedals.

    We stopped at Bluffton Bicycle Shop on the way back home to get me some new metal pedals and see if they knew about any local trails. This proved to be a fruitful stop because not only did I get fantastic new pedals but they also told me about a trail out on Hilton Head in Crossings Park. This place was just what I was looking for! Lots of thin, winding single-track and even a few hills and obstacles to tackle. I rode there are total of 5 times during my vacation.

    Towards the end of the vacation my dad decided to give Crossings Park a try and did very well! He even humoured me by filming some footage of me in one of the more fun parts of the park.

    My dad and I also checked out Tom Triplett Park in Pooler, GA but due to all the rain in the area it was full of puddles and hard to ride in. We lost the rail several times but I guess it was still a bit of an enjoyable.

    One of the more surprising rides was the one my dad and I did at Folly Field Beach. I thought it would be really boring but it ended up being a lot of fun. There were plenty of things on the beach to bunny hop over and the sand helped give me an idea of how far I can hop (not very). There were also a few rocks and branches to traverse during the ride.

    I’ve been using my Canon Vixia S HF10 to shoot all my mountain biking videos but I was getting really eager to pick up a helmet cam for some more exciting videos. I had debated buying the ContourHD 1080p Helmet Cam before my vacation but didn’t think it would arrive in time. After discovering the really fun trail at Crossings Park I decided to order one and have it shipped to my parents place. It works great and looks almost as good as the Vixia.

    I ended up driving the entire 14 hours home in one day which left me a little wiped the following day. The weekend snow resulted in my two planned mountain bike rides up here being cancelled but it did give Kim and I the chance to go sledding at Rockwood Hall Park. I wanted to record some rides with my helmet cam but we ended up getting there late enough that it was to dark to record anything. It was also a lesson in proper sledding attire -