How’s everyone doing? Welcome to the twelfth edition of this newsletter - here’s what I wrote this week on the blog and the absolute best of what I read on the internet.
From the blog
This week I published a summary and the highlights of my reading of this great article by Eric Brewer on how engineers have started working around the constraints enforced by CAP theorem by understanding that consistency and availability are not binary but rather a broad spectrum of user experience decisions. Application designers can use this insight to build more flexible applications by making the consistency-vs-availability choice only when a partition occurs, instead of choosing one of the two paradigms up front and hobbling all further architectural choices.
One mind-blowing but obvious-in-hindsight takeaway for me was that for all practical purposes, a remote invocation timeout is as good as a network partition. So in effect, we are dealing with partitions everytime we call a remote service. I had never really thought timeouts like that, and it further underscores the idea that CAP related trade-offs should properly be made locally in the codebase instead of being made in an all-in, upfront decision. Article Link
I started reading Domain Driven Design by Eric Evans a few weeks ago and I’m still working on it (it is denser than a casual skim suggests). I have also started reading Simon Wardley’s book on Wardley Maps and shared some highlights from the first chapter here. These two books complement each other very nicely. Wardley Maps paints a larger picture of how strategy can be informed by identifying the key parts of the system and understanding how they evolve. Domain Driven design goes a little lower and highlights how engineers and domain experts can work together to create systems that capture and build on top of real world complexities. Between the two books, a very coherent spectrum of strategy-modelling-execution emerges which I am really enjoying.
From the great interweb
- John Salvatier has this great article on the amount of detail reality has and how we are almost trained to skim over it. This ties in with so many different things, but since I’m struggling a little bit with my deadlines of late, I’ve been thinking of the cray amount of detail even small software features have and how utterly insane it is that try to estimate them without digging into the mess.
- Andrew Chen in his usual good form discussing what is next for marketplaces and marketplace economy.
- Dropbox goes virtual, and the team there explains their approach to the paradigm in this document. Takeaway : Remote is not Distributed, and it matters a lot.
- For space geeks, here’s a short intro to Mega Drive, a technology that promises near light speed travel. That Medium publication has a lot of cool space stuff - kind of superficial, but enough to start you off into the rabbit hole.
That's it for this week folks. Happy weekend!