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

operating systems

The Many Faces of (Windows) Death

As I recall, the Blue Screen of Death was introduced with Windows NT 3.1 circa 1993: A blue screen of death occurs when the kernel, or a driver running in kernel mode, encounters an error from which it cannot recover. This is usually caused by a [hardware] driver that

By Jeff Atwood ·
Comments

documentation

Avoiding Undocumentation

Have you ever noticed that much of the online MSDN .NET framework help is... not helpful? Take the the MSDN help for the IBindingList.AddIndex method, for example: Scott Swigart calls this undocumentation, and elaborates further in his blog post: This is an example where quacking like a duck doesn’

By Jeff Atwood ·
Comments

programming languages

Conversations with Erich Gamma

Artima has another great interview series, this time with Erich Gamma. You know, Erich Gamma: Gang of Four, JUnit, Eclipse. As you might expect from such a notable developer, it’s full of great advice. Like this section on avoiding frameworkitis: Frameworkitis is the disease that a framework wants to

By Jeff Atwood ·
Comments

font legibility

Comparing Font Legibility

If you’re not reading the Wichita State Software Usability Research Laboratory newsletter regularly, you should be. It’s an amazing source of usability experiments with actual data, hypotheses, citations, statistics, and all that other stuff that puts the science back into computer science. A 2001 SURL experiment compared the

By Jeff Atwood ·
Comments

web technologies

Learning from TEH INTARWEB

I try to avoid posting entries from the Mindless Link Propagation Department, but Adam Bosworth’s article Learning from The Web is excellent and it deserves a careful read: The Web taught us several unintuitive lessons: 1. Simple, relaxed, sloppily extensible text formats and protocols often work better than complex

By Jeff Atwood ·
Comments

programming languages

Software Apprenticeship

In Software Training Sucks: Why We Need to Roll it Back 1,000 Years, Rob Walling makes a compelling argument for abandoning traditional training classes in favor of apprenticeships: Why not use the time-tested approach of trades that have been doing it for years? Let’s take an electrical apprenticeship

By Jeff Atwood ·
Comments

search engines

Disambiguating Search with Quasi-Evil Hierarchies

Let’s say I was to search Google for the word Jaguar: There’s an immediate problem. The semantics of Jaguar only exist in my head, not in any search box. Did I mean... * Jaguar the car? * OSX Jaguar? * Jaguar the animal? * The Atari Jaguar? * Austin Power’s Shaguar? Whichever

By Jeff Atwood ·
Comments

html

The Lost Art of Progressive HTML Rendering

One thing I dislike about ASP.NET is that it renders the entire web page in memory before sending one single byte of that page to the browser. Consider an ASP.NET page with an embedded DataGrid that relies on ten complex database queries over 15 seconds. Why can’t

By Jeff Atwood ·
Comments

music

The Windows 95 Startup Sound

Did you know that the Windows 95 startup sound was composed by avant-garde electronic musician Brian Eno? I had no idea until I saw it referenced on music thing. Eno describes the process in a 1996 San Francisco Chronicle interview: Q: How did you come to compose “The Microsoft Sound?

By Jeff Atwood ·
Comments

programming languages

Please use .ToString() responsibly

I’ve seen this kind of code a lot recently: try { int i = 0; int x = 0; Console.WriteLine(i / x); } catch (Exception ex) { Console.WriteLine(ex.Message); } This results in the following output: Attempted to divide by zero. Unless there’s some compelling reason you need an ultra-terse version

By Jeff Atwood ·
Comments

software development concepts

The Lesson of HyperTerminal

In response to My Giant Calculator, Joost commented: I’ll jump to the defense of trusty old calc.exe. Even though it’s crappy, we know it’s on every Windows box we touch. He’s got a point. The applets that ship in the box with the operating system

By Jeff Atwood ·
Comments

software development

My Giant Calculator

Have you ever noticed how many people keep a physical calculator next to their computer? The irony is almost palpable. My favorite is the calculator mousepad. Jef Raskin, in The Humane Interface, defends the practice of keeping a pocket calculator next to your PC: It’s true. Many of us

By Jeff Atwood ·
Comments