Alle Beiträge von Michael Kofler

GPG-verschlüsselte Dateien im Emacs

Auf meinen Rechnern verschlüssele ich Dateien mit Passwörtern oder anderen vertraulichen Daten, vor allem dann, wenn ich sie zwischen mehreren Rechnern teilen möchte oder wenn diese in Backups auf externen Datenträgern landen. Den einfachsten Weg dazu bietet das Kommando gpg -c file.txt. Es fragt (zur Sicherheit gleich zweimal) nach einem Passwort, verschlüsselt die Datei file.txt symmetrisch und macht daraus file.txt.gpg. gpg -d file.txt.gpg entschlüsselt die Datei wieder. (Symmetrisch bedeutet, dass Sie kein Schlüsselpaar brauchen. gpg verwendet zum Ver- und Entschlüsseln dasselbe Passwort, das oft passphrase genannt wird. Verwenden Sie eine ausreichend lange Zeichenkette, die Sie sich gut merken können!)

Kürzlich habe ich entdeckt, dass mein Lieblingseditor Emacs solche Dateien fast transparent beim Laden ent- und beim Speichern wieder verschlüsseln kann. Das Feature ist keineswegs neu, ich bin einfach noch nie darüber gestolpert. Es gibt keine temporäre Klartextdateien, die versehentlich liegen bleibt.

GPG-verschlüsselte Dateien im Emacs weiterlesen →

Ubuntu-Server-Update von 24.04 auf 26.04

Über Ubuntu 26.04 habe ich hier schon berichtet. Heute habe ich meinen ersten Ubuntu-Server von Version 24.04 auf 26.04 aktualisiert. Es ist eigentlich recht gut gegangen. Dieser Beitrag fasst die wichtigsten Erkenntnisse zusammen.

  • MySQL-Passwörter
  • Dovecot-Konfiguration (Update 2.3 -> 2.4)
  • SSH-Server-Konfiguration
  • Externe und obsolete Pakete aufräumen

Ubuntu-Server-Update von 24.04 auf 26.04 weiterlesen →

📚 Agentic AI

Gemeinsam mit Rainer Hattenhauer habe ich im Frühjahr/Sommer Agentic AI – Wie Sie die KI für sich arbeiten lassen verfasst. Das Buch wird gerade an die Buchhandlungen ausgeliefert. Während bei der KI-Nutzung in der Vergangenheit die Kommunikation mit Chatbots im Vordergrund stand, können moderne KI-Agenten selbstständig planen, Werkzeuge nutzen und mehrstufige Aufgaben ausführen – von der Tagesplanung über die E-Mail-Kommunikation bis zu Workflows mit Skills, MCP, lokalen Modellen und der Steuerung von Smart-Home-Systemen.

Das Buch richtet sich explizit nicht an Leute, die mit KI-Unterstützung programmieren möchten. Für dieses Thema verweise ich auf Coding mit KI sowie Claude Code.

Das Bild zeigt das Cover eines IT-Fachbuchs zum Thema Agentic AI. Als Autoren werden Rainer Hattenhauer und Michael Kofler genannt, Verlag: Rheinwerk Computing.

📚 Agentic AI weiterlesen →

Qwen 3.8 Flash Next auf Strix-Halo-Rechnern ausführen

Im Rahmen meiner Arbeit für unser Claude-Code-Buch habe ich wieder einmal durchgetestet, wie weit man mit lokalen Modellen und Open-Source-Tools kommt. Als Coding-Agent habe ich das Programm Pi verwendet, das ich demnächst hier näher vorstellen will. Pi habe ich zusammen mit diversen lokalen Modellen ausprobiert, unter anderem Gemma 4, Qwen-3.6-35b-a3b, Qwen-3.8-27b sowie Qwen-3.8-Flash-Next. Der Testrechner ist mit 128 GB RAM und einer Strix-Halo-CPU ausgestattet.

Um es kurz zu machen: Gemma 4 und Qwen-3.6-35b-a3b sind für agentisches Programmieren einfach zu schwach. Qwen-3.8-27b ist spürbar besser, aber als »dichtes« Modell (dense, immer alle Parameter im Einsatz) mit meiner Hardware definitiv zu langsam. Richtig spannend ist dagegen Qwen-3.8-Flash-Next! Es ist mit 125 Milliarden Parametern das größte und neueste Modell in meinem Testparcours. Dank MoE (Mixture of Experts) sind aber stets »nur« 6 Milliarden Parameter aktiv. Das Modell enthält außerdem eine Look-up-Tabelle für Token-Kombinationen mit weiteren 51 Milliarden Parametern (N-gram Embedding Layer). Die Gesamtmodellgröße wird daher oft mit 180 Milliarden Parametern angegeben. Der Platzbedarf beträgt bei 4-Bit-Quantisierung ca. 110 GB auf der SSD sowie ca. 90 GB im RAM (weniger, weil nur Teile der Look-up-Tabelle tatsächlich im RAM landen). Bei meinen Tests liefert das Modell bessere Ergebnisse als Qwen-3.8-27b und ist gleichzeitig schneller. Eine sehr angenehme Kombination.

