Michael Vorburger.ch Blog (v3)

2025

SSH with private keys sealed in TPM on Fedora Linux

June 19, 2025
SSH with private keys sealed in TPM on Fedora Linux image

SSH with private keys sealed in TPM on Fedora Linux

Instead of safely storing SSH private keys on a Yubikey (if you don’t have one) you might want to keep private keys sealed in TPM.

Here is how to do this on Fedora Linux using https://github.com/Foxboron/ssh-tpm-agent :

$ sudo dnf install openssl-devel
$ go install github.com/foxboron/ssh-tpm-agent/cmd/...@latest

$ ~/go/bin/ssh-tpm-keygen --supported
ecdsa bit lengths: 256 384
rsa bit lengths: 2048

As this TPM supports ECDSA keys with 384 (but not 521) bits, so:

Google Agent Development Kit (ADK) for Java with Gemma on Ollama

June 7, 2025
Google Agent Development Kit (ADK) for Java with Gemma on Ollama image

Google Agent Development Kit (ADK) for Java with Gemma on Ollama

Good news for Java developers! Google’s ๐Ÿงฐ Agent Development Kit (ADK), already popular in the ๐Ÿ Python community, has officially arrived for โ˜• Java.

This opens up exciting possibilities for millions of Java developers and enterprises looking to integrate powerful AI agent capabilities into their existing applications.

The initial version of the Java ADK directly supports the Gemini and Claude large language model (LLM) APIs already. In the Java ecosystem, LangChain4j is a popular framework (together with Spring AI) which already has many (20+ and more through the OpenAI API) integrations with other LLMs.

Fun with Pseudo-Terminals (PTY) & TTY ("Teletypewriter") over `socat` & `websocat`

May 25, 2025
Fun with Pseudo-Terminals (PTY) & TTY ("Teletypewriter") over `socat` & `websocat` image

Fun with Pseudo-Terminals (PTY) & TTY (“Teletypewriter”) over socat & websocat

In the context of Enola.dev #1368 , I recently learned a few things related to openpty and how to execute a program under a “pseudo (virtual) terminal” so that it e.g. prints ANSI color codes, and allows interactive control, like a Shell or Editor requires.

socat

socat , the “better netcat++” is one way do this. In one Terminal, run:

socat file:/dev/tty,raw,echo=0 tcp-listen:12345

In another Terminal, run:

Jules.google

May 20, 2025
Jules.google image

Jules.google

jules.google is my new best friend. It’s just so very awesome.

It just made a fix for ch.vorburger.exec issue #263 from my prompts; see PR #279 - it’s great.

Jules directly works on your project in an isolated new VM for each task, where it iterates until a solution passes the build. This is the next step of where we’re heading as an industry, and the generation beyond the current assistants that are inside your traditional IDE. With Jules, I didn’t manually edit files anymore at all; only chat. Here is the story of the aforementioned PR:

Switching from NetworkManager to systemd-networkd on Fedora Linux 41 Workstation

April 12, 2025
Switching from NetworkManager to systemd-networkd on Fedora Linux 41 Workstation image

Switching from NetworkManager to systemd-networkd on Fedora Linux 41 Workstation

TL;DR

This blog post documents how to switch from NetworkManager to systemd-networkd on Fedora Linux 41 Workstation.

Background

I have always been using NetworkManager on Fedora Linux Workstation. But sometimes my computer would refuse to enter suspend mode, or not work when resuming (“waking up”) from suspension.

journalctl -k showed that it was because of: “Freezing user space processes failed after 20.004 seconds (14 tasks refusing to freeze, wq_busy=0):” with all in state:D:

FOSDEM 2025

February 1, 2025
FOSDEM 2025 image

FOSDEM 2025

https://www.fosdem.org/2025/schedule/

Saturday 2025-02-01

Welcome

  • FOSDEM was the 1st IPv6-only non-network large-scale conference
  • Quote: “Send us your anecdotes, e.g. if you met someone here at FOSDEM and got married.”
  • https://FOSStodon.org/#FOSDEM
  • February 1st is Global Switch Day, from:
    • Twitter to Mastodon
    • Instagram to Pixelfeed
    • WhatsApp to Signal (or Threema!)
    • Facebook to Friendica
    • YouTube to PeerTube
    • TikTok to Loops.video
  • Sponsored by Google, Red Hat, ARM, Block, Bloomberg, CNCF, Codethink, Colt, Element, dstny, Eclipse Foundation, Mozilla
  • Seymour Papert, Jean Piaget (Swiss), Marvin Minskey, Alan Key (Xerox PARC, “A personal computer for children of all ages”, 1972); MIT
  • Speaker worked with Alan Key
  • Turtle, making it physical is important
  • Logo
  • Smalltalk-80, Squeak open-sourced in 1996 by Alan Key, eToys; try Squeak.js
  • Scratch is #12 on TIOBE programming languages popularity

This is what got me started - a 100 years ago; Thank You, MIGROS Klubschule St.Gallen.

2024

Visual Studio Code 'launch-failed' code '159' Crash Fixed

December 29, 2024
Visual Studio Code 'launch-failed' code '159' Crash Fixed image

Visual Studio Code ’launch-failed’ code ‘159’ Crash Fixed

Recently my Visual Studio Code on Fedora Linux 41 Workstation failed to start, saying: “The window terminated unexpectedly (reason ’launch-failed’ code ‘159’)”.

I initially attempted to solve this by starting it with code --verbose --wait, but that just showed some error messages which didn’t mean all that much to me.

Google Gemini was kind enough to walk me through debugging this using the following steps:

GitHub Pages on Custom Domains required `github.io` instead of `github.com` DNS

December 13, 2024
GitHub Pages on Custom Domains required `github.io` instead of `github.com` DNS image

GitHub Pages on Custom Domains required github.io instead of github.com DNS

My personal homepage https://www.vorburger.ch is hosted on the GitHub Pages Content Delivery Network (CDN).

Tonight while I was having dinner, the uptime monitoring I set up for it using Cronitor.io (great product!) started firing ๐Ÿšจ alerts - homepage down!

After poking around my domain registrar, DNS server and GitHub, I noticed, somewhat by chance, that I have been, since a very long time, using a CNAME of vorburger.github.com for www.vorburger.ch. This has been working since mid-2012, 12+ years!

Infomaniak.com Swiss Cloud Provider Technical Support for SMTP problem

November 27, 2024
Infomaniak.com Swiss Cloud Provider Technical Support for SMTP problem image

Infomaniak.com Swiss Cloud Provider Technical Support for SMTP problem

One fine day, when I am retired, and will have more time at hand to “have fun” than I do these days, I’ll switch my personal email to being fully decentralized self-hosting .

But these days fully running your own MTA properly requires more time than I personally am currently willing to give it.

In the meantime, I run my personal email in an admittedly somewhat weird set-up, like this:

Solid

September 12, 2024
Solid image

Solid

I had heard about Solid from โš”๏ธ sir TBL ๐ŸงŽ a few years ago already, but only today I’ve actually tried it out; like this:

  1. Create your Pod, e.g. at Inrupt (or another hosted pod service , not tested)

  2. Use an App, such as Media Kraken , chose to store your data using Solid, Login with your own https://id.inrupt.com/YOU , add your favorite movies!

  3. Now, to look “behind the curtain” and “under the hood”, look at your personal RDF content, using a UI or as raw ๐Ÿข Turtle , using a Pod Browser such as Penny - no Take Out of your ๐Ÿ”— Linked Data needed!

Load more...