Archive for March, 2008

Introducing Little Miss Caffeinated Coder

It is my great pleasure to introduce my new daughter, Sofia Isabel Ball.

She decided to make her grand entrance in the wee hours of the morning on the first day of Spring, March 21st, 2008. Sofia wiggled her way out into the world less than 90 minutes after we arrived at the hospital, thus demonstrating that she takes after both her mother and I when it comes to patience or rather lack thereof.

It has been a little over a week since she joined our little family, but I am just now emerging from my new parent stupor enough to give her a proper blogosphere introduction.

Below you can see me attempting to explain anonymous delegates to her.

Here are a few things that she has taught her newbie father so far:

  1. Epidurals Keep Daddies Safe - Contrary to the mild false contractions that my wife experienced in the weeks leading up to that night, the actual labor contractions came on fast and furious. Despite treating all the red lights as stop signs on the way to the hospital, we still didn’t arrive until she was still over 8 cm dilated so she rode out a full hour of intense labor pains while the hospital staff did the prerequisite blood work, tests, and IV prior to administering the epidural. My primary responsibility during that time was endure her kung-fu labor grip, pretend that I wasn’t worried, and not say anything stupid. Once I surreptitiously removed my wedding ring, I was able to endure her freakishly strong grip, but all was nearly lost when I made the mistake of trying to sooth her by saying sh-sh-sh (in my defense it works for babies). She interpreted that as me telling her to be quiet and promptly yelled at me, much to the amusement of the nurses. I managed to avoid any further labor induced abuse until the epidural finally took affect, at which point I could probably have said just about anything.
  2. Babies are more Addictive than Crack Cocaine - I distinctly remember rolling my eyes at people who fawned excessively over babies as little as 5-10 years ago. Now I am physically incapable of not grinning like an idiot every time I look at her. Other addictive behaviors that I’ve noticed in myself include staring at her features as though in a trance, taking ungodly amounts of photos, sharing baby stories with complete strangers, inventing a new pet name every 5 minutes, and reacting to toxic diaper born substances with enthusiasm rather than the normal repulsion.
  3. WWF Style Swaddling - I am seriously considering writing a letter to the hospital and recommending that they have professional wrestlers rather than nurses demonstrate swaddling and diaper changing techniques. There is nothing like trying to swaddle a flailing baby at 4 am in a semi-dark room while sleep deprived to humble a man. I won’t even speak of the dangers of changing a stinky diaper in similar conditions for fear of traumatizing some of my younger readers.
  4. The Truth about Sleep Deprivation - I can’t believe that I was actually foolish enough to think that my late night blogging habit would prepare me for the sleep deprivation havoc wreaked by a new born. On a good night, I’ve gotten a few hours of light sleep at a time (…was that the sound of the baby choking?). On a bad night, Sofia plays this game where she cries every time I put her down and then watches with big innocent eyes as daddy starts to hallucinate while pacing the halls with her. The worst part is that even though she is a perfect angel during the day, I still can’t do anything productive because my mental acuity is so diminished from the night before that I have to struggle to even keep up with reality TV shows. I recently heard that sleep deprivation is sometimes used as a torture technique and now I know why.
  5. Best Activity to Soothe a Fussy Baby - My television repertoire is normally pretty limited since I am usually focused on my laptop whenever the TV happens to be on at our house. However, with a fussy baby in one arm and my intellectual capacities greatly diminished due to sleep deprivation, I have a whole new appreciation for TV. The best find of the week was definitely “My Redneck Wedding” hosted by Tom Arnold. I usually hate reality TV shows, but this one is pure comedic genius.

I’ll leave you with a few parting images:

This is Sofia trying to convince me that she needs coffee to wake up. I’ve decided to hold firm on this issue and not allow her to have any caffeine until she’s at least 2 years old.

This is me demonstrating to Sofia what to do during an Audit or HR meeting.

Finally, this is Sofia all decked out in her Road Warrior attire.

In summary, a) I love being a new daddy and b) please excuse the lower number of posts over the next few weeks as we all adjusts to the new lifestyle.

A Caffeine Inspired Interview with Jeff Atwood from CodingHorror.com

