Installing an older Ansible version via pipx

How to install a older version of Ansible via pipx, in order to keep managing hosts that have Python 3.7 or below, such as Debian Buster.

Continue reading »

Firefox: Moving from the Debian package to the Flatpak app (long-term?)

First, thanks to Samuel Henrique for giving notice of recent Firefox CVEs in Debian testing/unstable. At the time I didn't want to upgrade my system (Debian Sid) due to the ongoing t64 transition transition, so I decided I could install the Firefox Flatpak app instead, and why not stick …

Continue reading »

Build container images in GitLab CI (iptables-legacy at the rescue)

It's 2023 and these days, building a container image in a CI pipeline should be straightforward. So let's try.

Continue reading »

Inhibit suspending the computer with GtkApplication

A deep dive into the topic of "system sleep inhibition", or how to prevent the computer from suspending while your application is running. This is a post for developers who write GTK applications for GNU/Linux. In here I'll try to cover pretty much everything there is to know on the topic. Or at least, everything I know.

Continue reading »

Send emails from your terminal with msmtp

In this tutorial, we'll configure everything needed to send emails from the terminal. We'll use msmtp, a lightweight SMTP client. For the sake of the example, we'll use a GMail account, but any other email provider can do. Your OS is expected to be Debian, as usual on this blog, although it doesn't really matter. We will also see how to store the credentials for the email account in the system keyring. And finally, we'll go the extra mile, and see how to configure various command-line utilities so that they automatically use msmtp to send emails. Even better, we'll make msmtp the default email sender, to actually avoid configuring these utilities one by one.

Continue reading »

Modify Vim syntax files for your taste

In this short how-to, we'll see how to make small modifications to a Vim syntax file, in order to change how a particular file format is highlighted. We'll go for a simple use-case: modify the Markdown syntax file, so that H1 and H2 headings (titles and subtitles, if you prefer) are displayed in bold. Of course, this won't be exactly as easy as expected, but no worries, we'll succeed in the end.

Continue reading »

GoAccess 1.4, a detailed tutorial

GoAccess v1.4 was just released a few weeks ago! Let's take this chance to write a loooong tutorial. We'll go over every steps to install and operate GoAccess. This is a tutorial aimed at those who don't play sysadmin every day, and that's why it's so long, I did my best to provide thorough explanations all along, so that it's more than just a "copy-and-paste" kind of tutorial. And for those who do play sysadmin everyday: please try not to fall asleep while reading, and don't hesitate to drop me an e-mail if you spot anything inaccurate in here. Thanks!

Continue reading »

Cute CSS hacks for your favorite sites

Do you have a wide screen? Are you annoyed by these sites that don't set any max-width property on their page, hence you have to read ultra-long lines that span all over the screen? If you're in this case, read on, you can hack your way through!

Continue reading »

Building your Pelican website with schroot

Lately I moved my blog to Pelican. I really like how simple and flexible it is. So in this post I'd like to highlight one particular aspect of my Pelican's workflow: how to setup a Debian-based environment to build your Pelican's website, and how to leverage Pelican's Makefile to transparently use this build environment. Overall, this post has more to do with the Debian tooling, and little with Pelican.

Continue reading »

The docker.io Debian package is back to life

Last week, a new version of docker.io, the Docker package provided by Debian, was uploaded to Debian Unstable. Quickly afterward, the package moved to Debian Testing. And this is good news for Debian users, as before that the package was more or less abandoned in "unstable", and the future …

Continue reading »

GRUB Recovery for UEFI-GPT-LUKS-LVM

Yet another GRUB recovery article... Yep, I can't deny, that's what it's about!

Continue reading »

Using GMail to send system mails on Debian

If you're a Debian user like me, chances are that, at some point, you will need to send emails from the command-line. It could be on a Debian server, where you want to send notifications (login, logout, boot, daily report, ...). Or it could be on your own machine, where you use some tools like reportbug or git send-email.

