All Posts
Displaying Process Behavior Charts on iPhone with Charty and Google Sheets
Learn how to integrate Google Sheets with Charty for real-time Process Behavior Chart visualization on iOS.
read articleStreamlining Development with Custom Shell Functions: Reusing a command with a custom config for each project
Discover how to create custom shell functions for PHPUnit, Composer, and other tools to streamline your development workflow, especially when working across various tech stacks.
read articleRun Laravel Artisan Tests directly in PhpStorm test view
Learn how to run Laravel tests directly in PhpStorm with a custom workaround for artisan test and PHPUnit.
read articleBuilding a PBC in Google Sheet
Learn how to build a Process Behavior Chart (PBC) in Google Sheets using data collected from Google Forms and Apple Shortcuts. This step-by-step guide covers importing data, calculating key metrics, and visualizing data variation to enhance your data analysis process.
read articleA quick introduction to Process Behavior Charts
Curious about Process Behavior Charts (PBCs) and why they’re so useful? In this article, I give a quick intro into what PBCs are, where they came from, and how they can help you stop overreacting to every data blip.
read articleCreate a new file at the right place with prefilled content thanks to Jetbrains IDEs
It’s been a while since I felt that pain... I had to manually create a file for every blog post in the correct directory, repeating information based on the title in snake case, using the current...
read articleCollecting data via Google Form and Apple Shortcuts
Setup an Apple Shortcut to send data to a spreadsheet right from your phone
read articleReading a story across multiple causal links without losing your mind
Reading systemic causal loop diagrams is not always easy, especially if you try to tell a story that needs more than one relation, as they often do.
read article3 and a half heuristics to avoid putting business logic in the wrong place when doing event sourcing
How to avoid the shooting you in the foot by putting logic in the wrong place in your event-sourced system and not recording the right information?
read articleTags, the Forgotten Feature of Test Runners
Some examples of using tags that will change your view of testing.
read articleHow I divided a PhpUnit test suite execution by 5
During my last mission, I optimized a Symfony legacy application's test suite, reducing execution time from over 20 minutes to just 4 minutes. This was achieved through parallelization using Paratest and solving the slow database setup issue
read articleGetting your secret password from 1Password in a script
How can you accept user input in a non blocking way, generate a file asynchronously, and display a link to download that file on the confirmation page ?
read articleEmbed external code via HTTP on an eleventy blog
Do you want to avoid copy-pasting code inside your 11ty blog? Fetch it directly from an external resource via HTTP!
read articleGenerating a file without blocking form submission
How can you accept user input in a non blocking way, generate a file asynchronously, and display a link to download that file on the confirmation page ?
read articleTester les extraits de code dans un livre
Comment mettre en place un filet de sécurité avec des tests pour un système produisant des résultats aléatoires ? Voici 3 techniques !
read article3 techniques pour gérer l'aléatoire en Approval Testing
Comment mettre en place un filet de sécurité avec des tests pour un système produisant des résultats aléatoires ? Voici 3 techniques !
read articleQuickly check for duplication with your IDE refactoring tools
Using your IDE extract method refactoring tool is a cheap way to discover code duplication, or bugs
read articleProcess Behavior Charts - A Christmas Tale
Here is a Christmas Tale about understanding data variation.
read articleTesting that generated PDFs are visually the same
A cool trick to test that your PHP app correctly generates the PDFs you expect
read articleCreating databases when starting the Postgres Docker container
We usually need to setup multiple databases to work locally, at least one for development and one for testing. Here is a cool trick to create them automatically when the Postgres docker container starts..
read articleChange the problem to write simpler tests.
Sometimes, writing tests for a piece of code is difficult but can be simplified by changing the problem we are trying to solve.
read articleHow test frameworks work: Expecting that an exception is thrown and the Arrange-Act-Assert pattern.
Let’s expand our mental model of the way test frameworks work and see how the expecting that an exception is thrown is done. This will explain why we can’t follow Arrange-Act-Assert pattern for that purpose.
read articleHow test frameworks work: A basic mental model
Understanding how test frameworks work help writing better test. Here is the start of a simple mental model.
read articlePipDecks Iphone Widget
Randomly display a PipDeck card on a widget of your iPhone Home Screen.
read articleExpected, actual, and super fast assertion creation
How fast can you create variables to hold expected and actual values in your test? And how little can you type to write the assertion?
read articleRemove all services arguments from Symfony config with a script
Creating simple scripts can save a lot of time in manual work. Here is a simple AWK script to remove services' arguments definition from Symfony config files.
read articleCausal Loop Diagram Asymmetrical Level Pattern
Sometimes you notice that your Causal Loop diagram looks asymmetrical, 2 paths with what seems to be 2 levels of abstractions leading to the same conclusion, and I think it’s a good opportunity to either Zoom In or Zoom Out.
read articleQuickly jump to periodic file in Obsidian
I write a weekly report for my client and I wanted to be able to quickly access it in Obsidian without needing to know the filename, which is based on the date of the current period. Here is a solution using the Templater and QuickAdd plugins.
read articleDisplay a message when you enter a directory
I kept forgetting about the usage of a tool and decided to display a help message automatically as soon as I entered the directory. This way, I stop losing time and feeling bad about myself. Here is how!
read article3 hacks for a magical code kata in PHP
How can we hide code, make test report they take minutes when they actually run in seconds and be share fake libraries when creating a code kata in PHP? I’ll show you how!
read articleApproval testing: 3 technics to deal with randomness
What can we do to build a safety net on top of a system with random result ? Here are 3 technics to help.
read articleFacilitation Nightmares: How to escape a workshop not going on as planned
As facilitators, what should we do when our workshop are derailing ?
read articleCoder ses tests sans les mains grâce aux Live Templates de PhpStorm
Faciliter l’écriture des tests avec les Live Templates des IDE Jetbrains
read articleLe tags, la fonctionnalité oubliée des lanceurs de tests
Quelques exemples d’utilisation des tags qui vont changer votre vision des tests.
read articleDes solutions pour les conflits au niveau de la base de données pour les tests exécutés en parallèle
Des tests qui tournaient parfaitement en série et qui deviennent flaky lorsqu’ils sont exécutés en parallèle, merci mais non merci.
read articleDes tests super lisibles
Quelques astuces pour fortement améliorer la lisibilité des tests
read articleLe dummy, un indice pas si con à propos de votre design...
Un dummy dans un test est une bonne indication qu’il faut se poser des questions à propos du design du système sous test.
read articleComment tester une méthode privée ?
On ne la teste pas. Ça, c’est la réponse courte. La réponse longue demande un peu plus d’effort.
read articleTest suite guidelines
When looking at a test harness, it’s sometimes hard to decide which type of test to write, what it should cover, how we should write it. I believe we would stop losing time and remove frustration by adding guidelines for our test suites.
read articleUsing Property Based Testing to test priorities
Once we’ve decomposed one unit in smaller part, Property Based Testing can help testing for priorities between each of the subparts.
read articleComposing data using Postgres Foreign Data Wrapper
Composing data from several databases can be tricky, even worse if we need to do some paging, filtering and sorting. PostgreSQL comes with an extension making our life easier by creating remote table: tables based on a table from another server.
read articleAn alias to easily debug PHP scripts
The command to start debugging PHP scripts takes a lot of options. I wanted to free my memory from having to remember everything and created an alias to save me time, keystrokes and brain power.
read articleGenerating dates and UUIDs easily in PhpStorm
Typing a date or generating an UUID is something you have to do a lot while writing tests. Here is a tip that allows to do so with only a few keystrokes in PhpStorm.
read articleAn alias to learn aliases
I’m trying to learn aliases to reduce the typing I need in the console but I can’t remember them. I’ve created an alias to help me !
read articleBuilding an event-sourced game with Phoenix Liveview: Unit testing patterns
This article is an overview of some useful patterns when testing event-sourced application.
read articleBuilding an event-sourced game with Phoenix Liveview: Decrementing the timer
This article shows how to add a timer in an event-sourced game while keeping game logic decoupled from architecture concern using the send message to self pattern.
read articleBuilding an event-sourced game with Phoenix Liveview: Building the view’s states from the events and reacting to changes
This article shows how events are used to build the views states and to communicate changes in the game in realtime.
read articleBuilding an event-sourced game with Phoenix Liveview: Acting on the game from the views
This article shows how the views send both simple commands and commands based on forms to the game server, and handle errors.
read articleBuilding an event-sourced game with Phoenix Liveview: Game Server
This article starts looking at the game’s runtime characteristics and shows how a game server can be implemented with a GenServer to store events and handle new commands.
read articleBuilding an event-sourced game with Phoenix Liveview: Making game states explicit
Type system can help express a system capabilty, what can be done, or prevent from misusage. This article shows how theses ideas were applied to express the game states.
read articleBuilding an event-sourced game with Phoenix Liveview: Expressing domain concepts in the code
In this article, we’ll see how we can express domain concepts in the code, and reduce the size of the GameState module.
read articleBuilding an event-sourced game with Phoenix Liveview: Handling errors
In this article we’ll see how I decided to deal with errors in the event-sourced model for a game.
read articleBuilding an event-sourced game with Phoenix Liveview: An event sourced model
This article covers the basis for an event sourced model with Elixir. This is the first part about the game logic of a game build on top Phoenix and Liveview.
read articleBuilding an event-sourced game with Phoenix Liveview: Architecture
Overview of the architecture for DoctorP, an event-sourced game built on top of Phoenix LiveView
read articleBuilding an event-sourced game with Phoenix Liveview: Introduction
Introduction to the serie about building an event-sourced game with Phoenix Liveview
read articleTesting that a GenServer exited
We can test that a GenServer exited by monitoring its process
read articlePassing data to session while testing in Elixir
It's not as hard as it seems to pass data to the session while testing a Phoenix application
read articleBeing lazy with Postman scripts and dynamic variables
Simplify your workflow working with API automating call with Postman and generating values for each call.
read articleFaster environment with xDebug and Docker
A few tips for a faster dev env with xDebug and Docker
read articleUsing data provider to express business rules in test
Data provider to the rescue when it comes to test case naming.
read articleNaming collision
Use the same word everywhere and enjoy the mess.
read articleWhat if someday...
Don't pretend you know what will come next
read articleAsk about the freelancer
You don't know the full story until the end of it.
read articleIt should not throw an exception
Trying to find better names for test methods
read articleExtra readable tests
Some tricks to make your tests readable
read articleUnique instance anti-pattern
A finalist for the worst anti-pattern tournament.
read articleStop using the database for everything
I think we should start using database less.
read articleWrite code for the dumbest person you know
I'm dumb and I can't understand your clever code.
read articleRemoving ifs
What if we remove some if statements ?
read articleTravis and different PHP versions in the same repo
How to set up Travis for different applications stored in the same repo but using different PHP versions.
read articleOOP Layers
Please, stop breaking layers in OOP.
read articleTest for behaviour not for implementation
Avoid coupling between tests and implementation by testing for behaviour
read articleRefactoring VoteValidator with tests
Some lessons learned about testing
read articleWhy are 404 pages still a thing ?
Caches, 404 and missed business oportunities
read articleProject macro structure
Thoughts about the file organization of a project at the macro level
read articleBDD and domain code
How to use Behat as a design tool.
read articleTShirt a day
Code, learning and t-shirts
read articleSmurfing a Twitter bot
How I made a bot that retweet a French newspaper Twitter feed as a Smurf
read articleAdd more element forms the nice way with AngularJs
Build a form with the classic add more element button in a cool way with AngularJs.
read articleIn modal nested states with AngularJs ui-router
Create nested states in a modal using ui-router for your AngularJs application
read articleUsing PrismJs with AngularJs
If you need to display code snippets in an AngularJs application you might want to read this !
read article