Jeff Atwood

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

Bay Area, CA
Jeff Atwood

Stored Procedures vs. Ad-Hoc SQL

In a recent article, Doug Reilly makes a fairly well reasoned case for the use of stored procedures in lieu of ad-hoc SQL: So, should you use SPs or ad-hoc SQL? The answer is "it depends." I have placed myself firmly on the side of doing all database

By Jeff Atwood · · Comments

The Code-First Dictum

Traditional wisdom says that the "code first, design later" approach is a bad idea. However, Charles Miller points out that when it comes to open source projects, it's mandatory [https://web.archive.org/web/20060209222222/http://fishbowl.pastiche.org/2005/05/08/finding_discord_in_harmony]

By Jeff Atwood · · Comments

Obfuscating Code

Robert Cringeley, in a post early last year, raised some concerns about reverse engineering .NET code: .NET is almost exclusively Just-In-Time compiled. JIT'ing means, "I was just about to interpret this, but I'll compile it at the very last minute instead." In effect, the

By Jeff Atwood · · Comments

Conventions and Usability

Philipp Lenssen recently conducted an interesting experiment in usability minimalism where he visually deleted all the unused elements from the web pages he visits every day. Viewing some of Philipp's native German web pages, I was reminded how powerful conventions can be; the page layout and formatting are

By Jeff Atwood · · Comments

XP Automatic Update Nagging

Windows XP's automatic update facility is clearly a good thing. Except when an update is installed that requires a reboot and you're working on the computer at the time. Then you get this lovely dialog: As if I needed another reason to hate dialog boxes. This

By Jeff Atwood · · Comments

Schedule Games

Johanna Rothman posted a number of what she calls Schedule Games on her product development blog: 1. Schedule Chicken 2. 90% Done 3. Bring Me a Rock 4. Hope is Our Most Important Strategy 5. Queen of Denial 6. Sweep Under the Rug 7. Schedule Dream Time or Happy Date

By Jeff Atwood · · Comments

The Difficulty of Dogfooding

Joel, on the merits of dogfooding: Eating your own dog food is the quaint name that we in the computer industry give to the process of actually using your own product. I had forgotten how well it worked, until a month ago, I took home a build of CityDesk (thinking

By Jeff Atwood · · Comments

My Mouse Fetish

I've talked about the programmer's take on keyboard and chair, but I have yet to cover that other computing staple: the mouse. I was reminded when HMK referenced Ars Technica's History of the GUI: This was the mouse, invented by Douglas himself [in 1968]

By Jeff Atwood · · Comments

Multiple Core CPU Futures

Both AMD and Intel now have dual core CPUs on the market, in the form of the Athlon 64 X2 and the Pentium 4 D series. They may be expensive now, but I fully expect dual core architectures to trickle down to the rest of the lineup within the next

By Jeff Atwood · · Comments

Defeating Optimism

In Extreme Programming Explained, Kent Beck notes that optimism is an occuplational hazard of programming. Excess optimism, in the guise of enthusiasm, is a serious pitfall for game developers in particular: Rein in enthusiasm? Now why would we ever want to do that? Isn't keeping the team motivated

By Jeff Atwood · · Comments

Following the Instructions on the Paint Can

I was chatting on the phone with a friend of mine a few days ago, and he described a project he recently inherited. It was the work of a half-dozen different developers, who each built their parts of the project in a completely different way with little to no communication

By Jeff Atwood · · Comments

Cognitive Diversity

A few months ago there was a little brouhaha about lack of diversity in weblog authors, which caused a few ripples. Julia Lerman asks the same question about software development in a recent interview: I think that the lack of women in visible roles in our community is one of

By Jeff Atwood · · Comments