How to share Psalm rules amongst multiple repositories
A smaller development team recently decided to enforce stricter Psalm rules on their project. After some groaning, the team found that these stricter rules saved them time reviewing merge requests and caused them fewer headaches solving bugs. After singing the praises we wanted to expand these rules to the rest of the codebase, but then […]
CSS Day 2022
.css-day { speakers: 14; // Single-track date: ‘June 9 & 10’; // OK, that’s 2 days 🙂 venue: ‘Zuiderkerk’; // Amsterdam, NL } On June 9 and 10 Dennis, Thomas and I went to Amsterdam for the CSS Day conference in the Zuiderkerk. A very nice venue being a […]
Testing asynchronous behaviour in React
Here at Moxio we’re using React to build web applications. We’re learning a lot about how React works under the hood to write correct and efficient code. When writing Components for a web application you’re going to have to deal with asynchronousness. A common pattern is that you want to load some data. If you’re […]
4 methods for testing controlled React components
We can all agree that testing code is a great idea. It reduces bugs, increases code quality and prevents you from making (the same) mistakes in the future. There are a whole lot of best practices out there, but when looking at how to test controlled components I was a bit stumped. There seem to […]
Open source as a strategic choice
There is a saying that probably every Dutch parent has once said to their child: “Als iedereen in de sloot springt, spring je er dan achteraan?” Freely translated to the English equivalent: “If everyone jumps off a bridge, would you jump after them?” It encourages them to think for themselves rather than blindly follow something […]
Advanced type inference with generics in TypeScript
Introduction So you have probably heard of TypeScript and the awesome features it brings, such as interfaces, variable typing and more. Maybe you have even heard of generics, and more advanced types, such as the Index Types and Mapped Types. In this blog I want to show you how advanced types helped us get better […]
How to load an SQLite extension in PDO?
Recently we ran into the need to load an extension for SQLite using PHP’s PDO database abstraction. Unfortunately, this is not supported out of the box. Eventually we found a solution involving FFI and Z-Engine. In this blog post I will take you on a tour of our solution and the black magic behind it. […]
7 cool things I learned about TypeScript and React
Introduction In this blogpost I would like to take you on my journey through TypeScript and React and share some really cool features and interesting gotcha’s I found along the way. Let’s start off with some background information first: At Moxio we’ve been using our own scratch-built re-usable component library for years. It has sadly […]
My first months at Moxio
In December 2019 I started my working days at a company where I had already fulfilled two different functions during my studies at TU Delft. Even though I already learned many things at Moxio, it looked like there was a good match between what I would like to develop in my first working years and […]
Ignoring bulk change commits with git blame
A long-standing objection to making bulk changes to code using automated tools (e.g. to conform to a given code style) is that it clutters the output of git blame. With git 2.23, this does not have to be the case anymore! In this post I will start by explaining the value of git blame and […]