Die MZLA Technologies Corporation hat mit Thunderbird 140 eine neue Version seines Open Source E-Mail-Clients für Windows, Apple macOS und Linux veröffentlicht.
Neuerungen von Thunderbird 140
Mit Thunderbird 140 hat die MZLA Technologies Corporation ein Update für seinen Open Source E-Mail-Client veröffentlicht.
Thunderbird 140 bringt einen neuen Dialog zum Einrichten von E-Mail-Konten, welcher die bisherige Oberfläche in einem Tab ersetzt.
Die Benachrichtigungen für neue E-Mails haben eine Schaltfläche, um weitere Aktionen auszuführen. Darüber war es bereits möglich, E-Mails direkt als gelesen zu markieren oder diese zu löschen. Thunderbird 140 ergänzt die Optionen zum Markieren als Spam sowie zum Hinzufügen der Stern-Kennzeichnung.
Mehrere Optionen, welche das Erscheinungsbild von Thunderbird betreffen, wurden in die entsprechende Kategorie der Einstellungen verschoben.
Darüber hinaus gab es wie immer diverse Fehlerkorrekturen und Verbesserungen unter der Haube, welche sich in den Release Notes (engl.) nachlesen lassen. Auch Sicherheitslücken wurden behoben.
Thunderbird ESR 140, die Version mit Langzeitunterstützung und Nachfolger von Thunderbird ESR 128, wurde noch nicht veröffentlicht. Dies ist für kommende Woche geplant.
KHangMan ist ein KDE-App, die auf dem klassischen Galgenmännchen-Spiel basiert. Sie ist Teil der KDE Software Compilation, genauer gesagt, des kdeedu-Pakets.
KHangMan funktioniert dabei nicht so, wie ihr vielleicht denkt. Denn die Wörter, die erraten werden sollen, können nicht selbst eingegeben werden. Vielmehr greift KHangMan auf eine Reihe von vorinstallierten Wortlisten zurück, die für verschiedene Kategorien bereitgestellt werden, z.B. “Zahlen”, “Hauptstädte”, “Tiere”, usw.
Möchte man eigene Wörter spielen, muss man eine eigene Wortliste erstellen und für KHangMan verfügbar machen.
custom word list
Die Wörterlisten liegen im Verzeichnis /usr/share/apps/kvtml/LANGUAE, wobei LANGUAGE durch den Ländercode ersetzt werden muss. Die deutschen Wörterlisten liegen also unter /usr/share/apps/kvtml/de und haben die Dateiendung .kvtml. Für jede Wörterliste existiert eine eigene .kvtml-Datei.
Die Skelettstruktur einer solchen Wörterliste sieht so aus:
converterTITEL DER LISTEDEINE BESCHREIBUNGdefalsefalseDEIN WORTEIN KOMMENTAR
in Zeile 6 und 7 wird der Name der Liste samt einer kleinen Beschreibung angegeben. Unter diesem Namen ist die Wortliste später in KHangMan auffindbar.
in Zeile 12 geben wir an, dass die Sprache der Liste de ist.
Die Zeilen 18 bis 25 bilden einen Entry-Block für ein gewünschtes Wort. Dabei wird
in Zeile 18 eine eindeutige angegeben (hochzählen)
in Zeile 22 das eigentliche Wort definiert
in Zeile 23 ein kurzer Hilfetext gesetzt.
diese Entry-Blöcke müssen für jedes Wort erzeugt werden.
Für ein Statistik-Quiz könnte die vollständige Datei so aussehen:
converterStatistikStatistikdefalsefalseBoxplotgraphische Darstellung einer metrischen WerteverteilungfalsefalseHistogramgraphische Darstellung klassierter HäufigkeitenfalsefalseKausalitätursächlicher ZusammenhangfalsefalseKonfidenzintervallSicherheitsbereichfalsefalseKorrelationZusammenhang (aber nicht kausal)falsefalseRegressionsgeradeWird beschrieben mit y=a+bxfalsefalseSignifikanzliegt vor wenn p kleiner alpha istfalsefalseStandardabweichungWurzel aus der VarianzfalsefalseVarianzQuadrat der Standardabweichung
Nachdem die Datei gespeichert ist, wird KHangMan gestartet.
Wordlist wechseln
Unten links wird die derzeit aktive Wörterliste angezeigt. In meinem Beispiel ist das “Tiere”.
Wenn man darauf klickt, kann eine andere Wörterliste ausgewählt werden. Da meine Systemsprache deutsch ist, sucht KHangMan im Ordner /usr/share/apps/kvtml/de nach validen .kvtml-Dateien.
eigene Wordlist auswählen
Hier sollte - wenn alles richtig gemacht wurde - die neue eigene Liste auftauchen.
Erstes Wort von der Liste
Ist diese ausgewählt, kann das Spiel beginnen.
:=)
Python-Script
Unter Umständen kann es mühsam sein, eine oder mehrere solcher .kvtml-Dateien zu erstellen und zu pflegen. Beispielsweise ist es mühselig, die entry id nachzuverfolgen, wenn ein Entry-Block zwischen bestehende Blöcke eingeschoben werden soll.
Daher hab ich mir ein kleines naives Python-Script geschrieben, welches mir die Arbeit etwas erleichtert.
Das Script nimmt eine Textdatei entgegen, und erzeugt daraus die passende .kvtml-Datei.
Für das Statistikquiz sieht die Datei so aus:
nano statistik.txt
Boxplot graphische Darstellung einer metrischen Werteverteilung
Histogram graphische Darstellung klassierter Häufigkeiten
Kausalität ursächlicher Zusammenhang
Konfidenzintervall Sicherheitsbereich
Korrelation Zusammenhang (aber nicht kausal)
Regressionsgerade Wird beschrieben mit y=a+bx
Signifikanz liegt vor wenn p kleiner alpha ist
Standardabweichung Wurzel aus der Varianz
Varianz Quadrat der Standardabweichung
Jede Zeile repräsentiert einen Worteintrag. Zuerst kommt das gesuchte Wort, dann mindestens 2 Leerzeichen, und anschließend der Hinweistext.
Hier nun das Python-Script, welches diese Datei ausliest
nano create-wordlist.py
#!/usr/bin/env python3import sysimport reimport xml.etree.ElementTree as ETfrom xml.dom import minidomimport stringdef prettify(elem):"""Return a pretty-printed XML string for the Element.""" rough_string = ET.tostring(elem, 'utf-8') parsed = minidom.parseString(rough_string)return parsed.toprettyxml(indent=" ")def sanitize_filename(name):"""Sanitize the title to create a safe filename."""# Entfernt alle Zeichen außer Buchstaben, Zahlen, Bindestrich und Unterstrich valid_chars =f"-_.() {string.ascii_letters}{string.digits}" sanitized =''.join(c if c in valid_chars else'_'for c in name)return sanitized.replace(' ', '_') +".kvtml"def main():iflen(sys.argv) <4:print("Usage: python3 generate_kvtml.py input.txt title comment") sys.exit(1) input_file = sys.argv[1] title = sys.argv[2] comment = sys.argv[3] output_file = sanitize_filename(title)withopen(input_file, "r", encoding="utf-8") as f: lines = [line.strip() for line in f if line.strip()] kvtml = ET.Element("kvtml", version="2.0") info = ET.SubElement(kvtml, "information") ET.SubElement(info, "generator").text ="converter" ET.SubElement(info, "title").text = title ET.SubElement(info, "comment").text = comment identifiers = ET.SubElement(kvtml, "identifiers") identifier = ET.SubElement(identifiers, "identifier", id="0") ET.SubElement(identifier, "locale").text ="de" entries = ET.SubElement(kvtml, "entries")for idx, line inenumerate(lines): parts = re.split(r'\t+|{2,}', line)iflen(parts) !=2:print(f"Warning: Skipping invalid line {idx +1}: {line}")continue text, comment_text = parts entry = ET.SubElement(entries, "entry", id=str(idx)) ET.SubElement(entry, "inactive").text ="false" ET.SubElement(entry, "inquery").text ="false" trans = ET.SubElement(entry, "translation", id="0") ET.SubElement(trans, "text").text = text ET.SubElement(trans, "comment").text = comment_text pretty_xml = prettify(kvtml)withopen(output_file, "w", encoding="utf-8") as f: f.write('\n') f.write('\n') f.write('\n'.join(pretty_xml.split('\n')[1:]))print(f"✅ KVTML-Datei wurde geschrieben: {output_file}")if__name__=="__main__": main()
./create-wordlist.py statistik.txt Statistik Grundbegriffe
Das Script erzeugt die Datei LISTENNAME.kvtml, also in unserem Falle Statistik.kvtml, welche alle Entry-Blöcke der Wörterliste enthält. Diese kann nun ins kvtml-Verzeichnis kopiert werden.
In den USA hat Mozilla ein neues Experiment gestartet, welche Nutzern von Windows 10 das Mozilla VPN für sechs Monate schenkt, wenn sich diese für die Synchronisation in Firefox anmelden.
Mit dem Mozilla VPN bietet Mozilla in Zusammenarbeit mit Mullvad sein eigenes Virtual Private Network an und verspricht neben einer sehr einfachen Bedienung eine durch das moderne und schlanke WireGuard-Protokoll schnelle Performance, Sicherheit sowie Privatsphäre: Weder werden Nutzungsdaten geloggt noch mit einer externen Analysefirma zusammengearbeitet, um Nutzungsprofile zu erstellen.
In den USA hat Mozilla ein neues Experiment gestartet: Demnach soll einem Teil der Firefox-Nutzer auf Windows 10, die sich einen Mozilla Account zulegen, das Mozilla VPN für sechs Monate geschenkt werden.
Hintergrund der Aktion: Im Oktober 2025 endet die offizelle Unterstützung von Windows 10 durch Microsoft. Mozillas Hypothese ist, dass sich aufgrund der mit Windows 11 gestiegenen Hardware-Voraussetzungen einige Nutzer dann ein neues Gerät kaufen werden, was auch zu einer teilweisen Abwanderung von Firefox-Nutzern führen wird. Die Synchronisation von Browser-Daten wie Lesezeichen und Zugangsdaten soll die Migration auf ein neues Gerät vereinfachen, um diesem potenziellen Effekt entgegenzuwirken. Die sechs kostenlosen Monate für das Mozilla VPN sollen für Nutzer, welche die Synchronisation noch nicht nutzen, einen Anreiz darstellen, sich einen kostenlosen Mozilla Account zu erstellen.
Über das Experiment wird Mozilla die Entwicklung dieser neuen Konten und VPN-Nutzer beobachten. Mozilla schreibt, dass die Ergebnisse dieses Experiments auch als Grundlage für eine Untersuchung dienen könnten, ob in der Zukunft allen Firefox-Benutzern ein kostenloses VPN angeboten werden soll.
Kurz notiert: Let's Encrypt hat Anfang des Monats am 4. Juni 2025 den Dienst für die E-Mail-Benachrichtigungen abgeschaltet. Zertifikatsinhaber werden fortan nicht mehr per E-Mail auf ein Auslaufen der Zertifikate hingewiesen. Diese Änderung wurde bereits im Januar angekündigt.
Begründet wird die Entscheidung durch die Kosten für den E-Mail-Versand, die Speicherung der E-Mail-Adressen sowie die Komplexität der Infrastruktur. In der Tat ist der Versand der Benachrichtigungen in einer Größenordnung wie bei Let's Encrypt sehr kostenintensiv, zumal dies über externe Dienstleister abgewickelt werden muss.
Die Speicherung der E-Mail-Adressen ist ein interessanter Punkt, weil insbesondere bei certbot die Adressen standardmäßig immer abgefragt wurden, während man die Angabe bei acme.sh schon länger vermeiden konnte. Dies soll, so mein Verständnis, nun der Standard werden, da Let's Encrypt nicht mehr die E-Mail-Adressen der Zertifikatsinhaber speichern möchte. Für andere Zwecke wurden die E-Mail-Adressen offenbar auch nicht gespeichert, da z. B. das Zurückziehen eines Zertifikates (Revocation) über andere Wege wie den Private Key oder DNS-Verifikation läuft, wie in der Dokumentation beschrieben wird.
Bleibt noch ein letzter Punkt, der im Blogartikel zur Abschaltung angeführt wird: Ein integraler Bestandteil von Let's Encrypt ist Automatisierung. Schon von Anfang an wurden automatisierte Verfahren wie ACME statt einer manuellen Verifikation eingesetzt, sodass auch die Erneuerung (Renew) automatisiert vorgenommen werden konnte und eine Benachrichtigung eigentlich überflüssig ist. Wer das noch nicht verstanden hat, soll es jetzt wohl auf die harte Tour lernen. Der Dienst unterstützt die Benachrichtigungen seit seinem Start im Jahr 2015, als diese Form der Automatisierung noch völlig neu war und sich alle daran gewöhnen mussten.
Let's Encrypt möchte die Ressourcen verwenden, um sich neuen Vorhaben zu widmen. Dazu gehören sicherlich zum Beispiel die 6-Tages-Zertifikate oder CRLs, wie wir auch schon in der Risikozone-Episode 64 Anfang des Jahres besprochen haben.
Zum Abspielen von Musik habe ich in den letzten Jahren Elisa verwendet. Kürzlich wurde ich aber auf das Programm fooyin aufmerksam und bin fast sofort komplett darauf gewechselt.
Fooyin hat für mich vor allem 3 Dinge dir mir gefallen. Die Bedienung finde ich einfacher als die von Elisa. Wobei ich es nicht benennen kann, was mit an Elisa stört. Zudem lässt sich die grafische Oberfläche von fooyin einfach an die eigenen Wünsche anpassen. Und die Standardansicht ist sehr einfach, ohne Firlefanz, gehalten.
Laut den Entwicklern bietet fooyin derzeit folgende nennenswerte Funktionen:
Wer sich für eine Audioplayer interessiert der sich optisch an foobar2000 orientiert und der Linux nutzt, sollte sich fooyin zumindest einmal ansehen.
Das war es für heute und vermutlich morgen von mir. Ich gehe mal so langsam packen, da ich nachher mit dem Zug nach Würzburg fahre, um dort heute Abend auf das Konzert von Skunk Anansie in der Posthalle zu gehen.