<?xml version="1.0" encoding="utf-8"?>
<?xml-stylesheet type="text/xsl" href="assets/xml/rss.xsl" media="all"?><rss version="2.0" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom"><channel><title>Linuxkurs-Blog</title><link>https://lannert.de/debloss/</link><description>Dieses Blog enthält Anregungen und Hinweise auf Neues, mit dem Schwerpunkt auf Linux und einigen Werkzeugen und Programmiersprachen aus dem Bereich der Open-Source-Software, und richtet sich insbesondere an die Teilnehmer des HHU-Linuxkurses.</description><atom:link href="https://lannert.de/debloss/rss.xml" rel="self" type="application/rss+xml"></atom:link><language>de</language><copyright>Contents © 2026 &lt;a href="mailto:lannert@hhu.de"&gt;Detlef Lannert&lt;/a&gt; 
&lt;a rel="license" href="https://creativecommons.org/licenses/by-nc-sa/4.0/"&gt;
&lt;img alt="Creative Commons License BY-NC-SA"
style="border-width:0; margin-bottom:12px;"
src="https://i.creativecommons.org/l/by-nc-sa/4.0/88x31.png"&gt;&lt;/a&gt;</copyright><lastBuildDate>Wed, 01 Apr 2026 17:17:17 GMT</lastBuildDate><generator>Nikola (getnikola.com)</generator><docs>http://blogs.law.harvard.edu/tech/rss</docs><item><title>Endlich: Niederländisches SQL</title><link>https://lannert.de/debloss/posts/endlich-niederlandisches-sql/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;&lt;a class="reference external" href="https://duckdb.org"&gt;DuckDB&lt;/a&gt; ist eine moderne, schnelle und vielseitige
Datenbankimplementierung, die von einem niederländischen Team federführend
als Open-Source-Software entwickelt wird. Heute (!) gibt es nun endlich eine
Erweiterung dazu
(&lt;a class="reference external" href="https://duckdb.org/community_extensions/extensions/eenddb.html"&gt;EendDB&lt;/a&gt;,
eend ist das niederländische Äquivalent zu duck), die eine passende Lokalisierung
der ansonsten am Englischen orientierten Abfragesprache SQL bereitstellt.
Nach der Installation von DuckDB – wenn noch nicht vorhanden – mit&lt;/p&gt;
&lt;pre class="literal-block"&gt;curl https://install.duckdb.org | sh
ln -s ~/.duckdb/cli/latest/duckdb ~/.local/bin/duckdb&lt;/pre&gt;
&lt;p&gt;kann man die EendDB-Erweiterung sehr einfach laden und sofort benutzen:&lt;/p&gt;
&lt;pre class="literal-block"&gt;$ duckdb
DuckDB v1.5.1 (Variegata)
Enter ".help" for usage hints.
memory D INSTALL eenddb FROM community;
memory D load eenddb;
memory D CALL enable_dutch_parser();
┌─────────┐
│ success │
│ boolean │
└─────────┘
  0 rows
memory D MAAK TABEL eenden (id GEHEEL_GETAL, naam TEKST, gewicht KOMMAGETAL);
memory D TOEVOEGEN AAN eenden WAARDEN (1, 'Donald', 1.2), (2, 'Daffy', 1.5),
         (3, 'Dagobert', 3.7);
