Archive

software development concepts

Nobody Hates Software More Than Software Developers

A few months ago we bought a new digital camera, all the better to take pictures of our new spawned process. My wife, who was in charge of this purchase, dutifully unboxed the camera, installed the batteries, and began testing it out for the first time. Like so many electronic

By Jeff Atwood ·
Comments

software engineering

Software Engineering: Dead?

I was utterly floored when I read this new IEEE article by Tom DeMarco (pdf). See if you can tell why. My early metrics book, Controlling Software Projects: Management, Measurement, and Estimates [1986], played a role in the way many budding software engineers quantified work and planned their projects. In

By Jeff Atwood ·
Comments

game development

How Not to Advertise on the Internet

Games that run in your web browser are all the rage, and understandably so. Why not build your game for the largest audience in the world, using freely available technology, and pay zero licensing fees? One such game is Evony, formerly known as Civony – a browser-based clone of the game

By Jeff Atwood ·
Comments

regular expressions

Testing With "The Force"

Markdown was one of the humane markup languages that we evaluated and adopted for Stack Overflow. I've been pretty happy with it, overall. So much so that I wanted to implement a tiny, lightweight subset of Markdown for comments as well. I settled on these three commonly used

By Jeff Atwood ·
Comments

programming languages

Code: It's Trivial

Remember that Stack Overflow thing we've been working on? Some commenters on a recent Hacker News article questioned the pricing of Stack Exchange -- essentially, a hosted Stack Overflow: Seems really pricey for a relatively simple software like this. Someone write an open source alternative? it looks like

By Jeff Atwood ·
Comments

hardware

Oh, You Wanted "Awesome" Edition

We recently upgraded our database server to 48 GB of memory -- because hardware is cheap, and programmers are expensive. Imagine our surprise, then, when we rebooted the server and saw only 32 GB of memory available in Windows Server 2008. Did we install the memory wrong? No, the BIOS

By Jeff Atwood ·
Comments

programming languages

All Abstractions Are Failed Abstractions

In programming, abstractions are powerful things: Joel Spolsky has an article in which he states All non-trivial abstractions, to some degree, are leaky. This is overly dogmatic - for example, bignum classes are exactly the same regardless of the native integer multiplication. Ignoring that, this statement is essentially true, but

By Jeff Atwood ·
Comments

technology trends

The iPhone Software Revolution

The original iPhone was for suckers hard-core gadget enthusiasts only. But as I predicted, 12 months later, the iPhone 3G rectified all the shortcomings of the first version. And now, with the iPhone 3GS, we've reached the mythical third version: A computer industry adage is that Microsoft does

By Jeff Atwood ·
Comments

scalability

Scaling Up vs. Scaling Out: Hidden Costs

In My Scaling Hero, I described the amazing scaling story of plentyoffish.com. It's impressive by any measure, but also particularly relevant to us because we're on the Microsoft stack, too. I was intrigued when Markus posted this recent update: Last monday we upgraded our core

By Jeff Atwood ·
Comments

mathematics

Monty Hall, Monty Fall, Monty Crawl

Remember The Problem of the Unfinished Game? And the almost 2,500 comments those two posts generated? I know, I like to pretend it didn't happen, either. Some objected to the way I asked the question, but it was a simple question asked in simple language. I think

By Jeff Atwood ·
Comments

security

We Done Been ... Framed!

In my previous post, Url Shorteners: Destroying the Web Since 2002, I mentioned that one of the "features" of the new generation of URL shortening services is to frame the target content. Digg is one of the most popular sites to implement this strategy. Here's how

By Jeff Atwood ·
Comments