Quantcast
Channel: Michiel Rook, Author at Michiel Rook's blog
Browsing latest articles
Browse All 71 View Live

Image may be NSFW.
Clik here to view.

Phing development update

It’s about time I wrote another Phing development update post, as the previous one  was written 6 months ago! So, what have we been up to ? Release 2.5.1 Unfortunately, because of other commitments,...

View Article


Image may be NSFW.
Clik here to view.

Using conditional build steps to speed up your Jenkins PHP builds

At my client Spotney, we have a pretty solid (and common) build infrastructure for our PHP projects; SVN commits are checked out by Jenkins, tests are run by PHPUnit, Sonar runs static code analysis,...

View Article


Image may be NSFW.
Clik here to view.

Dutch Web Alliance, leaders in web technology

I’m proud to announce that I’ve joined forces with a group of very talented web developers in the Netherlands and Belgium: the Dutch Web Alliance. More information is available on our website, the full...

View Article

Image may be NSFW.
Clik here to view.

Docker & PHP: beyond virtual machines

(note: this post was first published on the blog of the Dutch Web Alliance) Docker is currently one of the hottest technologies around, because it solves a very specific problem: the ability to easily...

View Article

The road to continuous deployment: a case study

Below are the slides of my talk “The road to continuous deployment: a case study”, as presented at the Dutch PHP Conference in June 2016. I’m planning to dedicate a series of blogposts to this...

View Article


CD: Continuous Delivery or Continuous Deployment?

I’m writing this post to contribute my take on the acronym CD, and the distinction (or perhaps, confusion) between the phrases Continuous Delivery and Continuous Deployment. These phrases are used...

View Article

Phing development update

A few years ago I pledged to publish regular updates on Phing’s development. I’m a little ashamed that I haven’t done that for nearly three years. Needless to say, a lot has happened, so it’s about...

View Article

The hierarchy of Continuous Deployment

In this post I’m presenting a twist on Maslow’s hierarchy of needs, the hierarchy of Continuous Deployment. This version is based on the steps that are required to successfully implement Continuous...

View Article


Distributed command handling with Axon, JGroups and Docker

In a recent project I used Axon Framework together with JGroups, to create a clustered, or distributed command bus. In that project we had some concurrency issues. One of those issues was that two...

View Article


Event versioning (or why I sometimes modify the event store)

Requirements and applications evolve and change, leading to refactoring. For example, user registration now requires a first and last name, what was once an error may no longer be considered one, etc....

View Article

Concurrent commands and event sourcing

