[Linux] LXC container: from privileged to unprivileged

In a previous article, I showed how to preserve the integrity of your Linux machine by installing unfriendly software in a LXC container. The container was a "privileged" container, meaning that the user ids in the container maps to the user ids of the host. This can easily be confirmed…

READ MORE

[Linux] Run Jeedom in a LXC container

Jeedom is open-source software for home-automation; if you plan on installing it on your server, you should read this first. Indeed, if you follow the official installation instructions, you'll create a a big mess on your machine that you'll have a hard time to rollback. Most of the time Jeedom…

READ MORE

SublimeText + Vagrant: the perfect workflow for cross-platform development

I have a workstation on Windows, but my work implies writing C++ software that compiles with GCC, Clang and Visual Studio, and runs on Windows, Linux, FreeBSD and OS X. If you ever try to do cross platform development like this, you know it's a pain. Nevertheless, I found a…

READ MORE

[SublimeText] Highlight Build Errors updated

This week I pushed version 1.3 of my plugin for Sublime Text. As a reminder, it highlights the compilation errors in the source code. New feature: styling The previous version only allowed to configure the color of the highlight, or more precisely the "scope". The "scope" is a key…

READ MORE

[Arduino] JSON library 5.0

I'm proud to announce a new major version of ArduinoJson, my open-source JSON library for embedded software. It's designed for systems with limited resources, supports both encoding and decoding, and has a simple and elegant API. ArduinoJson 4 has become very popular and the feedback was very positive. However, it…

READ MORE

[Arduino] View code size and assembly code

While developing ArduinoJson, I've always been obsessed with code size. Arduinos have such a small amount of Flash (32KB for a Duemilanove) that every byte is important. Here are two techniques that I use. I tested them on Windows for the AVR platform, they can probably be adapted to other…

READ MORE

[Azure] Temporary disk on a FreeBSD VM

The FreeBSD image on VM depot works great but lack an essential feature: the temporary disk of the virtual machine is not mounted! How to mount disk once The VM temporary drive is formatted in NTFS, so we need to install NTFS driver: # pkg install fusefs-ntfs Then load the driver:…

READ MORE

[PHP] Compile an extension on Windows

I recently wrote a PHP extension and while the documentation is very clear on how to build it on Linux, there is not so much information on how to compile an extension on Windows. This article explains how to build a PHP extension with Visual Studio. Requirements This guide assumes…

READ MORE