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

software development concepts

My Database is a Web Service

In The Fallacy of the Data Layer, Rocky Lhotka makes a case for something I’ve come to believe as absolute truth: It is commonly held as a truth that applications have a UI layer, a business layer and a data layer. In most of my presentations and writing I

wireless mouse

Road Warrior, come out to play

I barely leave the house enough to qualify for the Road title, much less Warrior. Still, there are a few items I find essential when travelling with my laptop. A good wireless optical mini-mouse. Touchpads and nubs are fine when there’s no other option, but for quicker, more precise

workspace quality

This is your Anti-Productivity Pod

As noted in the Joel on Software thread, Workspace quality references: I have acquired an interest in workspace quality after spending many years in software development and having worked in a variety of workspaces. When I started out I didn’t give much thought to workspace quality. It was just

programming languages

Visual Diff Tools Revisited

Back in June, I mentioned that my favorite visual differencing tool was Araxis Merge. A co-worker recently recommended that I try out Beyond Compare, so I downloaded the 30-day trial and spent an hour playing with it. It’s definitely comparable to Araxis Merge. And in a lot of ways,

software development

Blue Collar Software Development

There’s a provocative editorial on the “Academication” of software development at DevX: Software development is not an academic exercise. It has more in common with the blue-collar “build me a house” ethic than it does with ivory tower research. So let’s quit treating it as if it’s

programming languages

Never design what you can steal

As the old adage goes: Good programmers write good code; great programmers steal great code. This is definitely true, mostly because great programmers have learned to do some research before writing anything at all. However, even great programmers tend to be absolutely terrible at graphic design, even though the solution

software development concepts

Gold Plating

One of McConnell’s 36 classic development project mistakes is gold-plating. It’s also repeated in the list, so I guess the risk of falling into this particular trap is twice as high: #28: Requirements gold-plating. Some projects have more requirements than they need right from the beginning. Performance is

software development

The Magical Build Machine

Evidently, Jerry Dennany is a member of the build machine cult: One of the golden rules of modern software development is that one should build all software on a dedicated build machine. A build machine should: 1. Be well documented. This includes Version of the Operating System, Service Pack level,

remote controls

Universally Annoying Remotes

What is it with consumer electronics and the uncontrolled proliferation of remotes? We recently upgraded to an EDTV plasma, which I am very happy with, but the nature of the inputs forced another remote on to the coffee table. That brings us to a total of four: HTPC, Tivo, Receiver,

programming languages

Top Tens

I found two interesting top 10 lists yesterday. From MSDN Magazine, 10 Tips for Writing High-Performance Web Applications, is a fine read. I’ll summarize: 1. Return Multiple Resultsets 2. Paged Data Access 3. Connection Pooling 4. ASP.NET Cache API 5. Per-Request Caching 6. Background Processing 7. Page Output

refactoring

Programming for Luddites

There was much handwringing last week when Somasegar announced what we already knew: VB.NET 2005 will not have refactoring. This resulted in a few emotional outbursts: We don’t need toys like [the] MY [namespace], we need working tool like Refactoring!! How can Microsoft refuse us those magical software

user experience

UI Follies, Volume II

There are so many that it’s really hard to choose, but I think this may be my favorite nonsensical dialog in Lotus Notes, our enterprise mail system of choice: Good luck. You’re gonna need it. I’ve given up criticizing Lotus Notes. There’s no point. It’s