Wednesday, 9. September 2026 Week 37

Fix radvd warning invalid MTU 1500 on MikroTik

After upgrading to the latest stable RouterOS, I suddenly got many of the following log entries:

Sep  9 06:09:43 fw-router-1-wan.example.lan radvd,warning invalid mtu 1500 on vpn_tunnel_45 from fe80::1111:2222:3333
Sep  9 06:11:09 fw-router-1-wan.example.lan radvd,warning invalid mtu 1500 on vpn_tunnel_50 from fe80::4444:5555:6666:7777
Sep  9 06:14:26 fw-router-1-wan.example.lan radvd,warning invalid mtu 1500 on vpn_tunnel_51 from fe80::8888:9999:aaaa:bbbb
Sep  9 06:15:23 fw-router-1-wan.example.lan radvd,warning invalid mtu 1500 on vpn_tunnel_45 from fe80::1111:2222:3333

Turns out that for some reason (maybe some old manual config?), the following was configured on the devices:

/ipv6 nd
set [ find default=yes ] advertise-dns=yes hop-limit=64 mtu=1500

Thus to fix it, we need to set the mtu parameter to unspecified (so that MTU values are not added to the neighbor discovery messages and radvd stops complaining about the MTU missmatch):

/ipv6 nd set [ find default=yes ] mtu=unspecified
Friday, 28. August 2026 Week 35

Happy 25th Birthday kniebes.com 🥳

Mit ein paar Tagen Verspätung wßnsche ich dem Journal von Markus alles Gute zum 25. Jubiläum.

Es ist immer wieder eine Freude einen neuen Post im Feedreader zu sehen.
Auch die kurzen Einträge auf GrumpyOldMan bringen mich regelmässig zum Schmunzeln 😊

Der Weblog auf kniebes.com (damals noch unter cyrus.ruhr.de, deep-resonance.org, kniebes.de und weiteren unterwegs) war eine der initialen Inspirationen welche mich selbst zum Weblog bauen/schreiben gebracht hatten.
Daher freut mich das Jubiläum umso mehr und ich bin gespannt auf die nächsten 25 Jahre! 🎉

Friday, 21. August 2026 Week 34

Jailbreaked my Kindle Touch

I successfully jailbreaked my 14 year old Kindle Touch 🎉
This after support for it was ended by Amazon back in May.

Currently my plan is to use calibre to load new books onto it and KOReader to read them.
As a first step I jailbreaked the Kindle Touch and installed KOReader.

Guides for this were scattered and only focused on one part of the process.
So I ended up following the steps in this Reddit Comment, which worked flawlessly for me.

The guides on the Kindle Modding Wiki aren't very good for older Kindle models. Many people have problems with them.

I suggest factory resetting your Kindle, and then follow this guide:

1 - Update firmware

  • If your Kindle's firmware is already version 5.3.7.3, you don't need to do anything.

  • If it's lower than 5.3.7.3, follow the instructions here to update.

2 - Install jailbreak

  • Download the K5 JailBreak (5.0.x - 5.4.4.2) package from here and unpack it.

  • Find kindle-5.4-jailbreak.zip. It contains seven files:

    • bridge.conf

    • bridge.sh

    • developer.keystore

    • gandalf

    • jb.sh

    • json_simple-1.1.jar

    • Update_jb_$(cd mnt && cd us && sh jb.sh).bin

  • Copy those seven files to your Kindle's root directory.

  • Select the "update your kindle" option in the settings menu.

  • After the words **** JAILBREAK **** appear at the bottom of your screen, select the "restart" option in the settings menu and wait for the Kindle to restart.

3 - Install DevCerts Update

  • Download the DevCerts zip file from here.

  • Find the update file labeled "k5-ALL_keystore-install.bin" and copy it to your Kindle's root directory.

  • Select the "update your kindle" option in the settings menu

4 - Install KUAL

  • Download the "KUAL" package from here.

  • Find the "KUAL-KDK-2.0.azw2" file and copy it to your Kindle's documents folder.

5 - Install KOReader

  • Download "koreader-kindle-v*.zip" file from here. It contains two folders:

    • extensions

    • koreader

  • Copy those two folders to your Kindle's root directory.

6 - Use the KUAL entry in your Kindle's library to launch KOReader.

Tuesday, 18. August 2026 Week 34
Friday, 7. August 2026 Week 32

