[Synology] Auto connect VPN at startup

The built-in VPN client of Synology DSM 6 is excellent, but it lacks one key feature: being able to connect the VPN automatically after a reboot. …

READ MORE

[Linux] daemon() considered harmful

I’m currently writing a Linux program that is supposed to run in the background. When it was time to implement the --daemonize, I look at the current options and I was quite surprised to learn that daemon() or fork() are not the best way to write a daemon nowadays. …

READ MORE

Embrace abstractions!

Abstraction is probably the most powerful concept in programming. Nevertheless, from time to time, I hear (or read) people questioning the value of abstractions. Here is my answer. …

READ MORE

[C++] Embarcadero C++ Builder is a joke

Last week I discovered that Embarcadero offers a free version of C++ Builder Starter, apparently for a limited period. So I took this opportunity to install the IDE and try to compile ArduinoJson. …

READ MORE

[CSS] Transform a button to a text input

Here is a cool CSS trick I found for actions that require a text value: …

READ MORE

[Links] JSON Hypermedia Types

When designing a REST API, every developer faces this issue: what JSON format to use for the API. Let’s see the current options. …

READ MORE

[Links] Mission statements

Today at work, we talked about the idea of having a “mission statement”. We wanted to write down the values that our company carries. That would be a few statements that define who we are as a company and could guide us when making decisions. That exercise was more complicated than we initially expected, so I started looking at what other companies have. …

READ MORE

[DIY] Add Z-wave to an old Velux

I own a couple of Velux WUX 101 that I needed to automate. This article explains how I removed the Velux remote control to replace it by a Z-wave compatible solution. …

READ MORE