Jeff Atwood

Indoor enthusiast. Co-founder of Stack Overflow and Discourse. Disclaimer: I have no idea what I'm talking about. Find me:

Bay Area, CA
Jeff Atwood

hardware

Headphone Snobbery

I’ve talked about all the essential environmental things a programmer should have: a good chair, at least two monitors, and a great keyboard. One thing I haven’t talked about, though, is headphones. Headphones are probably the most optional item in that list. But if you’re not blessed

By Jeff Atwood ·
Comments

programming languages

Animal, Vegetable, or Mineral?

The 1978 BASIC program Animal is an animal-specific variation of twenty questions. You think of an animal, and the computer tries to guess what animal you’re thinking of by asking a series of yes or no questions. If the computer is stumped, the user is prompted to enter a

By Jeff Atwood ·
Comments

.net

A Stopwatch Class for .NET 1.1

The first rule of performance testing is to measure, then measure again, then measure one more time just to be sure. NET 2.0 adds a handy Diagnostics.Stopwatch which is perfect for this kind of ad-hoc precision timing. A year ago I created a Stopwatch class which was eerily

By Jeff Atwood ·
Comments

retro gaming

The History of Wumpus

I sometimes go by the handle "Wumpus" online. It's part of my personal brand, just like Coding Horror is. Why? Let's go hunting together: It was one of my formative computing experiences on the first "real" computer I owned. No, my Coleco

By Jeff Atwood ·
Comments

programming practices

Why Programmers File the Worst Bug Reports

Who files better bugs? Users or developers? In How to Report Bugs Effectively, Simon Tatham notes that software developers, contrary to what you might think, file some of the worst bug reports: It isn’t only non-programmers who produce bad bug reports. Some of the worst bug reports I’ve

By Jeff Atwood ·
Comments

case sensitivity

The Case For Case Insensitivity

One of the most pernicious problems with C-based languages is that they’re case-sensitive. While this decision may have made sense in 1972 when the language was created, one wonders why the sins of Kernighan and Ritchie have been blindly perpetuated for the last thirty-three years. I realize this is

By Jeff Atwood ·
Comments

software development concepts

The TweakUI Tips

I’ve been running some version of Microsoft’s cool TweakUI powertoy since the heady days of Windows 95. I recently found out that the author is none other than Raymond Chen: Some people claim that Tweak UI was written because Microsoft got tired of responding to customer complaints. I

By Jeff Atwood ·
Comments

physics simulation

Trespasser Postmortem

I love playing videogames, but I have no illusions whatsoever of being talented enough to write videogames. Game developers live a hard life, and not just because the industry is notoriously abusive. Even the most brilliant minds can get bogged down in the morass of complexity that is game development.

By Jeff Atwood ·
Comments

software development

In praise of Beyond Compare

It’s a shame that Beyond Compare isn’t listed in more “favorite tool” lists. This amazing little folder and file differencing tool has earned its spot in my core toolset a dozen times over. Here’s a screenshot of it in action: I’ve mentioned Beyond Compare before, but

By Jeff Atwood ·
Comments

c#

C#, VB.NET, and echoing strings in the VS.NET Immediate Window

I’ve become rather agnostic on the whole topic of C# versus VB.NET, but there are still those annoying little differences that sneak up behind you and rabbit-punch you in the kidneys. Like, say, using the VS.NET 2003 command window in immediate mode to print a string: Usually

By Jeff Atwood ·
Comments

specifications

Dysfunctional Specifications

The guys at 37signals think functional specs are worthless: Don’t write a functional specifications document. Why? Well, there’s nothing functional about a functional specifications document. Functional specifications documents lead to an illusion of agreement. A bunch of people agreeing on paragraphs of text is not real agreement. Everyone

By Jeff Atwood ·
Comments