NixOS upgrade failure: 4 ways to find a culprit
TLDR; It can happen that during an update phase of your NixOS installation some package error arise from a package that is not directly mentionned in your system configuration. This blog post presents 4 ways to find where a dependency comes from when you find yourself in this position. The 4 ways described are: Relying on the --show-trace option of nixos-rebuild to get a more verbose output. Browsing the nixpkgs repository....
Compute Caddy payload using Jinja2 with Ansible
Context As I may have mentioned in previous articles I run my services using Ansible to deal with the deployment and upgrade of different components. If we generalize the setup, it mostly consists of a reverse proxy (Caddy) listening on 443 and app stacks running under docker on their own network that connects to Caddy’s one. Something that looks like that: Issue My Ansible playbook is structured in a way where the reverse proxy is spawned first and then each app is deployed one by one, registering its own configuration against Caddy’s API in order to be served....
Could we stop prefixing booleans with the verb ?
A widespread convention when it comes to Boolean variables naming is to prefix them with a verb. Sometimes the explanation given for this practice is that it helps reading code, other times that this way we directly can spot that this is indeed a boolean. I would like to discuss those two assumptions. It helps reading code Maybe this is just me but I like when code reads like instructions. I agree that it can’t always be the case but I feel I should strive for it whenever I can....
How to backup your selfhosted server running under docker-compose
Need a backup strategy for your selfhosted docker-compose? Here is one!
Docker introduction for Les Bricodeurs
In order to shorten the famous list of things I forgot to post on time, here is the content of the workshop I gave for Les Bricodeurs “Docker pour les marins d’eau douce” on the 11th of March 2020 at the 42 Lyon Auvergne-Rhône-Alpes school. This workshop was the occasion to talk briefly about what Docker is and we then dove directly into using it and understanding it in order to deploy a Wordpress stack....
Git introduction for Les Bricodeurs
You probably don’t know it, but I regularly participate in events organized by Les Bricodeurs in Lyon. The goal of the association is to provide an introduction to different tools, technologies and processes to learners, focusing on a hands on experience through workshops. A year ago I gave a workshop on Git but completely forgot to put slides onlie. It is now done, you can find them here.
Trust your bluetooth mouse on Linux
I recently acquired a Logitech bluetooth mouse and, although I was enjoying it a lot as always with Logitech, I was quite disappointed that I had to pair it again with my computer everytime it went to sleep or I would reboot it. So, after a small time of frustration, I decided to take a look on what was really going on, because the bluetooth keyboard was working like a charm, surviving reboots and so on....
Borg backup, deduplicate them all
I’m probably very very very late to the party as Borg is actually a fork of Attic, but I just discovered this backup tool randomly on the Internet and I have to say, I’m in love with it! It’s very simple simple to use, yet very powerful all thanks to the deduplication. So what is this deduplication? Here is what Borg says about it: Deduplication based on content-defined chunking is used to reduce the number of bytes stored: each file is split into a number of variable length chunks and only chunks that have never been seen before are added to the repository....
The Internet Of Things Is Going To Destroy Us All
IoT has always been a very interesting subject to me as I’d love to work on a project on this thematic but most of the time I’m really not convinced by the connected devices I see out there. I’m a strong advocate of offline first when it comes to those appliances; In my opinion Internet or not, you should be able to use it as if it was the basic object, it should never fail you just because there is a bug in the software or your Internet has broken down....
Add a Play module from your own Nexus Repository
Those days I’m mainly working with the Play! Framework for Java. We are in a microservices setup and thus we end up having some common code between the different services. We decided to make Play Modules that we would import in the different projects. Creating the Module In order to do so, we created a project with a few utility classes that we published using SBT and our own Nexus respository....