Firefox settings for a security-/privacy-conscious user

Will Dormann made a nice post with Firefox settings that a security-/privacy-conscious user may want to enable:

If anybody else is making the switch to (or back to) Firefox, there are a few settings that a security-/privacy-conscious user may want to enable:

  1. Enable the Block AI enhancements toggle to disable all AI-related nonsense globally.
  2. Disable Telemetry & Data Collection.
  3. Disable "Firefox Home"
  4. Use "Strict" tracking protection
  5. Enable HTTPS-only mode

Bonus:
In about:config, set:

  • privacy.resistFingerprinting: true
  • media.peerconnection.enabled: false
  • geo.enabled: false
Saturday, 11. July 2026 Week 28

Making the bees walk in line

Try staying still and "doing nothing" when your head is a beehive of thoughts, ideas, emotions, intentions, and desires.
Sadly, I often end up scrolling.
It gives the illusion of "stopping", but it doesn't help the beehive.

So I have a collection of "rest activities". Jigsaw puzzles. Listen to a podcast or watch a TV series. Read a book. Listen to a song. Physical activity of course, but that's off the table, particularly with this heat.
I'm going to add writing.
Not for the content, but for giving my brain a linear experience without input. Because input feeds the bees.

Stephanie Booth shares her handwritten (!) thoughts on a particular activity to help slow down: Making the Bees Walk in Line

Thursday, 2. July 2026 Week 27
Sunday, 21. June 2026 Week 25
Saturday, 20. June 2026 Week 25
Monday, 15. June 2026 Week 25
Saturday, 13. June 2026 Week 24

Fix new podcast episodes not showing up in the iPhone Podcast app

Since the end of last month, I no longer see new podcast episodes for a podcast that produces daily episodes.
No amount of refreshing or unsubscribing/re-subscribing helped so far.
Especially annoying is that the episodes are there when searching for them, but do not show up in the subscribed podcast while episodes of other podcasts show up without any issues.

Today I finally found a way to fix it:

  1. Open the Settings app of the iPhone
  2. Go to the app settings for the Podcast app
  3. Scroll down and click on 'Reset Identifier'
  4. Restart the Podcast app
  5. Enjoy your missing episodes showing up again 😎
Thursday, 11. June 2026 Week 24
Wednesday, 3. June 2026 Week 23
Monday, 1. June 2026 Week 23
Sunday, 31. May 2026 Week 22
Monday, 18. May 2026 Week 21
Saturday, 16. May 2026 Week 20
Thursday, 14. May 2026 Week 20
Wednesday, 13. May 2026 Week 20

Blog Quest

Blog Quest is a Firefox extension by Robert Alexander that quietly collects RSS feeds when you surf the web.

I like the idea of passively collecting feeds of websites I potentially find interesting, all while preserving my privacy and being unintrusive (no notifications, popups or similar).
Installed it today and already looking forward to review my surfing from time to time 😎

Saturday, 9. May 2026 Week 19

Google Sign-in Popup Blocker

zkbro explains in a post how to configure Librewolf.
One of the mentioned add-ons catched my eye: Google Sign-in Popup Blocker
This should block the annoying sign-in with Google dialogs that popup on some websites.

As this sounds promising, I installed the add-on in my Firefox.
I briefly tested it on a site that uses the annoying sign-in with Google dialog, and this time the dialog did not appear.
To be sure I confirmed it in the developer tools where it mentioned that loading the dialog was blocked by the add-on 🎉

Type-safe slogging

Well written article by Redowan Delowar, explaining how to achieve type-safe logging with Go's log/slog library.

  • Take the logger as a constructor argument. Never reach for slog.Default() or any package-level slog function.
  • Always use logger.LogAttrs(ctx, level, msg, attrs...). Not logger.Info, logger.Warn, or any of the kv-flavored helpers.
  • Every attribute comes from a helper in internal/log/attrs.go. Write applog.OrderID(o.ID), never slog.String("order_id", o.ID) inline.
  • sloglint enforces all three on every commit so the workflow doesn’t erode.
Thursday, 7. May 2026 Week 19

"Nothing" is the secret to structuring your work

"Nothing" is the secret to structuring your work is a very nice article from Steven van Gemert outlining a simple approach to reduce mental baggage and increase focus.

