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 ArticleThe 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 ArticleDistributed 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 ArticleEvent 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 ArticleConcurrent 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 ArticleBranches 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 ArticleUsing Different Loggers In Phing
“When you run a phing script it will print things out to the console. These messages are either system messages (eg. BUILD STARTED) or echo messages that you have put into your build.xml file. All of...
View ArticleSetting up continuous integration for PHP using Hudson and Phing
“CI gets the most out of Unit Tests by forcing them to be run after every change. Not only that, but with a good CI setup, developers instantly know if they haven’t written enough tests. If avoids the...
View Article(Semi-)automatic MODx migrations using Phing
MODx is a very popular PHP/MySQL content management system – no surprise when you look at its flexibility, light weight and ease of use. However, as any MODx developer will attest, it is not without...
View ArticleBuilding and deploying Java WebSphere applications with Jenkins CI
Jenkins CI (the new name of Hudson) is a very popular continuous integration system. It can be used to monitor the execution of various jobs, including but not limited to compilation, packaging,...
View ArticlePhing – a PHP Build Tool (presentation)
Below are the slides of a presentation on Phing I gave at this year’s Dutch PHP Conference. The post Phing – a PHP Build Tool (presentation) appeared first on Touchdown Consulting Services.
View ArticleZend Certified Engineer!
Finally got around to doing the ZCE (http://www.zend.com/services/certification/) exam yesterday, and I passed! Click the logo below to see my certification details. The post Zend Certified Engineer!...
View ArticleDeploying PHP applications with Phing (PHPNW11)
Below are the slides of the Phing talk I gave during the PHPNW11 conference. Deploying PHP applications with Phing View more presentations from Michiel Rook The post Deploying PHP applications with...
View ArticleThe 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 ArticleContinuous 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 ArticlePhing 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 ArticleCQRS & 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 ArticleAll 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 ArticleThe 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 ArticleSeason’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