Archive

backups

International Backup Awareness Day

You may notice that commenting is currently disabled, and many old Coding Horror posts are missing images. That’s because, sometime early on Friday, the server this blog is hosted on suffered catastrophic data loss. Here’s what happened: 1. The server experienced routine hard drive failure. 2. Because of

By Jeff Atwood ·
Comments

microformats

Microformats: Boon or Bane?

I recently added microformat support to the free public CVs at careers.stackoverflow.com by popular demand. Designed for humans first and machines second, microformats are a set of simple, open data formats built upon existing and widely adopted standards. The official microformat “elevator pitch” tells us nothing useful. That’

By Jeff Atwood ·
Comments

software development concepts

Version 1 Sucks, But Ship It Anyway

I’ve been unhappy with every single piece of software I’ve ever released. Partly because, like many software developers, I’m a perfectionist. And then, there are inevitably… problems: * The schedule was too aggressive and too short. We need more time! * We ran into unforeseen technical problems that forced

By Jeff Atwood ·
Comments

programming languages

Buy Bad Code Offsets Today!

Let’s face it: we all write bad code. But not every programmer does something about the bad code they’re polluting the world with, day in and day out. There’s a whole universe of possibilities: * Follow the instructions on the paint can * Become a software apprentice * Get a

By Jeff Atwood ·
Comments

regex

Parsing Html The Cthulhu Way

Among programmers of any experience, it is generally regarded as A Bad Ideatm to attempt to parse HTML with regular expressions. How bad of an idea? It apparently drove one Stack Overflow user to the brink of madness: You can’t parse [X]HTML with regex. Because HTML can’t

By Jeff Atwood ·
Comments

programming languages

Whitespace: The Silent Killer

Ever have one of those days where everything you check into source control is wrong? Also, how exactly is that day is different from any other? But seriously. Code that is visible is code that can be wrong. No surprise there. But did you know that even the code you

By Jeff Atwood ·
Comments

history

Preserving Our Digital Pre-History

I’ve spent a significant part of my life online. Not just on the internet, I mean, but on modems and early, primitive online communities. Today’s internet is everything we couldn’t have possibly dared to imagine twenty-five years ago, but there is a real risk of these early,

By Jeff Atwood ·
Comments

community

Stack Overflow Careers: Amplifying Your Awesome

That Stack Overflow thing we launched a year ago? It’s been going pretty well so far. Of course, everyone knows you could code Stack Overflow in a long weekend. It’s trivial. Assembling a worldwide community of smart, engaged software developers? That’s a whole different ball of wax.

By Jeff Atwood ·
Comments

usability

Revisiting “The Fold”

After I posted my blog entry on Treating User Myopia I got a lot of advice. Some useful, some not so useful. But the one bit of advice I hadn’t anticipated was that we were not making good use of the area “above the fold.” This surprised me. Does

By Jeff Atwood ·
Comments

usability

Treating User Myopia

I try not to talk too much about the trilogy here, because there’s a whole other blog for that stuff. But some of the lessons I’ve learned in the last year while working on them really put into bold relief some of my earlier blog entries on usability

By Jeff Atwood ·
Comments

software development concepts

The Interview With The Programmer

If the internet has perfected anything, it’s the art of the crappy, phoned-in, half-assed email “interview.” For all those who have bemoaned the often pathetic state of internet journalism, when it comes to interviews, you’re largely correct. The purpose of most of these interviews is quick and dirty

By Jeff Atwood ·
Comments

storage

The State of Solid State Hard Drives

I’ve seen a lot of people play The Computer Performance Shell Game poorly. They overinvest in a fancy CPU, while pairing it with limited memory, a plain jane hard drive, or a generic video card. For most users, that fire-breathing quad-core CPU is sitting around twiddling its virtual thumbs

By Jeff Atwood ·
Comments