Der Rest dieses Artikels beschäftigt sich mit der Frage, welche Möglichkeiten es gibt, Qwen-3.8-Flash-Next auf Strix-Halo-Rechnern auszuführen. Um es vorwegzunehmen: Mein für Testzwecke beliebtes LM Studio ist ungeeignet. Dafür gibt es zwei Projekte, die speziell für die AMD-CPU optimierte Engines anbieten und einen Output von über 40 Token/s erreichen.

Qwen 3.8 Flash Next auf Strix-Halo-Rechnern ausführen weiterlesen →

📚 Scripting (2. Aufl.)

Die 2. Auflage meines Scripting-Buchs ist frisch aus der Druckerei und ab Anfang August im Buchhandel erhältlich. Wie schon die erste Auflage dreht sich alles um die drei Scripting-Sprachen Bash, PowerShell und Python. Für die Neuauflage habe ich das Buch vollständig überarbeitet und aktualisiert. Neu dazugekommen sind unter anderem:

  • Terminal Tuning (»Pimp my Terminal«): Nerd Fonts, Prompt Frameworks, moderne CLI-Tools
  • Python-Modulverwaltung mit uv
  • Ein neues Kapitel zum Erstellen und Zeichnen von Diagrammen
  • Ein neues Kapitel zum E-Mail-Versand per Script
  • Ein neues Kapitel zur Nutzung von KI-APIs in eigenen Scripts
  • Viele neue Praxisbeispiele: Claude-Code-Sessions exportieren, Web Scraping mit Playwright, GPS-Tracks aus Fotos extrahieren, WordPress-Bilder nachträglich mit Alt-Beschreibungen versehen usw.

Das Bild zeigt das Cover des Buchs „Scripting“ von Michael Kofler, 2. Auflage, Rheinwerk Computing.

Gerade jetzt ist Scripting-Wissen wichtiger denn je. KI-Tools wie Claude, ChatGPT oder Gemini erzeugen auf Zuruf Scripts – und führen sie oft gleich selbst aus. Das funktioniert erstaunlich gut, solange jemand am Ruder sitzt, der den resultierenden Code auch beurteilen kann: Welche Sprache eignet sich für die Aufgabe? Was macht dieses PowerShell-Cmdlet eigentlich? Ist der generierte Bash-Einzeiler sicher, oder löscht er versehentlich das falsche Verzeichnis? Ohne dieses Grundwissen bleibt nur blindes Vertrauen in den KI-Output – und das ist bei Code, der auf Servern oder Produktivsystemen läuft, keine gute Idee.

Das Buch vermittelt das Fundament, um Scripts selbst oder mit KI-Hilfe zu erstellen: Crashkurse zu den drei Sprachen, das nötige Handwerkszeug (SSH, Git, VS Code, reguläre Ausdrücke, JSON/XML-Verarbeitung) und zahlreiche Praxisbeispiele aus Backup, Bildverarbeitung, Web Scraping, Datenbank- und Cloud-Administration. Wer diese Grundlagen beherrscht, kann KI-generierte Scripts nicht nur einsetzen, sondern auch verstehen, anpassen und im Zweifel selbst debuggen.

Alle Infos zum Buch, eine Leseprobe und die Bestell-Links finden Sie auf der Buchseite.

Österreich: Schafft die PV-Förderung einfach ab!

In der Vergangenheit gab es in Österreich eine PV-Förderung (EAG-Investitionszuschuss). Die Anträge waren kompliziert, der Fördertopf innerhalb weniger Minuten erschöpft.

Die damalige türkis-grüne Regierung hat diesen Unsinn per 1.1.2024 weitgehend abgestellt und stattdessen die Umsatzsteuer für private PV-Anlagen bis 35 kWp ausgesetzt. Damit entfielen für fast alle privaten PV-Anlagen die lästigen Förderanträge bei der OeMAG. Die erlassene USt entsprach ziemlich genau der Förderhöhe. Im Gegenzug sank der irrsinige Verwaltungsaufwand praktisch auf Null.

Mit dem Regierungswechsel kam das rasche Ende. In einer der ersten Maßnahmen wurde die ohnedies befristete USt-Aussetzung per 1.4.2025 vorzeitig beendet. Aber ein bisschen »öko« wollte die neue Regierung dann doch sein. Das alte Fördermodell wurde mit all seinen Nachteilen reaktiviert, aber mit einem (noch) bescheidenerem Budget ausgestattet. So bescheiden, dass beim letzten Förder-Call nur Anträge innerhalb der ersten 33 Sekunden angenommen wurden (derstandard.at).

Lieber ein ehrlicher Förderstopp als eine Verhöhnung des Volkes

