Jeff Atwood

Indoor enthusiast. Co-founder of Stack Overflow and Discourse. Disclaimer: I have no idea what I'm talking about. Find me:

Bay Area, CA
Jeff Atwood

virtual machine

Virtual PC 2004

This won't be news to a lot of you, but I was playing around with Microsoft Virtual PC 2004 today: And it's very cool. I know, I know, I'm probably the last developer on the planet to get wise to the benefits of virtual

By Jeff Atwood ·
Comments

software development concepts

Why Objects Suck

There's been a lot of discussion recently about the Object to Relational mapping problem, which is a serious one. This Clemens Vasters blog entry summarizes it best: Maybe I am too much of a data (read: XML, Messages, SQL) guy by now, but I just lost faith that

By Jeff Atwood ·
Comments

software development concepts

Coding Slave

On Rory's effusive recommendation, I purchased a copy of the book, Coding Slave, by Bob Reselman. I have mixed feelings about Coding Slave. It's got a great title, it definitely kept my interest, and it's a quick read. I can also pretty much guarantee

By Jeff Atwood ·
Comments

.net

I'm smarter than the Runtime!

One of the great features of .NET is the automatic garbage collection that absolves the developer of worrying about C++ style memory management, where for every allocate, there must be a destroy, or you're leaking. And yet, I frequently see overzealous developers write code like this: Public Function

By Jeff Atwood ·
Comments

processor

Athlon 64: Developer's Choice

I've commented on .NET compiler performance before, and I recently uncovered another Xbit Labs article that confirms my previous conclusion: For compiling .NET code, the Athlon 64 is 33% faster than a Pentium 4 of the same speed. That's a significant productivity boost for a developer.

By Jeff Atwood ·
Comments

programming languages

Putting the Science Back Into Computer Science

The term "computer science" is a borderline oxymoron. Very little of what we do in software development is science: Many historians suggest that modern science began around 1600 in the time and with the efforts of Galileo Galilei (1564-1642), Johannes Kepler (1571-1630), and Francis Bacon (1561-1626). Their era

By Jeff Atwood ·
Comments

regex

My Buddy, Regex

I generally don't subscribe to the UNIX religion, but there is one area where I am an unabashed convert: regular expressions. Yeah, the syntax is a little scary, but for processing strings, nothing is more effective. The RegEx is the power drill of the programmer's toolkit:

By Jeff Atwood ·
Comments

debugging

Edit and Continue

I'm looking forward to VS.NET 2005 like everyone else, but the one killer feature that will absolutely compel me to upgrade on day of release is Edit and Continue. I had no idea exactly how much time I spent editing live code in VB6's debugger

By Jeff Atwood ·
Comments

software development concepts

Commandos, Infantry, and Police

As I was driving home, I found myself thinking about a favorite section of the book Accidental Empires, by longtime computer journalist Robert X. Cringely. Originally published in 1993, it's getting a little long in the tooth, but it still contains a lot of great insights about the

By Jeff Atwood ·
Comments

.net

Visual Diff Tools

I'm currently building a .NET library that constructs .MHT files, aka single file web page archives. That's what you get when you perform a File | Save As | Web Archive, Single File operation in IE6. HTML is a great, standard format for building richly formatted one-off reports,

By Jeff Atwood ·
Comments

programming languages

Hungarian Wars

I've found a number of blog posts about the pros and cons of Simonyi's Hungarian Notation, most notably, this blog post commenting on the extreme polarity of the reprinted MSDN article rating: This single image really cuts to the heart of the debate, pointedly illustrating what

By Jeff Atwood ·
Comments

gui programming

Death to the Dialog Box

One of the unnecessary evils of GUI programming is the "Process Dialog Box" – what we think of as MessageBox.Show. You know, like this: All kidding aside, these dialogs are frequently abused for displaying all kinds of trivial information to the user, a mistake that Alan Cooper calls

By Jeff Atwood ·
Comments