I’m nearing my one year blogging anniversary.

That is just long enough to know that I enjoy it and want to continue doing it for the long term.

It is also long enough to make me start wondering about what comes next. For example, will I find blogging more or less enjoyable a year from now? Will I ever run out of things to say or start to feel burned out after the newness has thoroughly worn off?

I also wonder what it would be like if I ever became a popular blogger and if that is even something I would like to happen. Although it is still thrilling for me to see one of my posts be widely read, my recent experience with a relatively popular post left me feeling as though I wouldn’t scale well in this respect if the number of comments I received on average ever changed from a half dozen to a couple hundred.

My curiosity led me to take a chance and ask Jeff Atwood, the author of codinghorror.com, his thoughts on the subject. Besides being one of my favorite bloggers, Jeff has been a role model for me whenever I think about how I would like to approach my blog in the future. With over 80,000 subscribers, 4 years experience as a blogger, and an amazingly consistent schedule for publishing posts, he is also in a unique position of authority to offer insight into these issues.

On a whim, I emailed Jeff last week and included a list of questions that are in bold below along with a request to publish his answers in an interview style format on my blog. To be honest, I really didn’t expect him to respond given the huge number of emails that he probably gets on a daily basis, so I was more than thrilled when I got a friendly email from him the other day that was not only encouraging, but also contained some incredibly interesting and well-thought out responses to my questions.

Without further fanfare, here are Jeff’s thoughts on blogging. Enjoy.

1. Do you think the style and content of your blog has changed much over the last four years?

I have gotten better over time at writing, simply through the sheer force of doing it every day. That’s one of the biggest reasons I encourage other developers to balance writing code to satisfy the compiler with writing code to satisfy other people. The latter is much more difficult, but it can get you places in life you’d never be able to go using code alone.

As the audience for the blog has grown, I have found it increasingly difficult to justify posting about small, specific, technical problems that I run into. You’ll find quite a few of these in my older blog entries. I naturally tend to enjoy the larger “why” questions anyway, so it’s not much of a limitation.

Honestly, the only difference between good and great blogs is that the good bloggers kept writing until they became great bloggers.

Do you think the blogosphere in general has changed much over that same time period? If so, has it been for the better or for the worse?

I was technically late to the blogging game, only starting in early 2004. Even in the last four years, I’ve seen wide mainstream acceptance of the word “blog” and the idea that random people writing random stuff on the internet can actually influence what happens in the world. It’s a big deal. People take you seriously when you say you have a popular blog. I can’t believe it myself, and I’m not entirely sure how it happened. I think it’s generally a change for the better, in the sense that average people with blogs can have measurable effects in the world.

2. Has your enjoyment of blogging changed any since you started? Did you enjoy it more in the beginning when it was new or later in your blogging career as you became more proficient and your subscriber count grew? Do you think you’ll still be blogging 4 years from now?

I think blogging was unusually natural for me, because I was a decent writer to start with, never shy about sharing my opinions, and I truly enjoyed digging into research for whatever subjects I was infatuated with at the time. I’d say my enjoyment level is the same as it was four years ago, but there’s a deeper sense of satisfaction in knowing something I enjoy doing is interesting (and ideally helpful) to so many other people in the world.

About a year in, I realized that if I hadn’t gotten sick of writing blog posts or run dry of topics by then, I probably never would. The world is an infinite source of inspiration and insight; if you can’t find one interesting thing worth talking about every day, you’re not looking hard enough. Don’t get me wrong, though– writing it up in a meaningful way is still very real work.

3. Have you ever gone through periods where you’ve felt burned out on blogging or felt like you were in a writing slump? If so, what did you do to reinvigorate yourself?

I don’t think I’ve ever been burned out. I sometimes wish I could take a two or three week hiatus from writing for scheduling reasons. My wife is, shall we say “not fond” of the way my laptop is a constant companion with us on vacations so there’s not a long gap in blog posts.

On some level, the blog becomes a part of your personality, an expression of who you are and what you’re interested in. So then not writing blog posts feels unnatural, too. You can’t win.

4. How much time do you spend blogging per week? What percentage of your time do you spend researching vs. writing vs. reading & responding to comments? Do you have a particular schedule you follow?

