software development concepts

Filesystems Aren’t a Feature

file systems

Filesystems Aren’t a Feature

Don Park recently made an interesting observation about how his family uses the computer: When I observe how my wife and son uses the family computer, I can’t help noticing how little use they have for the desktop. They look bewildered when I open the Windows Explorer. To them,

By Jeff Atwood ·
Comments
Seven Habits of Highly Effective Programmers

software development concepts

Seven Habits of Highly Effective Programmers

Philip Chu’s Seven Habits of Highly Effective Programmers is witty, eloquent, and peppered with illustrative real world anecdotes: Upon joining an early-stage startup called Neomar, I found myself in two months of design meetings for a wireless internet portal that was due to launch in six months. Eventually we

By Jeff Atwood ·
Comments

software development concepts

Client vs. Developer Wars

The 69 page e-book Client vs. Developer Wars documents one web design company’s struggle to formulate a rational development process: Up until the middle of 2000, Newfangled’s development process was much like that of every other web development company. The process started with the “planning/strategy phase,” followed

By Jeff Atwood ·
Comments
The Story of SkiFree

programming languages

The Story of SkiFree

Laurent Bourgeois sent in an amusing link to the story of SkiFree in the words of Chris Pirih, the original Microsoft programmer who wrote it: I wrote SkiFree in C on my home computer, entirely for my own education and entertainment. One day while I was playing with it at

By Jeff Atwood ·
Comments
Animal, Vegetable, or Mineral?

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
The History of Wumpus

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 ADAM doesn’t count. The images

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

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
Software Apprenticeship

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
The Lesson of HyperTerminal

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
Road Signs and Icons

programming languages

Road Signs and Icons

I’ve always been fascinated with road signs. And evidently so is Donald Knuth: During our summer vacation in 2003, my wife and I amused ourselves by taking leisurely drives in Ohio and photographing every diamond-shaped highway sign that we saw along the roadsides. (Well, not every sign; only the

By Jeff Atwood ·
Comments