Kent Beck in his recent post Functional TDD: A Clash of Cultures summarizes well the key principles and benefits that underly test-driven development. I think it is really worthwhile becoming aware of and thinking over these foundation stones of TDD
Last night Hilary Mason posted about some “software upgrades to e-voting machines” in Ohio. That set me off thinking about how we could have verifiable e-voting machines, and I realized there's a very simple way to do this.
Here’s a classical task on graphs. We have a group of cities and we must wire them to provide them all with electricity. Out of all possible connections we can make, which one is using minimum amount of wire.