Irrational Exuberance!

Experiment with distributed finite state machines.

June 2, 2018 I spent some time experimenting with the idea of a system for coordinating finite state machines as an extension of the typical publisher-consumer model for task processing. These are some notes on the project, plus a link to the project in Github.

You can't reason about big balls of mud.

May 23, 2018 Big balls of mud appear to have properties, but they don't. Throw it all away? It's not so dire. You can extend large property-less systems. It's a matter of switching from abstract to empirical reasoning.

Migrations: the sole scalable fix to tech debt.

April 15, 2018 Migrations are both essential and frustratingly frequent as your codebase ages and your business grows: most tools and processes only support about one order magnitude of growth before becoming ineffective, so rapid growth makes them a way of life. This post takes a look at why migrations are so important, and also how to run them effectively.

The Redis Protocol is pretty great.

April 10, 2018 Redis supports a broad array of data structures like lists, hashes, hyperloglog and such. It's also remarkably high throughput, while remaining single threaded to avoid reasoning about concurrecncy. My favorite aspect of Redis isn't any of those though, it's the underlying Redis protocol it speaks over the network!

Some of my favorite technical papers.

April 7, 2018 I've long been a fan of hosting paper reading groups, where a group of folks sit down and talk about interesting technical papers. One of the first steps to do that is identifying some papers worth chatting about, and here is a list of some papers I've seen lead to excellent discussions!