Armin Pašalić

Beyond the current state: Time travel to the rescue!

Current application state; what, in fact, is it? We, as software engineers, usually don’t think much about it (unless we face a consistency issues in a distributed system, in which case we might think about it a LOT).

Looking closer, one might realise, in essence what is known as current state is just a product of mutations over time. Mutations which, as they happen, commonly cause the software system to forget about what was, up to that point, known as current state. Once this becomes clear, one starts to wonder, is there a beneficial way to utilise this fact?

Starting from a perspective of "classic" n-tier system architecture, I will explore benefits and potential downsides starting with formally splitting r/w requests into commands and queries , recording state mutations as events, ending with a solid system capable of time travel and some other, potentially unexpected superpowers including, but not limited to, precognition, "roflscale", and self reconstitution.


Paul Mölders

Rails ActionCable - Production Experience

ActionCable is super easy to setup and offers a nice and clean way to open a websocket connection.

I would love to hear about experiences with it in real-world applications. How to handle request/response use-cases? For which type of applications do you use it? Does it scale?

Want to add a contribution or an interest? What are you waiting for?