Considering I am writing this response at 4:23 am, I can assure you that I am not the person you want to ask about scheduling in any way, shape, or form. I’d say as a rough guesstimate that I spend about 3 hours every day on the blog, so perhaps 21 hours a week on average. Sometimes more, sometimes less.

5. Do you ever set subscriber goals for yourself? Do you think that you can scale yourself in terms of comments if you were to double or triple your current subscriber base? Do you always read all of your comments?

I don’t think subscriber goals are helpful. You should have one goal: write to satisfy yourself first and foremost, otherwise you’ll quickly burn out. If you’re even the slightest bit self aware you’ll inevitably be your own worst critic anyway, so if you can satisfy yourself, you’re doing better than most. The audience will come when it comes.

I always read every comment, absolutely. If someone is going to invest the time to post their thoughts on my blog, I can at the very least return the favor by reading their comment. Some of my best blog post ideas come from comments. It’s an open secret in the blogging world that the comments are the best parts of any blog, so ignore comments at your peril. I’d no sooner want a blog without comments than I would want Amazon sans user reviews. They’re incredibly useful.

There is a “web gardening” aspect to comments, where you have to weed out (literally) the occasional evil. A flat, linear list of comments– although pleasingly simple– doesn’t always scale to very large communities, either, and I fear Coding Horror is getting close to that point. The gardening tax gets pretty high as the community grows. I may need industrial farming equipment, and government subsidies. We’ll see.

6. Who has been the most influential blogger for you? In your opinion, what are some of the key differentiators between technical blogs that are just good versus those that are great?

I’d definitely have to cite Joel on Software as one of the key “just one of us programmers” guys out there blazing a trail for quality writing about software engineering and small business since the dark days of 2000. Every technical blogger finds Joel at some point early in their career and takes something from that well, simply because I think he was one of the first to do it really well.

But beyond that, there are so many influences. I love the diversity of the internet, the many voices, the fact that strong writing from any blog is every bit as good writing from one of the anointed “influential” bloggers. I’m constantly stumbling across blogs (not to name drop, but like yours, for example) that pair excellent writing and strong insight. They’re all influences, including you. It’s a two-way street.

That’s one reason why I’m reluctant to maintain a “blogroll”. The world is a big place, and there are lots of smart, interesting people in it. I’d rather people blaze their own trail and discover what they find interesting rather than relying on my recommendations. And then share what they found with the rest of us, of course.

It might be unfair for me to comment on what makes a good vs. great blog. I’m like one of those people you see on television advertising weight loss pills. Look at me, I lost 200 pounds in three months! And then there’s that little teeny-tiny asterisk: results not typical. My results from blogging, I think, are not typical. I wish they were, because I desperately want everyone else to have the same level of success that I have had with my blog.

Once again, I want to thank Jeff for taking time out of his busy schedule to do this.

Rethinking Twitter

A couple of months ago I wrote a post that dismissed micro-blogging as white noise.  I had been only half-heartedly following the twitter page on GeeksWithBlogs and noticed lots of rather dull tweets of the "I’m hungry" and "Just rebooted my computer" variety. I quipped in my post that I might be able to justify Twitter for entertainment’s sake if people posted messages that looked more like this:

* Was attacked by a band of ninjas. I dispatched with them quickly but got ninja blood on my new shirt… about 3 hours ago from jail

* I just took a dump on boss’s Lexus. Suddenly I feel much better about having to work this weekend… about 5 hours ago from whore house

However, nobody seemed inclined to take my advice so I concluded that the medium was probably only suitable as a form of social entertainment for teenagers and was not a worthwhile pursuit for a software developer looking for professional development.

I just didn’t see how value could be provided in 140 characters, especially since the macro-blogging format was already being criticized for promoting superficial knowledge of topics and an even shorter attention span for a profession that is already notorious for ADD.

Well, that was two months ago and now I have a confession to make.

I just checked my Twitter home page and noticed that I have posted over 75 updates (mostly in the last several weeks) and am following over 40 people (mostly other bloggers).

It appears that I have caught the twitter bug.

