Skip to content

Base64 ist schlecht zu lesen

Bereits im vergangenen Juli hatte ich berichtet, dass ich die Moderation der Newsgroup de.alt.netdigest übernommen hatte, und auch ein wenig den von mir verwendeten Workflow vorgestellt.

Das Konversions-Script, das aus einer Einreichung per E-Mail ein Posting für die Newsgroup macht, konvertiert auch den Inhalt der Mail (des Postings) nach UTF-8 und entfernt eine ggf. vorhandene quoted-printable-Kodierung. Beim Thema “Konvertierung” musste ich schon im November letzten Jahres einmal ansetzen, um im Subject:-Header UTF-8-Zeichen “oberhalb” von 0xff korrekt zu kodieren; Anfang diesen Jahres stand ich dann aber zum ersten Mal vor einer E-Mail, deren Body - also der eigentliche Inhalt - als Base64 kodiert war. Eigentlich vorgesehen zur Kodierung binärer Inhalte ist das eine durchaus zulässige Kodierung für reinen Text - nur etwas schwer lesbar. Und da das vom Konversions-Script generierte Posting mit

Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit

gepostet wird, war das etwas blöd.

Glücklicherweise war die Lösung hinreichend einfach: so, wie man quoted-printable nach 8bit umkodiert, kann man das auch mit base64 machen. Es braucht nur MIME::Base64 zusätzlich zu MIME::QuotedPrint, und zum bedarfsweisen Aufruf von decode_qp() im Fall der Fälle einen Aufruf von decode_base64().

Das war einfach, und nunmehr bin ich auch auf solche seltsamen Formate gerichtet.

[Nachträglich veröffentlicht im April 2022.]

FLOSS'n'net - Aktivitäten im Jahr 2021 (und 2020)

Meine Reihe FLOSS’n’net ist in den letzten fast zwei Jahren auch mehr oder weniger der Pandemie zum Opfer gefallen; der letzte der üblicherweise jedes Quartal veröffentlichen Beiträge datiert vom April 2020 und gehört mit zu den letzten vor der “Aufholjagd” noch veröffentlichten (bzw. verfassten) Beiträgen. Entweder als Schlusspunkt oder als Neubeginn - je nachdem, wie 2022 werden wird … - möchte ich daher einen kurzen Rückblick über das vergangene Jahr (und auch das Jahr 2020) geben.

2020 endeten meine Aktivitäten - vor allem rund um Serendipity - mehr oder weniger im April. 2021 habe ich nichts an Serendipity getan, aber das eine oder andere sonst rund ums Netz. Im Einzelnen sieht das dann so aus:

Serendipity (s9y)

Das Blogsystem Serendipity werkelt auch hinter diesem Blog.

Alle Änderungen hier stammen noch aus dem April 2020.

s9y-Kern

  • Es ist mir endlich gelungen, einen schwer zu reproduzierenden Fehler zu finden, der mich seit Jahren wahnsinnig gemacht hat. Ich nutze für meine Blogbeiträge recht intensiv “erweiterte Eigenschaften von Artikeln”, also entryproperties, bspw. die HTML-Meta-Description und Social-Media-Bilder - und diese “verschwanden” regelmäßig in vorbereiteten Einträgen, was einerseits ärgerlich ist und andererseits oft unbemerkt bleibt. Das ging so weit, dass ich vorbereitete Einträge (Entwürfe) nicht mehr in s9y selbst gespeichert habe, sondern extern, und sie dann erst zur Veröffentlichung dort hineinkopierte. Das wurde seit 2018 im Issue #577 getrackt, aber ohne richtige Lösung (auch weil mir die Zeit zum Debugging fehlte). Am Ende hatten wir 2019 die richtige Ecke gefunden, aber das Problem nicht wirklich behoben. Das gelang aber jetzt (endlich!), und rückblickend war das eine gute Sache, hatte ich doch im Rahmen der “Aufholjagd” 2020/2021 oft mehrere Dutzend komplett postingfertige Beiträge “gebunkert”.
    Scheduled entries lose all entryproperty information on publish date. mit
    Fix accidental deletion of extended properties. und
    [event_trackback] Draft entries should not be saved in delayed_trackbacks
