Paul Monson

About me

Hey, I'm Paul. I am a software engineer and chronic tinkerer. Occasionally I write about either things I'm making or techniques I use. I hope these tools and techniques will make the systems I build well documented, and designed in ways which where trade offs are well understood.

I've been writing software professionally since around 2000. In that time I've tried to collect a wide range of skills and specialities. We used to call that "full stack" development but that term has soured a bit as hiring managers started adopting so I'd say I'm a generalist now.

All that said I have a couple specific focuses I want write about, which should be obvious in the upcoming articles. One is tooling and approaches to light weight formal methods. Truthfully I'm not sure that is the right term, perhaps the better description is executable design documents. However it feels too early to worry about these distinctions.

The other topic I find myself writing about is allowing users to express them selves through interfaces. Particularly, how do we given them greater control over filtering, sorting and focusing on the information they need at the right time.


2021-06-26 —  Getting started with mCrl2 via State Machines Approx 9 minutes
The heart of most systems can be described as lots of simple state machines. One of the best ways to understand how large systems work is describing them as independent little finite state machines. In this intro article I’ll describe some of the ways of directly creating state machines, as well as some ways to review and run simulations with them.
read more