software development

A Visit from the Metrics Maid

software development

A Visit from the Metrics Maid

For the last few days, I’ve been surveying a software project. Landing on a planet populated entirely by an alien ecosystem of source code can be overwhelming. That’s why the first first thing I do is bust out my software tricorder – static code analysis tools. The two most

By Jeff Atwood ·
Comments

software development

Software: It’s a Gas

Nathan Myhrvold, the former CTO of Microsoft, is also a bona-fide physicist. He holds physics degrees from UCAL and Princeton. He even had a postdoctoral fellowship under the famous Stephen Hawking. Thus, as you might expect, his 1997 ACM keynote presentation, The Next Fifty Years of Software is full of

By Jeff Atwood ·
Comments
The Programmer’s Bill of Rights

software development

The Programmer’s Bill of Rights

It’s unbelievable to me that a company would pay a developer $60-$100k in salary, yet cripple them with terrible working conditions and crusty hand-me-down hardware. This makes no business sense whatsoever. And yet I see it all the time. It’s shocking how many companies still don’t

By Jeff Atwood ·
Comments
DirectX Version Number Abuse

directx

DirectX Version Number Abuse

Has anyone noticed that Microsoft defines “version” a little loosely when it comes to DirectX 9.0c? Here’s a screenshot of the DirectX 9.0c download page on FileHippo: DirectX 9.0c was originally released in August 2004, according to the DirectX Wikipedia entry. But Microsoft has surreptitiously been

By Jeff Atwood ·
Comments

regular expressions

Shortening Long File Paths

We’re working on a little shell utility that displays paths in a menu. Some of these paths can get rather long, so I cooked up this little regular expression to shorten them. It’s a replacement, so you call it like this: static string PathShortener(string path) {     const string

By Jeff Atwood ·
Comments
Open Source: Free as in “Free”

open source

Open Source: Free as in “Free”

Here’s Scott Hanselman on the death of nDoc: We are blessed. This Open Source stuff is free. But it’s free like a puppy. It takes years of care and feeding. You don’t get to criticize a free puppy that you bring in to your home. Free like

By Jeff Atwood ·
Comments

software development

What is “Modern Software Development”

Joel Spolsky came up with a twelve-item checklist in August, 2000 that provides a rough measure of – in his words – “how good a software team is”: 1. Do you use source control? 2. Can you make a build in one step? 3. Do you make daily builds? 4. Do you

By Jeff Atwood ·
Comments
I Pity The Fool Who Doesn’t Write Unit Tests

unit testing

I Pity The Fool Who Doesn’t Write Unit Tests

J. Timothy King has a nice piece on the twelve benefits of writing unit tests first. Unfortunately, he seriously undermines his message by ending with this: However, if you are one of the [coders who won’t give up code-first], one of those curmudgeon coders who would rather be right

By Jeff Atwood ·
Comments
Creating Smaller Virtual Machines

virtual machines

Creating Smaller Virtual Machines

Now that Virtual PC is finally free, I've become obsessed with producing the smallest possible Windows XP Virtual PC image. It's quite a challenge, because a default XP install can eat up well over a gigabyte. Once you factor in the swapfile and other overhead, you&

By Jeff Atwood ·
Comments

software development

Diseconomies of Scale and Lines of Code

Steve McConnell on diseconomies of scale in software development: Project size is easily the most significant determinant of effort, cost and schedule [for a software project].* People naturally assume that a system that is 10 times as large as another system will require something like 10 times as much effort

By Jeff Atwood ·
Comments
The Visual Studio IDE and Regular Expressions

regex

The Visual Studio IDE and Regular Expressions

The Visual Studio IDE supports searching and replacing with regular expressions, right? Sure it does. It’s right there in grey and black in the find and replace dialog. Just tick the “use Regular expressions” checkbox and we’re off to the races. However, you’re in for an unpleasant

By Jeff Atwood ·
Comments
The Monopoly Interview

programming concepts

The Monopoly Interview

Reginald Braithwaite’s favorite interview question is an offbeat one: sketch out a software design to referee the game Monopoly.* I think it’s a valid design exercise which neatly skirts the puzzle question trap. But more importantly, it’s fun. Interviews are a terror for the interviewee. And they’

By Jeff Atwood ·
Comments