Why?

  1. Sarcastic Quips - I’m not sure if this is a permanent trend or not, but I’ve noticed that the tenor of my blog posts has strayed from my sarcastic roots and they have tended to be more on the serious side lately. I’m not intentionally doing this, but as I put more effort into the content the humor aspects don’t always naturally fit in as well. Luckily Twitter provides a perfect medium to channel all of my sarcastic energies into nice, concise bursts throughout the day. It refreshes me mentally like a good run refreshes me physically.
  2. New Writing Challenges - My favorite twitter experiment so far has been Twaiku, which is what I call technology related Haiku that follows the traditional 5-7-5 syllable pattern. I’ll probably do a compilation post along with a call for contributions soon. I also like the challenge of trying to squeeze thoughts into 140 characters. One major twitter anti-pattern that I see is continuing single thoughts or even rants across multiple tweets. To me that is a sign that the writer needs to be more disciplined or else move to a different format like email or regular blogs.
  3. Recommendations - I have a whole list of thoughts and impressions about tools that I will probably never turn into blog posts because of the commitment it entails in both writing and research. By contrast, twitter encourages these types of half-formed thoughts. Ad hoc recommendations for tools and resources is one of the more common topics that I see in the twittersphere (right behind potty humor, bizarre links, and TMI confessions) . 
  4. Personal Interactions - One of the more unexpected aspects of twittering for me was the refreshing informality among micro-bloggers. The comment section of blogs can be serious and sometimes even adversarial as people debate the merits of various ideas. Although I’ve seen a few episodes of "twisticuffs" (twitter fisticuffs) between Scott Bellware and …well…lots of people, I mostly see tweeters joking around and having friendly exchanges. While I sometimes wish that the technology to personal/trivial ratio was a little higher for some micro-bloggers, it is still refreshing to see a completely different side to otherwise serious bloggers like Jeff Atwood, who recently twittered a link to a photo of a skydiving cat.

I do still have some reservations about Twitter regarding the overall signal-to-noise ratio, but I think this will improve as bloggers gain more experience with the writing format and Twitter clients start providing more sophisticated means for categorizing and filtering information.

For now, I will continue to take advantage of the freakishly slow compile times on my laptop and consume copious amounts of twitter brain candy.

For those of you who are relatively new to Twitter, here are some of my favorite Tweets from the last several days from macro-bloggers that you’ll likely recognize:

* Scott Hanselman "You know you are coding too much when you secretly wish you had a catheter in your backpack." [blog\msg]

* Phil Haack - "My guess for @codinghorror’s and @wilshipley’s new venture…codingwhore.com! porn == $$$" [blog\msg]

* Jimmy Bogard - "New personal reading material: "physics of the impossible"…has not explained how william shatner’s toupee stays attached (yet)" [blog\msg]

* Eric Engtech- I’m at about 500 lines of code without having checked it into source control. It’s kind of like having sex without a condom." [blog\msg]

* Jeff Atwood - "Computers change; people don’t. 72 years and counting. http://tinyurl.com/2npfyd." [blog\msg]

* Scott Bellware - "Microsoft keeps customer expectations artificially deflated so that they never exceed the capabilities of its products" [*blog* *updates*\msg]

* Mike Gunderloy - "I’m going to get my dog a phone. And then start giving HER number to PR people." [blog\msg]

* Rob Conery - "Twitter is conversational DCOM." [blog\msg]

* David Laribee (a.k.a. "the beatnik tweeter") "The Person Under The Stairs." [msg] …or "Omitting myself" [msg] [blog] (yes, a tad surreal at times…)

* Dewayne Christensen: Public service announcement: Make sure you have extra hose before you try to burn off that dead patch of grass in the yard. [still not sharing sarcasm with macro-blogging world\ msg]

* CaffeinatedTwit (that’s me) - "Twitterer Archetype 1: Person who can’t scale using regular IM, so they eliminate the communication bottleneck by going asynchronous." [msg]

* CaffeinatedTwit (that’s me) - "Twitterer Archetype 2: A person who is only a few bad days away from becoming that guy who mumbles to himself all day on a street corner." [msg]

* Scott Koon (a.k.a LazyCoder): response - @CaffeinatedTwit The bottleneck, in some cases, is that one or more of the participants is batcrap insane!" [blog\msg]

