Jeff Atwood

Indoor enthusiast. Co-founder of Stack Overflow, Discourse, and staygold.us. Disclaimer: I have no idea what I'm talking about. Let's be kind to each other. Find me

Bay Area, CA
Jeff Atwood
Size Is The Enemy

programming languages

Size Is The Enemy

Steve Yegge’s latest, Code’s Worst Enemy, is like all of his posts: rich, rewarding, and ridiculously freaking long. Steve doesn’t write often, but when he does, it’s a doozy. As I mentioned a year ago, I’ve started a cottage industry mining Steve’s insanely great

By Jeff Atwood ·
Comments
Digital Certificates: Do They Work?

security

Digital Certificates: Do They Work?

The most obvious badge of internet security is the “lock” icon. The lock indicates that the website is backed by a digital certificate: 1. This website is the real deal, not a fake set up by criminals to fool you. 2. All data between your browser and that website is

By Jeff Atwood ·
Comments
The Great Browser JavaScript Showdown

javascript

The Great Browser JavaScript Showdown

In The Day Performance Didn’t Matter Any More, I found that the performance of JavaScript improved a hundredfold between 1996 and 2006. If Web 2.0 is built on a backbone of JavaScript, it’s largely possible only because of those crucial Moore’s Law performance improvements. But have

By Jeff Atwood ·
Comments

perl

Nobody Cares What Your Code Looks Like

In The Problems of Perl: The Future of Bugzilla, Max Kanat-Alexander* laments the state of the Bugzilla codebase: Once upon a time, Bugzilla was an internal application at Netscape, written in TCL. When it was open-sourced in 1998, Terry (the original programmer), decided to re-write Bugzilla in

By Jeff Atwood ·
Comments
Software Registration Keys

security

Software Registration Keys

Software is digital through and through, and yet there’s one unavoidable aspect of software installation that remains thoroughly analog: entering the registration key. The aggravation is intentional. Unique registration keys exist only to prevent piracy. Like all piracy solutions – short of completely server hosted applications and games, where piracy

By Jeff Atwood ·
Comments
On The Meaning of “Coding Horror”

programming languages

On The Meaning of “Coding Horror”

In a recent web search, I found the following comment in a programming.reddit.com thread from eight months ago, completely by accident: I think prog.reddit will continue to move in phases... a couple of days ago, someone complained about a drop-off in Haskell articles, today there were

By Jeff Atwood ·
Comments
Our Fractured Online Identities

blogging

Our Fractured Online Identities

Anil Dash has been blogging since 1999. He’s a member of the Movable Type team from the earliest days. As you’d expect from a man who has lived in the trenches for so long, his blog is excellent. It’s well worth a visit if you haven’t

By Jeff Atwood ·
Comments

programming languages

Sorting for Humans : Natural Sort Order

The default sort functions in almost every programming language are poorly suited for human consumption. What do I mean by that? Well, consider the difference between sorting filenames in Windows explorer, and sorting those very same filenames via Array.Sort() code: Explorer shell sortArray.Sort() Quite a difference. I can

By Jeff Atwood ·
Comments
Blacklists Don’t Work

security

Blacklists Don’t Work

📆This was written in 2007. The terms "whitelist" and "blacklist" are considered outdated. Today, the terms "allowlist" and "denylist" (among others) are more descriptive. Jon Galloway and I got into a heated debate a few weeks ago about the efficacy of anti-

By Jeff Atwood ·
Comments

government

Are You a Doer or a Talker?

Today’s lesson comes to you courtesy of your local Department of Transportation: The Utah DOT is spending $6 million on a feasibility study for a bridge across a lake. Meanwhile, the DOT doesn’t have enough money to put up traveler information video cameras at dangerous mountain passes and

By Jeff Atwood ·
Comments
Gifts for Geeks: 2007 Edition

programming languages

Gifts for Geeks: 2007 Edition

In case you hadn’t noticed, it’s that time of year again: let the wholesale buying of crap begin! As a technology enthusiast with a bad impulse purchase habit, I get a lot of complaints that I am difficult to buy for. That’s sort of intentional. I spent

By Jeff Atwood ·
Comments
The Danger of Naïveté

algorithms

The Danger of Naïveté

In my previous post on shuffling, I glossed over something very important. The very first thing that came to mind for a shuffle algorithm is this: for (int i = 0; i < cards.Length; i++) { int n = rand.Next(cards.Length); Swap(ref cards[i], ref cards[n]); } It’s

By Jeff Atwood ·
Comments