Articles treat various subjects in a single page, contrary to series.
I'm proud of what I've done at Wasmer, but the toxic working environment forces me to leave. Here is the story of a really successful and beautiful project with a chaotic management.
A rare article written in French discussing WhatsApp and its alternatives.
This article presents the wasmer-java
project: the first Java library to run WebAssembly.
This article presents wasmer-postgres
: the first Postgres extension to run WebAssembly. The article explores some possibilities. This is super experimental!
This article presents wasmer-go
: the fastest WebAssembly runtime for Go.
This article explains how and why I've migrated php-ext-wasm
from wasmi to Wasmer.
Eh, new job!
Automattic has partly moved away from PHPUnit to use atoum. This article describes the pros and cons, the difficulties, the benefits, the tooling we had to write to integrate to the continous integration workflows etc.
In 2017, I've watched one conference per day. Here is the conclusion of this challenge.
::class
in PHP
I am bored of PHP. Let's have fun with ::class
!
A picture of the Grand Meetup 2017.
atoum gains a new extension: atoum/teamcity-extension
to get full integration with TeamCity!
I am bored of PHP. Can it be as horrible funky as JavaScript?
In this article, I would like to talk about how to implement a Finite-State Machine (FSM) with the PHP type system. The example is a store product (in an e-commerce solution for instance), something we are likely to meet once in our lifetime. Our goal is to simply avoid impossible states and transitions.
Watch my last talk at the PHPTour conference about Tagua VM, an experimental PHP runtime written in Rust and LLVM.
This article explains quickly how I've improved nom
's performance by 78% when parsing in some cases.
Recently, I joined Automattic. This is a world-wide distributed company. The first three weeks you incarn a Happiness Engineer. This is part of the Happiness Rotation duty. This article explains why I loved it, and why I reckon you should do it too.
Eh, new job!
Tiny bash hack.
sabre/katana
is a contact, calendar, task list and file server. What does it mean? Assuming nowadays you have multiple devices (PC, phones, tablets, TVs…). If you would like to get your address books, calendars, task lists and files synced between all these devices from everywhere, you need a server. All your devices are then considered as clients.
I've implemented xCal and xCard formats inside the sabre/dav
libraries. While testing the different RFCs against my implementation, several errata have been found. This article, first, quickly list them and, second, ask questions about how such errors can be present and how they can be easily revealed. If reading my dry humor about RFC errata is boring, the next sections are more interesting. The whole idea is: Why RFCs do not provide executable test suites?
Nowadays, there are plenty of terminal emulators in the wild. Each one has a specific way to handle controls. How many colours does it support? How to control the style of a character? How to control more than style, like the cursor or the window? In this article, we are going to explain and show in action the right ways to control your terminal with a portable and an easy to maintain API. We are going to talk about stat
, tput
, terminfo
, hoa/console
… but do not be afraid, it's easy and fun!
atoum gains 2 release managers for a better project management!
Eh, new job!
During my PhD thesis, I have partly worked on the problem of the automatic accurate test data generation. In order to be complete and self-contained, I have addressed all kinds of data types, including strings. This article aims at showing how to generate accurate and relevant strings under several constraints.
Since 2 years, at Hoa, we are looking for the perfect release process. Today, we have finalized the last thing related to this new process: we have found a name. It is called Rüsh Release, standing for Rolling Ünd ScHeduled Release.