"FLOSS'n'net - Aktivitäten im Jahr 2021 (und 2020)" vollständig lesen

Übernahme der "Einrichtungsregeln"

Vor anderthalb Jahren berichtete ich das letzte Mal hier im Blog darüber, dass ich wieder die Betreuung einer ins Usenet geposteten FAQ übernommen habe; im September war das noch einmal der Fall, wurde aber nur im Changelog meiner Webseiten dokumentiert. Seit mehr als einem Jahrzehnt ist das ein kontinuierlich wiederkehrendes Thema: immer wieder schlage ich Änderungen oder Ergänzungen für eine FAQ oder einen anderen im Usenet geposteten Text vor, und (fast) jedes Mal führt das zu der Feststellung, dass der Betreuer der FAQ entweder verschwunden (nicht mehr erreichbar) ist oder mitteilt, er sei seit Jahren nicht mehr im Usenet präsent und habe ggf. gar keinen Netzzugang mehr, so dass ich dann stattdessen die Betreuung des Textes übernehme. Dazu kommt noch die eine oder andere Bitte des bisherigen Betreuers, zu übernehmen, oder ein Todesfall … Jedenfalls zeigt eine kurze Strichliste, dass ich mindestens zwanzig regelmäßig gepostete Texte betreue (naja, manche werden gar nicht mehr gepostet), von denen aber nur zwei aus meiner Feder stammen. Alle anderen habe ich übernommen (und in einigen Fällen über die Jahre so sehr verändert, dass sie sich mittlerweile fast wie meine eigenen Texte anfühlen).

"Übernahme der "Einrichtungsregeln"" vollständig lesen

Webseiten für de.alt.netdigest

Zwar ist das Usenet deutlich älter als das World Wide Web und braucht es - grundsätzlich - auch nicht; dennoch finde ich es hilfreich, Informationen nicht nur im Usenet, sondern auch im Web bereitzustellen. Das Usenet hat seine Stärken in Austausch und Diskussion; für die Bereithaltung (aktueller) Informationen zum Abruf ist es nicht die erste Wahl. Natürlich gab es immer schon FAQs und Infopostings, die regelmäßig (jede Woche, jeden Monat) veröffentlicht werden, damit sie immer in der Gruppe zur Verfügung stehen; natürlich kann man in regelmäßigen Abständen einen Status oder Updates in einer Newsgroup veröffentlichen. Bequemer - solange eine Internetverbindung besteht - und jedenfalls eine sinnvolle Ergänzung ist es aber auch, diese Informationen zusätzlich (ggf. auch in erweiterter Form) online als Webseiten anzubieten.

Daher gibt es jetzt auch eine Website für de.alt.netdigest.

"Webseiten für de.alt.netdigest" vollständig lesen

de.alt.netdigest: Hinter den Kulissen

de.alt.netdigest ist eine moderierte Newsgroup; das bedeutet, dass Postings nicht direkt in der Gruppe veröffentlicht werden, sondern per E-Mail an einen Moderator versandt werden, der dann - wenn nichts gegen eine Veröffentlichung spricht - aus dieser E-Mail wieder ein Posting macht und es veröffentlicht. Das geht natürlich im Grundsatz mit einem Mail- und Newsreader, wäre aber vergleichsweise aufwendig; meistens werden daher per Mail oder über ein Webinterface betriebene Moderationssysteme (oder “Bots”) verwendet.

Für de.alt.netdigest gibt es keine so komplexen Lösungen; im Prinzip müssen ja nur die per Mail eingereichten Beiträge ausgewählt, in ein bestimmtes Format gebracht und dann veröffentlicht werden. Dabei hilft eine Reihe von Scripts, die ich von meinem Vorgänger als Moderator übernommen und an meine Bedürfnisse angepasst habe - genau genommen habe ich auf der Basis der Scripts und aus Versatzstücken daraus meine eigene Lösung erstellt.

"de.alt.netdigest: Hinter den Kulissen" vollständig lesen

Moderation von de.alt.netdigest

