ads' corner

Extract GPS coordinates in KDE with just a right click

Oftentimes I need the GPS coordinates from where a picture was taken. In the past I was using exiftool, but that still includes too many steps. KDE has a feature where one can create custom context menus, called service menus, which let me define a right click menu for images, and a script is populating the clipboard with the coordinates.

check-markdown-files: pre-commit checks for blog postings written in Markdown

After switching my blogs to a static blogging engine, I found a number of preventable issues. Certain syntax errors, forgot tags, or forgot a description, or forgot a preview picture, or forgot an image. This kind of things. So I wrote check-markdown-files.py, which now scans all my blog postings before committing the posting to git. Any known error is raised, and aborts the commit. Each problem has an override switch in case it is a false positive.

Raspberry Pi OS - First Steps

A long time ago I wrote down the first steps I usually do when installing a new Raspberry Pi. Now I'm installing a new system, with a 2025 Raspberry Pi OS. Time to update the notes.

Hugo Blog: Find postings without comment id

In a previous blog posting I explained hwo to add comments using your *Mastodon* account. It so happens that I occasionally forget to add the origin *Mastodon* comment ID to the posting. So I wrote a script.

DeprecationWarning: datetime.datetime.utcnow() is deprecated and scheduled for removal in a future version. Use timezone-aware objects to represent datetimes in UTC: datetime.datetime.now(datetime.UTC)

One of my older Python scripts is throwing a deprecation warning in the 'datetime' module after the recent switch from Ubuntu to Manjaro. The Python version is '3.12.4' now, previously it was '3.11.4'.

Watch for changed files in SyncThing

For syncing files between my devices I'm using SyncThing. This tool is reliable, available on Linux, Android, Mac and iOS. And it encrypts the communication. But sometimes I want to know when files in certain directories have changed - as example in my Obsidian vault. This allows me to post-process the files.

Migration from Twitter to Mastodon

Many people (I don’t like this phrase) are leaving Twitter these days, and looking for a new social media home. One of these places is Mastodon. This blog post aims to summarize the steps necessary for a migration, and includes pointers to websites which can help with said move.

Hanging script at the end of Python multiprocessing

While writing and stress-testing a Python script which uses the multiprocessing library, I ran into the problem that occasionally the script hangs at the end. Literally runs past the last line of code and then hangs.

Django: Change or translate the app name in the admin menu

Let’s say I have a Django app users. The admin menu shows this as category Users. That’s ok, but if the website users speak another language I want this name translated. Also I’m not necessarily using Users as name in the admin menu as section name, but can use something more descriptive. Website Users, as example.


Django: Remove default entries from admin menu

The Django administration site comes with a couple of default entries, depending on which apps and middleware is installed.