Recent Posts
How test frameworks work: A basic mental model
Understanding how your test framework works is a good start to avoid making mistakes. In this post, I share my basic mental model of how most test frameworks work. This is not 100% accurate, but it is...
read articlePipDecks Iphone Widget
I started using Readwise a few months ago. The app allows you to highlight articles or books you read and aims to help memory retention by resurfacing content regularly. One way to do this is by...
read articleExpected, actual, and super fast assertion creation
If you follow this blog[1] you know that one thing I enjoy is improving my workflow inside my IDE. The feeling of productivity of being able to code something in seconds instead of minutes brings me...
read articleRemove all services arguments from Symfony config with a script
I'm helping a team migrate from Symfony 3.4 to a newer version of the framework. One of our objectives is to move away from using the container to get access to services and use dependency injection...
read articleCausal Loop Diagram Asymmetrical Level Pattern
I participated in a workshop on System Thinking hosted by Kent Beck (Yep, that Kent Beck) and Jessica Kerr (Yep, the real Jessitron) during NCraft this year. We draw a lot of causal loop diagrams all...
read articleQuickly jump to periodic file in Obsidian
I'm currently working with a client to unstuck a team blocked by a legacy codebase and complicated work processes. I send a weekly report of things we've done and things I think we should work on to...
read articleDisplay a message when you enter a directory
A few days ago, I was doing something I do from time to time with a CLI tool. The command requires a bunch of parameters, and I usually go through my command history to find the previous usage, change...
read article3 hacks for a magical code kata in PHP
When creating content for people to learn from, having a story as a backbone can be a good idea. In my improving tests class, I’ve constructed most chapters with a story. To make a story more...
read articleApproval testing: 3 technics to deal with randomness
When dealing with legacy code, randomness is not something you enjoy meeting. Creating a test harness on top of a system with random results can be pretty challenging. Obviously, you’d like your tests...
read articleFacilitation Nightmares: How to escape a workshop not going on as planned
A few days ago, I hosted a session about Facilitation Nightmares during a Virtual DDD gathering organised as an open forum. The idea was for the participants to share some of their stories of...
read article