See you on Twitter! (assuming you’re batcrap insane enough to follow me after this)

Anatomy of a Flame War

As some of you may have noticed, one of my recent posts, Are .NET Developers the American Tourist of the Software Industry, was the scene of some vigorous debate earlier this week. Since I was a history major in college, I figured that I would summarize it textbook style for those of you who missed it.

1. Causes

1.1 The Influential Blogger - Reg Braithwaite, who apparently wields an unholy amount of power with his delicious links and reddit karma, published a link to my post. Just prior to that I bought him a virtual cup of coffee via PayPal as his February Caffeinated Codey prize, which is probably what drew his attention to my otherwise obscure and quaint little blogging hole in the wall.

1.2 The Flame Bait - I unwittingly achieved a flame-bait hat-trick by making controversial assertions about Microsoft, programming languages, and politics/culture all in one post. Microsoft and politics are obvious triggers, but I think the key ingredient was definitely programming languages. This is a topic that many programmers apparently feel “more passionate about than their wives” as a commenter so succinctly phrased it. I can only imagine the carnage that would have ensued if I had managed to slip in a quip about religion as well.

1.3 Random Timing - Partly I think that the timing must have just been ripe for the periodic communal catharsis that a good flame war seems to provide. My new theory is that the collective developer psyche gradually builds up tension until it reaches a boiling point at which time any suitable triggering event would suffice. As with a big city riot, the triggering event rarely seems proportional to the results. The fact that I only contributed a couple of the almost 600 comments that were eventually generated by the participating flame warriors seems conclusive proof to me that I was mostly just along for the ride.

In short…

2. Chronology

2.1 Trolling as Inspiration - After playing around with Ruby, Python, and PHP for various reasons, I became curious about the relative popularity and current usage statistics for each one. After doing a little research, I stumbled upon the Tiobe index and summarized some of the things that I found surprising about it in a post on Programming Language Trends. The post briefly landed on reddit, at which point some nasty trolls poked fun at it. This caused me to do much philosophizing about the social dynamic that exists between .NET developers and the rest of the software industry. Based on my prior experiences as an exchange student, I came up with the American Tourist analogy and took what I thought to be the high road by deciding to devote more time outside my immediate technological culture. I wrote my thoughts in the now infamous post and promptly forgot about it as it languished in relative obscurity for several weeks, which is pretty much what happens to all of the posts I write.

2.2 Ground Zero - On Monday morning I was excited to notice Reg’s link love and some quickly rising website traffic, but I was busy at work so I didn’t get around to checking my email until lunch time. By then I already had over 50 comment emails waiting for me in my inbox and about 100 more on reddit. I was a little overwhelmed, so I decided to give them a quick scan and then set aside some time that night to reply. By then there were over 100 on my blog and over 300 on reddit and I realized that that it was a little too late to join the fray. Instead I decided to just be a silent observer and save my observations for some follow-up posts. At this point, I marveled at how Jeff Atwood manages to deal with the 100-300 replies he gets on almost every post. I don’t seem to be cut out for this.

2.3 Some Name Calling - I got called an idiot a few times, but mostly I was amazed at how the commenters were arguing back and forth with each other rather than targeting me. Although some of the comments are of the “Bill G. is a fag” variety, most of them were well thought out and some were even longer than my whole post. I was also baffled by how many different topics were covered and by how many people argued over foreign policy, which country invented which technology, and whether American tourists were really that obnoxious. I really only meant the analogy to be a starting point in understanding the community dynamics. I’m about as apolitical as you can get these days.

2.4 Phone Interview - I got an email requesting a phone interview about the post from James Maguire, a writer from an online publication called datamation. I was a little perplexed by the request, but agreed and had a pleasant thirty minute conversation with him the next evening. He wasn’t that familiar with the world of programming, so we spent some time talking about the basics at a high level.

