Archive

.net

A Stopwatch Class for .NET 1.1

The first rule of performance testing is to measure, then measure again, then measure one more time just to be sure. NET 2.0 adds a handy Diagnostics.Stopwatch [http://msdn2.microsoft.com/en-us/library/system.diagnostics.stopwatch.aspx] which is perfect for this kind of ad-hoc precision timing. A

By Jeff Atwood ·
Comments

retro gaming

The History of Wumpus

I sometimes go by the handle "Wumpus" online. It's part of my personal brand [https://blog.codinghorror.com/your-personal-brand/], just like Coding Horror is [https://blog.codinghorror.com/on-the-meaning-of-coding-horror/]. Why? It was one of my formative computing experiences on the first "real" computer I

By Jeff Atwood ·
Comments

programming practices

Why Programmers File the Worst Bug Reports

Who files better bugs? Users or developers? In How to Report Bugs Effectively [http://www.chiark.greenend.org.uk/~sgtatham/bugs.html], Simon Tatham notes that software developers, contrary to what you might think, file some of the worst bug reports: > It isn't only non-programmers who produce

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 [http://cm.bell-labs.com/cm/cs/who/dmr/chist.html], one wonders why the sins of Kernighan and Ritchie [http://cm.

By Jeff Atwood ·
Comments

software development concepts

The TweakUI Tips

I've been running some version of Microsoft's cool TweakUI powertoy [http://www.microsoft.com/windowsxp/downloads/powertoys/xppowertoys.mspx ] since the heady days of Windows 95. I recently found out that the author is none other than Raymond Chen [http://blogs.msdn.com/oldnewthing/archive/2005/

By Jeff Atwood ·
Comments

physics simulation

Trespasser Postmortem

I love playing videogames, but I have no illusions whatsoever of being talented enough to write videogames. Game developers live a hard life, and not just because the industry is notoriously abusive. Even the most brilliant minds can get bogged down in the morass of complexity that is game development.

By Jeff Atwood ·
Comments

software development

In praise of Beyond Compare

It's a shame that Beyond Compare isn't listed in more "favorite tool" lists. This amazing little folder and file differencing tool has earned its spot in my core toolset a dozen times over. Here's a screenshot of it in action: I'

By Jeff Atwood ·
Comments

c#

C#, VB.NET, and echoing strings in the VS.NET Immediate Window

I've become rather agnostic on the whole topic of C# versus VB.NET, but there are still those annoying little differences that sneak up behind you and rabbit-punch you in the kidneys. Like, say, using the VS.NET 2003 command window in immediate mode to print a string:

By Jeff Atwood ·
Comments

specifications

Dysfunctional Specifications

The guys at 37signals think functional specs are worthless: Don't write a functional specifications document. Why? Well, there's nothing functional about a functional specifications document. Functional specifications documents lead to an illusion of agreement. A bunch of people agreeing on paragraphs of text is not real

By Jeff Atwood ·
Comments

operating systems

The Many Faces of (Windows) Death

As I recall, the Blue Screen of Death was introduced with Windows NT 3.1 circa 1993: A blue screen of death occurs when the kernel, or a driver running in kernel mode, encounters an error from which it cannot recover. This is usually caused by a [hardware] driver that

By Jeff Atwood ·
Comments

documentation

Avoiding Undocumentation

Have you ever noticed that much of the online MSDN .NET framework help is.. not helpful? Take the the MSDN help for the IBindingList.AddIndex method [http://msdn.microsoft.com/library/default.asp?url=/library/en-us/cpref/html/frlrfSystemComponentModelIBindingListClassAddIndexTopic.asp] , for example: Scott Swigart calls this undocumentation, and elaborates further

By Jeff Atwood ·
Comments