A while back I stumbled across John Resig’s blog post about writing code everyday. He made several points that resonated with me. I thought I would follow John’s lead and try a more balanced approach to programming. I set a goal to commit to Github every day for 100 days. The sad screenshot below will give you an idea of where I started (compare mine to John’s).
This did not come naturally to me. I’ve never been a fan of paced learning. In undergrad and law school, it was the 11th hour that motivated me to get things done. The all-night study session became a staple of my academic success. After switching careers to web development, it didn’t take long to realize that those same tactics wouldn’t work for programming. For example, I would start a massive project and work feverishly for 6 hours straight. By the time I returned a week later, it would take an hour just to pick up from where I left off. Then I’d have to rewrite most of the code base, because I had been half-asleep on Hong Kong Time when I wrote it.
As I closed in on 100 straight days, I became obsessive about not breaking my streak. One Friday night, I found myself in the North Carolina mountains with no internet or cell signal. I planned to contribute something earlier that day, but a DDOS attack on one of my employer’s data centers had taken priority. Subsequently, I was running late for a friend’s bachelor party in Asheville, so I decided to put it off until I reached the cabin. I arrived with only a few minutes to make the commit. There was no cell service. I couldn’t load a single web page. I walked the property with my phone outstretched praying for a signal. Nothing. The clock struck midnight and my streak was ruined.
Or was it? I’d come so far that I couldn’t throw in the towel. I was so determined to meet my goal that I changed my phone’s time zone settings to gain an hour (credit: Jules Verne), got back in my car, and drove down the mountain until I found a single bar. I updated a single file in my repo and committed the change.
Longest streak = 110 days.