software development

Code Smaller

code quality

Code Smaller

Unless you’ve been living under a rock for the last few years, you’ve probably heard about the game Katamari Damacy. The gameplay consists of little more than rolling stuff up into an ever-increasing ball of stuff. That’s literally all you do. You start by rolling up small

By Jeff Atwood ·
Comments
Boyd’s Law of Iteration

software development

Boyd’s Law of Iteration

Scott Stanfield forwarded me a link to Roger Sessions’ A Better Path to Enterprise Architecture yesterday. Even though it’s got the snake-oil word “Enterprise” in the title, the article is surprisingly good. I particularly liked the unusual analogy Roger chose to illustrate the difference between iterative and recursive approaches

By Jeff Atwood ·
Comments
The Software “Check Engine” Light

software development

The Software “Check Engine” Light

Raymond Chen notes that, in his personal experience, users don’t read dialogs: How do I make this error message go away? It appears every time I start the computer. RC: What does this error message say? User: It says, ‘Updates are ready to install.’ I’ve just been clicking

By Jeff Atwood ·
Comments

programming

How To Become a Better Programmer by Not Programming

Last year in Programmers as Human Beings, I mentioned that I was reading Programmers At Work. It’s a great collection of interviews with famous programmers circa 1986. All the interviews are worth reading, but the interview with Bill Gates has one particular answer that cuts to the bone: Does

By Jeff Atwood ·
Comments

programming

Shipping Isn’t Enough

Part of Chuck Jazdzewski’s fatherly advice to new programmers is this nugget: Programming is fun. It is the joy of discovery. It is the joy of creation. It is the joy of accomplishment. It is the joy of learning. It is fun to see your handiwork displaying on the

By Jeff Atwood ·
Comments
The Story About PING

networking

The Story About PING

Everyone loves ping. It’s simple. It’s utilitarian. And it does exactly what the sonar inspired name implies. Ping tells you if a remote computer is responding to network requests. The ping utility was written by Mike Muuss, a senior scientist at the U.S. Army Research Laboratory. Mike

By Jeff Atwood ·
Comments
Joining The Prestigious Three Monitor Club

multi-monitor setup

Joining The Prestigious Three Monitor Club

I have something in common with Bill Gates and Larry Page: Larry Page: I have a weird setup in my office. I have one computer with three monitors: one flat-screen monitor and two regular ones. I have my browser on one screen, my schedule on another and my e-mail on

By Jeff Atwood ·
Comments
Today is Support Your Favorite Small Software Vendor Day

software development

Today is Support Your Favorite Small Software Vendor Day

I’m a Windows user, and I’m out to prove Wil Shipley wrong: Mac users love their machines; Windows users put up with their machines because they don’t believe there’s anything really better. I love the Mac user base because they tend to be people who are

By Jeff Atwood ·
Comments
The Project Postmortem

software development

The Project Postmortem

You may think you’ve completed a software project, but you aren’t truly finished until you’ve conducted a project post mortem. Mike Gunderloy calls the postmortem an essential tool for the savvy developer: The difference between average programmers and excellent developers is not a matter of knowing the

By Jeff Atwood ·
Comments
Filesystem Paths: How Long is Too Long?

filepaths

Filesystem Paths: How Long is Too Long?

I recently imported some source code for a customer that exceeded the maximum path limit of 256 characters. The paths in question weren’t particularly meaningful, just pathologically* long, with redundant subfolders. To complete the migration, I renamed some of the parent folders to single character values. And, on a

By Jeff Atwood ·
Comments
It’s Never Been Built Before

software development

It’s Never Been Built Before

In Microsoft Project and the Gantt Waterfall, many commenters wondered why software projects can’t be treated like any other construction or engineering project: I am not sure why it is so difficult to estimate software development? Is it a mystery, magic, is there a man behind the curtain that

By Jeff Atwood ·
Comments

screencasting

Screencasting for Windows

If a picture is worth a thousand words, is a single screencast equal to a thousand word blog post? There’s a lot to be said for lightweight, embedded screencasts. I’m particularly fond of animated GIF screencasts for small demonstrations. You can see examples in these posts: one, two,

By Jeff Atwood ·
Comments