memory D SELECTEER * VAN eenden WAARBIJ gewicht &amp;gt; 1.3 VOLGORDE PER naam;
┌───────┬──────────┬─────────┐
│  id   │   naam   │ gewicht │
│ int32 │ varchar  │  float  │
├───────┼──────────┼─────────┤
│     2 │ Daffy    │     1.5 │
│     3 │ Dagobert │     3.7 │
└───────┴──────────┴─────────┘
memory D .q
$&lt;/pre&gt;
&lt;p&gt;Bleibt zu hoffen, dass nun auch deutsche, vielleicht sogar bayerische oder
rheinische Lokalisierungen in Angriff genommen werden (TU INFÜJEN, ERKLÄR
MISCH, ROLLE RÜCKWÄRTS).&lt;/p&gt;</description><category>Datenbanken</category><category>Programmieren</category><guid>https://lannert.de/debloss/posts/endlich-niederlandisches-sql/</guid><pubDate>Wed, 01 Apr 2026 17:01:03 GMT</pubDate></item><item><title>Cooler gegen cool: Angriffe mit manipulierten Softwarepaketen gehen weiter</title><link>https://lannert.de/debloss/posts/cooler-gegen-cool-angriffe-mit-manipulierten-softwarepaketen-gehen-weiter/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;Anscheinend sind zahlreiche Nutzer dazu übergegangen, sich mit einer
„Cooldown“-Frist gegen bösartig manipulierte Softwarepakete zu schützen, also
neue Pakete erst einzusetzen, wenn eine Woche lang keine Probleme bekanntgeworden
sind. Darauf reagieren nun die Urheber der Schadsoftware: Offenbar werden
einige der bösartigen Payloads nun erst nach einigen Tagen aktiv – wenn der
Cooldown-Schutz nicht mehr wirkt …&lt;/p&gt;
&lt;p&gt;Zur Zeit werden auch andere mögliche Abwehrmaßnahmen diskutiert, beispielsweise
die Überprüfung hochgeladener Software auf verdächtige große Binärdateien (Blobs).
Mal sehen, wer das Wettrennen gewinnt; einstweilen sollte man mit Versionsupgrades
vorsichtig sein.&lt;/p&gt;
&lt;p&gt;Diese Vorsicht muss sich (einstweilen??) nicht auf Pakete der gängigen
Linux-Distributionen erstrecken, da deren Aktualisierungen wohl noch gut genug
von den Teams kontrolliert werden.&lt;/p&gt;</description><category>Programmieren</category><category>Sicherheit</category><guid>https://lannert.de/debloss/posts/cooler-gegen-cool-angriffe-mit-manipulierten-softwarepaketen-gehen-weiter/</guid><pubDate>Sun, 29 Mar 2026 18:00:00 GMT</pubDate></item><item><title>Vibe Coding in Python, Rust oder Go?</title><link>https://lannert.de/debloss/posts/vibe-coding-in-python-rust-oder-go/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;Ein &lt;a class="reference external" href="https://lifelog.my/episode/why-i-vibe-in-go-not-rust-or-python"&gt;Blog-Post&lt;/a&gt;
berichtet von guten (beeindruckenden!) Erfahrungen mit Vibe-Coding in Go und
erklärt, weshalb der Autor keine Chance sieht, mit Python oder Rust ähnlich
produktiv zu sein.&lt;/p&gt;</description><category>KI</category><category>Programmieren</category><category>Python</category><category>Rust</category><guid>https://lannert.de/debloss/posts/vibe-coding-in-python-rust-oder-go/</guid><pubDate>Fri, 27 Mar 2026 16:30:00 GMT</pubDate></item><item><title>OpenAI übernimmt Astral – was bedeutet das für die Python-Welt?</title><link>https://lannert.de/debloss/posts/openai-ubernimmt-astral-was-bedeutet-das-fur-die-python-welt/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;Astral ist die Firma, die die (aus gutem Grund inzwischen sehr beliebten)
Python-Tools uv, ruff und ty entwickelt und entsprechende Kompetenz in
Rust-basierter Python-Software aufgebaut hat. Sie war risikokapitalfinanziert
und ist jetzt von OpenAI, der Firma hinter ChatGPT und DALL-E, übernommen
worden.&lt;/p&gt;
&lt;p&gt;Über mögliche Auswirkungen auf das Python-Universum
&lt;a class="reference external" href="https://simonwillison.net/2026/Mar/19/openai-acquiring-astral/"&gt;schreibt Simon Willison&lt;/a&gt;
in seinem Blog. Es scheint so, als müsste man sich wegen der Nutzung der
Astral-Tools (einstweilen) keine Sorgen machen …&lt;/p&gt;</description><category>CLI</category><category>Programmieren</category><category>Python</category><category>Rust</category><guid>https://lannert.de/debloss/posts/openai-ubernimmt-astral-was-bedeutet-das-fur-die-python-welt/</guid><pubDate>Fri, 27 Mar 2026 16:00:00 GMT</pubDate></item><item><title>Angriffe auf Software-Lieferketten: Updates verzögern?</title><link>https://lannert.de/debloss/posts/angriffe-auf-software-lieferketten-updates-verzogern/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;Immer wieder wird Software entdeckt, beispielsweise auf GitHub, die manipuliert
und mit Hintertüren versehen ist, durch die Bösewichte die Kontrolle über jeden
Rechner erlangen können, auf dem die Software läuft. Durch solche Malware kann man
auch betroffen sein, wenn man für seine eigene Python-Software die
Paketabhängigkeiten aktualisiert – und das vielleicht gerade deshalb, weil man
durch neuere Pakete Fehler in früheren Versionen beheben lassen will.&lt;/p&gt;
&lt;p&gt;Gerade jetzt ist das Python-Paket LiteLLM als
&lt;a class="reference external" href="https://lwn.net/Articles/1064479/"&gt;kompromittiert aufgefallen&lt;/a&gt;, das in der
Version 1.82.8 SSH-Keys, Zugangsdaten, Krypto-Börsen etc. geklaut hat.&lt;/p&gt;
&lt;p&gt;Deshalb gehen manche Entwickler und Admins dazu über, nicht die neuesten
Versionen der Abhängigkeiten zu benutzen, sondern ein paar Tage abzuwarten,
ob in der Zwischenzeit Probleme erkannt werden.&lt;/p&gt;
&lt;p&gt;Einige Subkommandos von &lt;code class="docutils literal"&gt;uv&lt;/code&gt; haben eine Option &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;--exclude-newer&lt;/span&gt;&lt;/code&gt;
(z.B. &lt;cite&gt;run &amp;lt;https://docs.astral.sh/uv/reference/cli/#uv-run&amp;gt;_&lt;/cite&gt;), mit der
Paketversionen, die neuer als ein bestimmtes Datum oder ein Zeitraum (&lt;code class="docutils literal"&gt;'1 week'&lt;/code&gt;)
sind, von der Auflösung von Abhängigkeiten ausgeschlossen werden können.
(Stattdessen kann global die Variable &lt;code class="docutils literal"&gt;UV_EXCLUDE_NEWER&lt;/code&gt; auf einen
geeigneten Wert gesetzt werden.)&lt;/p&gt;
&lt;p&gt;Dieses Feature ist für reproduzierbare Builds gedacht, kann aber auch zum
&lt;a class="reference external" href="https://sethmlarson.dev/pip-relative-dependency-cooling-with-crontab"&gt;Dependency Cooling&lt;/a&gt;
genutzt werden, um Probleme mit solchen Malware-Paketen zu vermeiden.&lt;/p&gt;</description><category>Programmieren</category><category>Python</category><category>Sicherheit</category><guid>https://lannert.de/debloss/posts/angriffe-auf-software-lieferketten-updates-verzogern/</guid><pubDate>Wed, 25 Mar 2026 19:00:00 GMT</pubDate></item><item><title>Speicherplatz sparen durch Deduplizieren</title><link>https://lannert.de/debloss/posts/speicherplatz-sparen-durch-deduplizieren/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;Wenn man im Firefox mehrere Webseiten einer Site „komplett“ (in einem
dafür eigens angelegten Unterverzeichnis) speichert, legt er zusätzlich
zu einer HTML-Datei pro Seite jeweils ein Verzeichnis mit den verlinkten
Dateien an. Dadurch entstehen meist zahlreiche Kopien derselben JS- und
CSS-Dateien, Hintergrund- oder Titelbilder usw. usf., die unnötig Platz
beanspruchen. Wie kann man diese Daten platzsparender speichern?&lt;/p&gt;
&lt;p&gt;Das Programm &lt;code class="docutils literal"&gt;rdfind&lt;/code&gt; (das z.B. für Debian-Systeme als gleichnamiges Paket
existiert) kann helfen: Man wechselt in das Verzeichnis, in dem die Downloads
liegen, und ruft es zunächst im dry-run-Modus auf:&lt;/p&gt;
&lt;pre class="literal-block"&gt;rdfind -dryrun true -makehardlinks true .&lt;/pre&gt;
&lt;p&gt;Wenn die Ausgabe plausibel erscheint, klopft man dreimal auf Holz und lässt es
im Normalmodus laufen:&lt;/p&gt;
&lt;pre class="literal-block"&gt;rdfind -makehardlinks true .&lt;/pre&gt;
&lt;p&gt;Es gibt einige Informationen über den Ablauf aus und teilt u.a. mit, wieviel
Speicherplatz eingespart wurde, indem die Dateiduplikate durch Hardlinks
ersetzt wurden. Das heißt, in jedem Seitenverzeichnis sind nach wie vor alle
Dateien vorhanden, aber identische Dateien sind nur einmal im Dateisystem
gespeichert, alle Kopien verweisen auf denselben Datenbereich. Löscht man
später einzelne Verzeichnisse, so bleiben die Daten so lange erhalten, bis die
letzte Referenz (der letzte Hardlink) gelöscht wurde – genau so, wie man es
braucht.&lt;/p&gt;
&lt;p&gt;Je nachdem, welches Backup-Tool man verwendet (hoffentlich überhaupt eines!),
kann es sein, dass dieses die Hardlinks nicht berücksichtigt und die Dateien
pro Link einmal auf das Backup-Medium kopiert. Dadurch kann sich der
Speicherplatzbedarf der Backups unerwartet vergrößern. Falls das Tool selbst
dedupliziert, dürfte dieser Effekt nicht auftreten.&lt;/p&gt;</description><category>CLI</category><category>Dateisystem</category><category>Shell</category><category>Web</category><guid>https://lannert.de/debloss/posts/speicherplatz-sparen-durch-deduplizieren/</guid><pubDate>Fri, 20 Mar 2026 19:00:00 GMT</pubDate></item><item><title>Kampagnen zur „Altersverifikation“ im Internet – kommt die freie Software dabei unter die Räder? [Update]</title><link>https://lannert.de/debloss/posts/altersverifikation-im-internet-freie-software/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;Einer &lt;a class="reference external" href="https://github.com/upper-up/meta-lobbying-and-other-findings"&gt;umfangreichen Recherche&lt;/a&gt;
zufolge hat Meta viele Millionen $$ und mehr als 80 Lobbyisten eingesetzt,
um Google und Apple mit ihren App-Stores für eine Altersverifikation im Internet
verantwortlich zu machen – und selbst, mit seinen Social-Media-Angeboten, damit
keinen Aufwand zu haben.&lt;/p&gt;
&lt;p&gt;&lt;a class="reference external" href="https://lwn.net/Articles/1062779/"&gt;LWN&lt;/a&gt; macht darauf aufmerksam, zumal in einigen
US-Bundesstaaten schon (offenbar als Ergebnis dieser Lobbyarbeiten) entsprechende
Gesetze verabschiedet wurden. Dabei soll die Altersverifikation, natürlich
verbunden mit biometrischer Identifikation der Nutzer, vom Betriebssystem
erzwungen werden. Dies wäre nicht nur eine großartige Basis für eine totale
Überwachung aller Internetaktivitäten der ganzen Bevölkerung (Big Brother lässt
grüßen!), sondern womöglich auch das Ende freier Betriebssystemsoftware.&lt;/p&gt;
&lt;p&gt;Sollten die Internetaktivitäten Minderjähriger nicht am besten von ihren Eltern
kontrolliert (und mitverantwortet) werden? Vielleicht durch administrative
Einstellungen im System? Kinder können auch ohne „Root-Rechte“ ein Smartphone,
ein Tablet oder einen Laptop / PC sinnvoll für Schul- und Freizeitzwecke
nutzen und dabei Medienkompetenz erwerben …&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;Update:&lt;/strong&gt; Ein &lt;a class="reference external" href="https://www.theregister.com/2026/03/13/opinion_os_verification/"&gt;Artikel von The Register&lt;/a&gt;
behandelt ebenfalls dieses Thema und die Auswirkungen auf Linux.&lt;/p&gt;</description><category>Linux</category><category>Programmieren</category><category>Sicherheit</category><category>Web</category><guid>https://lannert.de/debloss/posts/altersverifikation-im-internet-freie-software/</guid><pubDate>Fri, 13 Mar 2026 16:00:00 GMT</pubDate></item><item><title>Allzu neue Python-Pakete ausschließen</title><link>https://lannert.de/debloss/posts/allzu-neue-python-pakete-ausschliessen/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;Einige Subkommandos von &lt;code class="docutils literal"&gt;uv&lt;/code&gt; haben eine Option &lt;code class="docutils literal"&gt;&lt;span class="pre"&gt;--exclude-newer&lt;/span&gt;&lt;/code&gt;
(z.B. &lt;a class="reference external" href="https://docs.astral.sh/uv/reference/cli/#uv-run"&gt;run&lt;/a&gt;), mit der
Paketversionen, die neuer als ein bestimmtes Datum oder ein Zeitraum (&lt;code class="docutils literal"&gt;'1 week'&lt;/code&gt;)
sind, von der Auflösung von Abhängigkeiten ausgeschlossen werden können.
(Stattdessen kann global die Variable &lt;code class="docutils literal"&gt;UV_EXCLUDE_NEWER&lt;/code&gt; auf einen
geeigneten Wert gesetzt werden.)&lt;/p&gt;
&lt;p&gt;Dieses Feature ist für reproduzierbare Builds gedacht, kann aber auch zum
&lt;a class="reference external" href="https://sethmlarson.dev/pip-relative-dependency-cooling-with-crontab"&gt;Dependency Cooling&lt;/a&gt;
genutzt werden, um Probleme mit Malware-Paketen zu vermeiden.
(Der verlinkte Artikel beschreibt, wie man diese Funktionalität mit &lt;code class="docutils literal"&gt;pip&lt;/code&gt;
erreichen kann, das sie noch nicht voll unterstützt.)&lt;/p&gt;</description><category>Programmieren</category><category>Python</category><category>Sicherheit</category><guid>https://lannert.de/debloss/posts/allzu-neue-python-pakete-ausschliessen/</guid><pubDate>Thu, 05 Mar 2026 12:00:00 GMT</pubDate></item><item><title>Wer brennt denn noch CDs?</title><link>https://lannert.de/debloss/posts/wer-brennt-denn-noch-cds/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;Anscheinend kaum noch jemand. Jedenfalls geht es schief, wenn man es
als normaler User (mit k3b) versucht –
es wird ein Fehler von wodim
gemeldet, das keinen ausreichend großen mmap machen darf (Debian testing;
Problem ist schon länger bekannt, siehe
&lt;a class="reference external" href="https://bugs.launchpad.net/ubuntu/+source/cdrkit/+bug/1769848"&gt;diesen Thread&lt;/a&gt;
von 2018 im Ubuntu-Bugtracker).&lt;/p&gt;
&lt;p&gt;Mit dem Kommando &lt;code class="docutils literal"&gt;sudo chmod u+s /usr/bin/wodim&lt;/code&gt; lässt sich das Problem
auf die Schnelle lösen.&lt;/p&gt;
&lt;p&gt;Nimmt man dieses (hoffentlich nur geringe) Sicherheitsrisiko in Kauf,
steht dem Brennen auch von altmodischen Audio-CDs nichts mehr im Weg,
und die Weihnachtslieder können vom CD-Spieler kommen. Frohe Weihnachten!&lt;/p&gt;</description><category>Linux</category><guid>https://lannert.de/debloss/posts/wer-brennt-denn-noch-cds/</guid><pubDate>Wed, 24 Dec 2025 09:00:00 GMT</pubDate></item><item><title>And now for something completely different …</title><link>https://lannert.de/debloss/posts/and-now-for-something-completely-different/</link><dc:creator>Detlef Lannert</dc:creator><description>&lt;p&gt;… unter diesem &lt;a class="reference external" href="https://en.wikipedia.org/wiki/And_Now_for_Something_Completely_Different"&gt;Filmtitel&lt;/a&gt;
als Überschrift enthält seit Python 3.8 die Freigabemitteilung (fast) jeder
Python-Version einen Abschnitt mit Fun facts.&lt;/p&gt;
&lt;p&gt;Hugo van Kemenade stellt &lt;a class="reference external" href="https://hugovk.dev/blog/2025/and-now/"&gt;in seinem Blogpost&lt;/a&gt;
die einzelnen Themen vor und geht ausführlich auf die zu den 3.14er Releases
gehörenden (und von ihm verfassten) Artikel ein, die sich alle mit interessanten
Aspekten rund um π beschäftigen.&lt;/p&gt;</description><category>Mathematik</category><category>Python</category><guid>https://lannert.de/debloss/posts/and-now-for-something-completely-different/</guid><pubDate>Tue, 23 Dec 2025 17:00:26 GMT</pubDate></item></channel></rss>