GNU Guix: How to run foreign binaries
I have wanted to try out some Rust applications in the last weeks. Usually, when I want to try out programs in Guix, I install them directly or create a package for them. But not for programs writt...
I have wanted to try out some Rust applications in the last weeks. Usually, when I want to try out programs in Guix, I install them directly or create a package for them. But not for programs writt...
I’m still very much in love with GNU Guix, and there is one feature I enjoy in particular: guix shell. I like this feature so much that I will use this post to introduce it briefly. To do so, I wil...
I have been going down the rabbit hole of functional package managers in the last few months and have nuked my system multiple times in the process. I started with NixOS, which I used for about a m...
I decided to play around with my Arduino boards again, and this is an excellent opportunity to explain how to set up a development environment for cross-compilations. For this project, we need to s...
Some time ago, I mentioned that I needed to work on a legacy code base stuck with C++98. I must include some alternatives for features working with the old standard, especially for variadic templ...
In a previous blog post, I briefly overviewed function_ref. The implementation provided has some serious flaws. In the current post, I want to dig into these flaws and create an implementation that...
I regularly need to pass functions or callables around in my daily work. If you want to implement a work queue or if you’re going to implement an observer you will need to pass and store callable...
In this post, I want to describe one of my favorite type erasures: a non owning type erasure with manual virtual dispatch. It sounds like quite a mouthful, but in general, it is only some optimiz...
Have you ever asked yourself which unit a function return type has? Does sleep use milliseconds or microseconds? Have you ever mixed up the order of your function parameters? If so, Strong Types ...
If we develop embedded software, we must check static attributes as soon as possible to ensure robust and reliable code. Such checks could be expectations about the size of a pointer or user-defi...