Strange Reflections

tl;dr I've brought this website to life using @borkdude's handy quickblog, and more importantly: Strange Loop 2022 was awesome.

Erase Begin ...a new website!

I figured now is finally the time to get off the ground.

Having recently attended Strange Loop I was contemplating writing up some brief(er) thoughts as a Twitter thread, but hopefully we can all agree that a new blog is a much better investment for the future.

I also wanted to make use of some downtime to experiment with Clojure tooling for static site generation and the much-hyped A static site is the expedient choice for now. If all goes well then I'll upgrade to Platypub (i.e. an XTDB-powered server) once I've successfully ramped up my output!

Strange Loop 2022

Huge kudos to everyone involved in making Strange Loop what it is—I feel like it represents the best of our industry—and I had a wonderful time last week meeting old friends and new. It was great to be back after my last visit in 2019.

bitemporal visualizer screenshot

I was joined at the conference by a wider group from JUXT as we were platinum sponsors of the conference and therefore needed enough people to operate a booth. The main idea behind sponsoring was to get the JUXT/XTDB brand out there and do some face-to-face networking. Mission accomplished.

bitemporal visualizer screenshot

My primary purpose for attending was to deliver a bitemporal data workshop, which went off without a hitch. There was an interesting mix of industries represented in the room, from groceries to payments to healthcare. It felt great to be able to use Core2 (XTDB's work-in-progress next-gen engine) to run through SQL:2011 exercises alongside the "Bitemporal Visualizer" tool that I've been building recently (built using Scittle...another of @borkdude's magnificent Clojure innovations!).

My biggest takeaway from the hundreds of conversations I had across the 4 days was that the demand for an immutable database is tangible and that bitemporality in particular is a practical and widely applicable model for immutability, regardless of industry.


However, my undisputed highlight of the conference was meeting John Romero, chatting with him about Commander Keen, and picking up a signed copy of Masters of Doom. It has been ideal post-conference holiday reading. In particular it is inspiring to understand what John and the rest of the id team achieved from their humble beginnings, and it really feels like reading the backstory for a non-trivial amount of my own childhood and earliest computing memories.

immutability is like Doom's god mode

The id team spent huge amounts of effort fighting/embracing the limitations of early PCs to great effect, and there's no doubt that constraints are essential to creativity. For databases though it seems that removing traditional storage constraints through the use of ~infinite cloud object storage opens up entirely new worlds of creative possibility.

Håkan's talk on Light and Adaptive Indexing for Immutable Databases was a great overview on what immutability affords the internals of a database, but from a user perspective I think the most succinct explanation of what immutability affords is "god mode"...

IDDQD is a cheat code used in the 1993 first person shooter game Doom, which enables a game state that prevents the player from being damaged or killed known as "god mode" -

First-class immutability is what drew me to Datomic/DataScript/Clojure in the first place. It is the ultimate superpower for tackling the nightmare of legacy, mutable software systems.

Same again next year?

I really hope to be back in St. Louis again in 2023, at the best software conference in the world! What would you like to see there?

Discuss this post here.

Published: 2022-10-01

Tagged: website immutability conference xtdb strange-loop bitemporality