In this post I want to talk a little about concurrency in the context of CQRS and event sourcing. Specifically, when a single aggregate is concurrently accessed by two commands (or command handlers,...

View Article

Branches considered harmful

“Don’t use branches”. Three words that are guaranteed to trigger reactions when I utter them during my continuous deployment talks. Three words that make for interesting discussions. This post contains...

View Article

The road to continuous deployment (PHPCon Poland 2016)

Below are the slides of my talk “The road to continuous deployment: a case study”, as presented at PHPCon Poland in October 2016. It’s a situation many of us are familiar with: a large legacy...

View Article


Continuous delivery, devops & microservices literature

Recently I was asked for books and other literature recommendations on the subjects Continuous Delivery / Deployment, DevOps and Microservices. Here are some of the books, articles and talks I think...

View Article

Phing development update

A few months have passed since the last Phing development update, so it’s about time to discuss some of the recent changes. Releases Phing 2.15.0 (and two point releases to fix regressions) were...

View Article


CQRS & Event Sourcing in the wild (ScotlandPHP 2016)

Below are the slides of my talk “CQRS & Event Sourcing in the wild”, as presented at ScotlandPHP 2016. I had a lot of fun presenting this talk. I felt the content gave everybody a slightly more...

View Article

All Day Devops

In a little less than two weeks, on Tuesday November 15th, I’ll be speaking at All Day Devops. A free, online DevOps conference spanning 15 timezones with 50+ sessions. Join me at 10 AM GMT for my...

View Article


The Strangler pattern in practice

In this post I’ll discuss my experiences with the strangler pattern and how it can be applied when rewriting a large, legacy code base. Introduction In one of my recent projects, I helped a development...

View Article

Season’s greetings from Utrecht!

This amazing photo was taken by Chris Heijmans in 2012. Last year, I ordered a canvas print, which is now proudly displayed in my home. Admittedly, current conditions (partly cloudy, windy, 8 degrees...

View Article

Training sessions and talks

One of the things I like most about my work is the ability to help teams improve, by sharing my experiences and knowledge in training sessions. These sessions can be conducted in the form of...

View Article

CQRS & Event Sourcing in the wild (PHP Benelux 2017)

Below are the slides of my talk “CQRS & Event Sourcing in the wild”, as presented at PHP Benelux 2017. The post CQRS & Event Sourcing in the wild (PHP Benelux 2017) appeared first on Michiel...

View Article


The Road to Continuous Deployment (PHP UK Conference 2017)

Below are the slides of my talk “The Road to Continuous Deployment: a case study” as presented at the PHP UK Conference 2017, in The Brewery, London. The post The Road to Continuous Deployment (PHP UK...

View Article


Phing development update

A few months have passed since the last Phing development update in October, so here’s an overview of some of the recent changes. Releases Phing 2.16.0 was released on December 22nd, 2016. Details of...

View Article

The Road to Continuous Deployment (JAX DevOps London 2017)

Below are the slides of my talk “The Road to Continuous Deployment: a case study” as presented at the JAX DevOps Conference 2017, in Park Plaza Victoria, London. The post The Road to Continuous...

View Article

The Road to Continuous Deployment (DevOpsPro Vilnius 2017)

Below are the slides of my talk “The Road to Continuous Deployment: a case study” as presented at DevOpsPro Vilnius 2017, in Multikino in the beautiful city of Vilnius, Lithuania. The post The Road to...

View Article


State Of DevOps Report

The 2017 version of Puppet’s State of DevOps Report was just released. To me, the most interesting takeaways from the report are: High performing teams have 46x more frequent deploys, 96x faster mean...

View Article

Using annotations in Prooph

One of the things I love about Java is its native, compiler-level support for annotations, a form of syntactic metadata which can be applied to source code but also retain at run-time to influence...

View Article

Using Tracking processors to replay events in Axon Framework 3

Replaying events is a crucial part in any event sourcing / cqrs application, to rebuild projections, generate new ones or seed external systems with data. I’m a big fan of the Axon Framework. Even with...

View Article

Forget me please? Event sourcing and the GDPR

In May 2018, a new piece of EU legislation called the General Data Protection Regulation (GDPR) will come into effect. The GDPR attempts to regulate data protection for individuals within the EU and...

View Article



Upcasters or a versioned event store: pros and cons

In a previous article, I wrote a few things about upcasters. One of the significant downsides when implementing an upcaster is that it adds to our application’s technical debt. An alternative technique...

View Article

2017 Conference Season – It’s a wrap!

As my flight touched down at Schiphol Airport early this morning, I realized that that landing marks the closing of my 2017 conference season.  And what an awesome season it has been! I’ve been a part...

View Article

Event sourcing and the GDPR: a follow-up

My article about the implications of the GDPR for event-sourced applications that I published last week generated a sizable number of responses, suggestions and comments (most of them on Twitter). All...

View Article

CQRS & Event Sourcing article published in PHP Architect

This month an article I wrote for PHP Architect, called “CQRS & Event Sourcing in the Wild”, was published in the December 2017 “Talking Code” issue. The article deals with some of the challenges...

View Article


Rebuilding projections in Axon Framework 3

CQRS (Command Query Responsibility Segregation) allows you to have separate models for reading and writing. Combining that pattern with Event Sourcing leads to a powerful capability: updating query...

View Article

A typical CI/CD pipeline explained

Recently, I was asked on Twitter if I could give some pointers for reading material on (production) CI/CD pipelines – what they look like, and how they work. I decided to shed some light on this by...

View Article

Leadership books (English and Dutch)

Earlier, I wrote a post about literature (books, articles, etc.) on Continuous Delivery and DevOps. As I’m currently developing a new talk on Effective Leadership (in the context of Agile/DevOps...

View Article


Binnenkort treedt de AVG (GDPR) in werking!

Vanaf 25 mei 2018 is de Europese privacyverordening Algemene Verordening Gegevensbescherming (AVG, ook bekend als General Data Protection Regulation of GDPR) van toepassing. Deze verordening gaat over...

View Article


Soon the GDPR will take effect! Are you ready?

As of May 25th, 2018, the European privacy regulation General Data Protection Regulation (GDPR) will take effect. This regulation concerns the ‘protection of natural persons with regard to the...

View Article

The Road to Continuous Deployment (All Day DevOps 2016 Recap)

In 2016 and 2017, I gave a series of talks titled “The Road to Continuous Deployment: a Case Study”, detailing some of the work I did in 2015 together with the team at De Persgroep Employment...

View Article

Event Sourcing & The GDPR – Erasing your data footprint

Recently, the EU General Data Protection Regulation (GDPR) came into effect. You’ve probably heard all about it (or at least seen the absurd amount of ‘update privacy policy’ emails in your inbox). In...

View Article

Forget me, please? Event sourcing and the GDPR (JAX London 2018)

Last week, at this year’s JAX London conference, I gave a talk about the General Data Protection Regulation (GDPR), and the very interesting and specific implications for applications that use event...

View Article


At year’s end – happy holidays!

It’s a wrap! And what a year it was. 13 conferences and 5 meetups in 9 countries – and my first overseas conference in Montreal, Canada! Many thanks to the organizers and everyone that attended these...

View Article

PHP UK Closing Keynote (video)

Last month the good folks at the PHP UK Conference asked me to host the closing keynote. So, on Friday February the 22nd, I took the audience on a journey through my experiences with and views on...

View Article


The Road to Continuous Deployment (part 1)

The story below details a very interesting & transformational project that I was a part of in 2014 and 2015, at a Dutch company. I’ve told this story before during a number of conference talks...

View Article

The Road to Continuous Deployment (part 2)

The story below details a very interesting & transformational project that I was a part of in 2014 and 2015, at a Dutch company. I’ve told this story before during a number of conference talks...

View Article


The Road to Continuous Deployment (part 3)

The story below details a very interesting & transformational project that I was a part of in 2014 and 2015, at a Dutch company. I’ve told this story before during a number of conference talks...

View Article

The Road to Continuous Deployment (part 4)

The story below details a very interesting & transformational project that I was a part of in 2014 and 2015, at a Dutch company. I’ve told this story before during a number of conference talks...

View Article

Congratulations, you failed!

For those of you that know me, or have seen one of my conference talks, you know that one of my favorite phrases is: “if it hurts, do it more often”. Reading that, you might think I’m some sort of...

View Article

Reflections on the Learning Lab on Critical Thinking in Safety at Lund...

I attended Lund University’s January 2022 Learning Laboratory in Human Factors and System Safety, and it was awesome. It was a very inspiring and well put together week. I’ve been […] The post...

View Article


Literature tips

Recently, I presented a session on safety science and incident management at a local meetup. I tend to close such sessions with a number of literature tips (books and websites). […] The post Literature...

View Article

Browsing latest articles
Browse All 71 View Live