PV-Produkte sind in den vergangenen Jahren erheblich billiger geworden. Man kann also volkswirtschaftlich argumentieren, dass eine Förderung nicht mehr notwendig ist. Von diesem Argument lasse ich mich sogar überzeugen. Ein regenerativer Umbau Österreichs genießt ja leider nicht die höchste Priorität der Regierung, um es einmal höflich zu formulieren. Insofern wäre es also vermutlich zweckmäßiger, die ohnedies bescheidenen Mittel zur Förderung regenerativer Heizungen (Wärmepumpen!) zu bündeln und den PV-Sektor ganz dem freien Markt zu überlassen.

Aber wenn man zu dieser Erkenntnis gelangt, dann sollte man auch den Mut haben, das auszusprechen. Die Pseudo-PV-Förderung, die wir heute haben, ist eine Verhöhnung des Volkes. In den Genuss einer Förderung kann aktuell nur kommen, wer erstens die Formulare für den Förderantrag praktisch auswendig kennt und alle Daten per Cut&Paste blitzschnell einfügen kann; und wer zweitens Glück hat.

Dieses System ist absurd. Es ist mit einer Lotterie zu vergleichen. Dann lieber gar keine Förderung! Das aktuelle System bereitet nur Frust und ist sogar kontraproduktiv, weil geplante PV-Anlagen verschoben werden — in der unsinnigen Hoffnung, vielleicht beim nächsten Förder-Call mehr Glück zu haben.

Quellen/Links

E-Mails mit Python lesen: imaplib

Für die Neuauflage meines Scripting-Buchs habe ich mich zuletzt mit dem Senden und Empfangen von E-Mails per SMTP und IMAP beschäftigt. Dieser Blog-Beitrag stellt das Standardmodul imaplib vor. Damit können Sie per IMAP Postfächer abrufen und verwalten. Die Anwendung ist ein wenig umständlich, aber dafür können Sie wirklich praktisch alles machen, was das Protokoll IMAP vorsieht.

E-Mails mit Python lesen: imaplib weiterlesen →

Lehren aus dem AUR-Angriff

Mitte Juni 2026 wurden über 1500 AUR-Pakete kompromittiert (siehe auch den vorigen Blog-Beitrag zu diesem Thema). Es zeugt natürlich von großer Überheblichkeit, als Mitautor eines Hacking-Buches zu glauben, selbst immun gegen Angriffe zu sein. Ein Update zum falschen Zeitpunkt hat mich auf den Boden der Tatsachen zurückgeholt und mir — einen Tag vor Urlaubsantritt — eine Menge sinnloser Arbeit beschert. Ich habe Anthropic- und OpenAI-Keys widerrufen, die SSH-Keys des betroffenen Notebooks von diversen Servern und Dienstleistern gelöscht und unzählige Passwörter geändert. Sch***!

Heute habe ich, natürlich ohne das System neuerlich zu booten, eine Analyse gemacht. Im Prinzip:

pacman --root /mnt/arch --dbpath /mnt/arch/var/lib/pacman -Qm

Ich habe 60 AUR-Pakete gefunden. Nur eines davon (libgdata, eine veraltete GNOME-Bibliothek für den Zugriff auf Google-Dienste) wurde kompromittiert. Ich habe es nur Stunden nach der Manipulation, aber eben noch vor der Berichterstattung über den Hack installiert. Extremes Pech im Timing!

Dieser Blog-Beitrag ist der Versuch einer persönlichen Aufarbeitung. Was ist passiert? Warum ist es passiert? Und was kann ich daraus lernen?

Eines vorweg. Dieser Artikel ist keine Kritik am Arch-Linux-Projekt. Dieses hat immer klar kommuniziert, dass AUR-Pakete — wie der Name schon sagt (Arch User Repository) — von den Benutzern selbst gepflegt werden und keiner Kontrolle unterliegen. Wer solche Pakete installiert, ist selbst verantwortlich, mit allen — dieses Mal sehr unerfreulichen — Konsequenzen.

Lehren aus dem AUR-Angriff weiterlesen →

Infos zur Arch-Linux-Attacke

Am 11.6. 2026 entdeckten Sicherheitsforscher kompromittierte AUR-Pakete in Arch Linux (AUR = Arch User Repository). Zwischenzeitlich waren ca. 1600 AUR-Pakete betroffen.

AUR-Pakete sind nicht offizielle Zusatzpakete, die kein dezidiertes Prüfverfahren durchlaufen. Die Installation erfolgt häufig über einsteigerfreundliche Tools wie yay oder paru. Der Angriff erfolgte durch die Modifizierung der PKGBUILD-Dateien von Paketen, die als verwaist (orphaned) galten, für die es also keinen Maintainer mehr gab. Aufgrund der veränderten PKGBUILD-Datei wurde zusätzlich zum Paket Schadsoftware installiert.

Ziel des Angriffs ist offensichtlich das Einsammeln von Passwörtern aus Firefox- und Chromium-basierten Browsern sowie von SSH-Keys und anderer sensibler Daten. Die Informationen dazu sind noch spärlich.

Infos zur Arch-Linux-Attacke weiterlesen →