Articles treat various subjects in a single page, contrary to series.

I've loved Wasmer, I still love Wasmer

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.

Bye bye WhatsApp, hello ?

A rare article written in French discussing WhatsApp and its alternatives.

Announcing the first Java library to run WebAssembly: Wasmer JNI

This article presents the wasmer-java project: the first Java library to run WebAssembly.

Announcing the first Postgres extension to run WebAssembly

This article presents wasmer-postgres: the first Postgres extension to run WebAssembly. The article explores some possibilities. This is super experimental!

Announcing the fastest WebAssembly runtime for Go: wasmer

This article presents wasmer-go: the fastest WebAssembly runtime for Go.

🐘+🦀+🕸 php-ext-wasm: Migrating from wasmi to Wasmer

This article explains how and why I've migrated php-ext-wasm from wasmi to Wasmer.

Bye bye Automattic, hello Wasmer

Eh, new job!

How Automattic (WordPress.com & co.) partly moved away from PHPUnit to atoum?

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.

One conference per day, for one year (2017)

In 2017, I've watched one conference per day. Here is the conclusion of this challenge.

Random thoughts about ::class in PHP

I am bored of PHP. Let's have fun with ::class!

Automattic, Grand Meetup 2017

A picture of the Grand Meetup 2017.

atoum supports TeamCity

atoum gains a new extension: atoum/teamcity-extension to get full integration with TeamCity!

Export functions in PHP à la Javascript

I am bored of PHP. Can it be as horrible funky as JavaScript?

Finite-State Machine as a Type System illustrated with a store product

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.

Tagua VM, a safe PHP virtual machine

Watch my last talk at the PHPTour conference about Tagua VM, an experimental PHP runtime written in Rust and LLVM.

Faster find algorithms in nom

This article explains quickly how I've improved nom's performance by 78% when parsing in some cases.

Welcome to Chaos

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.

Bye bye Liip, hello Automattic

Eh, new job!

DuckDuckGo in a Shell

Tiny bash hack.

sabre/katana

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.

RFCs should provide executable test suites

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?

Control the terminal, the right way

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 has two release managers

atoum gains 2 release managers for a better project management!

Hello fruux!

Eh, new job!

Generate strings based on regular expressions

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.

Rüsh Release

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.