Writing a browser extension

Posted on 2025-02-16 in Programmation • Tagged with Web

I recently wrote a browser extension for Firefox and Chromium based browsers for my Legadilo (RSS feeds aggregator and articles saver) project. The goal is to make it easier and faster to save an article or to subscribe to a feed directly on a web page without forcing you to …


Continue reading

Using podman for containers

Posted on 2025-02-09 in Programmation • Tagged with Docker, podman, containers, systemctl, Linux

Podman is an alternative to Docker and Docker compose. It uses the same CLI interface than Docker and uses the same standardized image format. So you can use an image built with Docker with it or build an image and then use it with Docker. Its podman-compose command is compatible …


Continue reading

Systemd Timers

Posted on 2025-02-01 in Programmation • Tagged with systemctl, Linux

After using anacron for years to run a backup script regularly, I decided to have a look at systemd timers. Overall, anacron worked fine: I could run tasks as my user and it would start tasks if they missed a run. But, I was still frustrated with how it worked …


Continue reading

My take on UV and Ruff

Posted on 2025-01-25 in Programmation • Tagged with Python

I recently tried the new and shiny tools made by astral. I only used them on my personal projects yet, but I’m still very impressed! You may already have heard of them. I’ll try to keep the article concise and won’t dig too deep into the tools …


Continue reading

Execute Python scripts over SSH without copying them

Posted on 2025-01-05 in Trucs et astuces • Tagged with SSH, Linux

You can run scripts (written in Python or any other language) directly on a server if the proper interpreter is installed. I recently used it to run a Python script over several servers without the need to copy the relevant script on the server. It all relies on the following …


Continue reading

Weird test behavior in my Django project test suite after an IntegrityError

Posted on 2024-12-01 in Programmation • Tagged with Python, Web, Django

Recently I encountered a very weird behavior in my Django project test suite. I created a view that caught an IntegrityError from the database (caused by duplicates in a unique index). When this error occurs, I want to respond with a 409 - CONFLICT status code and an error message.

TL …


Continue reading

Offline support almost without Javascript

Posted on 2024-02-27 in Programmation • Tagged with PWA, HTML, Javascript

Recently I wandered wether I could build a website with offline support without building a full SPA. The answer is yes it’s doable: you only need Javascript for the service worker. Just for the fun, I also tried it with navigation done with HTMX and without much surprise it …


Continue reading

Development containers

Posted on 2024-01-02 in Programmation • Tagged with Docker

I recently discovered the dev containers standard (or development containers for long) recently after trying to contribute to a project which had them enabled by default. It seems to be a new standard way to work with containers in development.

The goal is to provide a container you can use …


Continue reading

Django async

Posted on 2023-12-10 in Programmation • Tagged with Web, Django, Python

Now that Django is fully async (views, middleware and ORM), I though it was a good time to test how it behaves when run asynchronously. I’ll try to keep this article concise with only relevant data and resources. Code can be seen in a sample project so you can …


Continue reading

Ignore commits in git blame

Posted on 2023-12-02 in Trucs et astuces • Tagged with git

Commits that change formatting are a pain in git because they make using git blame much harder. It turns out, you can ask git to ignore these commits when running git blame with the --ignore-rev option and passing it a commit hash. You can even do things better and create …


Continue reading