Continue reading »

VirtualBox In Five Minutes

Getting started with VirtualBox in a few words...

Continue reading »

Docker + Shippable for Painless Continuous Integration

Here's my situation in a glimpse: I've been writing an application in C I target the GNU/Linux OS I want to ensure it builds on every major distros I want an automated solution A very normal situation for a developer, isn't it?

Continue reading »

Learning GObject

I worked on a C/GObject project for a while now, and had to learn GObject from scratch. Learning GObject is definitely not the easiest thing to do, it's much more than just learning to use a new library. Hence this "bookmark article", that list the best links I found so far. Hope this helps other learners like me.

Continue reading »

Publishing A Debian Package (Mentors & Sponsorship)

Here are the steps to follow to publish a Debian package, so that it becomes part of the official Debian repositories.

Continue reading »

Setting Up GoAccess To Analyse Apache Logs

On a Debian machine serving websites with the Apache server, we install and configure GoAccess to monitor the websites activity.

Continue reading »

HDMI Autoswitch

A nice script that does everything you want when you plug a monitor to your HDMI plug: enable the monitor with xrandr, and redirect the sound to the HDMI output.

Continue reading »

Rendering Markdown To PDF

When I have stuff to write, I like to keep it simple. It means plain text, editable with simple, dumb editors. As long as I can stay away from word processors, I do.

Continue reading »

Unbloating The Sony Xperia M4 Aqua 8GB

Sony Xperia M4 Aqua (E2353). A promising mobile phone, mid range, not too expensive, dustproof and waterproof. The only problem is the storage. Some comes with 16GB (lucky you), but mine has only 8GB. And this is not enough!

Continue reading »

Building And Installing Rockbox

Here is a very quick howto that walks you through the few steps needed to compile the Rockbox firmware from source.

Continue reading »

First Debian Package

In this post we learn how to create our first Debian package. We get lost in the maze of Debian documentation available out there. We try not to fall asleep reading these endless pages. And finally we succeed creating a simple yet beautiful Debian package.

Continue reading »

Wake-On-WAN, The Long Road Of The Magic Packet

How to setup wake-on-WAN, using a machine on the LAN to broadcast the magic packet.

Continue reading »

Backing Up Ghost Content

My homemade script to backup my ghost blog, smartly named ghost-backup.

Continue reading »

Ghost Theming

How to get and install themes for your Ghost blog. Then comes an example of Github-based workflow to customize your theme.

Continue reading »

Getting Started With Ghost

How to install Ghost from upstream, setup Apache as a frontend for Ghost, and create a systemd service to start Ghost automatically.

Continue reading »

Secure Web Access Through SSH Tunnel (SOCKS Proxy Server)

How to setup a dynamic SSH tunnel (also called SOCKS proxy server) and use it daily with Firefox and Thunderbird.

Continue reading »

Bash Logging Helpers

Some smart bash lines that provide powerful logging for your scripts, especially useful when run by Cron.

Continue reading »

Setting Up A Wi-Fi Software Access-Point

How to setup a wifi software access-point, using wpasupplicant and hostapd.

Continue reading »

Debian Jessie on Raspberry Pi 2

How to install Debian Jessie on a Raspberry Pi 2 (aka RPi2), using the Debian image provided by Collabora.

Continue reading »

A Post-Receive Git Hook For Octopress

Here comes the post-receive git hook I used along with Octopress, to finish deploying the static blog server-side.

Continue reading »

Getting Started with Apache

A quick introduction to Apache for the noobs.

Continue reading »

Setting up Gitolite

How to install and setup Gitolite on a remote server, using the upstream source.

Continue reading »

My Daily Jekyll Workflow

My personal Jekyll workflow, involving Git, Rsync, and my own homebrewed script, the almighty Jekyllkenny...

Continue reading »

Getting Started With Jekyll

Here's a brief guide to install Jekyll using the Gem package manager, and some basic configuration.

Continue reading »