de.alt.netdigest ist eine Usenet-Newsgroup in der Hierarchie de.*, in der vor allem lustige, manchmal aber auch bemerkenswerte Beiträge aus den deutschsprachigen Netzen (primär den Newsgroups des deutschsprachigen Usenets, grundsätzlich aber auch aus Mailinglisten, Webforen oder dem IRC) gesammelt und veröffentlicht werden, quasi ein “Best of (Uset)net” - oder in den Worten der Kurzbeschreibung: Aktueller und klassischer Humor aus allen Netzen und IRC.

Die Newsgroup ist moderiert, d.h. Beiträge können dort nicht unmittelbar veröffentlicht werden, sondern müssen per Mail an die Moderationsadresse versandt werden (oder sie können auch in die Gruppe gepostet werden - daraus wird dann automatisch eine Mail an die Moderationsadresse erzeugt). Die Moderation trifft ggf. eine Auswahl unter den Einsendungen und sorgt ansonsten dafür, dass keine Dubletten vorkommen und die Veröffentlichungen ein einheitliches Format haben - die wesentlichen Kopfzeilen des eingereichten Postings und der (ggf. gekürzte oder kommentierte) Inhalt.

"Moderation von de.alt.netdigest" vollständig lesen

"Mach's Dir doch selbst!"

Ich bin seit vielen, vielen Jahren Mitglied bei bawue.net, Baden-Württembergs nichtkommerziellem Internet-Provider, einer ehemaligen Regionaldomain des ehemaligen Individual Network e.V. - also Nutzer, quasi “Kunde”, wie auch Vereinsmitglied, und all das primär, weil ich diese Vereine für gut und förderungswürdig halte. Ich glaube nicht, dass ich in all den Jahren einmal wirklich Dienste genutzt hätte …

Seit ebenfalls sehr vielen Jahren bin ich dort auch Mitglied im Admin-Team, allerdings mehr auf dem (elektronischen) Papier als faktisch, weil mir meine vielzähligen Hobbys und Aktivitäten meist keine Zeit lassen, mich dort stärker einzubringen, und wenn man in der Thematik nicht “drin” ist, dann sind auch Kleinigkeiten aufwendig.

So weit, so gut - dies zur Vorgeschichte.

""Mach's Dir doch selbst!"" vollständig lesen

Relaunch der Webseiten von news.szaf.org

Seit 2005 betreibe ich einen “richtigen” Newsserver, also einen solchen, der die großen (und ein paar kleine) Hierarchien mit dem Rest der Welt peered und auch für andere Nutzer aus meinem Umkreis zur Verfügung steht: news.szaf.org.

Die zugehörigen Webseiten allerdings, die fast so alt waren, hätten schon lange ein Update vertragen können - weniger inhaltlich als vielmehr optisch und funktionell. Lange stand das auf meiner Todo-Liste, erwies sich dann aber doch als eher größeres Projekt; die Hintergründe habe ich in meinem vorherigen Blogbeitrag beschrieben. Mittlerweile ist das dort beschriebene Projekt veröffentlichungsreif. Ich präsentiere daher die neuen Webseiten für news.szaf.org.

Die aktuellen Webseiten von news.szaf.org.
"Relaunch der Webseiten von news.szaf.org" vollständig lesen

"Sprechende" Message-IDs erzeugen mit dem INN

Ich fürchte, das hier wird ein eher technisch geprägter Special-Interest-Beitrag werden, aber sei es drum: es soll darum gehen, mit Hilfe des Newsservers INN Message-IDs für Usenet-Postings zu erzeugen, die neben ihrem primären Daseinszweck - ein Posting mit einer dauerhaft und global eindeutigen ID zu versehen - auch einen menschenlesbaren Inhalt haben.

""Sprechende" Message-IDs erzeugen mit dem INN" vollständig lesen

Übernahme der Newsreader-FAQ

