2026/02/02

Link Diary January 2026

Happy new year! :)

Running Age Of Empires 2 with Linux/Steam

It did not work out of the box with the Proton Experimental. Also not with the Proton-GE 10.

I tried a bunch of Proton versions and Proton 8.0-5 launched it.

Set firefox the default browser in CLI

I could not find where the desktop file for firefox was, while clearly installed.

This helped:

locate *firefox*desktop

So then with the finding of the proper name I was able to

xdg-settings set default-web-browser firefox_firefox.desktop

ZSH Intro and globbing cheat sheet

I switched to zsh, inspired by Bread, and getting familiar with it.

Find all docker containers that will restart

Port were blocked after clean reboot already. Turns out, some docker compose files bring a restart-directive that causes that. So, always stop it properly.

docker ps

Stop what you don't need.

docker stop ID ID ID

Some may always restart not matter what, so check it.

for container in $(docker ps -a -q); do
  restart_policy=$(docker inspect --format '{{.HostConfig.RestartPolicy.Name}}' $container)
  if [[ "$restart_policy" == "always" || "$restart_policy" == "unless-stopped" ]]; then
    name=$(docker inspect --format '{{.Name}}' $container)
    echo "Container $name has restart policy: $restart_policy"
  fi
done

Query a mongoDB

I have a Peertube project here using Go and MongoDB.

To connect to MongoDB I use the mongodb-compass.

But how to write queries?

Speaking of MongoDB, I see "bson" everywhere, as if "json" wasn't good enought. Turns out it isn't.

Diving into Firefox

I take the DID as an opportunity to try new things … being stuck on Google Tools for the past years.

I'm on Linux, not all of that may apply to

What I dig:

  • Surely only for Linux-Fanboys: Copy (via simple marking as you're supposed to), and simple middle-mouse-click into the address bar replaces the URL. Awesome. Suck it, Chrome!

The Android Calendar and NextCloud

In NextCloud I have a Calender for the web browser. Great. I want this syncing with my phone back and forth to replace Google Calender.

Some NextCloud Apps in Google PlayStore cost money and they do not in the F-Droid store. So, F-Droid it is.

I imported my Gmail calendars using Google's ICS export. Imported in NextCloud into an existing calendar then worked easily.

With F-Droid I installed the App NextCloud (it's like a webview to NextCloud whereas the PlayStore App "Nexcloud" is only for files - very confusing).
I installed Calender from Fossify. There's a DAVx5 sync option, but I can only see Google Calenders.

I install the DAVx5 App with F-Droid (because in PlayStore is costs and because nextcloud says so). I connect this with my NextCloud. I activate calendars to sync. Now they appear in the list but I chose the same names and used the gmail address to setup NextCloud, now it's all double.
I tried to rename them in NextCloud but it does not sync anymore. I really had to uninstall and re-install DAVx5. In that process I also changed my email and with this they clearly separate in the calender selection.

  • Have NextCloud & Calender
  • Install DAVx5
    • connect to NextCloud
    • select calendars to sync
  • Install Kalender
    • select the NextCloud Calenders

When adding an event, it does not instantly sync but in intervals. Sync can be enforced.

The Thunderbird Calendar and NextCloud

Connecting the NextCloud Calender was fairly simple. Added a new calendar as "On the network", giving my NextCloud URL and username. It asked for password and presented the calenders as options to sync.

Remove Youtube Music from MyActivity Youtube history

I collect the Video picks by going through my history on https://myactivity.google.com . Unfortnuately that also list every song I listened to you Youtube Play Music, search queries and of all useless things: Shorts. Super not helpful.
This script removes these entries:

[...document.querySelectorAll('span')]
  .filter(s => s.textContent.trim() === 'YouTube Music')
  .forEach(s => s.closest('c-wiz')?.remove());
  
[...document.querySelectorAll('span')]
  .filter(s => s.textContent.trim() === 'YouTube')
  .forEach(s => {
    const cwiz = s.closest('c-wiz');
    if (!cwiz) return;
    
    if(cwiz.innerText.includes("Searched for ")) {
      cwiz.remove();
      return;
    }
    
    const durationDiv = cwiz.querySelector('div[aria-label*="Video duration"]');
    if (!durationDiv) return;
    
    const durationText = durationDiv.textContent.trim();
    // Check if duration starts with "0:" (less than 1 minute = Short)
    if (durationText.startsWith('0:') || durationText.startsWith('1:')) {
      cwiz.remove();
    }
  });

Video-Picks

Youtube Preview/Vorschau
Swiping is bad, seriously

It looks into brain rot of the youth but discovers something much more fascinating that makes us swipe-zombies and we feel in control of it.

Youtube Preview/Vorschau
Jaw dropping drone show

K-Pop Demon Hunters promo.

Youtube Preview/Vorschau
Bye Bye, Big Tech

Calling for the "Digital Independence Day": Ditch Meta, Google, X etc and switch to not so big, maybe european, maybe federated solutions.

Youtube Preview/Vorschau
OpenClaw, pretty wild

It seems useful, and dangerous. That's a lot of trust. But to be fair, it's amazing, this will grow.

Youtube Preview/Vorschau
Once registered some domains?

He reactivates domains found in tutorials and suddenly receives a lot of traffic and emails.

Youtube Preview/Vorschau
Proper protein from a plant

Sounds strange, but hey, there are wilder conspiracies.

Youtube Preview/Vorschau
So many ways

… to wrap that tube scarf around your head.

Youtube Preview/VorschauYoutube Preview/VorschauYoutube Preview/Vorschau
Modelling techniques

Hands-on process, nice techniques used.

Youtube Preview/Vorschau
East Bay Punk History

It's so amazing how this all developed.

Youtube Preview/Vorschau
We need more Vitamin D

A lot more.

Youtube Preview/Vorschau
Better Toon Shader

… that also reacts to light properly.

OEmbed Error
  • Provider returned HTTP Status 400 for
  • All resolution methods failed
Decent list of Linux resources

Useful links to learn and understand Linux.

Youtube Preview/Vorschau
The risks that come with AI agents on your PC

They explain very well how agents function, what context is and what risks come with it. They're from Signal, so they have some trouble providing a secure chat when Microsoft simply makes Screenshots of it for AI usage.

Discussion

Enter your comment: