Dragons in the Algorithm
Adventures in Programming
by Michael Chermside

Category: Programming

Two more uses for a Secure Hash

In a previous article I talked about using salt with a secure hash, but all of the examples assumed that the secure hash would be used to validate passwords. Secure hashes can be used for many other purposes, and I'll illustrate that by describing two other possible uses.

The first …

Read more

Posted Thu 12 June 2008 by mcherm in Programming

Why User Stories?

Any software project needs a Business Requirements Document (BRD)—a document which describes what the deliverable is supposed to do once it's been built. The traditional (waterfall) way is to write it in paragraph form, but several agile development techniques recommend writing it in the form of a collection of …

Read more

Posted Mon 12 May 2008 by mcherm in Programming

Always use Salt

I'm not a very good cook. One reasons is that I've never mastered the art of tasting the food as I go along and seasoning it properly. When cooking, I never seem to add the right amount of salt. As a programmer, though, I always use salt.

Soup"Salt", in programming …

Read more

Posted Mon 05 May 2008 by mcherm in Programming

Units of Work

When I was a physics student one of the things that I learned to do was "unit analysis". That's where you simply consider what units an answer has: is it in meters, or meters squared? Surprisingly, there is an enormous amount that can be learned just by doing unit analysis …

Read more

Posted Sun 30 March 2008 by mcherm in Programming

How to talk about Data Structures

FizzBuzz.scalaI've been interviewing lately for "senior programmer" positions. I find it outright astonishing how many applicants for these positions lack what I would consider the most fundamental of programming skills. Some people have suggested using FizzBuzz (a trivial programming exercise) as a filter; what I use is a discussion of …

Read more

Posted Sun 17 February 2008 by mcherm in Programming