Ich betreue mittlerweile eine ganze Reihe an regelmäßig ins Usenet geposteten FAQs, an denen sich allerdings meistens nicht mehr viel ändert; die letzten größeren Updates gab es vor fast zwei Jahren, Mitte 2018. Vor gut zwei Jahren hatte ich auch das letzte Mal neue FAQs übernommen, weil die ursprünglichen Autoren oder Betreuer sie nicht mehr pflegen konnten oder wollten bzw. nicht mehr erreichbar waren oder nicht mehr am Usenet teilnahmen.

Zum Jahreswechsel wurde ich dann auch gefragt, ob ich nicht die sog. Newsreader-FAQ übernehmen wolle, die Michael Meier einmal anno 2000 ins Leben gerufen hatte; bis Ende 2003 wurde sie von Christoph Garbers betreut und seitdem bis jetzt von Thomas Hühn, der aber ebenfalls das Usenet (weitgehend?) verlassen hat und daher vorschlug, ich könne ja vielleicht …

"Übernahme der Newsreader-FAQ" vollständig lesen

FAQ-Updates

Heute standen wieder einmal Updates vieler - fast aller - meiner ins Usenet geposteten FAQs an. Die Löschung einer Newsgroup war der konkrete Anlass für einige Änderungen, und es lohnte sich dann, auch bei den anderen FAQs die in den letzten Monaten - teilweise in mehreren Jahren - akkumulierten Änderungen einmal in die gepostete Fassung zu übernehmen. Der Release-Prozess für meine FAQs ist dankenswerterweise ja mittlerweile recht einfach.

"FAQ-Updates" vollständig lesen

FAQ-Updates

Im Januar 2018 habe ich die Betreuung dreier weiterer FAQs übernommen und zwei FAQs (davon eine der neu übernommenen) auf meinen Webseiten in HTML-Form online gestellt:

Für diese Texte gilt - wie für alle anderen -: “Betreuung” einer FAQ muss und soll nicht gleichbedeutend sein mit “einziger Autor”. Ergänzungen, Korrekturen, Kommentare nehme ich gerne entgegen.

Der Injection-Date:-Header

Das Usenet ist zunehmend in die Bedeutungslosigkeit zurückgefallen - ironischerweise sind die zugrundeliegenden Formate und Protokolle heutzutage aber klarer spezifiziert als das zu seinen Hochzeiten der Fall war. NNTP, das Übermittlungsprotokoll mit der größten Verbreitung, war recht gut definiert, erst in RFC 977 von 1986 und dann zwanzig Jahre später in RFC 3977; außerdem kann man den INN wohl als eine Referenzimplementation betrachten.

Mit dem Nachrichtenformat war es da schon schwieriger: Auf RFC 850 von 1983 folgte RFC 1036 von 1987, der während der Blütezeit des Usenets niemals aktualisiert wurde, obschon es bereits 1993 einen Entwurf für einen Nachfolger gab, den sog. “Son-of-1036” (der erst 2010 als historisches Dokument in Form von RFC 1849 veröffentlicht wurde). Der De-Facto-Standard war dann letztlich “Son-of-1036” mit weitgehend ungeschriebenen Modifikationen aus der Implementierungspraxis, während die USEFOR working group der IETF sich unendlich lange vergeblich mit der Erstellung einer Spezifikation abmühte. Als Ende 2009 dann endlich RFC 5536 “Netnews Article Format” veröffentlicht wurde (der zusammen mit RFC 5537 “Netnews Architecture and Protocols” ein umfassendes Kompendium zur Implementation von Newsservern, -readern und allen möglichen anderen Tools rund um das Usenet bzw. Netnews darstellt), waren die großen Zeiten des Usenets bereits Vergangenheit.

"Der Injection-Date:-Header" vollständig lesen

votetakers.de - Release 0.13

Vor rund zweieinhalb Jahren habe ich das letzte Mal über ein Update für votetakers.de berichtet. Diesmal kann ich dann direkt zwei Updates vermelden.

Bei den Releases 0.12 im Januar 2016 und 0.13 im August 2017 wurden einige Fehler behoben (darunter auch Schreibfehler), Whitespace bei verlinkten Message-IDs ausgefiltert und alle URLs auf HTTPS umgestellt. Außerdem sind die Seiten auf einen neuen Server umgezogen und wurden nach UTF-8 konvertiert.