These last few days, I’ve been sketching in some code for an idea I have that you’ll hear about if it works. Unlike most of my recent projects, it’s got no network links or message-passing or socket-munging, it just processes some data and produces some other data. The main difference is, it’s incredibly easy to unit-test. There are lots of network-programming tasks where I just don’t even know how to unit-test, and where you can do it, it takes a lot of extra work and orchestration, and so the temptation to slack off can be irresistible, for me at least. Someone who really wanted to advance the state of the art in software could work on reducing the friction for developers who believe in TDD but have to write distributed code.