Skip to main content Logo (IEC resistor symbol) logo

Quis custodiet ipsos custodes?
Home | About | All pages | RSS Feed | Gopher

Hi there!

I'm Remy, a developer with a focus on C, C++, linux and embedded systems.

I currently work for De Jong DUKE were I develop software for an embedded platform that powers coffee machines. This is a C++, C and Qt stack running on Yocto linux and Nucleus RTOS. It controls hardware, runs the UI and has a few utilities for IoT connectivity and configuration. Technology is mostly C++ but includes Microsoft Visual C++, Flash, Qt and ARM kernel drivers.

I've been a Linux and UNIX sysadmin for over 10 years.

To read more or get in touch, click here.

This is my personal website, these articles do not reflect or are based on work, opinions or policies of any of my (previous) employers. Any resemblance to reality is pure coincidence.

Latest Items

Cancellation notice:, and

22-01-2020 | Remy van Elst

This is a short notice that the public services I was providing,,, and are suspended and cancelled as of now. The source code is still available via my github, but the domains and hosting are stopped. If you want to use these services, you now must host them yourself.


nginx 1.15.2, ssl_preread_protocol, multiplex HTTPS and SSH on the same port

Published: 06-08-2018 | Last update: 12-01-2020 | Author: Remy van Elst

The NGINX blog recently had a nice article on a new feature of NGINX 1.15.2, $ssl_preread_protocol. This allows you to multiplex HTTPS and other SSL protocols on the same port, or as their blog states, 'to distinguish between SSL/TLS and other protocols when forwarding traffic using a TCP (stream) proxy'. This can be used to run SSH and HTTPS on the same port (or any other SSL protocol next to HTTPS). By running SSH and HTTPS on the same port, one can circumvent certain firewall restrictions. If the session looks like HTTPS, nginx will handle it, if it looks like something else, it will forward it to the configured other program. I used to use SSHL to get this functionality, but now it's built into the nginx webserver. This small guide will cover the installation of the latest version of nginx on Ubuntu (16.04) and configuring this multiplex feature.


Windows 10 updates with PowerShell

06-01-2020 | Remy van Elst

Recently I had issues updating one of my machines that runs Windows 10. Turns out the firewall was to restrictive. However, the information provided by the update dialog was just, 'Oh, updating failed, maybe try again'. Nothing useful, so I tried to figure out if it's possible to use Powershell for updating. Since Windows 10 build 1709 Microsoft provides a built in module, but that is not that user friendly. In this article I'll talk about using PSWindowsUpdate and the built in Microsoft WindowsUpdateProvider to update a Windows 10 machine via the commandline


Run CLion native on Android, ditch your desktop!

27-12-2019 | Remy van Elst

How often do you read articles that state that people have replaced their main computer with an iPad and are fully content? Now, how many of those articles just use a linux server (vps) somewhere with some native apps, but mostly SSH to that server? Well, what if I told you that you can run a full blown IDE, the best IDE for C++ there is, CLion by JetBrains, on Android? Including compiling, just native GCC, CMake, GDB and all the stuff you are used to? Just for fun I've installed CLion on an old Samsung Tab S2 I had lying around, using Ubuntu in a chroot. It works way better than I'd expected, with a Bluetooth keyboard and mouse it's almost as if your on a desktop. I wonder if you could run Android Studio and use the tablet to compile app's for itself. This article shows some photo's, including a mechanical keyboard, different window managers and had instructions to replicate this setup.


Tiny Tiny RSS + Readability == The best way to read RSS feeds

22-12-2019 | Remy van Elst

Back in 2012, I already wrote about Tiny Tiny RSS. We're now almost eight years later and I still use TT-RSS as my main RSS reader. I'm following almost a thousand feeds (944) and it is my main way of reading and discovering stuff online. All those personal blogs that post once half a year, mainline tech news sites and a bunch more sites. Back in 2012 I had 300 feeds, used the Android app. Nowdays, more feeds, still use the android app, used an iPhone app for a while and the server that it runs on has been migrated and upgraded a few times. I want to share my Tiny Tiny RSS setup with you, which uses the af_readability plugin. Combined with the Android app, I've got an ideal setup to read just content without distractions.


ScreensaverStopper, stop activating the screensaver by sending F24 often

21-12-2019 | Remy van Elst

ScreensaverStopper sends the F24 keystroke every 40 seconds. This way, Windows should not activate the screensaver. Useful if you do not have rights to disable the screensaver, but can run executables. Wwritten in C++, compiled with GCC 8.1 via MinGW/cMake. Filesize is around 14 KB, memory usage after a day of running around 600KB. License is GNU GPLv3.


and & or are valid in C++ (alternative tokens)

16-12-2019 | Remy van Elst

A post on on the C feature trigraphs triggered me to write this piece on the C++ feature, alternative tokens. I've recently suprised a co- worker by using an if statement with 'or' instead of '||', which works fine, but he never saw it before. It's in C++ since C++ 11, but MSVC requires a specific compiler flag ('/Za') or the 'iso646.h' header. This post has a few samples on the usage inclusing other alternative tokens like bitor, xor and or_eq.


Broken Corrupted Raspberry Pi SD Card

Published: 09-01-2015 | Last update: 13-11-2019 | Author: Remy van Elst

One of my Raspberry Pi's would not boot up after a reboot. The SD card was corrupted, sadly beyond repair. This article walks you through the steps I took to try to fix the SD card, including fsck, badblocks and other filesystem utilities. It also has tips to reduce the writing on the Raspberry Pi, this to save SD cards from some amount of wear and thus possible corruption.


Weight for Weight, a coding exercise that kept me busy

12-11-2019 | Remy van Elst

I'm using codewars to practice my development skills. The exercise I was working on the past couple of days was a level higher than the 'rank' codewars gives me, so a more difficult exercise. Using the sparse free time I have, this kata took a bit longer to complete, and had me thinking about the problem when I was not doing the exercise. If a problem fascinates me that way, I can't stop thinking about it until I've solved it. In this article I'll walk you through my work on this kata.


std::string to lowercase or uppercase in C++

07-11-2019 | Remy van Elst

I'm using codewars to practice my development skills. Today I learned a method to transform a std::string's casing, either to uppercase or lowercase. Researching it further, I also found out how to do unicode strings with boost. This article also includes a mini howto on installing Boost on Windows 10 via mingw for use with CLion.


C++ project setup with CMake & unit tests (google test)

Published: 01-10-2019 | Last update: 06-11-2019 | Author: Remy van Elst

This guide will show you how to setup a new C++ project with CMake and unit tests via Google's test framework. With this setup you can get started right away with test-driven-development in C++. It is also simple enough to look and figure out how to add gtest to your existing project and start doing TDD on your legacy (existing) codebase.


View all Items