The next time you begin your workday, try this: clear your work surface completely. Close all browser tabs. Create a fresh page in your notebook. Open only the one file you need.

It might feel strange or even scary at first. But notice what happens. Notice how much easier it is to focus. Notice how clearly you can see when you're actually done with something. Notice how much less mental energy you spend managing the chaos.

The world will always be messy. You can't control that. But you can control your work surface. And nothing, that small space of perfect order, is where your best work begins.

Also I felt a bit attacked by this analogy 😅

For example: closets are for storing clothes. Chairs are for sitting on, not storing clothes. Floors are for walking on, not storing clothes. In the same logic, work surfaces are for working, not for storage.
Friday, 1. May 2026 Week 18

Warm Burnout

Warm Burnout — A warm, contrast-audited color theme suite. Mostly warm palette, one cool type accent, WCAG AAA dark and AA light variants. For developers who are already burned out but still have deadlines.

Built on one premise: your eyes have been bullied enough by radioactive blue themes. Warm Burnout is a mostly warm syntax palette with one cool steel-blue accent for types and WCAG-audited contrast.

Warm Burnout (Light)

Warm Burnout (Dark)

Wednesday, 29. April 2026 Week 18
Thursday, 16. April 2026 Week 16

Life advice from @ADHDeanASL

Some things I’ve learned/am learning:
• 99% of things aren’t about you.
• Only you can complete you.
• Let people enjoy things.
• Kindness is imperative.
• Actions > words.
• Stop, look, & listen.
• Love others. You’ll grow.
• Laugh like it’s your job.
• Never stop learning.

(via)

Sunday, 12. April 2026 Week 15
Thursday, 9. April 2026 Week 15
Friday, 27. March 2026 Week 13
Thursday, 19. March 2026 Week 12

TIL: making the network ports blink

With the following ethtool command you can make an individual network port blink.
Can come in handy with the ever changing interface naming conventions of newer Linux distributions.

ethtool -p <interfacename>
Saturday, 7. March 2026 Week 10
Friday, 6. March 2026 Week 10

Extending a LVM partition

Recently I needed to extend/increase a LVM partition to give it more space:

  1. Create a partition on the additional disk: cfdisk /dev/sdb
  2. Create a physical volume on the partition: pvcreate /dev/sdb1
  3. Add the physical volume to the existing volume group: vgextend vg-foo /dev/sdb1
  4. Extend the logical volume to use 100% of the new free space in the volume group (and directly resize the filesystem accordingly): lvextend -r -l +100%FREE /dev/vg-foo/lv-bar
Tuesday, 17. February 2026 Week 8

The Work Moved

The work moved. It didn't disappear. Whether your organization thrives or drowns depends on whether you've moved with it upstream into design, specifications, guardrails, and the messy human work of reducing ambiguity, or whether you're still standing where the code used to be, wondering why everything feels faster and worse at the same time.

The Work Moved

Sunday, 15. February 2026 Week 7
Saturday, 14. February 2026 Week 7
Sunday, 8. February 2026 Week 6

TIL: copying files to Dom0 in Qubes OS

In some rare cases you might need to copy a file from a VM in Qubes OS to Dom0.
This can be done with the following command in a Dom0 console:

qvm-run --pass-io my-vm 'cat /path/to/file/in/my-vm/file.doc' > /path/fo/file/in/dom0/file.doc
Friday, 6. February 2026 Week 6
Thursday, 5. February 2026 Week 6
Saturday, 31. January 2026 Week 5

TIL: prettifying XML files in Vim

Had to work with some machine generated XML files.
To make them more readable, I looked for a way to format and indent them in Vim.

There are many tools for this, I stumbled upon xmllint which also validates the XML.
This can be useful, but restricts it to formatting valid XML files only.

:%!xmllint --format %
Thursday, 22. January 2026 Week 4
Tuesday, 20. January 2026 Week 4
Sunday, 11. January 2026 Week 2

Passwords and MFA recovery codes

Two very interesting blog posts explaining how Alex manages multi-factor recovery codes and memorises passwords:

But enabling MFA isn’t everything – what if you lose access to that second factor? For example, I store my MFA codes in an app on my phone. What happens if my phone is broken or stolen?
I generally trust my password manager, but I don’t want it to be a single point of failure for my entire digital life.
Friday, 2. January 2026 Week 1