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

programming languages

The Principle of Least Power

Tim Berners-Lee on the Principle of Least Power: Computer Science spent the last forty years making languages which were as powerful as possible. Nowadays we have to appreciate the reasons for picking not the most powerful solution but the least powerful. The less powerful the language, the more you can

By Jeff Atwood ·
Comments

user experience

The Non-Maximizing Maximize Button

One of my great frustrations with the Mac is the way the maximize button on each window fails to maximize the window. In a comment, Alex Chamberlain explained why this isn’t broken, it’s by design: This is a textbook example of how Microsoft’s programmers got the original

By Jeff Atwood ·
Comments

blogging

Don’t Be a Commodity Blogger

Jakob Nielsen’s “Write Articles, Not Blog Postings” is highly critical of so-called commodity bloggers. As you might imagine, it wasn’t received well by the blog community. Robert Scoble’s stereotypical reaction was perhaps the worst of the bunch. In a legendary display of narcissism, Robert assumes the article

By Jeff Atwood ·
Comments

wearable computing

Steve Mann, Cyborg

I may have an unusual affinity for hardware, but Steve Mann is in a class of his own. He lives the hardware. Steve Mann may be the world’s original cyborg. Steve Mann, an engineering professor at the University of Toronto, has lived as a cyborg for more than 20

By Jeff Atwood ·
Comments

motherboard bios settings

Building a PC, Part III – Overclocking

Now that we have Scott Hanselman’s computer completely built up and stable – or at least that’s what our torture tests told us yesterday – it’s time to see how far we can overclock this system. Overclocking a computer sounds complicated, but it really isn’t. We’ll use

By Jeff Atwood ·
Comments

hardware

Building a PC, Part II

Yesterday, we completed a basic build of Scott Hanselman’s computer. We built the system up enough to boot to the BIOS screen successfully. Today, we’ll complete the build by installing an operating system and burning it in. The first thing we’ll need is hard drives. The Antec

By Jeff Atwood ·
Comments

hardware

Building a PC, Part I

Over the next few days, I’ll be building Scott Hanselman’s computer. My goal today is more modest: build a minimal system that boots. I’d like to dispel the myth that building computers is risky, or in any way difficult or complicated. If you can put together a

By Jeff Atwood ·
Comments

.net

Defining Open Source

As I mentioned two weeks ago, my plan is to contribute $10,000 to the .NET open source ecosystem. $5,000 from me, and a matching donation of $5,000 from Microsoft. There’s only two ground rules so far: 1. The project must be written in .NET managed code.

By Jeff Atwood ·
Comments

image processing

Better Image Resizing

In a previous post, I examined the difference between bilinear and bicubic image resizing techniques. Those are the two options available in most graphics programs for resizing an image. After some experimentation, I came up with these rules of thumb: * When making an image smaller, use bicubic, which has a

By Jeff Atwood ·
Comments

game development

Game Development Postmortems

I’ve written about the value of project postmortems before. Still, getting a project postmortem going (or, if you prefer your terminology a bit less morbid, a project retrospective) can be a daunting proposition. Game Developer Magazine’s postmortem objectives offers a helpful template for conducting a postmortem yourself: The

By Jeff Atwood ·
Comments

technology trends

The Technology Backlash

Riding the waves of technology in the computer industry is exhilarating when you’re twenty, but there’s a certain emptiness that begins to creep in around the edges by the time you’re forty. When you’ve spent the last twenty years doing nothing but frantically hanging ten on

By Jeff Atwood ·
Comments

design patterns

Rethinking Design Patterns

Many developers consider the book Design Patterns a classic. So what’s a design pattern? A design pattern systematically names, motivates, and explains a general design that addresses a recurring design problem in object-oriented systems. It describes the problem, the solution, when to apply the solution, and its consequences. It

By Jeff Atwood ·
Comments