2.5 Time to Apologize - I noticed a comment from Scott Koon (a.k.a Lazy Coder), which took me to task for using Phil Haack as an example of what is wrong with Microsoft. I quickly reread the section where I linked to Phil and briefly panicked because I thought that I accidentally insulted a guy I really respect in front of 25,000 people. I really just meant to explain how keeping up with the sheer volume of technologies coming out of Redmond can be overwhelming for everyone and probably accounts for why most developers don’t stray far from the Microsoft stack, but in hindsight that wasn’t how it came across. I quickly sent emails to both Scott and Phil explaining what I really meant and after a good email exchange with both of them, I offered to buy them a beer at the upcoming Alt.Net conference in Seattle next month to make up for my stupidity.

2.5 One Degree of Twitter Separation - A link to the post gets twitterized by blogging superstar Jeff Atwood, thus almost…almost…making up for all the time I had to spend slogging through the comments.

2.6 Godwin’s Law Prevails - Somewhere around the 150th comment, I noticed that someone has actually made a Hitler analogy thus conclusively proving Godwin’s Law that “as online discussions grow larger, the probability of a comparison Nazis or Hitler approaches one”. I officially become disillusioned with the Flame War and seriously consider closing the comments on it. It seems like a lame thing to do, so I decide against it.

3. War Crimes

3.1 Flame Warriors Behaving Badly - Although they were in the minority, the usual number of troglodytes, evil clowns, artful dodgers, and blowhards showed up for the fun as you can see from the following quotes:

“Your analogy only partially works because while it’s true .net developers and Americans are hated in their respective communities, you don’t have a choice if you are born in America but *choosing* the .net platform is your own pathetic fault and just shows those that choose .net have no personal integrity or even care about the future of the industry as a whole.”

“Let me start with a little ad hominem - you are an idiot…”

“BTW, .NET is just a joke. As someone said, it is a way (not great) for newbies to start learning how to write software. I would say go with Turbo Pascal for a start and then keep away from MS as long as possible.”

“Visiting PHP is like visiting Sub-Saharan Africa. Really makes you appreciate what you have.”

“all code is the same, different syntax, different purposes. Shut the f**k up already. You nerdy b**ches.”

“I’m CTO of an start up. One of our hiring practices is to ignore any resumes that mention ASP or .NET.”

“Have you guys heard that Bill G is a fag???”

“If .NET developers are tourists from the United States”…then “Open source developers are the French.”

4. Aftermath

4.1  Surprisingly Positive Experience - Overall, I was pleasantly surprised by the quality of the debate and professional demeanor of the majority of participants. Like I said, many people spent more time and effort composing the comments than I did writing the post in the first place. I am still in the process of taking ample notes on the various arguments and suggestions. They should provide thought provoking material for future posts for quite some time.

In summary, it was fun…but let’s not do it again any time soon. :-)

So You Think YOU’RE a Geek?

If you think that software developers represent the pinnacle of alpha geekdom, then try taking this simple quiz…

  1. Have you ever been asked to calculate the probability that your professor would wake up on Mars the next day? (yes, it can be done)
  2. Is the Math that you work with too complicated to be placed on computers?
  3. Did you build an atom smasher in your garage when you were in High School?
  4. Do you spend most of the day staring out the window and playing with equations in your head?

Feeling intellectually inadequate? If so, perhaps you should have channeled your evil geek powers into becoming a theoretical physicists instead.

I just finished listening to a slightly off-topic, but most excellent hanselminutes podcast that featured an interview with noted theoretical physicist and futurist Michio Kaku. He talked about his new book The Physics of the Impossible, which I just ordered for myself on Amazon.

In the book, Dr. Kaku examines a variety of science-fictiony topics, like invisibility, teleportation, time travel, laser guns, and star travel and categorizes each according to how possible they are based on the known laws of physics and the current state of human technology. He even offers predictions on when we are likely to achieve each of the things that we thought were impossible at one point or another.

For example, I was surprised to learn that scientists have already teleported photons and cesium atoms under the Danube River and expect to be able to teleport the first organic molecules within the next 20 years. I guess the Star Trek vision of commuting isn’t as far-fetched as I thought, although Dr. Kaku points out that you would be destroyed in the process before rematerializing someplace else. A small price to pay to avoid rush hour traffic if you ask me…

