Archive

database management

Why Can’t Database Tables Index Themselves?

Here’s a thought question for today: why can’t database tables index themselves? Obviously, indexes are a central concept to databases and database performance. But horror tales still abound of naïve developers who “forget” to index their tables, and encounter massive performance and scalability problems down the road as

By Jeff Atwood ·
Comments

software development

Diseconomies of Scale and Lines of Code

Steve McConnell on diseconomies of scale in software development: Project size is easily the most significant determinant of effort, cost and schedule [for a software project].* People naturally assume that a system that is 10 times as large as another system will require something like 10 times as much effort

By Jeff Atwood ·
Comments
Own a Coding Horror

programming languages

Own a Coding Horror

A few people recently pointed out that my personal branding isn’t everything that it could be. Joseph Cooney even took matters into his own hands. Well, I contacted the big man himself, Steve McConnell, and he graciously provided me a high resolution vector file of the original Coding Horror

By Jeff Atwood ·
Comments

programming concepts

Separating Programming Sheep from Non-Programming Goats

⚠ Please note, this paper was ultimately retracted by its author (pdf) in 2014: In 2006 I wrote an intemperate description of the results of an experiment carried out by Saeed Dehnadi. Many of the extravagant claims I made were insupportable, and I retract them. I continue to believe, however, that

By Jeff Atwood ·
Comments

programming languages

I Heart Strings

Brad Abrams was a founding member of the .NET common language runtime team way back in 1998. He’s also the co-author of many essential books on .NET, including both volumes of the .NET Framework Standard Library Annotated Reference. I was at a presentation Brad gave to the Triangle

By Jeff Atwood ·
Comments
The Visual Studio IDE and Regular Expressions

regex

The Visual Studio IDE and Regular Expressions

The Visual Studio IDE supports searching and replacing with regular expressions, right? Sure it does. It’s right there in grey and black in the find and replace dialog. Just tick the “use Regular expressions” checkbox and we’re off to the races. However, you’re in for an unpleasant

By Jeff Atwood ·
Comments
Power, Surge Protection, PCs, and You

power supply

Power, Surge Protection, PCs, and You

A question recently came up on the internal Vertigo mailing list about surge protection for home equipment and computers: * Do you know if the cheap outlet strips work? I’m not sure if they are a good deal (work as good as more expensive strips) or a waste of money.

By Jeff Atwood ·
Comments
Brute Force Key Attacks Are for Dummies

security

Brute Force Key Attacks Are for Dummies

Cory Doctorow recently linked to this fascinating email from Jon Callas, the CTO of PGP corporation. In it, Jon describes the impossibility of brute force attacks on modern cryptography: Modern cryptographic systems are essentially unbreakable, particularly if an adversary is restricted to intercepts. We have argued for, designed, and built

By Jeff Atwood ·
Comments
In Defense of the “Smackdown” Learning Model

communication

In Defense of the “Smackdown” Learning Model

I’ve occasionally been told that I have a confrontational style of communication. But that’s not necessarily a bad thing – as Kathy Sierra points out, the smackdown learning model can be surprisingly effective: What happens to your brain when you’re forced to choose between two different – and potentially

By Jeff Atwood ·
Comments
A Comparison of JPEG Compression Levels and Recompression

image compression

A Comparison of JPEG Compression Levels and Recompression

Over the years, I’ve standardized on a JPEG compression factor of 15; I find that generally provides the best compromise between image quality and file size for most photographic images. Although I’ve done some ad-hoc testing that pointed to compression factor 15 as the sweet spot before,

By Jeff Atwood ·
Comments

software development concepts

How Good an Estimator are You? Part III

For the final installment in the How Good an Estimator Are You series, I’d like to start with an anecdote from chapter 7 of Software Estimation: Demystifying the Black Art: Suppose you’re at a reception for the world’s best software estimators. The room is packed, and you’

By Jeff Atwood ·
Comments
The Monopoly Interview

programming concepts

The Monopoly Interview

Reginald Braithwaite’s favorite interview question is an offbeat one: sketch out a software design to referee the game Monopoly.* I think it’s a valid design exercise which neatly skirts the puzzle question trap. But more importantly, it’s fun. Interviews are a terror for the interviewee. And they’

By Jeff Atwood ·
Comments