Modelling Rolling Deployments in Alloy


This post has a few goals. One is to outline how to think about a simple imperative process in a declarative language/system like Alloy. Another is to make a case for why this kind of formalization is a worthwhile exercise for software engineers.

Disclaimer: To get the most out of this post you need some familiarity with Alloy syntax otherwise most of it will probably not make much sense. I’ll try to explain things as I go along but promise no mind blowing revelations. As some old person used to say, “There are no royal roads”.

Continue reading

Individual Comfort

This is a response to

By being declarative and deterministic, and rendered in ordinary plain text, HTML and CSS conceal no surprises, which is likely why they are not considered “real programming” by “real” programmers. This property, however, makes them especially easy to learn. Moreover, they are all you need to learn in order to achieve a great many useful results in an open Web.

Continue reading