I've read on a small part of the Fedi that August is "Blaugust Festival" as in "blogging August", a month inviting people to blog more. Since this in German sound more like "blue August", I've changed two small things in the CSS to make it more blue and I'll revert this at the end of the month. I'm curious if someone will pick this up :-)…
In this article I'll try to pin down what irks me about LLMs (Large Language Models, sometimes called "AI") tools, a topic that seems unavoidable if you are in IT. I want to take a screenshot of what's in my head at the time of writing (February 2026) in order to compare what will happen in the next 12 months. In the past 12 months there was a tangible evolution in the output of these…
During my routine backup procedures I wanted to investigate why the Synapse database dump was so big (about 740 MiB), for a Matrix server instance basically used just by me and a few acquaintances. Little I knew that I would dive into a rabbit hole. Assisted by a useful blog post , I started looking around on the Synapse admin documentation and found these links containing all I had to learn…
2025-08-17 UPDATE : added a comment about an upgrade issue I've encountered. Hello everyone, Debian 13 (trixie) has been released. I just wanted to join the party from my little silent corner of the web and cheer the news. Debian Linux is simply one of the most reliable piece of software I've ever used and this is a quality I've learned to appreciate with time. Since I moved my…
In a previous article I mentioned the ability to handle mailto: URI (described in RFC 6068 ) from Emacs. In this article I'll detail how I configured and connected the bits to make it work. Today these links are much less in use (due to spam concerns 1 ), however when one such link is found it's useful to correctly handle it, sometimes they're pretty complex (for example reply-to…
I've recently investigated again how to run Emacs as a systemd service. The goal is to start using the emacsclient more consistently, it's a faster way to work with Emacs. The short version of it is: if you want to run emacs as a server without headaches, the easiest option is: emacs --fg-daemon then connect to the server with emacsclient -t . You're done. Running Emacs as a systemd…
After an intense but complicated love story with Doom Emacs started in 2021 I'm back to vanilla Emacs. Here are some thoughts after 4 years of Doom Emacs use. Note: this article was written at the end of August 2024. After having used vanilla Emacs again for 4 months, I am publishing the final revision. Reading again why I had switched to Doom Emacs at the time (it's great keeping a…
In this article I'll review my ongoing experiment using alternative software applications and services out of the well-known offer of Google, Microsoft and other big corporations. I'm writing while on a long train ride so I have all the time to indulge in a verbose prose. Approximately 6 years ago, in what it seems almost another life, I decided to embark on a quest to free myself of…
Recently I've started a small experiment: I want to try answering the question whether a modest Raspberry Pi 4 with 4gb RAM could be my daily computing device. This is a highly subjective topic, so the answer varies a lot depending on anyone's needs, don't take these opinions as a reference. So, for a start I've formatted an SD Card using the latest Raspberry Pi OS 64bit (July…
In this article I'm going to draft some points on the topic of "owning your own online content". Before getting to the point I'll mention three incidents that recently passed through my radar. § A few incidents A while ago I was commenting with a friend of mine this post found on the Mastodon instance https://aus.social ( link ) in which the author complains that Duolingo…
While I was doing the routine weekend maintenance of my electronic devices, I paused and thought for a second about what I was doing. How often do I update my stuff? How much stuff do I update regularly? A laptop: Debian/testing system updates Firefox updates Firefox extensions updates Rust compiler updates A desktop: Debian/testing system updates Rust compiler updates A smartphone: OS…
In this article I'll share some thoughts about using a computing platform which commercially died about 30 years ago, that still survives today in a niche market, thrives thanks to its dedicated fanbase and what we can learn from all this. The computing platform object of this article is the Commodore Amiga , which for a lot of people will likely trigger nostalgic memories. A fact commonly…
Last weekend I did a bit of "fullstack" development (i.e. a bit of frontend, backend and deployment) using supposedly modern tools in JavaScript (namely NextJS , Prisma for the DB backend and Docker for the deployment). These tools for this project were somewhat thrown at me without a lot of discussion, so I just shrugged and said OK. It was a longtime I hadn't touched that stack and now I…
I was reading about Kagi , a search engine you pay a monthly subscription to use for. Our world is so fucked up, that explicitly paying with money for a service is the only hope to avoid having your data slurped for profit. So I asked myself: how do I actually use a search engine? § Gathering the data Open Firefox, press CTRL+H (to open the history), copy the past month data (e.g. November…
Hi, I am a software developer and this website is a bit of a braindump for topics I care. Writing about them helps me clarify my thoughts and avoids forgetting about them. This website is generated using Zola and a slightly custom version of the After Dark theme. Hosted on Sourcehut Pages . Feel free to contact me at jman at city17 dot xyz (Deutsch / English) GPG public key
With the end of the Strange Loop series of conferences, I decided to watch some talks from a number of years and write down here some notes. The conference looks interesting and not as mainstream as others. As a starting point, I'll follow some random suggestions found on the internet: a blog post of a friend of mine (a bit unrefined but it has some tips) and this other best of list and…
This website is hosted on Sourcehut Pages , a minimalistic static web hosting offered by Sourcehut . Among the limitations ( listed here ), there is a also a draconic Content Security Policy that blocks all resources not hosted on the server where this website is. All content from CDN or embedded third-party content is blocked. This has the interesting consequence that one cannot host a visitor…
Today I wrote a simple shell script to scratch an itch: trimming away advertisements from podcasts files I download. After spending half an hour fixing up a version I liked, I decided to spend another half an hour writing about it, because even such a simple task has a lot more context than it seems. Here is the script: #!/usr/bin/env sh # Trims a number of seconds from the start of…
In the last weeks I have been reading news about content media owned by corporations; services that we usually give for granted. I am starting to think that the media world panorama is changing. Let me first list some articles that might be familiar to a tech audience: YouTube seems it's starting blocking browsers equipped with ad-blockers (JPG, 62kb) X/Twitter changed their privacy…
I'm not a Linux distro fanboy nor a distro-hopper , I just use what is reliable. Today I'll pause for a few minutes because 30 years ago, the Debian GNU/Linux distribution was first released (see the announcement , kindly posted by Lars Wirzenius ). I want to set in stone the moment I switched to Debian before it's forgotten. It was circa 2019 and I was using Ubuntu/eoan,…
While rummaging and tidying up my backups I've found some archived talks that I watched (and then archived) after suggestions from friends, so now I am going share them again hoping they can be interesting also for someone else. They are all related to programming and F/LOSS (Free/Libre Open source Software). The context of the specific conference they are delivered is not very…
I'm using Debian testing with the Sway window manager without the Xwayland translation layer : this means that I am forcing myself to use only pure Wayland application (it's a way to test how the ecosystem is evolving). Gimp 2.10.x does not support this configuration so I need to install the unstable version Gimp 2.99. Since the Debian experimental release channel has Gimp 2.99,…
Last week I've found this poem, the author is Ingeborg Bachmann (1926 – 1973), Austrian poet and author. Alle Tage Der Krieg wird nicht mehr erklärt, sondern fortgesetzt. Das Unerhörte ist alltäglich geworden. Der Held bleibt den Kämpfen fern. Der Schwache ist in die Feuerzonen gerückt. Die Uniform des Tages ist die Geduld, die Auszeichnung der armselige Stern der Hoffnung über dem Herzen. Er…
06-04-2024 UPDATE : Looks like the disconnection issue mentioned at the end of the article could be caused by interferences from other BT/Wireless devices (see this comment on the kickstarter page - requires login) or in general by batteries near to be empty. The mouse seems to eat up batteries quite fast, especially when using the trackpad scrolling. Project owner now replies quite…
Inspired by this toot on Mastodon , I have added the Web Key Directory files for my email address: this will make easier for smarter email clients to retrieve my PGP public key without having me sending it around or having the email sender retrieve it manually. The Web Key Directory (WKD) is stupidly simple to configure. There are two ways to do that, a "Direct" way and an "Advanced" way, both…
In a previous article I did an overview of how I learned a few tools to tune my emails storage (mostly how to classify them based on their provenance). Today we will do a quick dive into how to tweak a bit the configuration for exim4 for local mail delivery. exim4 is one of those old UNIX services that exists since the dawn of time: it's a mail server service and an MTA (basically it can…
In this article I'll explain my learnings about implementing a filtering system for incoming emails. The level of yak shaving I had to go through to reach the final goal has no precedent in the entire human history. I don't use a webmail or the IMAP protocol, I stick to the classic POP3s (which means download emails from the server and keep a local copy). It all started with an innocent…
This is the 4th article in the series of learning more about Postgres and applying it to a Rust backend. Here is a index of them all . In this episode we are going to explore how to build and use a connection threadpool. Using a DB connection threadpool is one of the first thing that is likely to be planned in any application that will sustain a constant stream of users and therefore many DB…
In this post I'll detail my attempt to install and play a little bit with Guix, how I failed to become friend with it and why. A bit of context first (as usual, courtesy of Wikipedia ): GNU Guix System (previously GuixSD) is a rolling release, free and open source Linux distribution built around the GNU Guix package manager. It enables a declarative operating system configuration and allows…
This is the 3rd article in the series of learning more about Postgres and applying it to a Rust backend. Here is a index of them all . Starting from this article (in the series of Postgres) we now abstract from the database, move one level up and start looking at how to interact with Postgres using Rust. Previous entries of the series focused on the Postgres JSON fields and custom data types . In…
Hi, welcome to the second article of the series about using Postgres. The first article, where we explored a bit the JSON fields, is available at this link . Go read it to have an introduction to the series. Here is a index of them all . In this article we will see a quick summary on how to use Postgres custom data types. The basic idea is that with Postgres we are not confined to the standard…
With this article I'd like to start a series of technical posts about things I've learned in (more or less) the last year while working on a project. It's a kind of braindump of technical documentation, for things that I need to know and tend to forget. Here is a index of them all . I often find myself referencing my own code to pick up again how to do something. I'm quite sure…
"Bullshit jobs" is a book from David Graeben: I'll drop here some quick notes about it before I forget them for good. I won't introduce the author because I want this article out quickly; if you're interested please do your own research. First of all, I echo the words of a friend of mine: the author writes in a pleasant way. Easy to follow, just like listening to a friend. The…
Unfortunately the smartphone I was using since 2018 died. Long story short, tried to replace the battery but it does not charge anymore. I'm not sure if this can be fixed but now I have a more urgent problem to solve. I need another smartphone quickly. Buy a new one? Maybe, but first let's try to put an old friend back on its feet. I'll document the process for my reference. §…
I am a Sway user since quite some time. I'd say a happy user but from time to time I encounter some rough edges that most of the time can be solved with some scripting or with a better understanding of the documentation (RTFM!). I will illustrate the latter case as I tried to answer the question "How can I open a Firefox window and place it into a specific workspace?". Since quite some time I…
I'd like to pin down some thoughts I had during a conversation with a friend about technical conferences in 2023. Thinking to the past +2 years, I realize that my conference content consumption has gone to almost zero. Before the pandemic I enthusiastically participated to conferences, enjoying meeting people and picking their brains about a lot of subjects. Gossiping and sharing a dinner was…
Hello! I'd like to introduce a new tool. The goal of this tool is to export from GitHub issues, comments and labels and migrate them to Sourcehut issues tracker, todo.sr.ht . Binary releases are at this link: Release v0.1.0 ( sources ) At its core, this tool is simply a GraphQL client that pulls stuff from GitHub and pushes them to Sourcehut, just using HTTP calls and interfacing to both…
Cargo is the package manager to install libraries in a Rust project, it's the equivalent of pip for Python, npm for NodeJS and so on. Using cargo is easy but its ergonomics can be improved a little bit. This is a short note for the purpose of creating a reference for my future self. One of the useful properties of library dependency management in Rust is that you can choose which optional…
Sometimes I think about what "senior" means when I read this word in job titles. There are some obvious implied connotations and others not so obvious. Sometimes companies mean the former and overlook the latter. Let's have a look at the not so obvious ones because they are more interesting. When I read job postings the general meaning I infer for a senior role is the expectation that this…
Documenting source code is the friend and at the same time foe of many developers. We, as developers, constantly ignore this practice (especially in closed-source projects when the team is small and the onboarding of a new member is an afterthought). So let's see two ways - perhaps not very well known - to add documentation in our Rust code. They might not be suitable for everyone but there…
I've watched a couple talks from the Emacs Conference 2021 , one in particular struck me as a very powerful witnessing from the open-source world. The speaker is Bastien Guerry , maintainer of Org mode (an Emacs mode for keeping notes, authoring documents, computational notebooks, literate programming and so on) and this is the link to his talk: how to help Emacs maintainers? . The thing that…
I took on the herculean effort (for my relatively low span of attention) to rewatch ALL 7 seasons of "Star Trek - The Next Generation". I am not a fan of the series but it helped coping with many weeks of medium-to-intense work followed by mental exhaustion on the sofa. A quick context copypasted from Wikipedia : "Star Trek: The Next Generation (TNG) is an American science fiction television…
Dear Github, can you please stop changing the CSS every fucking second? Can you please find something else to do for your UI designers if they're really so bored? Also, while we're here, please fix your APIs (issues and pull requests search, in case you're wondering) and stop adding broken features like this: (The copy widget stays over the log line) Thanks.
It happened. I'm not using Emacs anymore. Or am I? § Motivation: when enough is enough I've been an Emacs user since only about 5 years, which on the Emacs timeline makes me barely a newcomer . I've always loved the all-around experience of using Emacs and at some point I had realized to be a prisoner of it . And while I stubbornly refuse to learn elisp, I have this hate/love…
Since we are forced to spend most of our time using a web browser, it becomes natural to try improving the ergonomics of this tool in any way possible, to the point that even a single small improvement has a devastatingly positive effect in the long run for this Holy Grail we all long for: productivity. What if we could improve most of the browser "hot paths" usage patterns? The multiplier in…
The following screenshot is the current version of the "Notifications and Offers" page of the Google Play App for Android, localized in German. Can anyone explain me what kind of American-centric designer thought that that hand is an understandable way to convey the meaning for "ok, everything is done"? Example of dumb design. Please don't do this. Sometimes I read about "inclusive design";…
I've recently gave a small talk at a local meetup about static compiling in Rust. I'd like to drop here some thoughts, the topic is really interesting. The slides are available here (org-mode file exportable to HTML via revealJS). It all began when I began deploying a Rust application server on remote servers. One of the problems of compiled languages (such as Rust) is that the binary…
Emacs has recently merged into the master branch a long-awaited feature: native compiling of Lisp modules using libgccjit (just-in-time compilation with GCC). I was curious to try it without waiting the official Emacs 28.x branch release so I copied a Docker file "template" found at this link and adapted to my needs. Changes I applied to that template: Since I use Debian, I changed the base image…
Since a couple of years the Rust programming language core team has a tradition of publishing a survey and gather feedbacks about various aspects of the language and the community around it. This call is generally called "Rust 20xx" and has a yearly cadence (generally happening in the last quarter). I don't know and can't measure how these feedbacks are taken into account but I always…
Or: How removing peoples' avatars surprisingly improved my productivity and reduced my mental strain. 2021-04-20 UPDATE : I didn't even finish writing this article that Github announced another anti-feature: an achievements panel . Great to see that now Github will become a role-playing board. I've been experimenting for the last few months how removing a specific feature of some…