There was also some interesting discussion that is of more immediate concern to software developers regarding the coming Post Silicon Age. For those of you who haven’t heard rumblings of the impending end of Moore’s Law in the next decade, it is predicted that by 2020 the transistors will reach the size limitations (about 5 atoms across) at which silicon is simply not stable at the atomic level. Not only will chips generate so much heat that they’ll melt, but they also begin to suffer from electron leakage which causes random short circuits.

So, it appears that in the near future advances in computer hardware will rely less on on electrical engineers and more on physicists and breakthroughs in quantum computers.

On the bright side, that means that it won’t be long before you’ll be able to stop blaming those difficult to troubleshoot software glitches on mundane things like firewalls and network blips and start pulling out some truly impressive excuses. I, for one, can’t wait to tell my users…”Sorry those totals are off, we must be having problems maintaining the direction of the spin on some of those electrons” again.

Until then, you’ll have to settle for the podcast interview (or transcripts if you don’t have much of a commute) and/or book.

Music To Code By

Max from {codesqueeze} tagged me last week with his "What music do you code to?" meme.

The timing of his question is perfect because I am just now rediscovering the joy of listening to music while coding. I used to always listen to music while I coded, but I’ve gone nearly cold turkey over the last year due to a traumatic electronic data loss episode coupled with switching jobs and not feeling comfortable enough to completely "tune out". Over the last several weeks though, I have become one with my head phones again and finding that my days are much more enjoyable because of it.

Unlike Max, my choice of music does often corresponds to my mood or situation, so I categorized my songs accordingly:

Top Reasons I listen to music:

  1. To block out the noise of cubicle hell: I’ve experienced the benefits of pair programming and am a fan of it as long as it is done in moderation. I also know how much wasted effort can be avoided when a team has mastered the art of high bandwidth communication, which an open environment can sometimes facilitate. However, there are still plenty of times when I really need to concentrate to get work done and cube farm chatter is a major productivity killer for me. There is nothing that helps drown out my well meaning, but noisy teammates better than some good music. When confronted with obnoxiously loud talkers babbling incessantly about inane personal stories, then I pull out the big guns like Tool, Nine Inch Nails, Sum41, and Nirvana.
  2. Lower My Stress: Whenever that rush of adrenaline that comes from an impending deadline starts to garble my thinking, I pull out some mellower music like Everything But The Girl, the Wallflowers, Jack Johnson, John Mayer, David Gray, David Mathews, or Sting to ease myself back into the productive zone.
  3. Boost My Energy Level: Caffeine is obviously my stimulant of choice, but sometimes after a late night of programming or blogging I need something upbeat but not quite as hardcore as my noise blocking music, so I turn to groups like Green Day, Beck, Weezer, and R.E.M..
  4. Cheer Up: Whether I’ve just had a meeting with the audit department, had an issue reopened for my code having excessive white space in it, or been informed by a user that they’ve changed their mind and my last month of labor will now have to be thrown away, there are times when I just need to be cheered up. That’s when I turn to The Strokes, The Hives, Gorillaz, and Proclaimers.
  5. Wallow: Let’s face it, there are time when cheering up just won’t do and a good bit of wallowing is in order. If I just found out that I drew the short straw and now have to do several weeks worth of documentation or am required to attend an all day HR meeting or have to inform management that the team is still 95% complete for the tenth week in a row on a massive waterfall project, then I resort to groups like Cold Play,  Counting Crows, Dashboard Confessional, and Radiohead.
  6. Focus on Reading: If I have some massive concentrating to do (i.e. whitepaper to read), but still need some ambient noise, then I have a selection of classical music that I turn to such as Rachmoninov, Haydn, Mozart, Beethoven or pretty much anything else classical.

I admit that my classification system isn’t perfect because several of the groups produce music that spans several categories and that I probably had a few particular songs in my head when I grouped them.

Of course, sometimes I also just like listening to music and that’s where all the rest of the groups that I can’t think of now come in to play.

I tag Justice, D’Arcy, Dru, Troy, and Rob (even though I forgot to respond to the last meme he tagged me with…:-)

The February 2008 Caffeinated Codey Winners Are…

I’ve noticed that the style of my posts has been pretty eclectic over the last several months.

