software development

Code Elegance, Code Balance

code quality

Code Elegance, Code Balance

I’ve been reading a great book of interviews with programmers circa 1989. One of the most fascinating interviews is with Wayne Ratliff, the author of dBase. Wayne’s description of balance in programming really resonated with me: Interviewer: Can you elaborate on this feeling for balance and elegance? Balance

By Jeff Atwood ·
Comments

naming conventions

I Shall Call It... SomethingManager

Alan Green rails against the meaninglessness of SomethingManager: How many classes do you come across named SomethingManager? Any decent sized commercial system seems to have plenty – SessionManager, ConnectionManager, PolicyManager, QueueManager, UrlManager, ConfigurationManager, or even, sadly, EJBManager. A quick look at the dictionary entry for “manager” and “manage” gives at least

By Jeff Atwood ·
Comments
Making Considerate Software

usability

Making Considerate Software

I’m currently re-reading the book About Face. I hadn’t revisited this book since I bought the original version way back in 1995. The update, which was published in 2003, is a significant overhaul – and frankly much better than the original. Adding the second author, Robert Reimann, was a

By Jeff Atwood ·
Comments
Everything You Know Will Be Obsolete in Five Years

software development

Everything You Know Will Be Obsolete in Five Years

One of the peculiarities of software development is how rapidly knowledge becomes obsolete. Dan Appleman cited a parable from Lewis Carroll’s Through the Looking Glass which illustrates this wonderfully: ‘Now! Now!’ cried the Queen. ‘Faster! Faster!’ And they went so fast that at last they seemed to skim through

By Jeff Atwood ·
Comments
Error Codes Must Die

error codes

Error Codes Must Die

A recent Scott Hanselman post described a problem he had with Windows Defender: Defender was unable to update my signatures, instead throwing a COM-ish 0x8024402c. Others are getting Error 1609 and still others 0x80240022. This isn’t an isolated incident. The latest release candidate of Team Foundation Server also returns

By Jeff Atwood ·
Comments
Darwinia

gaming

Darwinia

One of the most amazing gaming experiences I’ve had in recent memory was playing Introversion Software’s Darwinia. It’s a bit difficult to explain, but the game is a cross between Tron, Syndicate, Populous, and Lemmings. It has a distinct, beautiful retro style all its own. And the

By Jeff Atwood ·
Comments
On Audio Visualization

audio visualization

On Audio Visualization

I’m a big music fan. And as a longtime computer enthusiast, I’ve always been intrigued by the intersection of computers and music: audio visualization. The first experience I had with visualization was the 1993 CD-ROM add-on for Atari’s short-lived Jaguar console. It included Jeff Minter’s VLM-1

By Jeff Atwood ·
Comments
.NET Pet Shop 4

.net

.NET Pet Shop 4

Vertigo Software’s .NET Pet Shop 4.0 article just went live on MSDN. It’s Pet Shop! You know... our old pal, Pet Shop: However, unlike previous versions of Pet Shop, this version is not a benchmark comparison with Java. It’s purely a showcase for ASP.NET 2.

By Jeff Atwood ·
Comments

debugging

Revisiting Edit and Continue

Edit and Continue, which shipped in Visual Studio 2005, is generally regarded as A Good Thing. It’s pretty difficult to argue against the benefits of immediacy when debugging, but that isn’t about to stop some people: * Frans Bouma People who grew up with assemblers, the gnu commandline C

By Jeff Atwood ·
Comments

acronyms

Don’t Acronymize Your Users

As a commenter noted in my previous post on how not to give a presentation, I have another complaint about software development presentations that I didn’t list. They’re chock full of meaningless acronyms. SOAP, BI, SOA, RDBMS, SGML, CRUD, RMS, RDBMS, XML, ORM, FAQ. I appreciate the need

By Jeff Atwood ·
Comments
Not All Bugs Are Worth Fixing

triage

Not All Bugs Are Worth Fixing

One thing that continually frustrates me when working with dedicated test teams is that, well, they find too many bugs. Don’t get me wrong. I want to be the first person to know about any bug that results in inconvenience for a user. But how do you distinguish between

By Jeff Atwood ·
Comments

usability

Google is the Help Menu

Jensen Harris recently cited some Microsoft Office usability research which produced a rather counter-intuitive result: One of the most interesting epiphanies I’ve had over the last few years seems on the surface like a paradox: “help” in Office is mostly used by experts and enthusiasts. How can this be?

By Jeff Atwood ·
Comments