I first came across Jeff Atwood when he posted about “separating programming sheep from non-programming goats” on his Coding Horror blog site. This post mused on the academic problem of whether programming is something that can be taught to anyone or if there genuinely is some characteristic – a gene, perhaps – that separates those with programming ability and those without. If so, can educational institutions detect this even before students have even touched a programming language?
Another time he said most of the people who would benefit from reading blogs, books and articles on “good” software development are the type of people who don’t actually read blogs, books or articles, and I’ve seen the truth of this – not just in programming, but in other fields like accounting and management.
Atwood hit at the concepts of passion for your craft and life-long learning but expressed in his own vernacular.
I wasn’t the only one reading Atwood’s blog. He achieved so much financial success from advertising that he was able to quit his regular full-time programming job to focus purely on blogging and other pursuits.
One such pursuit was the creation of StackOverflow.com along with another well-known programming blogger, Joel Spolsky of “Joel on Software” and FogBugz fame.
The goal of Stack Overflow was to provide a Web 2.0 question-and-answer community for programmers which self-managed the promotion of good answers and rejection of bad ones.
StackOverflow directly competed with the older and more established Experts Exchange - at least as far as software development matters, but strove to provide a more usable interface.
The site achieved popularity quickly and receives a significant amount of traffic via Google. Since its launch Spolsky and Atwood have launched spin-offs ServerFault.com for system administration issues, SuperUser.com for home and small business power users as well as others.
Yet, something somewhere went wrong in the seemingly Midas Touch Atwood possessed.
Interestingly, before his partnership with Spolsky Atwood had criticised his current business partner. “Has Joel Spolsky jumped the shark?” he asked, after Spolsky himself published that FogBugz had been written in a private, proprietary in-house programming language called Wasabi.
His earlier success cannot be denied. He launched a personal blog to tub-thump about issues that were important to him, like quality in software development. He achieved a substantial readership through good content and regular writing and this in turn financially enabled him to pave his own future.
However, I can’t help but question the actual pinnacle of experience Atwood may have reached in his chosen field.
After listening to several episodes of the StackOverflow podcast - where Atwood speaks off the cuff - it was clear he demonstrated a lack of real-world business knowledge. I was almost floored when he genuinely asked what the difference between “information technology” and “systems administration” is.
It seemed as if a gulf existed between the earlier quality of Atwood’s written words and what he said and thought when unable to benefit from an opportunity to revise and reflect before clicking Publish.
This gulf ought to have been painfully obvious to Atwood himself when he acknowledged that he had failed at personal password security in March this year. A curious StackOverflow visitor had been able to guess Atwood’s OpenID address and password – and thus log in to StackOverflow as Atwood himself.
It turns out Atwood had posted information online which gave clues to his OpenID identity. He’d also signed up at various forums and although employing varying usernames had used the same password on these as for StackOverflow. The curious visitor had access to the unecrypted password details for one such site and put the two together.
This happened despite Atwood blogging about password security in 2007.
It thus may come as no surprise then that Atwood similarly demonstrated “do as I say, not as I do” mentality when asking readers what their backup strategy was at the beginning of 2008.
He concluded that blog entry by instructing readers to make sure they backed up. Don’t complain it being a hassle, just “Shut up. I know things. You will listen to me. Do it anyway,” he exhorted.
Nevertheless, while the advice to backup is sage it seems one person was not listening. And that person was Jeff Atwood.
This week both Coding Horror and the StackOverflow blogs disappeared. An explanatory posting by Atwood appeared in the form of a question to SuperUser.com readers.
It turns out the hosting provider experienced a complete data loss, which took down the two blogs. They existed as virtual machines on the hosted server and were wiped.
Backups did exist, Atwood said, but they were stored on the server itself! They were not offline backups, they were not offsite backups, but simply dumps to the very same disk used by the live site.
Once that disk failed the web sites went down along with any chance to restore them from backup.
Thank goodness for Google, because Atwood’s recovery strategy was then to individually click through to the Google cache of all blog posts and save each individually as a HTML file!
While this appeared to be working for text – though arduous – the problem Atwood was facing that prompted him to ask SuperUser.com readers for help – was in recovering the lost images that aren’t typically cached.
Atwood asked people to help him solve the problem and not to lecture him about backups. I suppose it would be too much if I were to tell him to “shut up” and do what I say because “I know things.”
Only an arrogant blogger would write that. And only someone who jumped the shark would speak prominently on best practice when they don't follow it themself.