Event Sourcing in Clojure
In this blog post I implement the same rock-paper-scissors domain using what I hope is idiomatic Clojure. By using immutable datastructures I show that snapshots of aggregate state is really nothing...
View ArticleHypermedia APIs with mobile clients
At our recent talk at Confess 2013 in Vienna there were several developers working with mobile devices in the audience. This is great as the purpose of hypermedia in the API is to make life simpler for...
View ArticleConfess 2013 Conference Report
The four of us recently visited the Confess, CONference For Enterprise Software Solutions, in Vienna. It was located at the Messe Wien Exhibition & Congress Center which was a nice place for the...
View ArticleBerlin Buzzwords 2013
Berlin Buzzwords feels more like a festival than a normal conference. You get these wristbands that you should wear for a few days and being held at a brewery there are of course plenty of beer. The...
View ArticleDon't publish Domain Events, return them!
During a discussion around some of the code examples in Vaugn Vernon’s book Implementing Domain Driven Design we got stuck at what first appeared to be a tiny detail: where the domain events are...
View ArticleCommands and Aggregates in Datomic
I wanted to investigate how to implement something similar to my previous Event Sourcing examples but this time using Datomic. In particular, I wanted to keep the way commands are implemented in the...
View ArticleUsing EventStore Atom API from Clojure
I have been experimenting with event sourcing in Clojure (and in Java), but previously I simply used an in-memory store. In this post I'll describe how to use Greg Young's EventStore from Clojure. The...
View ArticleNotes about learning Elixir
When I first heard about Elixir at Øredev 2012 I thought it was nice, but I didn’t really get it. I remember thinking than Elixir was like Ruby for the Erlang Virtual Machine. However, when I heard...
View ArticleServer Sent Events in Elixir
Server Sent Events (SSE) is a HTML5 standard that allows pushing events from the server to the client. I think it is unfortunate that most people think of Web Sockets to solve this problem as Web...
View ArticleGoogle Spreadsheet VLOOKUP matching all rows
As VLOOKUP only match the first row I will show who to use arrays, FILTER, JOIN and ARRAY_CONSTRAIN to get around this limitation. Lets assume we have a table of things like this where needs specifies...
View Article