Archive

Can Your Team Pass The Elevator Test?

Software developers do love to code [https://blog.codinghorror.com/the-best-code-is-no-code-at-all/]. But very few of them, in my experience, can explain why they're coding. Try this exercise on one of your teammates if you don't believe me. Ask them what they're doing. Then ask

By Jeff Atwood · · Comments

Slaying Mighty Dragons: Competitive Ranking and Matching Systems

Attending yesterday's Halo 3 [http://www.halo3.com/] launch event at the Silicon Valley Microsoft campus -- and the large Halo3 tournament we helped moderate -- got me thinking about player ranking and matching systems. Without a well-designed ranking and matching system in place, you'll get

By Jeff Atwood · · Comments

Steve McConnell in the Doghouse

I often trot out Steve McConnell's doghouse analogy [http://stevemcconnell.com/articles/art03.htm] to illustrate how small projects aren't necessarily representative of the problems [https://blog.codinghorror.com/the-long-dismal-history-of-software-project-failure/] you'll encounter on larger projects. > People who have written a few small programs

By Jeff Atwood · · Comments

LCD Monitor Arms

Steve Olson contacted me a few weeks ago after he saw my post on ergonomic computing. Steve works for Ergotron, and offered to comp me some monitor arms. Usually when I get offered free items related to my blog, I politely decline. I don't want a conflict of

By Jeff Atwood · · Comments

On Expose, Flip3D, and Switcher

I'm one of the rare people who actually likes Windows Vista. Sure, it's far from what was originally promised in terms of features, but it's still a solid quality of life improvement from the crusty old 2001 version of Windows XP. Or at least

By Jeff Atwood · · Comments

Everything Is Fast For Small n

Let's say you're about to deploy an application. Said app has been heavily tested by your development team, who have all been infected by unit testing fever. It's also been vetted by your QA group, who spent months spelunking into every crevice of the

By Jeff Atwood · · Comments

Lazyweb Calling

It's hard to pin down the exact etymology of the word Lazyweb, but it seems to have one primary meaning: 1. Asking a question of an internet audience in the hopes that they will be able to find a solution that you were too lazy or inexperienced to

By Jeff Atwood · · Comments

Practicing the Fundamentals: The New Turing Omnibus

While researching Classic Computer Science Puzzles, our CEO Scott Stanfield turned me on to A.K. Dewdney's The New Turing Omnibus: 66 Excursions in Computer Science. This is an incredibly fun little book. Sure, it's got Towers of Hanoi, but it's also got so

By Jeff Atwood · · Comments

You're Probably Storing Passwords Incorrectly

The web is nothing if not a maze of user accounts and logins. Almost everywhere you go on the web requires yet another new set of credentials. Unified login seems to elude us at the moment, so the status quo is an explosion of usernames and passwords for every user.

By Jeff Atwood · · Comments

Classic Computer Science Puzzles

Software developers do have a proclivity for puzzles. Perhaps that's why books like To Mock a Mockingbird exist. It's a collection of logic puzzles which is considered an introduction to lambda calculus, one of the core concepts of Lisp. Such puzzle questions are de rigueur for

By Jeff Atwood · · Comments

Gigabyte: Decimal vs. Binary

Everyone who has ever purchased a hard drive finds out the hard way that there are two ways to define a gigabyte. When you buy a "500 Gigabyte" hard drive, the vendor defines it using the decimalpowers of ten definition of the "Giga" prefix. 500 * 109

By Jeff Atwood · · Comments

Rainbow Hash Cracking

The multi-platform password cracker Ophcrack is incredibly fast. How fast? It can crack the password "Fgpyyih804423" in 160 seconds. Most people would consider that password fairly secure. The Microsoft password strength checker rates it "strong". The Geekwisdom password strength meter rates it "mediocre". Why

By Jeff Atwood · · Comments