A programmer's miscellany A podcast about software engineering, its practices, and its history.

A mathematical miscellany This is a collection of gems from math, programming, and science, a miscellany in the old fashioned sense.

Book recommendations People ask me for these a lot, so I try to collect them.


Getting better at programming When you first started programming, what you had to do to get better was fairly obvious. Later find yourself in a place where the path up isn't so clear. Is there some map we can give to a young software engineer to know what "getting better" can look like?

The 7 programming ur-languages Most programming languages are dialects of one of a small number of families. Once you know the families, picking up individual languages is straightforward.

Easier, faster software testing We all know that we should test our code, but actually producing good tests is a slog. There are a collection of mental models that make choosing tests and writing them easier.

MVC for the web The term Model-View-Controller gets bandied about a lot. This is a course that guides you through it from the beginning, building MVC based pages in JavaScript.

Imperative to relational A free email course on how to wrap your head around relational databases. Avoid the common tripwires as you learn relational thinking.

Understanding query performance A paid course on why your database queries are slow and how to fix them. Become the person others come to when they need the database to work.

More miscellaneous stuff about programming.


Monologue: A Comedy of Telepathy Kidnapping, blackmail, slander; it’s business as usual for the telepathic elite of Minsland. Though the abduction of Alison Yewghast as part of a political dispute is unsurprising, no one expects the kidnappers’ telepathic blocker to thrust her into the mind of a young farmer. But Joseph Morton is no ordinary farm hand, and he must brave Minsland’s political intrigue and storm a castle in order to save the Machiavellian lady who is, for better or for worse, sharing his mind. A novel.
[Sample] Buy: [eBook | Paperback | Kindle]

A selection from ten years of writing verse.

Ticking clocks in prose How you write your dialogue acts as a clock when writing fiction.

Short stories

Annabell Lee It is good to be hospitable to your neighbors, no matter how strange.

Dust bath Dealing with your spouse's bad day is a little different when they're a were-chinchilla.

Elf publicity "We've got to roll in thirty minutes. The fat one has scars all over his face. He's no use. That thin one's missing teeth. Make sure he doesn't open his mouth. The one with the missing ear needs a hood, not a hat..." Yeah, the elves don't actually work in that old tree anymore, but they still make the stuff. Besides the tree films better than the factory.

Ghast hunting The ghast he was hunting was small. It must have barely imagined itself into existence under the house before he smelled it. He and Aggy had tackled much rougher ones, ghasts which had imagined all kinds of interactions with the world. Buy Aggy was gone, and it wasn’t the same without Aggy.

Igor Going home to meet your boyfriend's family can be a very odd experience.

Inquisitor Yakob Ascher is an expert in forbidden computers. When a young engineer in the wilds of the Colorado territory is accused of building one, Ascher is sent to pass judgement on man and machine.

Moonlight in the club Not all lycanthropes have the strength and ferocity to stalk the night of the full moon, but sitting at home alone as a small, furry creature isn't much fun either.

Toto What do you do when your daughter's imaginary friend starts giving her really good advice?

Zeus The bar was almost empty, as usual in a big storm. I had unplugged the jukebox earlier so it wouldn't interfere with the sound of the rain. The bald guy at the bar also seemed to like the thunder, but it never occurred to me that his interest might be professional…


Into the Sciences To laymen ‘science’ and ‘research’ seem amorphous things, mysterious activities by lab-coated acolytes that somehow yield knowledge of our world. This book breaks them down into a clear model of the activities involved, then uses that model to explain why science is separated into disciplines, how those disciplines are shaped by their different subject matter, and finally how researchers choose what they do.
[Sample] Buy: [eBook | Paperback | Kindle]

Statistics for clinicians: Diagnostic questionnaires and Hypothesis testing A pair of articles that lay out p-values clearly. (Note: In Table 1 of the paper on diagnostic questionnaires, the numbers in the α column and β column are swapped, and the corresponding answer in the 'Check yourself' question below is wrong. It should be 0.006, not 0.385.)

More miscellaneous stuff about science.