software development concepts

The Cognitive Style of Visual Studio

programming languages

The Cognitive Style of Visual Studio

Charles Petzold is widely known as the guy who put the h in hWnd. He’s the author of the seminal 1988 book Programming Windows, now in its fifth edition. And he can prove it, too. He has an honest-to-God Windows tattoo on his arm: This is explained in his

By Jeff Atwood ·
Comments

regex

Excluding Matches With Regular Expressions

Here’s an interesting regex problem: I seem to have stumbled upon a puzzle that evidently is not new, but for which no (simple) solution has yet been found. I am trying to find a way to exclude an entire word from a regular expression search. The regular expression should

By Jeff Atwood ·
Comments

unit testing

Unit Testing vs. Beta Testing

Why does Wil Shipley, the author of Delicious Library, hate unit testing so much? I’ve certainly known companies that do “unit testing” and other crap they’ve read in books. Now, you can argue this point if you’d like, because I don’t have hard data; all I

By Jeff Atwood ·
Comments
Code Snippets in VS.NET 2005

visual studio

Code Snippets in VS.NET 2005

One of the most enjoyable new features in Visual Studio .NET 2005 is Code Snippets. This animated GIF illustrates how it works: I’m demonstrating three types of snippets here: * simple expansion * template expansion (with variables) * surround The easiest way to enter a code snippet is to begin typing part

By Jeff Atwood ·
Comments
Pimp My IDE

programming languages

Pimp My IDE

I just updated my Programming Fonts entry. It now includes a much larger code sample in each font, and a few new fonts including the “gee, did I really just pay $100 for a single font” Pragmata. Be sure to check it out. It’s a shame that there’s

By Jeff Atwood ·
Comments
The Best of Creative Computing

programming languages

The Best of Creative Computing

In the process of researching a few recent blog entries, I found the amazing Atari Archives. The title is a little misleading; it isn’t completely Atari specific. The archives contain incredible page-by-page high resolution images of many classic computer books, including The Best of Creative Computing, volume 1 (1976)

By Jeff Atwood ·
Comments

programming languages

Equipping our ASCII Armor

On one of our e-commerce web sites, we needed a unique transaction ID to pass to a third party reporting tool on the checkout pages. We already had a GUID on the page for internal use. And you know how much we love GUIDs! 22da5537-de54-459d-9b33-f40f2101143b A GUID is 128 bits,

By Jeff Atwood ·
Comments
Avoiding “Blank Page Syndrome”

user experience

Avoiding “Blank Page Syndrome”

One thing I dislike about classic WIMP GUI applications is the way they typically present you with a blank page at startup. Here’s what Word 2003 looks like just after I launch it: This leads to Blank Page Syndrome: when presented with infinite choice, it’s sometimes hard to

By Jeff Atwood ·
Comments
Configurability and Voiding Your Warranty

customization

Configurability and Voiding Your Warranty

In The Problem with Configurability, I noted the tenuous balance between the opposing goals of customization and convention. Kam VedBrat, one of the Microsoft Windows UI designers for Vista, riffs on a similar theme. Why isn’t Windows Vista completely skinnable out of the box? There is also the issue

By Jeff Atwood ·
Comments
Wind, Angle, and Power

programming languages

Wind, Angle, and Power

One of the oldest computer games is Artillery. It’s all about going mano a mano with nothing but wind, angle, and power on your side: The origins of artillery games are unclear, but the first such games were probably played on mainframe computers in the 60s. The programmers of

By Jeff Atwood ·
Comments
Programming 4 Fun

programming languages

Programming 4 Fun

Looking for something fun to do on family night? How about a friendly game of c-jump, the programming board game: Although the prospect of a computer programming board game sounds positively stultifying, there is a rich history of computer games based on programming. It’s not a programming game per

By Jeff Atwood ·
Comments
On the Death of the Main Menu

user experience

On the Death of the Main Menu

One of the biggest highlights of PDC 2005 was the first day keynote, when the Office 12 UI was unveiled. I don’t know if people realized the significance of what we saw at the time – but we had just witnessed the death of the main menu. There’s no

By Jeff Atwood ·
Comments