Exploring aggregate boundaries in event sourced systems

In this post I’m exploring some ways of modelling aggregate boundaries in an event sourced system. This is mostly to crystallise some thoughts that I had after some event storming sessions, but it might be interesting to someone else. The domain I’m using in this post is the domain that Michel Grootjans and I have created for the workshop Playing with projections (We already gave it a few times, for example at DDD Europe and will also give a session at I T. »


The year is over, a new year has come. I know, New Year is an arbitrary point in time but it is a tradition to look back on the past year and have some resolutions for the year to come. So at this arbitrary point in time, lets look back and forward 2016 I’m going to make this short, because I mostly want to look forward! Became an independent software consultant Bought a house with my girlfriend Read lots of books Became a teamleader Lots of other cool stuff 2017 Last month I read Building Jarvis from Mark Zuckerberg where he builds himself a Jarvis in 100 hours. »

Programming Phoenix review

Elixir and Phoenix crossed my path multiple times last year. I read a really interesting tutorial on building a web framework from scratch. Furthermore, Phoenix is really popular as an Elm backend, so I decided it was time to dive a bit deeper and learn myself some Phoenix. It just happens that Program Phoenix by by Chris McCord, Bruce Tate, and José Valim was published recently, so this seemed like a good opportunity to learn more! »

Modelling money in Elm

After reading the blog post of Mathias Verraes (@mathiasverraes) on (Type Safety and Money)[http://verraes.net/2016/02/type-safety-and-money/], and after doing a real short modelling attempt in Haskell at Socrates Belgium, I wanted to try to model Money in Elm. I don’t want to go to deep and too far so I’ve set some basic constraints for myself: You cannot add money of different currencies (you need an explicit conversion) - Add constraint We also want a Price. »


Welcome to the my new site written in hugo. While busy, I’ve set up https via letsencrypt. (see tutorial. You can find the source code of the blog here. This is a reboot of my site, and an attempt to blog some more. So without further ado, let’s start blogging :) »

Thomas Coopman on #general,

Testing ES6 code

Recently, I’ve changed my webpack workflow, and switched to 6to5, to be able to write more of my React code in ES6 than the current jsx transpiler supports (and because 6to5 just rocks!). You can find this workflow in my boilerplate-webpack-react project. Switching was easy. I’ve just replaced jsx-loader with 6to5-loader and everything worked correctly. Writing code and developing is a breeze with this workflow, especially with react-hot-loader. I didn’t look into writing test though yet, and it took me a little while to find out how to do it, so I explain it here. »

About the site, about me

My name is Thomas Coopman and I’m a 29 year old developer. Recently I’ve officially started freelancing/consulting in my spare time. That’s the main reason for creating this site and blog. On this site you can find some more information about me. At the portfolio page you can see some things I’ve created. That page is empty at the moment but it will be coming soon. I’m a developer, mostly a web-developer (backend and frontend). »

Thomas Coopman on #other,

Creating this site

This is not valid anymore. The site is build with hugo This blogpost will be a about the why, but mostly about how I’ve created this site. I’ve created this site mostly for these reasons: Make myself visible on the web. Practice my design and web-development skills. Practice my writing (blog). Record things I’ve learned for myself. Maybe someone else will find something useful here. Content The contents of this site contain information about me, to make me more visible on the web. »

Thomas Coopman on #other,