Partly, I just have an over-active sense curiosity that leads me all over the place. Mostly, however, I think it just has to do with the fact that I’ve been blogging for less than a year and probably haven’t quite found my writer’s voice for this genre yet.

Regardless of the reason, it led me to marvel at how different the styles are of some of my favorite bloggers.

As an homage to this diversity, I decided that instead of doling out awards this month based on specific posts, I would recognize certain qualities in the bloggers themselves that have been particularly influential for me and my search for my blogger’s voice.

  1. For Best ResearcherJeff Atwood - Some of the best blog posts come from personal experience, but after a while that can be a pretty limiting constraint to place on yourself. Some of the posts that I’ve found most rewarding lately have started from an idea that I was interested in but didn’t know very much about and then researched until I felt I had something interesting to say about it. Jeff’s posts are always consistently thoroughly researched and include plenty of quotes from primary sources to support his point.
  2. For Best WriterReginald Braithwaite (raganwald) - Reg provides excellent technical content and quality feedburner/del.icio.us that I don’t find cross-listed anywhere else. However, the trait that I appreciate the most from him is his obvious talent as a writer. If you’re a popular blogger, then you are already able to express yourself in writing better than most, but I think he is one of the few that could probably get away with writing non-technical content as well and that is an inspiration on days where I just get carried away in the process of writing.
  3. For Most Passionate TechnologistScott Hanselman - It has been my experience that the best developers are prolific users of software themselves who are fearless about trying new tools and utilities and make a study of what makes one piece of software better than another. After all, how can someone create quality software if they are not experts at recognizing it? With his legendary ultimate tool list, Scott excels more than anyone else I can think of in this regard and exudes an excitement about good software that makes him very compelling to listen to and read.
  4. For Best EssayistSteve Yegge - I used to think that a strict rule of the blog genre was that posts had to be short and concise, otherwise nobody would read them. Then I read Steve’s Blogging Theory 201 - Size Does Matter, in which he shares his “splash size” observations that his longer posts had more long-term staying power than his shorter ones. Once I adjusted my expectations on the size of a blog post, I started reading posts that I had skipped before and suddenly discovered a gold mine of quality content, especially from Steve’s blog. If you see an occasional longish post from me, that’s why.
  5. For Best SatiristFake Steve Jobs - Humor that is not thought provoking or that is just mean spirited may experience “flash-in-the-pan” success, but people eventually get tired of it. Like Jon Stewart on the Daily Show, Fake Steve Jobs achieves the perfect balance of biting wit and sarcasm with actual industry news. In the age of information overload where we routinely become numb to what otherwise should be shocking events, sometimes satire is the most effective way to convey truth.
  6. The Most Professional BloggerMax Pool - The more I learn about blogging, design, and SEO, the more I marvel at Max’s attention to detail when it comes to his blog, Codesqueeze. If you want to polish up your blog, then use this site as a model. I also like that he’s been creative and innovative when it comes to providing content, such as with his regular segments Developer Faceoffs and Whiteboard Wednesdays.
  7. The Best Software PhilosopherJeremy Miller - Jeremy excels at dissecting big picture issues in software development and constructing clear and intelligent arguments about the best way to design a system or tweak a development process. If you only have time for one codebetter blog, his is the one I would recommend. He’s a role model for me when it comes to critically thinking about processes and presenting a cogent critique of the status quo.
  8. The Most Irreverent BloggerJustice Gray - Unfortunately, one of the least endearing qualities of uber-geeks is their ginormous egos and their tendency to take themselves way too seriously. This is why I like reading Justice’s blog so much. He obviously has all of the requisite geek street creds, but he brings a great sense of fun to the blogosphere that you just don’t find in too many other places.

To all the winners this months, thanks for providing such excellent content on the web. I promise to buy the caffeinated or alcoholic beverage of your choice if we should ever meet. It looks like I’ll see Jeremy, Max, Scott, and Justice in Seattle at the Alt.NET conference next month. I just saw a place to buy Reg a PayPal coffee on his site, so I’m give him a virtual coffee. As for Jeff, Steve, and FSJ, I’ll have to give you a rain check.

To everyone who isn’t familiar with these bloggers already, I highly recommend that you subscribe now.

Until next month…