PHPNews

Fast projections

Written by Jef Claes on software and life - Published on Jef Claes on software and life
Aggregated on Sunday July 30, 2017 - Permalink

Most EventStore client libraries allow you to subscribe to a stream by passing in a callback which is invoked when an event occurs (either a live or historic event). Let's say we subscribe to a stream of a popular video service, and we want to project a read model that shows how many videos a viewer has watched. We don't care about the bookmarked videos for now. We're sitting on top of storage …

Continue reading »


From human decisions, to suggestions to automated decisions

Written by Jef Claes on software and life - Published on Jef Claes on software and life
Aggregated on Sunday July 23, 2017 - Permalink

I've been wanting to share this experience for a while, but it took me a while to come up with a story and example I could use in a blog post. I help out during the weekends in a small family run magic shop. I'm the third generation working in the shop. My great-grandfather always hoped that his only son would follow in his footsteps as a carpenter. But at only eighteen years old, my grandfather …

Continue reading »


Averages are not good enough (F#)

Written by Jef Claes on software and life - Published on Jef Claes on software and life
Aggregated on Sunday January 18, 2015 - Permalink

Let's (no pun intended) look at a set of response times of a web service. People like having a single number to summarize a piece of data. The average is the most popular candidate. The average is calculated by dividing the sum of the input elements by the number of input elements. The average is a measure of centre which is fragile to outliers; one or two odd irregular values might skew the …

Continue reading »


Side by side

Written by Jef Claes on software and life - Published on Jef Claes on software and life
Aggregated on Sunday February 15, 2015 - Permalink

This week marked my first year at my current employer. While that event went by rather silently, one year in, a few of my observations are finally shaping up to be cast into writing. Where I used to work in the typical battery cage, I'm now part of a team of just four people, having the luxury of a big dedicated room to ourselves - a whole floor actually. The room is set up almost symmetrically; …

Continue reading »


Domain Language: The Playthrough Bonus

Written by Jef Claes on software and life - Published on Jef Claes on software and life
Aggregated on Monday February 23, 2015 - Permalink

Since online gambling has been regulated in Belgium, basically each eligible license holder has complemented their land based operations with an online counterpart. Being such a small country, everyone wants to secure their market share as soon as possible. The big players have been pouring tons of money in to marketing and advertising, it's everywhere: radio, television, (online) newspapers, bus …

Continue reading »


Scaling promotion codes

Written by Jef Claes on software and life - Published on Jef Claes on software and life
Aggregated on Sunday March 15, 2015 - Permalink

In our system a backoffice user can issue a promotion code for users to redeem. Redeeming a promotion code, a user receives a discount on his next purchase or a free gift. A promotion code is only active for a limited amount of time, can only be redeemed a limited amount of times and can only be redeemed once per user. In code these requirements translated into a promotion code aggregate which …

Continue reading »