Manche glauben, dass sie gewisse gewalttätige Aktionen nach dem Motto
rechtfertigen können, der Zweck heilige die Mittel: „Unsere Gewalt ist
in Ordnung, denn es ist doch gute Gewalt.“ Aber solche Aktionen sind
durch nichts zu rechtfertigen.
Das ist eine lobenswerte Position. Mal sehen, ob sie mit dieser
Verurteilung von Gewalt unabhängig vom verfolgten Zweck in ihrer Partei
auch dann durchkommt, wenn es nicht um Eier, sondern um Granaten
geht.
Ich will nicht ganz verhehlen, dass mich die diesjährigen Big Brother
Awards ein klein wenig enttäuscht haben. Gewiss waren das alles
verdiente Empfänger, aber mein Favorit war wieder mal nicht dabei.
Dabei gebe ich den Leuten vom FoeBuD (ich verweigere mich der
Umbenennung in digitalcourage aus reiner Nostalgie), dass dessen
Verfehlungen überschaubarer sind als die Bewegungsprofile von Lieferando
und die garstigen Fintech-Teufeleien von Klarna.
Dennoch sollte, so finde ich, cleverreach gelegentlich bedacht werden,
idealerweise in einer Kategorie „Ausschnüffeln per DSGVO-FUD“. Diese
wäre Einrichtungen vorbehalten, die anderen Einrichtungen
Überwachungstechnik unterschieben, indem sie die von weiten Teilen der
freien Presse geschürten Ängste vor der DSGVO ausnutzen.
Dieses Thema wird schon durch das augenblickliche Cookie-Banner dieser
Leute gesetzt, das modal (also: nichts geht, solange mensch nicht
klickt) zunächst von „Privatsphäre respektieren“ redet und dann über
allzu bekannte Dark Patterns versucht, den Leuten hart am Rande der
Legalität Daten abzupressen:
(ich habe das Legalesisch rausgeschnitten, da es nichts zur Sache tut).
Zum Mitschreiben: Ein Laden, der Datenschutz ernstnimmt, braucht keine
Cookie-Banner und schon gar keine Dark Patterns. Immerhin, das will ich
den Leuten lassen, funktionieren weite Bereiche der Webseite inzwischen
(das war vor zwei Jahren noch anders) ohne Javascript. Tatsächlich
werden ohne Javascript nicht mal Cookie-Banner ausgespielt (Disclaimer:
ich habe nicht nachgesehen, ob dann auch wirklich keine unnötigen
Cookies[1] verschickt werden).
Etwas ungehaltener bin ich schon über die Sirenentöne zur DSGVO,
mit denen cleverreach Unternehmen und, noch schlimmer, andere
Einrichtungen verunsichert: „eine Mailingliste ist datenschutzmäßig
total kompliziert, und wenn du eine betreibst, bist du schon halb im
Knast“. Das ist natürlich Unfug, solange beim Abonnieren klar ist, was
die Leute kriegen und der dazugehörige Dialog transparent gestaltet ist.
Aber welcheR „EntscheiderIn“ – Technik- und Sachkenntnisse sind in
solchen Positionen ja eher optional – könnte Sirenentönen schon
widerstehen?
Nun könnte ich mit so ein wenig DSGVO-FUD zur Not noch leben, selbst
wenn er zu einer – nur in seltenen Fällen dem Datenschutz wirklich
helfenden – Zentralisierung von EDV führt, hier nämlich von jeweils ein
paar lokalen Mailinglisten auf jeder Menge voneinander isolierter Server
zu einer Firma mit „310.000 Kunden“ mit entsprechend vielen Listen.
Diese Kunden sind zum Beispiel die Bundesorganisation der GEW, die
Ebert-Gedenkstätte in Heidelberg und das Landesmuseum für Arbeit und
Technik in Mannheim (dessen aktuellen Namen „Technoseum“ verweigere
ich mit gleicher Sturheit wie die „digitalcourage“). Stellt euch vor,
ihr wisst, dass jemand von allen drei Läden Info-Mails abonniert hat,
notabene freiwillig, was schon eine gewisse Identifikation mit den
jeweiligen Zwecken vermuten lässt: Entsteht da nicht ganz von selbst ein
Profil?
Faustregel: „clever“ heißt im Internet so viel wie
„fies”
Aber ist denn die Bildung so eines Profils nicht gegen die DSGVO?
Oh, mit hinreichend viel Skrupellosigkeit ist das kein Problem. Und
damit komme ich zum wirklich verwerflichen Teil von cleverreachs
Geschäft, der meines Erachtens Restzweifel im Hinblick auf die
Skrupellosigkeit zuverlässig zerstreut.
Dazu braucht es einen Blick in die von cleverreach verschickten Mails.
Dies sehen typischerweise so aus:
I 1 [multipa/alternativ, 7bit, 79K]
I 2 ├─> [text/plain, quoted, utf-8, 0.7K]
I 3 └─> [text/html, quoted, utf-8, 78K]
– sie gibt also vor, dass mensch alternativ ordentlichen Text oder
ein HTML-Dokument haben kann. Das Problem ist noch nicht mal, dass es
da überhaupt HTML gibt (auch wenn anständige Menschen kein HTML in Mails
packen). Das Problem deutet sich an darin, dass der Plain Text nur ein
Hundertstel der Länge des HTML-Teils hat. Das ist auch beim Einrechnen
des HTML-typischen Fluffs nicht mehr glaubhaft, und in der Tat ist der
Plain-Text-Teil nur ein Köder, um Menschen zu cleverreachs
Schnüffelseiten zu bringen:
Ihr E-Mail Programm unterstützt leider keine HTML E-Mails.
Hier finden Sie diesen Newsletter online:
https://213989.seu2.cleverreach.com/m/dddddddd/dddddd-hhhhhhhhhhhhhhhhhhhhhhhhhh
hhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhhh
(wo d Dezimalziffern und h Sedezimalziffern sind; mit Code im Umfang
dieser URL könnten DemoprogrammiererInnen Bälle über den Bildschirm
hüpfen lassen). Wer dieser ganz klar personalisierten URL folgt,
bekommt immerhin keinen Cookie-Banner, und erstaunlicherweise wird auch
kein Javascript ausgeliefert. In der Tat setzen die verschiedenen
Ressourcen auch keine nennenswerten Cookies. Allein die URL:
(c steht jetzt für Kleinbuchstaben) setzt einen PHP-Session-Cookie –
aber das ist vermutlich nur Gedankenlosigkeit. Das wirkliche Problem an
dieser Ressource: das ist ein Tracking-Pixel, in schlechter Tradition
als leeres GIF von 40 Bytes, das aber (was passiert da wohl im
Hintergrund?) jetzt gerade 5 Sekunden für die Auslieferung gebraucht
hat.
Hiermit nimmt cleverreach auf, wer ihre Mails liest und wann sie das
tun. Nennt mich paranoid, aber ob und wann ich Werbepost lese, das geht
wirklich nur mich etwas an. Ich will auf keinen Fall, dass jemand
merkt, wenn ich auf Clickbait hereinfalle.
Wenig überraschenderweise findet sich dieser Trackversuch auch am Ende
der ganz klassisch als Tabelle ausgezeichneten HTML-Alternative in der
Mail:
Bei HTML dieser Art (und überhaupt: GIFs) werde ich wieder jung: so
haben wir Mitte der 1990er Webseiten geschrieben.
Trotz dieses Schnüffelversuchts wäre es übrigens (wenn es jetzt schon
HTML sein muss) datenschützerisch besser, wenn cleverreach den Plain
Text-Teil nicht einbasteln würde, denn dann würde mein datensparsames
eigenes HTML-Rendering aktiv werden und ich könne die Mail lesen, ohne
(wie im normalen Browser fast unvermeidlich) getrackt zu werden. Wie
das alles mit meinem Mail-Client zusammengeht, beschreibe ich demnächst
mal; ich bestehe jedenfalls darauf, dass Plain Text-Alternativen, die
nur Clickbait enthalten, unethischer sind als gar kein Plain Text.
Entweder Internet-Normalbetrieb oder DSGVO.
Zugegeben: das verschlagene Unterschieben von Trackingpixeln, um
mitzukriegen, wann wer was liest und das dann den eigenen KundInnen als
total wichtige Marketingmetrik verkaufen zu können: Das könnte in Zeiten
von Google Analytics schon fast als lässliche Sünde durchgehen. Wer
sich auf Schurkereien dieser Art einlässt, darf jedoch im Gegenzug nicht
Gewerkschaften und SPD-nahe Stiftungen (samt ihrer im Datenschutz eher
unbeholfenen HauspolitiologInnen für antisoziale Medien) mit
Datenschutzraunen und -drohen von datensparsamen Verfahren in das eigene
überwachungskapitalistische Geschäftsmodell ziehen.
Ich lasse die Frage, ob es wohl „notwendige Cookies“ überhaupt
gibt, mal beiseite, denn Antworten auf diese bräuchten jede Menge Platz
für haarige technische und soziale Betrachtungen sowie eine
Großpackung Wenns und Abers.
About the lamest component of my current machine, a Lenovo XP 240, is
the touchpad. Well, it's actually a clickpad, i.e., a thing without
real buttons that you can press to make mouse button clicks.
Yes, this machine was designed at a time when everyone thought they had
to follow Apple's lead in abolishing the mouse buttons. What they had
not considered: while OS X is built around the (IMHO somewhat foolish)
notion that there's just one mouse button, in conventional X11 (roughly,
left: mark, middle: paste, right: context menu), having just one button
really is no fun.
Fortunately, one can define the button areas rather liberally by
X11-configurung the synaptics driver (and prototype things using the
synclient program, once one gets used to it quirks[1]) Some
duct tape one will even give add some tactile feedback to the pad so you
can feel the buttons without having to look:
This still stinks, because every time one clicks, the mouse pointer
moves. Fortunately, thinkpads also have a stick for pointer motions,
and so I could switch off pointer motion through the touchpad entirely.
I did that by setting AreaTopEdge to 0 (the default) and AreaBottomEdge
to 10 (or something similarly small). Hardware clicks and the detection
of the finger's location is unaffected by that setting.
That has worked fine (within reason), for all the, what, eight years
that I've used this box. But my stint into the fediverse made me
revisit my clickpad hack. This is because the mastodon client Tootle
does not have useful key bindings (like: space bar scrolls a page).
I have considered adding them but lost all motivation when I noticed
that the current vala source does not build on Debian stable, and
apparently by a large margin (ah, hipsterware!). I then briefly
considered writing mastodon reader myself in a bit of Tkinter but
got sidetracked when I noticed I'd have to render at least some subset
of HTML (which is an interesting problem in itself, and
tk_html_widgets looks fairly promising; but I still let it go).
And so I've finally implanted a scroll wheel into the stupid synaptics
clickpad by enabling two-finger scroll. However, one cannot just switch
on two-finger scroll without also switching on pointer motion, too
(or can one?). After quite a bit of fiddling, I figured having a little
patch in the middle of the touchpad sensitive keeps the number of
inadvertent pointer movements to a minimum; once you have a finger
there, you can use the entire pad for scrolling with the other finger.
In sum, this gives the following piece of xorg.conf material, to be
dumped to /etc/X11/xorg.conf.d/50-synaptics.conf:
Section "InputClass"
Identifier "touchpad"
MatchProduct "SynPS/2 Synaptics TouchPad"
Driver "synaptics"
Option "ClickPad" "True"
# Three buttons of equal size, stretching the whole way vertically
Option "SoftButtonAreas" "67% 100% 0 0 30% 67% 0 0"
# Turn off motion altogether: AreaBottomEdge 10 AreaTopEdge 0
# Motion only detected betwee A.T.E. and A.B.E.
# Here, use an aread in the middle of the pad:
Option "AreaTopEdge" "2400"
Option "AreaBottomEdge" "3200"
# Now enable scrolling with one finger on the sensitive area, the
# other finger moving to scroll. Raising FingerHigh can help
# reducing accidental moves. VertScrollDelta lets you
Option "VertTwoFingerScroll" "True"
Option "VertScrollDelta" "60"
Option "FingerHigh" "60"
# Our Buttons are on the full area anyway, so:
Option "HasSecondarySoftButtons" "False"
# A bit of config spam that I'm too lazy to regression test out.
# I'd expect they're rather safe to drop, though.
Option "VertResolution" "1000"
Option "HorizResolution" "650"
Option "MinSpeed" "1"
Option "MaxSpeed" "1"
Option "AccelerationProfile" "1"
Option "AdaptiveDecelration" "16"
Option "ConstantDecelration" "16"
Option "VelocityScale" "1"
EndSection
Have a look at the comments; on another box, I expect you'd need to
fiddle with AreaTopEdge and AreaBottomEdge to find values convenient for
you and your specific pad (the coordinates of the limits are most easily
found in /var/log/Xorg.0.log). You may also want to play with
FingerHigh, the pressure above which the device counts a click; on a
clickpad, though, even for reasonable values you will click before you
touch.
Synclient's quirks may not be its fault at all, but it is
somewhat annoying that it lets you play with settings for circular
pads (CircularScrolling, say) on devices that have no idea what these
settings are, that you can set pressure sensitivity parameters
(PressureMotionMinZ, PressureMotionMaxZ, PressureMotionMinFactor,
PressureMotionMaxFactor) on pads that are, as I'm sure mine is after
experimenting a lot, not pressure sensitive, or that it lets you set
PalmDetect, PalmMinWidth, and PalmMinZ to absolutely no discernable
effect. Ok, on the latter setting the synaptics man page does state
that that needs firmware support. But really, if that's so, couldn't
the non-supporting firmware be smart enough to not offer the setting
in the first place if it does nothing?
Auch die Stadt Heidelberg – die in der Altstadt noch nicht mal
Dachfenster erlaubt, damit vom Schloss aus alles ordentich aussieht –
lässt die Werbefritzen von Ströer Dauerbeflimmerung ausrollen, hier an
der Kreuzung Berliner-Jahnstraße, wo es wirklich nur eine Frage der
Zeit ist, bis das Gezappel auf dem Bildschirm mal wen so ablenkt, dass
er/sie sich oder wen anders kaputtfährt.
Während die Bahn papiergewordene Cookiebanner verschickt, gibt es an
vielen anderen Stellen offenbar durchaus Hoffnung, zumindest ein
bisschen weniger menschliche Kreativität und Zeit (von Energie und
Rohstoffen ganz zu schweigen) in die Belästigung der Allgemeinheit
(etwas beschönigend auch „Werbung“ genannt) fließen zu lassen. So
berichtet der DLF-Hintergrund vom 13.4.2022 aus Genf, die dortige
Stadtverwaltung wolle ab 2025 alle Plakatwände und vor allem ihre
besonders aufdringlichen elektronischen Geschwister abbauen lassen.
Das Radiofeature gibt Beispiele für gelungenes, wenn auch weniger
ambitioniertes, Zurückdrängen von Außenwerbung: die Stadtverwaltung von
São Paulo hat bereits 2007 15'000 Plakatwände demontieren lassen, in
Grenoble wurden 2014 immerhin 300 davon durch Bäume ersetzt.
„Werbefrei für die Freiheit“
—nicht J. Gauck
Der DLF lässt weiter Menschen von der Initiative Hamburg Werbefrei zu
Wort kommen, über deren Kampf speziell gegen die die leuchtenden und
zappelnden Groß- und Riesenbildschirme auch die taz berichtet.
Obszöne 45000 kWh Strom im Jahr verpulvert so ein Ding, also etwas wie 5
Kilowatt. Während ich das als „etwa so viel wie ein dauernd fahrendes
kleines Auto“ (oder auch: 50 ordentlich reintretende RadlerInnen)
umschreiben würde[2], übersetzt es der Aktivist im DLF-Interview das
als „fast so viel wie 30 Einpersonenhaushalte“. Die taz hingegen
schreibt „wie 15 Zweipersonenhaushalte“[1]. Angesichts solcher
Zahlen wäre ich fast versucht, mich des grassierenden Patriotismus
ausnahmsweise mal für gute Zwecke zu bedienen: „Werbefrei für die
Freiheit“.
Der taz-Artikel zitiert den Vorsitzenden der Grünen-Fraktion in Hamburg,
Dominik Lorenzen, mit den Worten: „Es gibt in der Stadt [sc. Hamburg]
eine gute Balance zwischen Werbeflächen und Platz für die Menschen“, was
ich schon bemerkenswert finde; der Mann erkennt zwar an, dass Werbung
schlecht für die Menschen ist, räumt ihr aber dennoch irgendeine Art von
Rechten ein, die mit den Interessen der BewohnerInnen seiner Stadt
auszubalancieren sei. Könnte ich ausgeschrieben haben, welcher Natur
diese Rechte wohl sein könnten? Ich hoffe nur, dass mein Spamfilter
legal bleibt…
Dieses Plakat-Ensemble (gleich neben dem Display von oben in der
Heidelberger Jahnstraße) wäre nach den versprochenen Genfer Regeln
noch ok: A0-Plakate, meist für Kultur oder, na ja,
Bildungsveranstaltungen.
Üblicher ist demgegenüber die Argumentation von Verkehrssenator Tjarks,
die die Belästigung der Öffentlichkeit mit städtischen Einnahmen von 27
Millionen Euro (im Jahr 2020) rechtfertigt. Im DLF-Beitrag wird, im
Gegensatz zum taz-Artikel, allerdings darauf hingewiesen, dass gerade
neue Verträge geschlossen wurden, die den öffentlichen Raum billiger
verhökern. In Genf soll die Stadt durch die Planungen viereinhalb
Millionen Euro weniger einnehmen. Gegengerechnet: beide Kommunen
verkloppen Stadtbild und Nerven der BewohnerInnen für recht einheitlich
um die 20 Euro pro Nase und Jahr.
Zahlen dieser Art dürften auch hinter der sehr schmallippigen
Kommunikation stecken, mit der der werbeindustrielle Komplex
AktivistInnen in Hannover gerade auflaufen lässt. Dort liegen
offenbar 50 Bauanträge vor zur Ausweitung der Dauerwerbe-Beflimmerung
(großartiger Begriff aus dem verlinkten Post) durch den Werbekonzern
Ströer, Stadt wie Firma (die seit einem Jahr oder so übrigens auch
t-online.de betreibt) mauern bezüglich der Details.
Eine Schote bei der ganzen Geschichte: Nachdem die Aktivistis auf die
Ströer-Übersicht zu Werbeanlagen in Hannover gelinkt hatten, um das
Ausmaß des Problems zu illustrieren, wurde es Ströer selbst zu peinlich;
jetzt ist da nur noch ein 404 („Sie haben womöglich eine falsche oder
alte URL aufgerufen“), und leider hilft auch die Wayback-Maschine
nicht. Indes ist allzu viel Fantasie nicht nötig, sich 4600 Werbeträger
von Ströer in einer Stadt mit 540'000 EinwohnerInnen vorzustellen. In
der volkswirtschaftlichen Gesamtrechnung müssen damit je rund 100
Menschen eines von diesen Teilen bezahlen.
Auch in Genf schlägt die Reaktion zurück. Ein „ideologischer Bulldozer“
sei es, die öffentliche Belästigung reduzieren zu wollen, „Zensur in
Sowjetmanier“, die, und mit derart verdrehten Argumenten wollen
allerlei Rechtsparteien und -verbände eine Volksabstimmung gewinnen,
auch zu „weniger Umsatz“ in den Geschäften führen wird, weshalb
„Arbeitsplätze verloren“ gehen werden.
Ich bin immer ganz fassungslos, wenn ich solche Argumentoide höre. An
sich ist die Situation nach dem Genfer Modell doch ganz klar: Wir
belästigen die Leute weniger, was ja ein großer Vorteil ist. Und dafür
müssen wir weniger arbeiten, was ja auch ein großer Vorteil ist. Wie
könnte da jemand was dagegen haben?
Die deutschen Werbefritzen sagen, sie hätten einen Anteil am BIP von
1.3% (sie sprechen von „Marktvolumen“). Rechnen wir die Arbeit ein, die
es fürs Aufräumen hinter diesen Leuten braucht, und noch weitere Mühe im
näheren Umfeld dieses Geschäfts, sind 2% weniger Arbeit ohne Werbung
durchaus realistisch. Das wäre, wenn das auf alle Menschen gleichmäßig
verteilt wird, ungefähr eine Stunde weniger Lohnarbeit.
Wäre das nicht klasse? Kein doofen Blinketafeln mehr und am Freitag
eine Stunde früher heimgehen?
Wer auch immer da gerechnet hat, hat ohnehin falsch gerechnet,
denn zwei Leute, die einen Haushalt teilen, werden in aller Regel
weit weniger Strom verbrauchen als zwei, die jeweils alleine wohnen.
Das ist schon deshalb praktisch unausweichlich, weil die
Dauerverbraucher Router und Kühlschrank einfach bzw. doppelt vorhanden
sind. Da die 1500 kWh pro Einpersonenhaushalt so in etwa auch bei den
EWS-Leuten auf ihren Rechnungen stehen, wird das wohl schon so in
etwa hinkommen. Allerdings: In meinem Zweipersonenhaushalt wird sogar
Essen und Wasser mit Strom erhitzt, und trotzdem kommen wir insgesamt
bei 1300 kWh/Jahr raus. Insofern frage ich mich immer ein wenig: Was
machen die Leute alle mit ihrem Strom?
Die Wikipedia sieht in einem Mitsubishi-Kleinwagen
einen Elektromotor mit etwa 50 kW Leistung, aber das ist ganz
offensichtlich eine Überdimensionierung. Mit 50000 Joule kann mensch
gemäß E = mgh (die potentielle Energie ist Masse mal
Erdbeschleunigung mal Höhe), ausrechnen, dass so ein Motor eine Tonne
50000 J ⁄ (1000 kg⋅9.81 m/s2) ≈ 5 m
in die Höhe bringen kann – und das jede Sekunde ein Mal.
Stellt euch mal kurz eine Tonne irgendwas vor, und dann, was passiert,
wenn mensch die fünf Meter runterfallen lässt. Ihr ahnt, was das für
Urgewalten wären. Umgekehrt wird als Reichweite für die Kiste 160
Kilometer genannt, was ich für Zwecke der Überschlagsrechnung in
eine Betriebsdauer von drei Stunden übersetze. Bei einer
Batteriekapazität von ungefähr 15 kWh ergeben sich dann zwanglos die 5
kW mittlere Leistung bei einem Kleinwagen ohne Klimaanlage.
Gestern habe ich Brief-Spam von der Bahn bekommen. Während meine Fragen
zu frechen Captchas (Oktober 2021) und einer öffentlichen
Entwicklung ihrer „BahnBonus App“ (neulich) immer noch auf sinnvolle
Antworten warten und die Mails von der Support-Adresse immer noch einen
komplett kaputten text/plain-Teil haben, schreibt die Bahn:
Sie sind noch nicht zu unserer E-Mail-Kommunikation angemeldet.
Äh… Was? Ihr habt mir doch euer Schreiben, nach der künftig Menschen,
die den root-Account auf ihren Rechnern weder Apple noch Google geben
wollen (nicht-technisch: „nicht smartphonieren“), auch per Mail
geschickt? Nun, lesen wir weiter:
Aber nicht nur mit der BahnBonus-App, sondern auch durch unsere
E-Mail-Kommunikation bekommen Sie unsere Angebote immer und überall
direkt auf ihr Smartphone.
Ah ja. „Angebote” also. Dass die Bahn Werbung über ihre App ausspielen
will, habe ich mir schon gedacht, denn, abgesehen vom (Meta-)
Datensammeln: Was soll sonst schon der Vorteil der App-Infrastruktur
sein gegenüber der alten Karte, die als Werbeträger, das gebe ich der
Bahn gerne, nur recht eingeschränkt taugt?
Was die Bahn hier probiert, heißt, so höre ich, in der Branche „Consent
Management“, also das Erschleichen von Einwilligungen zu allerlei
Datenverarbeitungen, die klar denkende Menschen ohne solches
„Management“ durchweg ablehnen.
Die Werbepost von der Bahn ist mithin eine materielle Manifestation
eines Cookiebanners. Liebe Bahn: Der aktuelle Kurs für das Erschleichen
solcher Einwilligungen ist mindestens ein iPad-Gewinnspiel. Oder in
meinem Fall: dass ich mit meiner Plastikkarte weiter einen warmen Ort
mit sauberem Klo finde, wenn ich mal wieder auf einem größeren Bahnhof
auf einen Zug warte, der grob in meine Richtung fährt.
Aber all das hat auch eine positive Seite: offenbar gibts im
Bahn-Werbecomputer kein Feld „angepisster Kunde, vorsichtige Ansprache“
– oder die Prozesse, es zu füllen, funktionieren nicht. Und das ist
aus Datenschutzsicht auch schon was.
Exkurs: Datenschutzaufklärung auch kaputt
Oh, habe ich gerade „Datenschutz“ in einem Bahn-Zusammenhang gesagt?
Dann kann ich nicht widerstehen, kurz von zwei Highlights meines
Ausflugs auf die Datenschutzseite der Bahn zu berichten. Da stimmt
nämlich schon im Hinblick auf die Rechtsgrundlagen ziemlich wenig (Stand
April 2022). Ich will kurz zwei Beispiele geben.
Die Bahn setzt ein bizarres Konglomerat von Tracking-Software ein (was
den beruhigenden Schluss zulässt, dass sie wahrscheinlich sehr wenig mit
den Ergebnissen machen, denn das Gesamtbild hinterlässt nicht den
Eindruck, dass da wer weiß, was er_sie tut) und erklärt dazu:
Die im Folgenden aufgeführten und von uns eingesetzten
Tracking-Maßnahmen werden auf Grundlage des Art. 6 Abs. 1 lit. b)
DSGVO durchgeführt und dienen der bedarfsgerechten Gestaltung und
fortlaufenden Optimierung unserer Webseite.
Buchstabe b in DSGVO Art. 6 (1) ist „Abwicklung eines Vertrages“. Wer
mir erzählt, er könne mir nur dann ein Ticket verkaufen, wenn er
Tealium, Adobe Analytics, Optimizely, Qualtrics, m-pathy und
CrossEngage alle zusammen auf mich loslässt, hat allenfalls mein
bitteres Lachen, anonsten aber die Nadel des Glaubwürdigkeits-o-meters
am Nullanschlag verbogen.
Nur zur Klarheit: eine Datenverabeitung, die sich auf Buchstabe b
beruft, muss notwendig sein, der Kram muss also kaputt gehen, wenn sie
nicht stattfindet. Das ist bei all den Trackern augenscheinlich
unzutreffend, denn auf meiner Maschine zeigen fast alle zugehörigen
Servernamen auf meine eigene Maschine oder die „Dienste“ sind
anderweitig „geblockt“. Ich kann aber trotzdem buchen, von den
Captcha-Belästigungen mal abgesehen.
Allerdings: Schon der vorgeschobene Grund, „bedarfsgerechte
Gestaltung“ (von der ohnehin keine Rede sein kann) hat ja mit der
Vertragsabwicklung nichts zu tun. Vielleicht könnten in dem
Zusammenhang „berechtigte Interessen“ (Buchstabe f) angeführt werden,
mit der Vertragsabwicklung hat das jedenfalls nichts zu tun.
Mit diesen berechtigten Interessen versucht es die Bahn ein wenig
später, nämlich bei den Captchas (wo das nicht komplett abzustreiten
wäre, auch wenn im konkreten Fall jede Verhältnismäßigkeit fehlt) und:
Für Zwecke der Betrugsprävention verwenden wir die Technologie
JSC-Tools der Risk.Ident GmbH (Am Sandtorkai 50, 20457 Hamburg). Dies
dient Ihrem und unserem Schutz, um der missbräuchlichen Verwendung
Ihres Zahlungsmittels zur Zahlung bei bahn.de/bahn.com vorbeugen zu
können. Rechtsgrundlage hierfür ist Art. 6 Abs. 1 lit. f) DSGVO.
Bei diesem Passus wollen Zweck – nämlich Schutz meines Zahlungsmittels
– und Verarbeitungsgrund – Interessen der Bahn – recht offensichtlich
nicht zusammengehen. Hier wäre ein Berufen auf Buchstabe b eventuell
denkbar, weil im wilden Internet Zahlungen ohne Schutzzauber
komplizierte Compliance-Probleme bereiten könnten. Das kann ich nicht
beurteilen, denn weder weiß ich, welche Sorte Schutzzauber diese
JSC-Leute machen noch muss ich – und dafür danke ich allen Gottheiten,
die gerne Dankbarkeit hätten – Geld übers Internet eintreiben.
Aber gut: Wer hätte schon erwartet, dass die Bahn im Datenschutz besser
ist als im Zugbetrieb. Auch dort ist es ja gegenwärtig die Regel, dass,
wenn ein Zug kommt, es fast immer ein anderer ist als angekündigt und
auch dieser andere Zug irgendwie kaputt ist.
All diese Leute warteten 2014 im Karlsruher ZKM auf einen Vortrag von
Noam Chomsky. In diesem Post geht es um etwas, wo er ziemlich klar
falsch lag.
Nachdem ich gestern so empört war über Computerlinguistinnen, denen
der ethische Kompass klar abhanden gekommen ist, möchte ich gerne ein
paar Worte über eine wunderbare linguistische Arbeit nachschieben, die
mir neulich auf den Rechner kam. Um es gleich zu gestehen: Auch in
der steckt schmutziges Geld, in diesem Fall vom US Department of Defense
– aber wenn damit schöne Wissenschaft gemacht wird, will ich nicht
mit Steinen werfen.
Ausgangspunkt war die Sendung Äh, ähm, genau – Wozu gibt es
Füllwörter?, die am 15.3. in SWR2 Wissen lief (großes Lob übrigens an
die Redaktion, die noch das Manuskript zur Sendung auf die Webseite
legt, etwas, das beim DLF inzwischen leider Seltenheitswert hat). Meine
Aufmerksamkeit angezogen hat die Geschichte vom „Powerpoint-Genau“,
jenem „Genau“, das tatsächlich viele Menschen entweder kurz vor oder
kurz nach dem Umblättern bei Programmen wie… na ja, impressive sagen.
Jetzt, wo ich mal darauf hingewiesen wurde, fällt mir auch auf, was für
eine verbreitete und, ganz streng genommen, etwas alberne Sitte das doch
ist.
Eine kleine Revolution in der Linguistik (gegen König Noam) aus dem
Jahr 2002.
Von dort bin ich auf die Arbeiten von Joan Fox Tree von der
staatlichen Universität in Santa Cruz, CA gekommen, die im SWR2-Beitrag
als Auslöserin einer kleinen Revolution in der Linguistik bezeichnet
wird, weil sie Ähs und Ähms nicht nur als nützlich – weil
verständnisfördernd – sondern sozusagen als Wörter erster Klasse
identifizierte. Beim Artikel zu Teil zwei firmiert Fox Trees
Stanford-Kollege Herbert Clark als Erstautor, und er erschien 2002, just,
als ich für ein paar Jahre selbst in Computerlingustik dilett^Wlehrte:
„Using uh and um in spontaneous speaking“ (ist leider bei Elsevier
erschienen, so dass ich die dorthin führende DOI
10.1016/S0010-0277(02)00017-3 nur widerstrebend gebe).
Das Paper argumentiert wie gesagt ziemlich stringent, dass Äh und Ähm
ganz normale Wörter sind. Das geht gegen einen Ukas des Gottvaters der
moderneren Lingustik, Noam Chomsky, der sie (in etwa) als
vorprachliche Oberflächenform von Verhakungen bei der Sprachproduktion
angesehen hat. So sehr ich Chomsky als großen Vereinheitlicher der
Theorie formaler Sprachen und klarsichtigen Beobachter „unserer“
Weltpolitik schätze: Ich schließe mich, glaube ich, dem modernen
computerlinugistischen Mainstream an, wenn ich vermute, dass er sich bei
der Untersuchung natürlicher Sprache meist vertan hat.
Ein sehr starkes Argument für die Worthypothese von Clark und Fox Tree
ist zum Beispiel, dass verschiedene Sprachen verschiedene, na ja, Laute
verwenden anstelle unseres Äh. Tabelle eins aus dem Paper gibt folgende
Aufstellung:
Deutsch
äh, ähm
Niederländisch
uh, um
Schwedisch
eh, äh, ääh, m, mm, hmm, ööh, a, ööh
Norwegisch
e, e=, e==, eh, eh=, m, m=, […], øhø, aj
Spanisch
eh, em, este, pues
Französisch
eu, euh, em, eh, oe, n, hein
Hebräisch
eh, e-h, em, e-m, ah, a-m
Japanisch
eeto, etto, ano, anoo, uun, uunto, konoo, sonoo, jaa
(für Referenzen siehe die Arbeit selbst). Es heißt darin weiter:
Speakers of English as a second language often import the fillers from
their first language – we have heard examples from native French,
Hebrew, Turkish, and Spanish speakers – and that is one reason they
continue to be heard as non-native speakers.
Während ich die langen eueueueu-s von FranzösInnen, die Englisch sprechen,
bestätigen kann, ist mir leider noch niemand Spanischsprechendes
begegnet, der/die mit „este“ verzögert hätte. Aber ich werde jetzt
besser aufpassen. Jedenfalls: dass Ähms zwischen verschiedenen Sprachen
verschieden, innerhalb der Sprachen aber recht konstant sind, schließt,
soweit es mich betrifft, aus, dass Äh und Ähm vorsprachliche
Fehlermarker sind.
Die anderen Argumente für die Worthypothese von Clark und Fox Tree sind
vielleicht nicht durchweg vergleichbar stark. Aber die AutorInnen wollten
erkennbar einmal alle konventionellen Sprachebenen durchgehen und
argumentieren deshalb auch phonologisch (sie sind normale englische
Silben), mofphologisch (sie funktionieren auch als Klitika, können sich
also an andere Wörter anlehnen: „und-äh”), mit Prosodie (sie fallen aus
der Satzmelodie heraus, wie das etwa auch Einschübe wie diese Klammer
machen), über die Syntax (hier folgen sie einfach anderen
Interjektionen: Heissa!), über die Semantik (sie haben eine definierte
Bedeutung, nämlich: jetzt kommt gleich eine kleinere oder größere
Verzögerung im Sprechen) und über die Pragmatik, also die Frage: was
wollen die Leute mit einem Äh bewirken?
Einen Eindruck von der Relevanz dieser letzten Frage mag gewinnen, wer
im SWR2-Beitrag Mark Zuckerberg hört, wie er auf die Frage eines
Kongressabgeordneten antwortet, ob er mitteilen wolle, in welchem Hotel
er heute geschlafen habe:
Der Artikel untersucht diese pragmatischen Aspekte, speziell, was seit
Grice Implikatur heißt, und bietet dazu alles Mögliche zwischen „ich
habe noch was zu sagen, rede noch nicht rein“ bis „hilf mir und rede du
weiter“. Im Fall von Zuckerberg – Facebook war 2002 übrigens noch
dystopische Science Fiction – wäre das wohl „Ich tu wenigstens so, als
müsste ich über diese Zumutung noch nachdenken“.
Methodisch ist das alles wirklich schön gemacht. Ich wünschte, mir wäre
das Paper schon in meiner Coli-Zeit aufgefallen. Zumindest meine Studis
hätten viel Spaß haben können[1].
Drei mal Öhm sind allein schon hier im Blog zu finden.
Ein weiterer Punkt aus der Arbeit, den ich für recht überzeugend halte:
Äh und Ähm kommen durchaus gerne in geschriebener Sprache, gerade etwa
in Chats, vor, was bei einer Art zerebralen Notsignal wirklich nicht zu
erwarten wäre. Ein schnelles grep Öhm *.rst im content-Folder
dieses Blogs liefert bereits drei Belege (a, b, c) – ich suche mal
nicht weiter nach anderen graphische Repräsentationen von Ähm, denn der
Punkt ist gemacht: Ich selbst öhme auch, wenn ich sicher keine
Wortfindungsprobleme oder Sackgassen in meinem Textplan habe, und ich
weiß dabei ziemlich genau, was meine Öhms bedeuten sollen.
Angesichts so leicht greifbarer Belege ist schon eher seltsam, dass ein
so heller Kopf wie Chomsky seinen Irrtum offenbar lange vertreten
hat. Andererseits: Wenn ich an die Gelegenheiten denke, zu denen ich
ihn live have reden hören… Nun, ich glaube, er äht selbst schon arg
wenig, und die Sorte informeller (und vielleicht ja comicinspirierter?)
Schreibe, an die wir uns weit über die Blogosphäre hinaus gewöhnt haben,
war in den 60er und 70er Jahren vielleicht wirklich noch eher
Underground. Clark und Fox Tree führen in diesem Zusammenhang aus,
warum Menschen in formaleren, vielleicht hierarchiedominierteren
Situationen weniger ähen werden:
On the minus side, whenever speakers use fillers, they are announcing
that they are having preparedness problems, something they may not
want to admit in public. Speakers on the radio, on television, and in
formal speeches are expected to be knowledgeable and competent, so it
might undermine their authority to admit to preparedness problems.
– eine Einsicht, die sie einer Arbeit über „Radio Talk“ von einem
Herrn Goffman aus dem Jahr 1981 zuschreiben. Und in der Tat:
If speakers have control of uh and um, they should use them less often in
formal than in informal registers, and there is much evidence that they
do.
Ich bin ganz sicher, dass ich das so mache. Den Eindruck, ich würde um
so weniger ähen, je öffentlicher ich spreche, hatte ich bisher eher mit
mehr oder weniger Konzentration in verschiedenen Dia- oder
Monologsituationen erklärt, ganz im Sinne von Chomskys Äh-Theorie.
Jetzt hingegen neige ich auch stark zur These, dass die Ähs in etwa so
verschwinden wie, sagen wir, kräftige Flüche, die ich auf, sagen wir,
Konferenzen normalerweise auch vermeide.
Äh… Scheiße, was für ein fetzengeiles Paper.
Wenn das DoD für sowas zahlen kann: Muss es dann für die Bundewehr
wirklich dieser Großschnüffel-Mist von gestern sein?
Wie prioritär die Auflösung der Bundeswehr ist, zeigt derzeit nicht nur
die allabendliche Berichterstattung zu den Folgen von Krieg[1].
Nein, eine von der Gesellschaft getragene Armee macht diese – die
Gesellschaft – auch furchtbar anfällig für anderweitige autoritäre
Versuchungen. So ist schon Existenz einer Armee das Nachgeben
gegenüber der maximalen autoritären Versuchung, denn ihr zugrunde liegt
ja die Überzeugung, eine große Klasse von Problemen ließe sich lösen,
indem mensch hinreichend viele der richtigen Menschen tötet – und dieses
Töten sei auch gerechtfertigt, wenn nicht gar geboten.
Außerhalb des engeren Tötungsgeschäfts fallen militärisch insprierte
Antworten normalerweise etwas weniger final aus, doch bleibt auch dort
ethisch kaum ein Stein auf dem anderen, wenn die Armee interveniert.
Ein gutes und aktuelles Beispiel ist das Projekt, von dem die
Computerlinguistin Michaela Geierhos von der Universität der
Bundeswehr in Computer und Kommunikation vom 9.4.2022 berichtet.
Im Groben will die ihre Gruppe statistische und vielleicht linguistische
Werkzeuge („künstliche Intelligenz“) zur – immerhin noch polizeilichen
und nicht militärischen – Massenüberwachung von Telekommunikation
nutzen. In den Geierhos' Worten:
…den Ermittler zu unterstützen, überhaupt mal zu erkennen, was es in
Millionen von Zeilen, wo kommen da überhaupt Namen vor von Personen,
was ist ne Adressangabe, gehts jetzt hier um Drogen oder gehts
vielleicht um ganz was anderes.
Mit anderen Worten: Die Polizei soll richtig viele Menschen
abschnorcheln – denn sonst kommen ja keine „Millionen von Zeilen“
zusammen – und dann per Computer rausbekommen, welche der Überwachten
die bösen Buben sind. Das ist der gute, alte Generalverdacht, und
Menschen mit einem Mindestmaß an menschenrechtlichem Instinkt werden so
etwas ganz unabhängig von den verfolgten Zwecken ablehnen. Grundfeste
des Rechtsstaats ist nun mal der Gedanke, dass allenfalls dann in deine
Grundrechte eingegriffen wird, wenn es einen begründbaren Verdacht gibt,
du habest gegen Gesetze verstoßen – und auch dann können nur sehr
konkrete Hinweise auf schwere Verstöße so schwere Eingriffe wie die
„TKÜ“ rechtfertigen (vgl. §100a StPO).
2008 zierte dieses Transparent das Berliner bcc, während der CCC dort
tagte.
In den Beispielen von Geierhos hingegen geht es um ein von vorneherein
zweckloses Unterfangen wie die repressive Bekämpfung des illegalen
Handels mit und Gebrauchs von Rauschmitteln. Das völlige Scheitern
dieses Ansatzes ist ein besonders schönes Beispiel dafür, wie trügerisch
die autoritäre Versuchung ist. Wie so oft mögen die (staats-)
gewalttätigen Lösungsansätze naheliegend sein. Das heißt aber noch lange
nicht, dass sie tatsächlich funktionieren, schon gar nicht auf Dauer.
Und da habe ich noch nicht mit den schweren Nebenwirkungen angefangen.
Leider ist auch der Moderator Manfred Kloiber – versteht mich nicht
falsch: das ist, soweit ich das nach Plaudereien mit ihm im DLF-Studio
beim Chaos Communication Congress beurteilen kann, ein sehr netter
Mensch – schon der autoritären Versuchung erlegen, wenn er fragt:
Auf der anderen Seite würde man sich ja wünschen, dass man genau davon
[z.B. von Drogengeschichten] ein unabhängiges System findet, was
eben halt über die Bereiche hinweg Kriminalität oder anormale Vorgänge
feststellen kann.
Ich weiß nicht, ob ihm klar war, was er sich da wünscht, und die eher
stolpernden Worte mögen andeuten, dass die Frage so nicht geplant war.
Jedenfalls: Eine universelle Verhaltensüberwachung, die nonkonformes
Verhalten (nichts anderes sind ja „anormale Vorgänge“ im sozialen
Kontext) polizeilicher Intervention zugänglich machen soll? Wer könnte
sich sowas unter welchen Umständen zur Lösung welcher Probleme wünschen?
Zum „wer“ kann mensch immerhin schon mal antworten: Wissenschaftlerinnen
der Universität der Bundeswehr, denn Geierhos antwortet ungerührt:
Ja, das ist eine sehr große Vision, aber von dieser Vision sind wir
leider noch weit entfernt.
(Hervorhebung von mir).
Zu weiteren „Kriminalitätsbereichen“, in denen Geierhos ihr digitales
Stahlnetz gerne auswerfen würde, sagt sie:
Also, Wirtschaftskriminalität, wie gesagt, schwieriger, dass wir das
synthetisch herstellen können […] Aber so Chatprotokolle, Telegram und
wie sie alle heißen, da kann man definitiv ansetzen, wir gucken uns
aber auch an, Hasskriminalität beispielsweise, Mobbing, dass es in die
Richtung geht.
Klar, das sind Probleme, deren autoritäre Behandlung (in Wahrheit wohl:
Verschlimmerung) das Aushebeln selbst noch basalster
Menschenrechtsstandards rechtfertigt.
Oh je. Wie genau haben Costa Rica und Island es geschafft, ihr Militär
loszuwerden? Können wir das bitte auch ganz schnell haben?
Bei den Bildern vom Krieg bleibt, nebenbei, zu bedenken,
dass an ihnen im Gegensatz zum offenbar noch verbreiteten Eindruck
nichts neu ist: Armeen, auch „unsere“ Armeen und die „unserer“
Verbündeten, haben seit jeher und auch in den letzten Jahren ganz
ähnliche und noch schlimmere Gräuel angerichtet. Dass nennenswert
viele sogar halbwegs gutwillige Menschen die aktuellen Gräuel zum
Anlass nehmen, „unsere“ Fähigkeiten zum Anrichten von Gräueln
verbessern zu wollen: Das wird künftige HistorikerInnen wohl ebenso
verwundern wie uns heute die Freude, mit der nennenswerte Teile der
kaiserlichen Untertanen in den ersten Weltkrieg gezogen sind. Mich
verwundert schon heute beides in gleichem Maße. Aber das ist nun
wirklich nicht Thema dieses Artikels.
Nachdem mich gestern die Publikationen der Gruppe von Kathelijne
Koops so gelockt haben, habe ich gleich eine durchgeblättert, und
zwar „How to measure chimpanzee party size? A methodological comparison“
von Kelly van Leeuwen und KollegInnen
(doi:10.1007/s10329-019-00783-4, Preprint).
Bevor ich das lobe, muss ich etwas mosern. Erstens, weil das
Ganze von unfreier Software nur so strotzt – die statistische Auswertung
ist mit SPSS gemacht (geht ja auch anders), und das Paper wurde wohl in
Word geschrieben, auch wenn die Metadaten des Preprints etwas verwirred
aussehen (leicht redigiert):
Warum da nacheinander ein „PDFMaker für Word“ und dann (?) nochmal ein
Ghostscript drübergelaufen sind? Hm. Das PDF vom Verlag ist übrigens
nochmal anders gemacht und meldet „Acrobat Distiller 10.1.8 (Windows)“
als die Software, die das PDF geschrieben hat. Uh. Ein wenig neugierig
wäre ich nun schon, woraus das destilliert wurde.
Zweitens ist nicht schön, dass die Open-Access-Webseite der Uni Zürich
„You need to enable JavaScript to run this app.“ sagt. Das ist in
diesem Fall um so weniger angebracht, als sie auch ohne Javascript eine
ganz brauchbare Seite ausliefert. Allerdings fehlen in dem
Word-generierten PDF die Abbildungen und Tabellen, und sie sind auch
nicht erkennbar verlinkt. Immerhin sind beim Verlag (Springer) „Online
Resources“ offen (während sie von Leuten, die nicht für hinreichend
reiche Unis arbeiten, absurde 37.40 Euro fürs formatierte PDF haben
wollen). Zumindest im Falle der ziemlich sinnlos gestapelten Ergebnisse
der verschiedenen Methoden in Abbildung 1 ist das Fehlen der Abbildungen
aber hier vielleicht sogar verschmerzbar.
Ich würde noch nicht mal auf die Tests, die die AutorInnen so
durchgeklickt haben, furchtbar viel geben, auch wenn sie immerhin ein
wenig statistsiche Abbitte geleistet haben (das ist die realweltliche
Bedeutung des dann und wann angerufenen hl. Bonferroni).
Mein persönliches Highlight aus dem Artikel: Eine qualitative
Betrachtung einiger systematischer Effekte. Rechte beim Japan Monkey
Centre und Springer Japan KK (aus doi:10.1007/s10329-019-00783-4).
Wirklich schade ist es aber um die Tabelle 1 (wenn die Abbildung hier
nicht reicht: Libgen kann helfen). Sie liefert eine schöne Quintessenz
der qualitativen Betrachtungen zu möglichen systematischen Fehlern, und
die geben gute – und vor allem im Vergleich zu entsprechenden
Betrachtungen in der Physik auch recht greifbare – Beispiele für das,
von dem ich in meinem Lob von small data geredet habe. Van Leeuwen
et al schätzen nämlich die Größe von umherziehenden Schimpansengruppen.
Weil die Tiere nun in den Baumkronen umherturnen und noch dazu
vielleicht nicht so gern gezählt werden, ist das nicht ganz einfach, und
die Leute probieren vier verschiedene Verfahren:
Hingehen und Affen zählen
Eine Fotofalle aufstellen und sehen, wie viele Schimpansen auf den
Bildern sind
Anrücken, wenn die Tiere weg sind und zählen, wie viele Tagesnester –
leichte Konstrukte aus Blättern und Zweigen, in denen Schimpansen
kleine Nickerchen halten – in den Bäumen sind
Anrücken, wenn die Tiere weg sind und zählen, wie viele Schlafnester –
elaborierte Konstruktionen, in denen ein Schimpanse die Nacht
(aber immer nur eine) verbringt – in den Bäumen sind.
In einer idealen Welt würde für eine gegebene Gruppe immer die gleiche
(kleine natürliche) Zahl rauskommen, also vielleicht 5. Und ich finde
die erste wertvolle Einsicht schon mal: Selbst einer 5 kann mensch in
vielen Bereichen der Wissenschaft nicht vertrauen. Na gut: Als Astronom
sollte ich da nicht mit Steinen werfen, denn wir kommen ja auch mit
acht, neun oder zehn (Planeten im Sonnensystem) ins Schleudern.
Wenig überraschenderweise lieferten verschiedene Methoden tatsächlich
verschiedene Ergebnisse, und zwar systematisch. Zur Erklärung schlagen
die AutorInnen unter anderem vor:
Direkte Beobachtungen werden vermutlich große Gruppengrößen
bevorzugen, da sich kleinere Gruppen noch scheuer gegenüber Menschen
verhalten werden als große – und umgekehrt die Menschen größere
Gruppen wegen mehr Geschrei auch leichter finden.
Umgekehrt werden direkte Beobachtungen eher einzelne Tiere übersehen,
wenn diese besonders scheu sind, was zu einer systematischen
Unterschätzung speziell bei besonders wenig an Menschen gewöhnten
Gruppen führen wird.
Die Fotofallen könnten ähnliche Probleme haben, wenn die
Schimpansen ihre Existenz spitzkriegen. Offenbar gibt es da
Vermeidungsverhalten. Und natürlich haben Fotofallen nur ein
endliches Gesichtsfeld, so dass sie bei realen Schimpansengrupen
recht wahrscheinlich einzelne Tiere nicht erfassen werden.
Bei den Tagesnestern werden eher Tiere übersehen, weil einige sich gar
keine Tagesnester bauen, etwa, weil sie gar kein Nickerchen
halten. Und außerdem sind diese Nester häufig so locker gezimmert,
dass Menschen sie übersehen. Das kann aber durchaus auch zu einer
Überschätzung der mittleren Gruppengröße führen, weil kleinere
Tageslager gar nicht auffallen; ähnlich würde es sich auswirken, wenn
sich ein Tier zwei oder gar mehr Tagesnester baut.
Bei Nachtnestern könnte die Gruppengröße überschätzt werden, weil sich
vielleicht mehrere Gruppen zur Übernachtung zusammentun (was dann den
Übergang von systematischen Fehlern in interessante Ergebnisse
markiert). Demgegenüber dürften die Probleme mit übersehenen kleinen
Nachtlagern wie auch mit übersehenen Nestern bei Nachtnestern weniger
ins Gewicht fallen als bei Tagnestern, einfach weil sie viel
aufwändiger gebaut sind.
Nun reichen die Daten von van Leeuwen et al nicht, diese Systematiken
ordentlich zu quantifizieren, zumal sie sehr wahrscheinlich auch von
allerlei Umweltbedingungen abhängig sind – im Paper geht es in der
Hinsicht vor allem um die Verfügbarkeit von Obst (mit der die
Gruppengröße wachsen könnte, weil mehr Tiere gleichzeitig essen können,
ohne sich in die Quere zu kommen) und um die Anwesenheit
fortpflanzungsbereiter Schimpansinnen.
Dass systematische Fehler sehr wohl qualitative Ergebnisse ändern
können, zeigt die Studie schön. So werden Gruppen laut
Fotofallenmethode größer, wenn sie fortpflanzungsbereite Frauen
umfassen; dieses Ergebnis verschwindet aber, wenn die Gruppengrößen durch
direkte Beobachtungen geschätzt werden. Durch Nestzählung ist zu dieser
Frage keine Aussage möglich, weil jedenfalls ohne viel Kletterei nicht
herauszubekommen ist, wie es mit Geschlecht und Zykluslage der
NestbauerInnen ausgesehen haben mag.
Und auch wenn die Arbeit nicht auseinanderhalten kann, wie weit die
größeren Gruppen, die sich bei Betrachtung der Nachtnester ergeben,
Folge systematischer Fehler bei der Erfassung sind oder durch das
Verhalten der Tiere verursacht werden: Klar ist jedenfalls, dass mensch
bis auf Weiteres lieber keine Schlüsse von Nachtzählungen aufs
Tagesverhalten zieht.
Ob diese Krähe überlegt, wie sie das Schwein lenken kann?
Und wenn sie rauskriegt, wie das geht, könnte sie es ihren Kindern
sagen? (Das ist übrigens im Käfertaler Wildpark)
Auf meinem Mal-genauer-ansehen-Stapel lag schon seit der
Forschung aktuell-Sendung vom 25. Januar die Geschichte von den
Schimpansen und den Steinen. In aller Kürze: Irgendwo in Guinea leben
zwei Schimpansengruppen (-stämme?), deren eine seit vielen Jahren mit
großer Selbstverständlichkeit Nüsse mit Steinen knackt, deren andere
aber das noch nicht mal tut, wenn mensch ihnen Steine und Nüsse frei
Haus liefert. Der Clou: die beiden Gruppen wohnen nur ein paar
Kilometer voneinander entfernt.
Ich fand diese Geschichte sehr bemerkenswert, und zwar einerseits, weil
ich Schimpansen grundsätzlich für kreativ genug gehalten hätte, um bei
so viel Nachhilfe schnell selbst aufs Nüsseknacken zu kommen. Krähen
zum Beispiel – jedenfalls die im Handschuhsheimer Feld – werfen Nüsse aus
großer Höhe auf Teerstraßen, nicht aber auf normale Erde. Na gut, das
mag auch soziales Lernen gewesen sein, aber ich will eigentlich schon
glauben, dass so eine Krähe da auch selbst draufkommt. Und a propos
„sozial“: Wer Möwen kennt, wird wohl wie ich sicher sein, dass deren
Muschelknacktechniken, wenn überhaupt, nur durch antisoziales Lernen
vermittelt werden könnten.
Wenn jedoch die Schimpansen zu vernagelt sein sollten, um rasch selbst
auf die Nutzung eines Steins zum Nüsseknacken zu kommen, finde ich es
andererseits fast unglaublich, dass Gruppen, die nur ein paar
Kilometer voneinander entfernt leben, so wenig Austausch haben, dass sich
so eine Kultur innerhalb von Jahrzehnten nicht sozusagen intertribal
verbreitet. Es gehen doch immer wieder einzelne Tiere auf Wanderschaft,
oder nicht?
Ein Gedanke, der mich beim Hören ein wenig beschäftigt hat, war: Was,
wenn das nicht ganz ordinäre Dummheit ist, sondern dessen verschärfte
Form, nämlich Patriotismus? In seinem Buch „Collapse – how societies
choose to fail or succeed“ (gibts in der Imperial Library) spekuliert
Jared Diamond, die mittelalterliche Wikingerkultur auf Grönland sei
untergegangen, weil ihre Mitglieder darauf bestanden haben, wie „in der
Heimat“, also von Getreide und Viehzucht, zu leben und nicht, wie die
Inuit, die sie garantiert beobachtet haben werden, von Fisch. Das
Bauernmodell habe die gegen Ende des mittelalterlichen Klimaoptimums
sinkende Temperatur einfach nicht mitgemacht.
That [the Greenland Norse] did not hunt the ringed seals, fish, and
whales which they must have seen the Inuit hunting was their own
decision. The Norse starved in the presence of abundant unutilized
food resources. Why did they make that decision, which from our
perspective of hindsight seems suicidal?
Actually, from the perspective of their own observations, values, and
previous experience, Norse decision-making was no more suicidal than
is ours today.
Schon, weil dieser Artikel mit Wissenschaft getaggt ist, muss ich
anmerken, dass Diamonds Argumente vielleicht nicht immer die
stichhaltigsten sind und auch die Sache mit der Kälte zwar naheliegend,
aber nicht alternativlos ist (vgl. Wissenschaft im Brennpunkt vom
14.11.2019) und wenigstens nach Zhao et al (2022),
doi:10.1126/sciadv.abm4346, wegen Nicht-kälter-werden inzwischen
regelrecht unplausibel wird. Und doch: Dass Kulturen Dinge aus völlig
albernen Gründen tun (ich sage mal: Autos fahren und, schlimmer noch,
parken) und noch mehr nicht tun (ich sage mal: Alltagsradeln), ist
wahrlich nichts Neues. Was also, wenn sich die nichtknackenden Affen
die Nüsse quasi vom Mund absparen, um nur sich nur ja nicht gemein zu
machen mit den knackenden Affen von nebenan? Ich würde das Experiment
ja gerne mal mit anderen, weiter entfernten Gruppen probieren.
Mit solchen Gedanken habe ich die Webseite der im DLF-Beitrag zitierten
Kathelijne Koops von der Uni Zürich besucht. Ein Paper zur
Nussgeschichte habe ich nicht gefunden – basierte der Beitrag im Januar
auf einem Preprint? einer Pressemitteilung der Uni Zürich? –, aber
dafür jede Menge anderer Papers, die es direkt in meinen
Mal-genauer-ansehen-Stapel schaffen: „Quantifying gaze conspicuousness:
Are humans distinct from chimpanzees and bonobos?“, „Chimpanzee termite
fishing etiquette“ oder, im Hinblick auf meinen Dauerbrenner „Was taugen
diese Zahlen eigentlich?“ besonders reizvoll: „How to measure chimpanzee
party size?“. Ich bin ganz hingerissen.
Ich hatte gerade einer armen Seele zu helfen, die drei Bücher mit
Microsoft Word für Windows geschrieben hat und dazu
Word-Zentraldokumente verwendet hat, vor allem wohl, weil vor 20 Jahren
– als diese Projekte starteten – Word nicht mit mehreren hundert Seiten
auf einmal umgehen konnte. Unbenommen, dass mensch mit Office-Software
keine richtige Arbeit machen sollte: da die arme Seele auf Linux
migrierte, musste der ganze Kram auf Libreoffice. Für eine Migration auf
vernünftige Technologien (TeX, ReStructuredText, Docbook oder was auch
immer) reichten weder meine Geduld noch der Erlösungswille der armen
Seele.
Erste Ernüchterung: Word-Zentraldokumente (wie auch
Libreoffice-Globaldokumente) speichern ihre Pfade absolut: sie können also
ohne Tricks nicht bewegt werden, insbesondere nicht von einem
Windows-Dateisystem in ein Linux-Dateisystem. Wie so oft stellt sich
die Frage, warum das mal ein wie ein gutes Design ausgesehen haben mag.
Nach einem kurzen Blick auf das Arbeiten mit Globaldokumenten habe ich
beschlossen, dass Rechner jetzt wirklich groß genug sind, um
500-seitige Dokumente im Speicher zu halten und dass der ganze Zentral-
und Globaldokumentenzauber mit den begleitenden Komplikationen nicht
mehr sein muss.
Nur: Wie kopiert mensch 20, 30 solche Dateien zusammen? Was ich dazu in
der verbleibenden Libreoffice-Doku (das Wiki, das das jetzt sein soll,
überzeugt mich übrigens nicht) und dem weiteren Netz gefunden habe, fand
ich eher… unbefriedigend – Erinnerungen an Windows-Foren („um den
Sound-Treiber zu reparieren, musst du den CD-Treiber deinstallieren.
Hat bei mir funktioniert“) werden da dann und wann schon wach. Deshalb
dachte ich mir, es könnte nützlich sein, wenn ich auch ein paar Rezepte
beitrage, auch wenn ich – Disclaimer – selbst keine Office-Software
verwende und in dem Sinn selbst höchstens einäugig bin.
Wie machte ich aus einem Satz von ODTs oder DOCs ein einziges ODT?
Ein Verzeichnis anlegen und alle Filialdateien reinkopieren.
Die Dateien so benennen, dass eine einfache Sortierung sie in die
richtige Reihenfolge bringt (ich habe einfach 000_, 001_ usf
vor die Namen gesezt).
Libreoffice starten, Neu → Globaldokument.
F5 drücken, um in den Navigator zu kommen, dort aufs Einfügen-Icon
klicken; das poppt eine Auwahlbox auf.
In dieser Auswahlbox in das Verzeichnis mit den Filialdateien gehen und
diese in die Reihenfolge sortieren lassen, in der sie nachher
im Dokument erscheinen sollen.
Alle Dateien im Verzeichnis auswählen, z.B. durch Control-A oder per
Shift-Klick, dann den Import bestätigen.
Datei → Exportieren, dabei ODT als Zielformat auswählen; das ist
der erste Schritt, um von der Einbettung im Globaldokument
wegzukommen. Ich nenne diese Datei jetzt mal joined.odt.
Das so erzeugte ODT ist leider überall schreibgeschützt, und ich
habe keinen Weg gefunden, diesen Schreibschutz per Klicken
wegzuzaubern, bevor ich die Geduld mit Doku, Menüs und vor allem
Foren verloren habe und mit epubedit beigegangen bin (vgl.
unten). Mit dem kleinen Skript dort unten könnt ihr Folgendes in
einer Shell laufen lassen:
epubedit joined.odt
sed -ie 's/text:protected="[^"]*"//g' content.xml
(ihr könnt natürlich auch mit einem Editor oder gar mit dem
hervorragenden xmlstarlet die ganzen text:protected-Attribute
löschen)[1]. Geht dann aus der Shell vom epubedit wieder
raus; das schreibt joined.odt neu.
Das neue joined.odt in libreoffice öffnen.
Bearbeiten → Verknüpfungen, wieder alle Auswählen (^A), und dann den
Lösen-Knopf drücken.
Das Ergebnis dieser Prozedur ist ein zusammenhängendes „Dokument“ (wenn
mensch keine großen Ansprüche an Dokumente hat).
Zumindest in meinem Fall fing damit die Arbeit allerdings erst an, weil
jedes Filialdokument eigene und verrückte Absatzvorlagen hatte. Ich
schreibe gleich, wie ich das aufgeräumt habe, aber zunächst müsen wir
geschwind über das erwähnte epubedit reden.
epubedit
Was Open Document-Dateien tatsächlich etwas angenehmer im Umgang
macht als einige andere Office-Dateien, die ich hier erwähnen könnte,
ist, dass sie eigentlich nur zip-Archive sind, in denen von für sich
nicht unvernünftigen Standards (z.B. XML und CSS) beschriebene
Textdateien leben. Das hat mir beispielsweise den obigen Trick mit der
Ersetzung der text:protected-Attribute erlaubt.
Diese Architektur haben sie mit Ebooks im epub-Format gemein, und um an
denen geschwind mal kleine Korrekturen vorzunehmen, habe ich mir vor
Jahren ein kleines Shell-Skript geschrieben:
#!/bin/bash
if [ $# -ne 1 ]; then
echo "Usage: $0 <epub> -- unpack an epub, open a shell, pack it again."
exit 0
fi
workdir=$(mktemp -d /tmp/workXXXXXX)
cleanup() {
rm -rf $workdir
}
trap cleanup EXIT
if [ ! -f "$1".bak ]; then
cp -a "$1" "$1".bak
fi
unzip "$1" -d $workdir
(cd $workdir; bash)
fullpath=$(pwd)/"$1"
cd $workdir
zip -r "$fullpath" *
Nehmt das und legt es als – sagen wir – epubedit irgendwo in euren
Pfad und macht es ausführbar. Ihr könnt dann für irgendein epub oder
odt epubedit datei.odt sagen und landet in einer Shell, die im
Wurzelverzeichnis des jeweiligen ZIP-Archivs läuft. Dort könnt ihr nach
Herzenslust editieren – bei ODTs ist der Inhalt in content.xml –,
und wenn ihr fertig seid, beendet ihr die Shell und habt ein
entsprechend verändertes ODT oder epub.
Weil dabei gerne mal was schief geht, legt das Skript ein Backup der
Originaldatei an (es sei denn, es gäbe schon so ein Backup; die
Erfahrung zeigt, dass mensch in der Regel lieber das ursprüngliche
Backup behalten will…).
Stilfragen
Nun ist das vereinte Dokument zwar immerhin nur noch eine einzige Datei,
die zudem – wow! – auch bewegt werden kann. Zumindest mit der Genese in
meinem Fall, also den vielen Einzel-Word-Dateien, ist sie trotzdem kaum
brauchbar, weil Word einige hundert Formatvorlagen erzeugt hat, meist
mit so nützlichen Namen wie
Formatvorlage_20_16_20_pt_20_Block_20_Erste_20_Zeile_3a__20__20_05_20_cm_20_Zchn
oder Fußnotentext1_20_Zchn oder auch apple-converted-space.
Dieses Problem ist schlimm, und ich habe schließlich eingesehen, dass es
ohne ein kleines Programm und einige Handarbeit nicht lösbar ist.
Das Programm hat am Anfang nur Stilnamen aus dem Dokument rausgeprökelt
und auf die Standardausgabe gelegt. Inzwischen ist das zu einer Basis
für eine Abbildungsdatei geworden, und auch für die Abbildung als solche
haben reguläre Ausdrücke noch gereicht. Wegen der Abhängigkeiten der
Stile untereinander blieb jedoch immer noch jede Menge Mist in der Liste
der verwendeten Stile zurück. Deshalb musste ich schließlich doch noch
ordentliche XML-Verarbeitung anwerfen, um die styles.xml
umzufummeln. Das Ergebnis ist das Programm
defuse-libreoffice-style.py. Wenn ihr dieses Programm für die Dauer
der Verarbeitung in euer Homeverzeichnis legt, würdet ihr die Stile wie
folgt vereinheitlichen:
epubedit joined.odt; alles Weitere passiert in der Shell, die
das öffnet.
python3 ~/defuse_libreoffice-style.py > ~/style-map.txt – wenn
ihr das Skript nicht in eurem Home lagert, müsst ihr diesen Pfad
anpassen. Und ich lege die Stil-Abbildung ins Home und nicht ins
aktuelle Verzeichnis, damit die Abbildung (die recht viel Arbeit
ist) nicht gleich verloren ist, wenn ihr die Shell verlasst. Ich
jedenfalls habe besonders beim ersten Mal ein paar Anläufe
gebraucht, bis das Mapping gut gepasst hat.
Editiert die Datei ~/style-map.txtmit einem Texteditor (also
auf keinen Fall mit libreoffice selbst). Da drin stehen Zeilen
wie:
Footnote_20_Symbol -> Footnote_20_Symbol
– in meinem Fall ungefähr 200 davon. Die Aufgabe ist jetzt, die
rechten Seiten dieser Zeilen auf eine Handvoll Stile runterzubringen
(Textkörper, Überschrift_1, Überschrift_2, Zitat, Fußnotenzeichen
und Fußnote waren mein Minimum); die Zeile oben habe ich zum
Beispiel zu:
Footnote_20_Symbol -> Fußnotenzeichen
gemacht. Es ist nicht immer einfach, herauszukriegen, was wohl eine
Vorlage mal tun sollte; meist hat Word aber doch einen gewissen
Hinweis darauf im Namen hinterlassen.
Wenn die Abbildung fertig ist, lasst das Python-Skript nochmal
laufen; wenn es nämlich ein Argument bekommt, interpretiert es das
als Abbildung und passt sowohl content.xml als auch
style.xml entsprechend an:
Um zu sehen, welche Stile noch übrig sind, könnt ihr das Skript
ein weiteres Mal ohne Argumente laufen lassen; das gibt dann die
noch vorhandenen Stile ins Terminal aus:
python3 ~/defuse_libreoffice-style.py
Wenn noch was dabei ist, das nicht übrig bleiben soll, könnt ihr
style-map.txt anpassen und Schritt (4) nochmal laufen lassen (oder
nochmal vom Backup des ODT anfangen).
Verlasst zum Abschluss die Shell vom epubedit und guckt im libreoffice
nach, ob alles geklappt hat. Libreoffice erzählt wahrscheinlich,
dass das Dokument beschädigt sei (aber nicht genauer, was
eigentlich; hier rächt sich, dass ich die Open Document-Standards
nicht gelesen und stattdessen einfach munter drauflosgehackt habe).
Das, was es zur Reparatur unternimmt, hat aber bei mir immer gut
funktioniert – insofern: Nur Mut.
Und für den Fall, dass jemand in den Python-Code reinguckt: Nein, auch
wenn der StyleSanitiser immerhin ordentlich XML bearbeitet (im
Gegensatz zu dem RE-Hacks von oben), ist das immer noch nicht Open
Document-allgemein, denn ich habe die spezifische Wahl des
text:-Präfix von Libreoffice darin hart kodiert, was sich für
„richtige“ Software nicht gehören würde. Aber SAX mit richtigen
Namespaces macht keinen Spaß, und ich rechne erstmal nicht damit, dass
dieser Code je mit ODTs laufen wird, die nicht von Libreoffice kommen.
Und die Stichworte?
Die Bücher hatten auch je ein Stichwortverzeichnis. Bei einem Dokument hat
das gut funktioniert, bei den anderen standen im Verzeichnis ein paar
ordentliche Begriffe, ein paar Begriffe mit sinnlosen typografischen
Anführungszeichen und ganz viele Einträge für das leere Wort. Ich habe
keine Ahnung, wie es dazu kam.
Bei der Reparatur hilft erneut der Umstand, dass ODT im Kern ein nicht
ganz unvernünftiges XML ist. Dabei sieht das Markup für ein Stichwort
beispielsweise so aus:
Dass auch avantgardistisch orientierte Menschen im ersten Weltkrieg
die große Knochenmühle mit ihrer Kreativität unterstützten, zeigt, so
finde ich, dieses im Technischen Museum Wien ausgestellte
zeitgenössische Plakat. Aber dazu später.
Gestern war Jürgen Wagner von der großartigen Informationsstelle
Militarisierung (IMI) in Heidelberg und hat über „Krieg gegen die
Ukraine – Russlands Krieg, die westliche Rolle und die Sackgasse
Aufrüstung“ referiert (Ankündigung). In einer Zeit, in der praktisch
keine öffentliche Äußerung ohne Schaum vorm Mund auskommt, war der im
Groben ruhige Verlauf der Veranstaltung eine sehr willkommene
Abwechslng. Aber gut, es konnten auch die meisten der (praktisch
durchweg grauhaarigen) Anwesenden mit gutem Gewissen sagen: Wir waren
gegen die Angriffskriege gegen Serbien, Afghanistan, den Irak, Libyen
oder Efrîn auf der Straße – klar sind wir auch gegen den Angriff auf
die Ukraine auf der Straße. Wer so viel Routine hat bei der Empörung
gegen das staatliche Töten, hat vielleicht wirklich bessere
Voraussetzungen, allzu überschäumender Erregung zu entgehen.
Ich nehme ich an, dass Jürgens Online-Vortrag vom 28.3.2022 ziemlich
genau dem entspricht, was er gestern erzählt hat, und so empfehle ich das
jetzt mal ungesehen. Lohnend ist das unter anderem, weil Jürgen recht
überzeugend eines der hässlicheren Narrative der letzten paar Wochen
zerlegt: Dass es nämlich eine Appeasement-Politik gegeben habe und diese
gescheitert sei, weshalb nun die Aufrüstung (und in der Konsequenz das
Niederringen und -werfen des Feindes) alternativlos sei.
Es hat seit 1990 keine „Appeasement“-Politik gegeben.
Beide Teile dieses Narrativs sind Quatsch. Es hat nämlich schon mal
keine Appeasement-Politik gegeben. Mal ganz davon abgesehen, dass eine
Diffamierung von Entspannungs- und Kompromisspolitik als „Appeasement“
(und damit des Feindes als „Hitler“) an sich schon stark nach übler
Demagogie schmeckt: „Der Westen“ hat seit der Niederlage der
Sowjetunion konsequent die berühmten „roten Linien“ seiner (nicht nur
russischen) Feinde überschritten und hat entsprechende Signale von
diesen nonchalant ignoriert. Wer nicht Video gucken will, findet auch
auf der Ukraine-Seite der IMI viel Material zu diesem Thema.
Diese Frage ist durchaus relevant, denn: Zur Abwechslung mal nicht blind
die eigenen nationalen Interessen durchsetzen wäre durchaus ein Modell
für eine antiapokalyptische Außenpolitik nach dem jüngsten Krieg in
Europa, gerade auch im Hinblick auf ein Einbremsen der zahlreichen
vergleichbaren Gemetzel im globalen Süden.
Was im Übrigen vom Appeasement-Narrativ zu halten ist, zeigt die
Entwicklung der deutschen Kriegskasse:
Seit der Eskalation um das Assoziationsabkommen der EU mit der Ukraine
stieg das Budget der Bundeswehr von 32,5 Mrd. Euro (2014) auf 46,9
Mrd. (2021) steil an – und das sind nur die offiziellen Zahlen, hinter
denen sich noch einmal etliche Milliarden versteckte Militärausgaben
verbergen (siehe IMI-Standpunkt 2019/058).
An gleicher Stelle macht Jürgen auch einen weiteren Punkt aus dem
Vortrag gestern, und zwar einen, der eigentlich allem Aufrüstungsgerede
ohnehin sofort den Boden entziehen sollte:
Die NATO-Militärausgaben sind also heute bereits rund 18mal höher als
die Russlands. Augenscheinlich haben die militärischen
Ausgabensteigerungen bislang in keiner Weise zu mehr Sicherheit
geführt, wie derzeit leider offensichtlich wird.
Wer also immer meint, jetzt als Folge der Empörung über Putins Töten die
„eigenen“ Fähigkeiten zum Töten ausbauen zu sollen, dürfen oder müssen,
sollte besser glaubhafte Geschichten liefern, wie genau der russische
Angriff auf die Ukraine nicht stattgefunden hätte, wenn „wir“, sagen
wir, 20-mal mehr oder 30-mal mehr oder 100-mal mehr als „die Russen“
fürs Töten ausgegeben hätten. Szenarien, die mehr als 100-mal mehr fürs
Militär ausgeben wollen als Russland, gelten nicht, denn das würde
wahrscheinlich selbst unsere Volkswirtschaften überlasten, von den
verheerenden Wirkungen auf den Rest der Welt ganz zu schweigen.
Allerdings dreht sich die Spirale logisch und moralisch fragwürdiger
Erzählungen im patriotischen Taumel weiter und lässt die behaupteten
Sachzwänge der Tötungsmittelspirale inzwischen hinter sich.
Die Auszeichnungen für das aktuell krummste „Argument“ muss wohl an
Dominic Johnson gehen, der gestern in der taz in einem Kommentar mit
dem eigenartig selbstbezüglichen Titel „Putins verquere Logik“ ein
Aufrüstungsargument versucht, das, nun, verquer ist:
Vielleicht hofft der russische Präsident, dass im Westen die üblichen
Mahner weiter davor warnen, Russland zu „provozieren“ – so als ob
Russland nicht schon unprovoziert schlimm genug agiert. Zu befürchten
ist aber eher, dass diese Entwicklung gewollt ist. Putin zeichnet
gegenüber dem russischen Volk ein Zerrbild des Westens als aggressive
Kraft, die die russische Zivilisation im Namen der europäischen
Liberalität zerstören will. Mit seiner Gewalt will er jetzt den Westen
dazu bringen, diesem Zerrbild zu entsprechen – damit Russland als
Führungsnation eines aggressiven „Antiwestens“ auftreten kann. Die
Ukraine ist dafür Putins Fußabtreter.
Gerade deswegen aber ist der Kurs, die Nato zu stärken, richtig und
alternativlos.
Kurz: „Unsere Aufrüstung ist gut für Putin. Lasst uns mehr aufrüsten!“
Und ich dachte, „wir“ sollten „Putin stoppen“?
Vielleicht missverstehe ich Johnson aber auch. Ich komme ja schon bei
der konventionelleren Begeisterung für Waffen und HeldInnen nicht recht
mit, etwa wenn heute morgen in der DLF-Presseschau der Vorwurf des
Münchner Merkurs wiederholt wurde:
Schwere Waffen [...] will der Kanzler den heldenhaft gegen Putins
Vernichtungsarmee kämpfenden Ukrainern weiterhin nicht liefern.
Woher kommt so eine Denke, so eine Schreibe bei Leuten, die doch vor
gerade mal acht Jahren mit einer Haltung von „bedauernswerte, verwirrte
Schlafwandler” dem Kriegsgejubel und -kreditieren von 1914 gedacht
haben?
Wenn wir uns heute empören dürfen, jeden Kompromiss und jede Verhandlung
ablehnen, dann durften es die Kaiser, Zaren, Könige und Präsidenten
damals auch. Nicht vergessen: Die Zaren, Könige und Präsidenten waren
mit Terroristen im Bund, die die geliebte Thronfolgerin für erhebliche
Teile der heutigen Ukraine feige und brutal ermordet haben – von den
imperialen Politiken überall in der Welt, die uns von unserem verdienten
Platz an der Sonne fernhalten, mal ganz zu schweigen.
Die Kaiser wiederum haben furchtbare Massaker bei ihren eigenen
imperialen Abenteuern angerichtet und hielten große Teile ihrer
Bevölkerung in bitterer Armut, während sie selbst in Saus und Braus
lebten. Klar, dass das die Könige, Präsidenten und Zaren nicht
hinnehmen konnten.
Bullshit? Jaklar. Aber warum hören dann so viele Menschen bis hinein in
die Linkspartei – für die ja der Burgfrieden quasi der Gründungsmythos
ist – den heutigen Varianten solcher Erzählungen zu?
Ich bin ein stiller Fan des Debian-Pakets installation-birthday.
Das hat mir vorhin eine Mail geschrieben:
Date: Mon, 11 Apr 2022 11:04:11 +0200
From: Anacron <root@hostname-withheld>
To: root@hostname-withheld
Subject: Anacron job 'cron.daily' on hostname-withheld
/etc/cron.daily/installation-birthday:
0 0
| |
____|___|____
0 |~ ~ ~ ~ ~ ~| 0
| | | |
___|__|___________|___|__
|/\/\/\/\/\/\/\/\/\/\/\/|
0 | H a p p y | 0
| |/\/\/\/\/\/\/\/\/\/\/\/| |
_|___|_______________________|___|__
|/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/\/|
| |
| B i r t h d a y! ! ! |
| ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ ~ |
|___________________________________|
Congratulations, your Debian system "hostname-withheld" was installed
15 year(s) ago today!
Best wishes,
Your local system administrator
Oh wow. So ein glatter Geburtstag ist doch eigentlich ein Grund zu
feiern.
Er ist aber auch ein Grund zum Nachdenken. Irgendwas kann da nicht
stimmen. Bevor meine Haupt-Arbeitsmaschine (deren Filesystem so etwa
aus dem Jahr 1996 stammt) ein Debian-System wurde, habe ich das selbst
gestrickt und gebaut. Das habe ich mir 2007 ganz sicher nicht mehr
angetan, denn die Zahl der auf einem durchschnittlichen Desktop-Linux
verbauten Zeilen und irgendwie zusammenzufummelnden Komponenten war
schon ein paar Jahre vorher deutlich jenseits meiner persönlichen
Schmerzgrenze. Was aber ist dann 2007 passiert?
Nun: wozu gibt es die Quellen? Im Fall von installation-birthday führt
ein schneller Blick in die cron-Datei, die in der Mail erwähnt ist, auf
ein Python-Skript, das das Installations-Datum berechnet als:
for candidate in self.gen_installation_datetimes():
# Use the oldest mtime we can find
if dt is None or candidate < dt:
self.log.debug("Preferring %s over %s", candidate, dt)
dt = candidate
gen_installation_datetime nun geht durch die Timestamps des
Root-Filesystems, von /var/log/installer (gibts bei mir nicht),
/var/log/bootstrap.log (auch nicht), /var/lib/vim (da kommt das
Datum her und reflektiert so wohl eher irgendein Datum in der
Entwicklung des Pakets, wahrscheinlich die Einführung formaler Addons),
/root und /etc/machine-id (diese Datei ist von 2014, und eine
kurze Recherche zeigt: Da habe ich zum ersten Mal versucht, mich mit
systemd anzufreunden).
So romatisch es ist, mein Systemalter anhand von vi-Hilfsdateien zu
schätzen: Das will ich schon anders haben. Wie aber bekomme ich das
Migrationsdatum raus?
In meinem Dateisystem sind noch viele Dateien, die auf das
selbstgestrickte Linux zurückgehen (und weitere, die von noch älteren
Maschinen stammen, aber die beschränken sich auf /home), ich kann also nicht
einfach nur die älteste Datei suchen. Es gibt aber eine interessante
Häufung von Timestamps in /etc/ am 7. Juli 2005, darunter
adduser.conf und papersize, die sehr nach etwas klingen, das
Debian beim Überbügeln des Selbstbausystems angelegt haben könnte.
Umgekehrt gibts davor eigentlich nichts, das irgendwie nach Debian
aussieht; der Timestamp von /etc/papersize wird es dann wohl sein.
Jetzt wollte ich es genauer wissen, und weil ich zu faul bin, aus der
ls-Manpage oder sonstwoher rauszupopeln, wie ich ohne Code an die
Uhrzeit der letzten Änderung herankomme, muss es ein Python-Einzeiler
tun (ja, sowas gibts):
Also: am Donnerstag, 7.7.2005, so gegen drei am Nachmittag, habe ich
offenbar meine Arbeitsmaschine auf Debian umgestelt. Uiuiui. Dass ich
das Selbstbauen doch so lange durchgehalten habe, hatte ich gar nicht
mehr in Erinnerung.
Damit in Zukunft installation-birthday das richtige Datum nimmt, habe
ich gerade noch:
$ sudo touch -r /etc/papersize /var/log/installer
gesagt. Damit gibt es ein /var/log/installer mit dem Timestamp von
/etc/papersize, das jetzt installation-birthday das richtige Signal
gibt:
I realise that the great days of discussions on blogs are over, as Sam
Hartman blogged the other day – at least for now. Still, I'd like
to make it somewhat more straightforward to send me feedback on the
posts here than having to get the contact address and dropping me a
mail. Hence, I've written a little Python script, feedback, that
lets people comment from within their web browsers.
While the script itself is perfectly general and ought to work with any
static blog engine, the form template I give in the module docstring is
geared towards pelican and jinja, although only in very few places.
To make it work, this needs to become a CGI (the template assumes it will
show up in /bin/feedback according to the server configuration). The
notes on deployment from my post on the search engine apply
here, too, except that in addition the host has to be able to deliver
mail. Most Unix boxes do locally, but whether anyone reads such mail is
a different question.
Is it ethical to check “ok to publish” by default?
To configure where it sends mail to (by default, that's root, which
may make sense if you have your own VM), you can set the CONTACT_ADDRESS
environment variable (see the search engine post in case you're
unsure how to do that for a web context). If your machine is set up to
deliver mail to remote addresses – be it with a full mail server or
using a package like nullmailer –, you could use your “normal” mail
address here. In that case, you probably should inform people in your
privacy policy that their comments will be sent by unencrypted mail, in
particular if that “normal“ e-mail is handled by one of the usual
rogues (Google still gets about a half of the mail I send – sigh).
If you look below (or perhaps right if you run your browser
full-screen), you will see that there is a checkbox “feel free to
publish“ that, right now, I have checked by default. I had some doubts
about that in terms of creepy antipatterns. Of course I am as annoyed
by most contemporary cookie banners as anyone else, which in violation
of the GDPR usually have practical defaults – sure: not what you get
when you say “configure” – set at the maximum creep level the operators
believe they can get away with. On the other hand, defaults should also
be expectable, and I'd guess the expectation when someone fills out a
reply form on a blog is that the response will be published with the
article. If you disagree: well, the comment form is there for you.
In terms of spam protection, I do an incredibly dumb textcha. Even
if this script got deployed to a few dozen sites (which of course would
be charming), I cannot see some spam engine bothering to figure it out;
since it just sends a mail to the operator, there is basically nothing
to be gained from spamming using the CGI. I fully expect this will be
enough to keep out the dumb spambots that blindly send whatever forms
they can find – it has worked on many similar services.
Security Considerations
The feedback script does at least two things that could be exploited:
It enters remotely controlled values into rendered HTML and
It calls a local binary with content controlled by the remote user.
In case (1) – that's when I put the URI of the originating article into
the reply message to send people back to where they came from –, this can
potentially be exploited in cross-site attacks. Suppose you trust my
site on only execute benign javascript (I give you that's close to an
oxymoron these days), someone could trick you into clicking on a link
that goes to my site but executes their, presumably adversarial,
javascript.
Bugs aside, the script is resilient against that, as it properly escapes
any user input that gets copied into the output. That is thanks to my
“micro templating“ that I keep around to paste into such one-script
wonders. Have a look into the code if you're interested in how that
works. And totally feel free to paste that into any Python code
producing HTML or XML templated in any way – sure, it's not jinja or
stan, but it has covered 80% of my templating needs at much less than 20%
of the effort (counted in code lines of whatever dependency you'd pull
in otherwise), which is a good deal in my book.
Case (2) is probably a lot more interesting. In the evaluate_form
function, I am doing:
mail_text = MAIL_TEMPLATE.format(**locals())
Code like this usually is reason for alarm, as far too many text formats
can be used to execute code or cause other havoc – the cross-site thing
I've discussed for HTML above being one example, the totally bizarre
Excel CSV import exploit another (where I really cannot see how this
doesn't immediately bring every Windows machine on this planet to a
grinding halt). In this case, people could for example insert \ncc:
victim@address into anything that gets into headers naively and turn
the form into a spam engine.
There are exactly 10000 lines if Python's email module in version 3.9.
In addition, there is a concrete risk creating some way of locally
executing code, as the template being filled out is then used as an
input for a local program – in this case, whatever you use as sendmail.
In theory, I'm pretty sure this is not a problem here, as no
user-controlled input goes into the headers. If you change this, either
sanitise the input, probably by clamping everything down to printable
ASCII and normalising whitespace, or by parsing them yourself. The
message content, on the other hand, gets properly MIME-encapsulated. In
practice, I can't say I trust Python's email package too much, as by
Python stdlib standards, it feels not terribly mature and is probably
less widely used than one may think.
But that's a risk I'm willing to take; even if someone spots a problem
in the email module, shodan or a similar service still has no way to
automatically figure out that it is in use in this form, and my page's
insignificance makes it extremely unlikely that someone will do a
targeted attack on day 0. Or even day 10.
But then, perhaps this is a good occasion to read through email's
source code? Fun fact: in python 3.9, a find . -name"*.py" | xargs
wc -l gives exactly 10000 lines. And my instinct that headers are the
trickiest part is probably right, too: 3003 of those are in
_header_value_parser.py.
Heute morgen habe ich eine Mail bekommen, die ich zunächst für einen
besonders dreisten 419 scam gehalten habe. Doch nein, der Absender
und die Received-Header sahen alle glaubhaft aus. Die Bahn hat mir
wirklich mitgeteilt:
Um Ihre BahnBonus Statusvorteile nutzen zu können, ist ab dem
13.06.2022 die BahnBonus App erforderlich.
und in den „FAQ“ (ich wette, dass einen ganzen Haufen davon nie ein realer
Mensch gefragt hat, mal ganz zu schweigen von „frequently“) steht
tatsächlich:
Warum gibt es ab Einführung der Statuslevel die meisten Statusvorteile
nur in der BahnBonus App?
Der Wunsch nach digitalen Lösungen ist in den letzten Jahren stark
gestiegen. Die Änderungen ab 13.06.2022 werden diesem Wunsch gerecht,
weswegen die Prozesse alle rein digital umgesetzt werden.
Wie? Weil der „Wunsch nach digitalen Lösungen“ (vgl. Antisprache
Digitalisierung) zugenommen hat, zwingt die Bahn Leuten „Smartphones“
auf? Leute haben gewünscht, dass sie noch mehr Zirkus machen müssen an
den Lounge-Eingangskontrollen? Ich glaube kein Wort und rufe die
Antisprache Innovation auf.
Und, natürlich:
Mit welchen Betriebssystemen kann die BahnBonus App genutzt werden?
Bei iOS erfordert die BahnBonus App Version 14.0 oder höher. Bei
Android erfordert die BahnBonus App aktuell Version 8.0 oder höher und
ab Einführung der BahnBonus Statuslevel im Juni Version 9.0 oder
höher.
Nun ist die Teilnahme an Kundenbindungsprogrammen nichts, dessen mensch
sich gerne bezichtigt und das vielleicht auch nicht ganz verträglich ist
mit Bedenken bezüglich informationeller Selbstbestimmung. Bahn-Bonus,
das will ich hier ganz schnell betonen, war meine einzige Sünde in dem
Bereich[1]. Und ja, es ist ohnehin nicht sonderlich nett, in
Lounges Kakao zu schlürfen, während die ungewaschenen Massen draußen am
Bahnsteig frieren. Insofern will ich hier keine große Moral aufmachen.
I like both kinds of operating systems: the one where Apple is root and
the one where Google is root.
Dennoch war ich immer gerne in den Lounges, schon, weil ich in keiner
anderen Kategorie von Raum so oft zufällig auf Bekannte gestoßen bin.
Auch wenn das wegen der kompromittierenden Natur des Eingeständnisses,
dass mensch bei der Datensammelei Bahn-Comfort mitmacht, nicht immer
ganz unbeschwert war, weine ich diesen Dingern schon eine Träne oder
zwei nach. Und drum habe ich, auch wenn ich immer noch auf eine
sinnvolle Antwort zu meiner Anfrage zu Captchas an die Bahn vom
letzten Jahr warte, nochmal eine Mail an die Bahn-Kundenbetreuung
geschickt:
Date: Tue, 5 Apr 2022 08:31:05 +0200
Subject: Charmeoffensive
Hallo,
Ich denke mal, Sie werden heute viele Mails dieser Art bekommen, aber
ich denke, es kann nicht oft genug gesagt werden: Dass in Zukunft der
Deal "Daten gegen Dienste" mit entweder Apple oder Google nötig sein
soll, um in die Lounges zu kommen, ist sicher keine Charmeoffensive
der Bahn, zumal im Hinblick darauf, dass VielfahrerInnen
wahrscheinlich eher datenschutzbewusster sind als die
Durchschnittsbevölkerung.
Können Sie nicht wenigstens den Quellcode der "App" veröffentlichen,
so dass Leute den Kram auch auf normale Rechner portieren können?
Oder, wenn das eh nur eine dünner Lack über eine API sein sollte, das
Zeug auch als normale Webseite anbieten?
Schon etwas fassungslos,
Ich weiß nicht, was die Bahn antworten wird (aber schon, was nicht: den
tatsächlichen Grund dieses Stunts – während Corona waren die Lounges
doch immer leer?), aber nach meinen bisherigen Erfahrungen kann ich
zuversichtlich vorhersagen, mit was die text/plain-Alternative der Mail
anfangen wird. Nämlich:
Und noch viele Zeilen weiter so. Das ist übrigens schon seit Jahren in
dieser Weise kaputt. Besonders mysteriös finde ich dabei ja, warum in
diesem CSS-dump ausgerechnet eine Regel für das del-Element
enthalten ist, dem ich, so glaube ich, in der Wildnis noch nie begegnet
bin. Rätsel über Rätsel bei der Bahn.
Nachtrag (2022-04-06)
Ha! Ich hatte recht. Zur Illustration des Ausmaßes an Murks empfehle
ich einen Blick auf den ganzen text/plain-Anhang des Bahn-Supports
(scrollt ein Stück nach unten, da kommt wirklich auch etwas Nicht-CSS,
wenn auch sehr kreativ geklebt).
Ich habe kurz überlegt, ob ich das vielleicht nicht öffentlich machen
sollte, weil es ja erstmal eine private Mail ist. Aber dann ist mir
aufgefallen, dass da überhaupt nichts Privates drinsteht. Die Bahn ist
ja auf keinen meiner Punkte eingegangen und hat nur „F“AQ-Punkte
zusammengeklickt. Und eine Urheberrechtsverletzung kommt schon wegen
mangelnder Schöpfungshöhe nicht in Frage.
Hinweis an der Stelle: Haufenweise Plastik ließe sich wunderbar
vermeiden, wenn der Quellcode offen wäre und damit die Menschen nicht
unbedingt Betriebssysteme bräuchten, die auf ihrer aktuellen Hardware
gar nicht laufen. Aber wem predige ich das?
Die Antwort: 030 2970, wie in der Mail empfohlen. Oder eher: ich habe
das gerade versucht, mitsamt einer Erörterung meines Captcha-Problems.
Tatsächlich habe ich nach etwas Interaktion mit einem Computer und nur
zwei Minuten Warteschleifenmusik einen Menschen am Telefon gehabt.
Dieser war hörbar glücklich, „Ich schicke Sie mal kurz in die
Mobilitätsabteilung“ seufzen zu können. Mit der Mitarbeiterin dort hatte
ich dann jede Menge Mitleid, weil sie mir in keinem meiner Anliegen auch
nur einen Millimeter weit helfen konnte, während ich mit ihrem
mehrfachen Angebot, mich im Umgang mit dem DB-Navigator zu schulen,
schon deshalb nichts anfangen konnte, weil dieser auf keinem meiner
Rechner läuft (von meiner Abneigung gegen unpaketierte Software mal ganz
abgesehen).
Überrascht war ich über diesen Ausgang natürlich nicht. Aber wenn ich
hier schon so wohlfeiles wie berechtigtes Bahn-Bashing betreibe, wollte
ich es wenigstens versucht haben.
Also gut, wenn ich schon beichte, dann gleich richtig:
ich habe auch mal versucht, hinreichend Schnipsel von Samba-Deckeln
zu sammeln, um ein Schneidbrett mit Rapunzel-Logo zu bekommen. Das
hat aber leider nicht geklappt.
Eine regelmäßige Leserin dieser Seiten hat mir zur Frage, wie sich im
Augenblick Menschenleben gegen nationale Größe vergleichen eine
Collage aus der taz vom 22. März geschickt. Da sie die sich aus
dieser Abwägung ergebenden Maßstäbe für Erfolg schön beleuchtet, gebe
ich das Dokument hier gerne weiter
An early version of this post rendered in netsurf.
I believe about the worst threat to software freedom these days is web
browsers. That is not only because they already are, for many people
out there, a more relevant applications platform than their primary
operating system, and that almost everything that gets run in them is
extremely non-Free software. I've been linking to a discussion of this
problem from these pages since this blog's day one as part of my quip
on “best viewed with javascript disabled“.
No, they are also a threat because the “major” browser engines are so
humunguous that they are in effect locking out most platforms (which
simply don't have enough power to run them). And they are because the
sheer size and complexity of their code bases make it essentially
impossible for an individual to fix almost any relevant bug in them
related to rendering, javascript execution, or network interactions.
That is why I am so grateful to the authors and maintainers of both
dillo (Debian: dillo) and netsurf (Debian: netsurf-gtk, mainly), small
browsers with maintainable code bases. While dillo is really basic
and is missing so much of CSS and modern HTML that on today's web even
many non-adversarial sites become barely usable, netsurf is usually just
fine for websites respecting user rights.
Flex layouts and the article elements: The good part of 20 years of
web development after the Web 1.0.
I have to admit I nevertheless only use it in very specific contexts,
mostly because luakit with its vi-like key bindings and lua extensiblity in
the end usually wins out even though I don't trust the webkit rendering
engine for two cents[1]. And that is why I hadn't noticed
that this blog has rendered a lot worse than it should have in netsurf.
This is particularly shameful because that was mostly because I have
taken liberties with web standards that I should not have taken.
Apologies: Netsurf was right and I was wrong.
I have improved that quite a bit this morning. Given I am using
flex layouts quite liberally here, and these don't work in Debian
stable's netsurf, the rendered pages do look quite a bit different in
netsurf than on the “major” browsers. But the fallbacks are ok as far
as I am concerned. Since flex layouts are among the few “innovations“ in
the post-Web 1.0 ecosystem that are actually a good idea, I gladly
accept these fallbacks. Let me stress again that it is a feature of a
friendly web rather than a bug that pages look different in different
user agents.
Dillo, regrettably, is another matter because of the
stupid^Wunderconsidered colour games I'm playing here. As things are
right now, the light background below text like this one sits on an HTML5
article element, which dillo ignores. Hence, the text is black on dark
green, which, well, may be barely readable but really is deeply
sub-optimal. Since I consider the article element and its brethren real
progress in terms of markup (the other positive “innovation” post
Web-1.0), I will not change that markup just to make this render better
in dillo. I may finally re-think the silly dark green background
soon-ish, though.
If you feel like this, too, let's team up and massage
luakit's front end to work with netsurf's rendering engine. Given the
close entanglement of luakit with the webkitgtk API, this certainly
will result in a very different program, and almost certainly there
would be no way to re-use luakit extensions. Still, I could very
well see such a thing become my main browser.
Spoiler: Am Schluss des verbietet das Militär all diese Dinge: Die
Beatles und Beckett ebenso wie „Gorki (und alle Russen)“ und „die
Friedensbewegung“. Rechte: Valoria Films und andere.
Als diverse Innenminister neulich verkündeten, den Buchstaben Z jenen
verbieten zu wollen, die die falsche Geschmacksrichtung des Patriotismus
bevorzugen, ging im Fediverse der Film Z – Anatomie eines politischen
Mordes herum. Nun muss ich sagen, dass Patriotismus jeder
Geschmacksrichtung mein entschlossenes Eintreten für die Redefreiheit
schon etwas herausfordert, um so mehr, wenn er sich auf kriegsführende
Parteien bezieht. Andererseits ist der Gedanke, Buchstaben in
Abhängigkeit der Gesinnung der Schreibenden verbieten zu wollen, schon
besonders wüst, und drum bin ich dem Filmtipp gefolgt (via dem
youtube-Anonymisierer invidious).
Und was soll ich sagen: Ich war hingerissen. Der Film entstand unter
dem Eindruck der griechischen Militärregierung (1967-1974) im
Wesentlichen unter exilgriechischen KünstlerInnen in Frankreich (die
Musik etwa hat der kürzlich verstorbene Mikis Theodorakis beigesteuert),
unterstützt von Großkulturellen wie Jorge Semprún und Superstars wie
Yves Montand. Es ging – „Eventuelle Ähnlichkeiten zu wirklichen
Ereignissen oder lebenden oder toten Personen sind nicht rein zufällig.
Sie sind Absicht.“ – um die Genese einer offen autoritären Regierung im
freien Westen, unter Beteiligung einer stramm autoritären Polizei, einer
Stay-behind-Organisation und natürlich des Militärs.
Und so wirkt nicht nur der abschließende Satz „Gleichzeitig verboten
die Militärs […] den Buchstaben Z“ eigenartig prophetisch. Es gibt zum
Beispiel bemerkenswerte Schnitte vom Bolschoi-Ballett für die
Würdenträger gegen Einsätze von Prügelpolizei, die geradezu visionär die
Bilder des G20-Gipfels von 2017 vorwegnehmen, als nämlich die Polizei
rund ums Schanzenviertel und und die „rote Zone“ wasserwerferte,
pfefferte und prügelte, während sich Putin, Trump, Xi, Temer, Macri,
Peña Nieto, Zuma, Abe, Erdoğan, Juncker, Widodo und all die anderen
„Verantwortungsträger“ in der Elbphilharmonie beschallen ließen.
Auch der Kontrast zwischen äußerster Indifferenz der Polizei gegenüber
rechter Gewalt und raschem Einsatz von „unmittelbarem Zwang“ gegen Linke
kennt jedeR, der/die in der Vor-Lübcke-Bundesrepublik im weiteren
Antifa-Umfeld unterwegs war (zugegeben hat der Lübcke-Mord da zumindest
vorübergehend etwas bewegt). Die dauernden Behinderungen der
Ermittlungsarbeit im Film durch Verfahrenshindernisse oder überraschend
verscheidende ZeugInnen geben wiederum ein Bild ab, das stark an die
NSU-Aufklärung (oder ihr Unterbleiben) erinnert. Ebenfalls vertraut
sind die rechten Netzwerke in Polizei und Justiz (vgl. Hannibal und
Uniter), die sich unter Schlagwörtern wie „Abendland“ (das A in Pegida)
versammeln .
Ich spoilere noch etwas mehr: Der unerschrockene, wenn auch vielleicht
etwas schmierige Journalist, der viel zur Aufklärung der Geschehnisse
beiträgt, bekommt am Ende „drei Jahre Gefängnis wegen Besitz offizieller
Dokumente“. Das zumindest ist, verglichen mit unserer Realität, eher
milde. Julian Assange sitzt bereits deutlich länger, und für Edward
Snowden sieht es nach lebenslänglich Russland aus, was – nein, ich bin
ganz gewiss kein Putin-Fan – zumindest noch im gleichen Stadion spielt
wie equadorianische Botschaften und britische Knäste.
Schließlich will ich noch ganz kurz den Gender-Aspekt einbringen:
Während damals auf der autoritären Seite ausschließlich Männer zu sehen
und vor allem zu hören sind, sprechen auf der liberalen Seite immerhin
vereinzelnt auch Frauen, und zwar nicht nur als für oder über ihre
Männer; zumindest insofern haben wir die Welt schon etwas geändert.
Bandwürmer im großartigen Naturhistorischen Museum in Wien: Den
besonders lange in der Mitte soll sich der Arzt wohl so zur k.u.k.Zeit
selbst gezogen haben. Auch „bei uns“ hatten also selbst wohlhabende
Menschen noch vor recht kurzer Zeit beeindruckende Würmer.
In den DLF-Wissenschaftsmeldungen vom 15. Februar ging es ab Sekunde
50 um römische Archäologie mit Bandwürmern. Ich gestehe ja einen
gewissen Römerfimmel ein, und ich fand zudem die Passage
In römerzeitlichen Fundstätten auf Sizilien wurden mehrfach konische
Tongefäße ausgegraben. Bisherigen Interpretationen zufolge wurden
darin Lebensmittel gelagert.
vielversprechend im Hinblick auf mein Projekt interessanter
Selbstkorrekturen von Wissenschaft, denn die neuen Erkenntnisse zeigen
recht deutlich, dass zumindest eines dieser Gefäße in Wahrheit als
Nachttopf genutzt wurde. Und deshalb habe ich mir die Arbeit besorgt,
auf der die Kurzmeldung basiert.
Es handelt sich dabei um „Using parasite analysis to identify ancient
chamber pots: An example of the fifth century CE from Gerace, Sicily,
Italy“ der Archäologin Sophie Rabinow (Cambridge, UK) und ihrer
KollegInnen (DOI 10.1016/j.jasrep.2022.103349), erschienen leider im
Elsevier-Journal of Archeological Science. Ich linke nicht gerne auf
die, zumal der Artikel auch nicht open access ist, aber leider gibts das
Paper derzeit nicht bei der Libgen.
Publikationsethische Erwägungen beiseite: Diese Leute haben einen der
erwähnten „konischen Tongefäße” aus einer spätrömischen Ruine im
sizilianischen Enna hergenommen und den „sehr harten, weißlichen
Rückstand von schuppigem Kalk“ („very hard whitish lime-scale deposit“)
am Boden des Gefäßes untersucht. Vor allem anderen: Ich hätte
wirklich nicht damit gerechnet, dass, was in einem lange genutzten
Nachttopf zurückbleibt, schließlich diese Konsistenz bekommt.
Nie wieder Sandalenfilme ohne Wurmgedanken
Aber so ist es wohl, denn nachdem die Leute das Zeug in Salzsäure
aufgelöst und gereinigt hatten, waren durch schlichte Lichtmikroskopie
(mein Kompliment an die AutorInnen, dass sie der Versuchung widerstanden
haben, coole und drittmittelträchtige DNA-Analysen zu machen)
haufenweise Eier von Peitschenwürmern zu sehen – und das halte auch ich
für ein starkes Zeichen, dass reichlich menschlicher Kot in diesem Pott
gewesen sein dürfte. Auch wenn, wie die AutorInnen einräumen, keine
Kontrollprobe der umgebenden Erde zur Verfügung stand, ist es nicht
plausibel, wie Eier in dieser Menge durch nachträgliche Kontamination in
den „harten, weißen Rückstand“ kommen sollten.
Römer hatten – das war schon vor dieser Arbeit klar – nicht zu knapp
Würmer. Alles andere wäre trotz der relativ ordentlichen Kanalisation
in größeren römischen Siedlungen höchst erstaunlich, da auch in
unserer modernen Welt die (arme) Hälfte der Menschheit Würmer hat (vgl.
z.B. Stepek et al 2006, DOI 10.1111/j.1365-2613.2006.00495.x).
Dennoch guckt sich so ein zünftiger Sandalenfilm (sagen wir, der immer
noch hinreißende Ben Hur) ganz anders an, wenn mensch sich klar
macht, dass die feschen Soldaten und fetten Senatoren alle des öfteren
mal Würmer hatten. Und auch Caesars Gallischer Krieg oder Mark Aurels
Selbstbetrachtungen erhalten, finde ich, eine zusätzliche Tiefe, wenn
mensch sich vorstellt, dass in den Gedärmen jener, die da
Kriegspropaganda oder stoische Philosophie betrieben, parasitische
Würmer mitaßen.
Forschungsprojekt: Wurmbefall in Köln vor und nach 260
Nun schätzen Rabinow et al allerdings, dass ihre Rückstände wohl in der
Mitte des fünften Jahrhunderts entstanden. Damals hatte die römische
Zivilisation und damit auch ihre Kanalisation wahrscheinlich auch in
Sizilien schon etwas gelitten. Die Kölner Eifelwasserleitung etwa –
die eingestandenermaßen technisch besonders anspruchsvoll war und in
einem besonders unruhigen Teil des Imperiums lag – haben „Germanen“
schon im Jahr 260 zerstört, und sie wurde danach nicht mehr in Betrieb
genommen, obwohl Köln bis weit ins 5. Jahrhundert hinein eine römische
Verwaltung hatte.
Ich persönlich wäre überzeugt, dass, wer mit der Rabinow-Methode an
entsprechend datierbare Überreste heranginge, mit dem Jahr 260 eine
sprunghafte Erhöhung der Verwurmung in Köln feststellen würde.
Insofern: Vielleicht hatten Caesar und Mark Aurel, zu deren Zeiten der
römlische Wasserbau noch blühte, ja doch nicht viel mehr Würmer als wir
im kanalisierten Westen?
Ach so: Das mit dem Irrtum – „nee, die Teile hatten sie für Essen“ – war
so wild in Wirklichkeit nicht. Wie üblich in der Wissenschaft waren
die Antworten auch vorher nicht so klar. Rabinow et al schreiben:
A recent study of material at the town of Viminacium in Serbia, where
over 350 identically deep-shaped vessels are known, was able to
confirm at least 3 potential uses: storage for cereals or water,
burial urns, and chamber pots […]. Chamber pots clearly were also
sometimes put to secondary use, for example as a container for
builder’s lime […], while vessels initially destined for other
purposes may have been turned into chamber pots.
Nun, dann und wann kommen sogar Wissenschaft und „gesunder“
Menschenverstand zu recht vergleichbaren Ergebnissen.
In my first Fediverse notes, I mused that I'd choose a larger
community if I had to choose again.
Well, after watching the Fediverse for a little while, I figured that
while I may not actually have to choose again, I really want to. My
old community, social.dev-wiki.de, had about 650 profiles that had
posted 4500 toots between them. This undoubtedely counts as small, and
that has the double effect that not terribly many toots are coming in on
the federated feed (I can't bring myself to write “timeline”) because
people on the instance don't follow too many others, and that toots I
produce don't get distributed very far because there are not many
instances with people following someone on that small instance. A
double negative network effect.
This is particularly unwelcome when globally searching for hashtags (as
I did last Sunday when I thought the local elections in Saarland might
reflect in the Fediverse). Sure, I can help fix that by starting to
follow accounts from other instances, but that's a bit of a
chicken-and-egg thing, since in my own instance's feeds I don't even see
those other accounts. Perhaps sitting on the public feed of the
“flagship” instance (mastodon.social has about 640'000 profiles) for a
while might have helped.
Fediverse relays are a honking great idea.
But it also felt odd to be behind the most active profile on that
instance, and so I decided to compromise. That is, I don't give in to
the pressures of the network effect altogether. I am therefore not
switching to the flagship instance (which does feel a bit central-ish).
But I am switching to troet.cafe, which boasts 2600 users (a factor of 4
over my old instance) with 150'000 posts (a factor of 30) between them.
Plus, it uses a “relay“ that somewhat mitigates the problem outlined
above by essentially creating a sub-federation of smaller instances
exchanging public toots regardless of whether people on them follow each
other.
So, I made the move today.
It is nice that Mastodon has built-in support for moving; there is an
“Import and Export” item in the settings menu that guides one reasonably
clearly through the process and transfers the followers (small deal on
my profile at the moment). It is then that it gets a little lame.
You see, I'd have expected that when I get an archive of my profile
under “Export” I ought to be able to import it again under the new
profile's “Import”. But that is not how it works; it seems the
downloaded archive cannot be uploaded, and whatever is in there is
either lost (the toots) or needs to be manually restored (profile
pictures). Instead, what can be uploaded are CSVs of followed people,
block lists and the like. And these are not in the archive one
downloads but need to be downloaded from the old profile and re-uploaded
to the new profile one by one.
Is this really the way it's supposed to be? Have I missed
something?
Ok, one doesn't move every day, but if I keep being a Fedinaut, I will
probably move again one day – to my own instance. It would be nice if
by then there were smoother migration paths.
Stimmenanteile der verschiedenen Listen bei der Wahl im Saarland
gestern. Wahlbeteiligung: 61.4%. Rechte beim Saarland.
Mensch muss meine informationstheoretischen Bedenken vom letzten
Oktober im Hinblick auf die repräsentative Demokratie nicht teilen, um
die 5%-Hürde wirklich befremdlich zu finden: Warum genau sollten
„Minderheiten“, denen deutlich mehr als jedeR zwanzigste StaatsbürgerIn
angehören kann[1], nicht im Parlament vertreten sein?
Dies ist eine sehr ernste Frage, wenn wer „die Bevölkerung“ im Parlament
„abgebildet“ sehen will. Hinter diesem Bild von der Abbildung steht
die (sicher zutreffende) Prämisse, dass da eben nicht ein „Volk“
einen Willen hätte und per Wahl eine Art kollektive Sprecherin
gefunden hätte. Nein, dieses Bild erkennt an, dass die Regierten ein
mehr oder minder buntes Häufchen Leute sind, die sich über allerlei
Fragen ziemlich uneins sind. Sollen zumindest die wesentlichsten
ihrer Perspektiven im Parlament reflektiert sein (an der Stelle kommt
übrigens der Einspruch der Informationstheorie, denn es wird sicherlich
mehr als 20 relevantere Perspektiven geben), fällt mir wirklich keine
plausible Begründung mehr ein, warum eine Initiative, zu der sich schon
mal fünf von hundert Menschen verabreden können, nicht nur nicht an
Regierung beteiligt sein, sondern nicht mal eine Stimme im Parlament
haben soll.
26% der Bevölkerung machen die absolute Mehrheit im Parlament.
Ein weiterer Seiteneffekt der 5%-Hürde hat gestern im Saarland besonders
zugeschlagen. Wer nämlich die Stimmen aller von ihr aus dem Parlament
gekickten Parteien zusammenzählt, kommt auf 23% (es sei denn, die Grünen
rutschen doch noch rein). Wie in der Überschrift gesagt: Fast jede
vierte Stimme ist damit nicht im Parlament vertreten. Das ist mehr als
die Hälfte des Stimmenanteils der SPD (26% der Bevölkerung, 43.5% der
abgegebenen Stimmen) und damit einer (unter diesen Umständen) sehr
komfortablen absoluten Mehrheit. Dieses Viertel der WählerInnen sehen
die, von denen sie sich vertreten lassen wollten – die z.B. für sie
Parlamentsanfragen hätten stellen können – nicht im Parlament.
Das ist bitter, denn bei aller Kritik an der Sorte Parlamentarismus, bei
der die Exekutive bei Strafe ihres Untergangs die Legislative immer an
der kurzen Kandare halten muss, sind gerade die Mittel der Opposition –
die Anfragen ganz besonders – ein wichtiges Mittel politischer
Einflussnahme. Hier in Baden-Württemberg z.B. fehlt die Linke im
Landtag schon, weil auf diese Weise bis heute unklar ist, welche Bomben
und Panzerfäuste die Polizei gekauft (und gar eingesetzt?) hat, nachdem
ihr das die vorletzte Verschärfung des Polizeigesetzes erlaubt hat;
die SPD, die die Verschärfung damals mit den Grünen zu verantworten
hatte, geriert sich in dieser Angelenheit immer noch auffallend exekutiv.
Zum praktischen Ärger tritt, dass selbst bei der – eigentlich im Sinne
der Partizipation ausgegangenen – letzten Prüfung von Sperrklausen
vor dem Bundesverfassungsgericht (2BvE 2/13 u.a., 2014-02-26) in der
Urteilsbegründung noch die reaktionäre Klamotte durchschien, die
Parteienvielfalt in der Weimarer Republik habe den Faschismus
ermöglicht. In Randnummer 54 schreibt das Gericht verklausulierend:
Eine große Zahl kleiner Parteien und Wählervereinigungen in einer
Volksvertretung kann zu ernsthaften Beeinträchtigungen ihrer
Handlungsfähigkeit führen.
Die darunterliegende Erzählung war schon bei der Einführung der 5%-Hürde
in den 1950er Jahren eine ebenso abwegige Schutzbehauptung wie
entsprechende Behauptungen zur Inflation: Wer das Paktieren des
SPD-Reichspräsidenten mit den reaktionärsten Elementen einer ohnehin in
weiten Bereichen noch vormodernen Gesellschaft bereits in der
Gründungsphase des Staates ansieht, wird sich eher fragen, wie es die
halbwegs liberalen Institutionen überhaupt bis zur Machtübergabe 1933
geschafft haben.
Weniger und besser regieren ohne die 5%-Hürde.
Klar dürfte „das Regieren“ etwas mühsamer werden, wenn die Bevölkerung
im Parlament feinkörniger vertreten ist. Aber die ganze Geschichte mit
Demokratie und Volkssouveränität wurde auch nicht gemacht, damit es eine
konkrete Regierung einfacher hat. Entstanden ist sie als Reaktion auf
Rabatz, der wiederum Folge war von regelmäßig katastrophalem Agieren
von Regierungen, die autoritären Versuchungen zu sehr nachgegeben
haben.
Dass mehr Partizipation (oder, wenn ihr wollt, Demokratie) es
Regierungen schwerer macht, über Einwände signifikanter Teile der
Regierten hinwegzuregieren: das ist kein Bug, das ist ein Feature. Und
wenn ihr mal darüber nachdenkt, was z.B. die Bundesregierungen der
letzten 20 Jahre so beschlossen haben – mal angenommen, es wären nur die
10% konsensfähigsten Gesetze durchgekommen: Wäre das nicht eine
viel bessere Welt?
Immerhin öffnet das oben zitierte Karlsruher Urteil die Tür für
Verbesserungen recht weit, wenn es in RN 57 heißt:
Eine einmal als zulässig angesehene Sperrklausel darf daher nicht als
für alle Zeiten verfassungsrechtlich unbedenklich eingeschätzt werden.
Eine abweichende verfassungsrechtliche Beurteilung kann sich ergeben,
wenn sich die Verhältnisse wesentlich ändern. Findet der
Wahlgesetzgeber in diesem Sinne veränderte Umstände vor, so muss er
ihnen Rechnung tragen.
Zum Abschluss doch nochmal Informationstheorie: die 5%-Hürde beschränkt
ja die Zahl der maximal im Parlament vertretenen Parteien auf 20 (und
das auch nur theoretisch, denn die Bevölkerung müsste schon extrem gut
geplant abstimmen, um jeder Partei gerade genau 5% der Stimmen zukommen
zu lassen). Der Zweierlogarithmus von 20 ist 4.322. Zu deutsch: Mit
der Hürde ist der Informationsgehalt der Wahlentscheidung hart auf gut 4
bit gedeckelt. Aua.
Bei 100% Wahlbeteiligung und universellem Wahlrecht sind 5%
ein Mensch von 20. Bei 60% Wahlbeteiligung wie im Saarland und
gleichmäßiger Wahlausübung wären es eineR von 12, der/die nach der
5%-Logik vernachlässigbar wäre. Da die Wahlausübung stark mit
der Zugehörigkeit zu Interessengruppen (z.B. bei Kindern: 0%
Wahlbeteiligung…) korreliert, können aber noch weit größere Teile der
Bevölkerung durch die 5%-Hürde ausgeschlossen sein.
As I've blogged the other day, I like having my machine's syslog on
the screen background so I notice when the machine is unwell and
generally have some idea what it thinks it is doing. That also makes me
spot milder distress signals like:
logind-uaccess-command[30337]: Failed to reset ACL on /dev/bus/usb/002/061: Operation not supported
I've ignored those for a long time since, for all I can see, logind-like
software does nothing that on a normal machine sudo and a few judicious
udev rules couldn't do just as well – and are doing on my box. The only
reason there's elogind (a logind replacement that can live without
systemd) on my box is because in Debian, kio – which in bullseye 270
packages depend upon – depends upon something like logind. The
complaints in the syslog thus came from software I consider superfluous
and I'd rather not have at all, which I felt was justification enough to
look the other way.
But then today curiosity sneaked in: What is going on there? Why
would whatever elogind tries break on my box?
Well, the usual technique of pasting relevant parts of the error message
into some search engine leads to elogind PR #47 (caution: github will
run analytics on your request). This mentions that the message results
from a udev rule that tries to match hotplugged devices with users
occupying a “seat”[1]. The rule calls some binary that would
make sure that the user on the “seat” has full access to the device
without clobbering system defaults (e.g., that members of the audio
group can directly access the sound hardware) – and to keep the others
out[2]. The Unix user/group system is not quite rich
enough for this plan, and hence a thing called POSIX ACLs would be
used for it, a much more complicated and fine-grained way of managing
file system access rights.
Well, the udev rules mentioned in the bug indeed live on my box, too,
namely in /lib/udev/rules.d/73-seat-late.rules, which has the
slightly esoteric:
I frankly have not researched what exactly adds the uaccess tag that
this rule fires on, and when it does that, but clearly it does happen in
Debian bullseye. Hence, this rule fires, and thus the failing
elogind-uaccess-command is started.
But why does it fail? Well, let's see what it is trying to do. The
great thing about Debian is that as long as you have a (proper) deb-src
line in your /etc/apt/sources.list, you can quickly fetch the source
code of anything on your box:
cd /usr/src # well, that's really old-school. These days, you'll
# probably have your sources somewhere else
mkdir elogind # apt-get source produces a few files
cd elongind # -- keep them out of /usr/src proper
apt-get source elogind
cd <TAB> # there's just one child directory
To see where the source of the elongind-uaccess-command would be, I
could have used a plain find, but in cases like these I'm usually
lazy and just recursively grep for sufficiently specific message
fragments, as in:
find . -name "*.c" | xargs grep "reset ACL"
This brings up src/uaccess-command/uaccess-command.c, where you'll
find:
k = devnode_acl(path, true, false, 0, false, 0);
if (k < 0) {
log_full_errno(errno == ENOENT ? LOG_DEBUG : LOG_ERR, k, "Failed to reset ACL on %s: %m", path);
if (r >= 0)
r = k;
}
Diversion: I like the use of the C ternary operator to emit a debug or error
message depending on whether or not things failed because the device
file that should have its ACL adapted does not exist.
So, what fails is a function called devnode_acl, which does not have
a manpage but can be found in login/logind-acl.c. There, it calls a
function acl_get_file, and that has a man page. Quickly skimming
it would suggest the prime suspect for failures would be the file
system, as that may simply not support POSIX ACLs (which, as I just
learned, aren't really properly standardised). Well, does it?
An apropos acl brings up the chacl command that would let me try
acls out from the shell. And indeed:
$ chacl -l /dev/bus/usb/001/003
chacl: cannot get access ACL on '/dev/bus/usb/001/003': Operation not supported
Ah. That in fact fails. To remind myself what file system we are
talking about, I ran mount | grep "/dev " (the trailing blank on the
search pattern is important), which corrected my memory from “it's a
tmpfs” to “it's a devtmpfs”; while it turns out that the difference
between the two does not matter for the problem at hand, your average
search engine will bring up the vintage 2009 patch at
https://lwn.net/Articles/345480/ (also from the abysses from which
systemd came) when asked for “devtmpfs acl”, and a quick skim of that
patch made me notice:
#ifdef CONFIG_TMPFS_POSIX_ACL
(something)
This macro comes from the kernel configuration. Now, I'm still building
the kernel on my main machine myself, and looking at the .config in
my checkout of the kernel sources confirms that I have been too cheap to
enable POSIX ACLs on my tmpfses (for a machine with, in effect, just a
single user who's only had contact with something like POSIX ACLs ages
ago on an AFS, that may be understandable).
Well, I've enabled it and re-built my kernel, and I'm confident that
after the next reboot the elogind messages will be gone. And who knows,
perhaps the thing may actually save me a custom udev rule or two in the
future because it automagically grants me access to whatever I plug in.
Then again: Given there's now an API for Javascript from the web to read
USB devices (I'm not making this up) and at least so far I'm too lazy
to patch that out of my browsers… perhaps giving me (and hence these
browsers) that sort of low-level access is not such a good idea after
all?
See Multiseat on Wikipedia if you have no idea what I'm
talking about. If you've read that you can probably see why I consider
logind silly for “normal” computers with either a single user or lots
of users coming in through the network.
Mind you, that in itself is totally reasonable: it would suck if
everyone on a machine could read the USB key you've just plugged into
a terminal; except that it's a rare configuration these days to have
multiple persons share a machine that anyone but an administrator
could plug anything into.
Im September 2000, kurz vor dem Ende von Albrights Amtszeit und der
Wahl von George W. Bush: Eine Mahnwache gegen das Embargo gegen den
und das „Flugverbot“ (mit regelmäßigen Bombardements, daher das
Plakat) über dem Irak an der Park Street Station in Boston,
Massachussetts.
In der Nachricht über den Tod der ehemaligen US-Außenministerin
Albright am DLF heißt es, Joe Biden habe sie gewürdigt als
„Vorkämpferin für Demokratie und Menschenrechte“. Das ist auf den
ersten Blick bemerkenswert, weil sich doch noch viele Menschen an
Albrights Interview im US-Politmagazin 60 Minutes aus dem Jahr 1996
erinnern, in dem der Interviewer fragte:
Wir haben gehört, dass eine halbe Million [irakische] Kinder [infolge
der westlichen Sanktionen] gestorben sind. Sehen sie, das sind mehr
Kinder als in Hiroshima gestorben sind. Und, na ja, war es diesen
Preis wert?
In einem klassischen Fall von Klarsprache hat Albright geantwortet:
Ich denke, das war eine sehr schwere Entscheidung. Aber wir glauben,
dass es den Preis wert ist.
(Übersetzung ich; Original z.B. bei der newsweek). In meiner Zeit in
den USA – Albright war damals „meine“ Außenministerin –, war dieses „the
price is worth it“ ein geflügeltes Wort, um bei Demonstrationen und
Mahnwachen wie der oben im Bild die mörderische, zynische und verlogene
Realpolitik zu kommentieren und Zweifel zu äußern, wenn Kriege mit „aber
die Menschenrechte“ (Kosovo, Albright und Bundeswehr dabei) oder „wir
verteidigen uns“ (Irak, Bundeswehr noch nicht und Albright nicht mehr
dabei) rechtfertigt wurden.
Im Rückblick würde ich die Bestürzung über das „it was worth it“ gerne
relativieren. Albright war wahrscheinlich nach Maßstäben ihrer Zunft
wirklich relativ deutlich orientiert auf Menschenrechte und Demokratie,
denn sonst hätte sie diese Antwort vermutlich nicht gegeben und
stattdessen dem Industriestandard folgend in eine andere Richtung
losgeschwafelt[1]. Insofern verdient sie Anerkennung
dafür, die Maßstäbe der Zunft der äußeren Sicherheit klar zu benennen,
denn die erlauben nun mal, zur Durchsetzung von „nationalen“ Interessen
massenhaft Menschen zu töten. Das einzugestehen ist, so glaube ich
heute, ethisch gegenüber dem sonst üblichen Fast Talk deutlich zu
bevorzugen.
Albrights Klarsprache mahnt uns, dass auch Saktionen fürchterliche
Folgen haben können und wir daher gute Gründe für sie einfordern
sollen („nationale Interessen“ sollten für nette Menschen nicht in die
Kategorie „gut“ gehören), und dass „unsere“ Regierungen ebenso bereit
sind, für ihre Interessen zu töten wie alle anderen auch.
Deshalb, um kurz in die Gegenwart zu schalten, muss der Schluss aus dem
Ukrainekrieg eben radikale Abrüstung sein und jedenfalls nicht mehr
Gewaltmittel für Menschen, die sich gegentlich „schwere Entscheidungen“
abringen, die Tote im Millionenmaßstab – es starben ja in den 90ern auch
nicht nur die Kinder im Irak, ganz zu schweigen von der Hinführung auf
den dritten Golfkrieg, an dem im Irak immer noch viele Menschen sterben
– nach sich ziehen.
Damit sind Dinge gemeint wie „das sagen die Russen“,
„Handelswege sichern“, „Verlässlichkeit im Bündnis“ oder viele
ähnliche Platitüden, die längst auswendig kann, wer regelmäßig
die Interviews in den DLF-Informationen am Morgen hört.
„Reimers' Diagramm“: Für 400 Jahre der einzige Hinweis darauf, wie Jost
Bürgi wohl seine Sinustabelle berechnet hat. Nicht mal Kepler hat das
Rätsel lösen können.
Ein Geheimnis, das im antiken Griechenland ein wenig angekratzt wurde,
über das dann Gelehrte in Indien und Arabien nachgedacht haben, für das
in der zweiten Hälfte des 16. Jahrhunderts ein wandernder Schweizer
Uhrmacher eine genial einfache Lösung fand, von der aber die Nachwelt
nur ein paar kryptische Referenzen hat, bis ein unerschrockener
Wissenschaftler in den Tiefen längst vergessener Bibliotheken ein
Manuskript entdeckt, das des Rätsels Lösung enthält: Es gibt
Geschichten, die klingen nach einem Roman von Umberto Eco (oder, je nach
Temperament und/oder Geschmack, Dan Brown) und sind doch wahr.
Auf die Geschichte von Jost Bürgis Sinusberechnung bin ich über die
DLF-Sternzeit vom 27.2.2022 gekommen, und sie geht ungefähr so:
Nachdem Hipparchos von Nicäa so um die 150 vdcE[1] nicht nur
den ersten brauchbaren Sternkatalog vorgelegt, sondern auch die ersten
ordentlichen Rezepte angegeben hatte, wie mensch für jede Menge Winkel
den zugehörigen Sinus[2] ausrechnet, gab es zur Berechnung
trigonometrischer Funktionen sehr lange nicht viel Neues.
Klar, der große Ptolomaios, genau, der mit dem Weltbild, hat Hipparchos'
Methode zur Berechnung des Sinus über regelmäßige Vielecke kanonisiert.
In Indien gab es einige Fortschritte – etwa den Übergang von der Sehne
zum Sinus –, in Arabien wurden verschiedene Ergebnisse zusammengetragen
und systematisiert, aber immer war es eine mühsame, geometrisch
insprierte, endlose Rechnerei.
Und dann kommen wir in die frühe Neuzeit in Europa, genauer die zweite
Hälfte des 16. Jahrhunderts. Kopernikus hat noch einmal ganz klassisch
den Sinus mit Vielecken berechnet, während er die Konflikte zwischen
Ptolomaios und der Realität untersuchte. In Italien macht sich
allmählich Galileo bereit, die Physik als experimentelle
Naturwissenschaft zu etablieren. Und in Kassel, beim
wissenschaftsbegeisterten hessischen Landgraf Wilhelm IV, sammeln
sich ein paar Mathe- und Astro-Nerds, die beim ebenso berühmten wie
fiesenTycho gelernt haben, unter ihnen Nicolaus Reimers, der das
kryptische Bild über diesem Post veröffentlicht hat, vermutlich, weil er
versprochen hatte, nicht mehr zu verraten.
Bürgis geniale Methode
Es weist auf ein Verfahren zur Berechnung von Werten der Sinusfunktion
hin, das nichts mehr mit den umschriebenen Polygonen des Hipparchos zu
tun hat. Sein Erfinder, der Toggenburger Uhrmacher-Astronom-Erfinder
Jost Bürgi, hatte zu dieser Zeit ein großes Tabellenwerk vorgelegt,
mit dem mensch auch ohne Taschenrechner rausbekommen konnte, wie viel wohl
sin(27∘ 32’ 16’’) sei[3]. Offensichtlich
funktionierte die Methode. Doch hat Bürgi – Autodidakt und vielleicht
etwas verschroben – die Methode nie richtig veröffentlicht, und so
brüteten MathematikerInnen, unter ihnen wie gesagt Johannes Kepler, der
immerhin die Sache mit den Ellipsenbahnen im Planetensystem rausbekommen
hat, lang über der eigenartigen Grafik. Und kamen und kamen nicht
weiter.
Das war der Stand der Dinge bis ungefähr 2014, als der (emeritierte)
Münchner Wissenschaftshistoriker Menso Folkerts im Regal IV Qu. 38ª
der Universitätsbibliothek in Wrocław auf eine lange übersehene
gebundene Handschrift stieß. Ein wenig konnte er ihre Geschichte
nachvollziehen: Jost Bürgi persönlich hatte das Werk Kaiser Rudolf II
– dem Mäzen von Tycho und Kepler – am 22. Juli 1592 (gregorianisch) in
Prag übergeben, was ihm eine Zuwendung von 3000 Talern eingebracht hat.
Ich habe leider nicht die Spur eines Gefühls, wie sich der Betrag mit
modernen Drittmittelanträgen vergleicht. Die Form des Antrags
jedenfalls ist aus heutiger Sicht als unkonventionell einzustufen.
Das Werk fand seinen Weg in das Augustinerkloster im unterschlesischen
Sagan (heute Żagań). Wie es dort hinkam, ist nicht überliefert, aber
mensch mag durchaus eine Verbindung sehen zu Keplers Aufenthalt in Sagan
in den Jahren von 1628 bis 1630. Vielleicht hat er das Buch ja nach
seinen Diensten in Prag mitgenommen, auf seinen verschiedenen
Wanderungen mitgenommen und schließlich selbst im Kloster gelassen?
Aber warum hätte er dann über Bürgis Methode gerätselt?
Wie auch immer: Im Gefolge des Reichsdeputationshauptschlusses wurde das
Kloster 1810 aufgelöst – ich stelle mir das ein wenig vor wie in Poes
„Die Grube und das Pendel“ –, und der Bestand der Bibliothek fiel an die
Universität Breslau, die wiederum nach dem zweiten Weltkrieg zur
polnischen Uni Wrocław wurde.
In diesem geschichtsträchtigen Manuskript erklärt Bürgi seinen
Algorithmus. Dargestellt ist das in der Abhandlung von Folkerts et al
(arXiv:1510.03180), in der sich auf den Seiten 11 und 12 auch die
Auflösung für Reimers' Rätsel findet. Etwas schöner beschreibt das
Verfahren Denis Roegel in seinem Aufsatz Jost Bürgi's skillful
computation of sines. Dort wird auch Bürgis mutmaßliche
Grundeinsicht besser erläutert, nach der der Sinus einfach das Ding ist, das,
modern gesprochen, nach zweifacher Ableitung sich selbst (mal minus
eins) ergibt. Das ist der mathematische Hintergrund dafür, dass
folgendes Stück Python tatsächlich relativ schnell zu einer Tabelle
der Sinuswerte von n im ersten Quadranten gleichverteilten
Winkeln konvergiert:
tot_sines = list(range(n+1))
for iter_index in range(n_iter):
intermediates = [tot_sines[-1]//2]
for tot in reversed(tot_sines[1:-1]):
intermediates.append(intermediates[-1]+tot)
tot_sines = [0]
for diff in reversed(intermediates):
tot_sines.append(tot_sines[-1]+diff)
return dict((k*math.pi/2/n, v/tot_sines[-1])
for k, v in enumerate(tot_sines))
– es ist, glaube ich, unmöglich, zu verstehen, was hier passiert (und
warum), ohne den Roegel oder zumindest den Folkerts gelesen zu haben.
Aber ich könnte andächtig werden angesichts so simpler Manipulationen,
die so schnell zu richtig vielen Stellen einer transzendenten Funktion
wie des Sinus führen.
Ein numerischer Traum
Wie schnell das mit den vielen Stellen bei Bürgis Algorithmus geht,
zeigt folgende Grafik:
Hier läuft horizontal der Winkel – und der Algorithmus funktioniert
wirklich nur, wenn das einen rechten Winkel einschließt –, vertikal die
Iterationen von Bürgis Algorithmus. Die Farben entsprechen dem
dekadischen Logarithmus der Abweichung der Bürgi-Ergebnisse von dem, was
die Python-Standardbibliothek gibt, im Groben also die Zahl der Stellen,
die der Algorithmus richtig hinbekommt. Mehr als 18 geht da schon mal
nicht, weil die Zahlen von Python in 64-bittigen IEEE-Fließkommazahlen
(„double precision“) kommen, und mehr als 18 Dezimalstellen sind da
nicht drin (in der Grafik steckt die Zusatzannahme, dass wir von Zahlen
in der Größenordnung von eins sprechen).
Mithin gewinnt der Algorithmus pro Iteration ungefähr eine
Dezimalstelle, und das gleichmäßig über den ganzen Quadranten.
DemoprogrammiererInnen: billiger kommt ihr, glaube ich, nicht an eine
beliebig präzise Sinustabelle ran.
Spannend fand ich noch die kleinen dunkelblauen Klötzchen ganz unten in
der Grafik: Hier werden sich Bürgi und Python offenbar auf Dauer nicht
einig. So, wie ich das geschrieben habe, würde ich fast eher Bürgi
vertrauen, denn bei den Ganzzahlen, die da verwendet werden, kann
eigentlich nichts schief gehen. Andererseits sind Fließkommazahlen eine
heikle Angelegenheit, insbesondere, wenn es ums letzte Bit geht. Um
mich zu überzeugen, dass es nur um genau jenes unheimliche letzte Bit
geht, habe ich mir geschwind eine Funktion geschrieben, die die
Fließkommazahlen vinär ausgibt, und der Code gefällt mir so gut, dass
ich sie hier kurz zeigen will:
import struct
_BYTE_LUT = dict((v, "{:08b}".format(v)) for v in range(256))
def float_to_bits(val):
return "".join(_BYTE_LUT[v] for v in struct.pack(">d", val))
Mit anderen Worten lasse ich mir geschwind ausrechnen, wie jedes Byte in
binär aussehen soll (_BYTE_LUT), wobei die Python-Bibliothek mit dem
08b-Format die eigentliche Arbeit macht, und dann lasse ich mir die
Bytes der Fließkommazahl vom struct-Modul ausrechnen. Der einzige Trick
ist, dass ich das Big-end-first bestellen muss, also mit dem
signfikantesten Byte am „linken“ Ende. Tue ich das nicht, ist z.B. auf
Intel-Geräten alles durcheinander, weil die Bits in der konventionellen
Schreibweise daherkommen, die Bytes aber (wie bei Intel üblich)
umgedreht, was ein furchtbares Durcheinander gibt.
Jedenfalls: Tatsächlich unterscheiden sich die Werte schon nach 20
Iterationen nur noch im letzten bit, was für 45 Grad alias π/4 z.B. so
aussieht:
Ich lege mich jetzt mal nicht fest, was das „bessere“ Ergebnis ist; ich
hatte kurz überlegt, ob ich z.B. mit gmpy2 einfach noch ein paar
Stellen mehr ausrechnen sollte und sehen, welches Ergebnis näher dran
ist, aber dann hat mich meine abergläubische Scheu vor dem letzten Bit
von Fließkommazahlen davon abgehalten.
Wer selbst spielen will: Meine Implementation des Bürgi-Algorithmus, der
Code zur Erzeugung der Grafik und die Bitvergleicherei sind alle
enthalten in buergi.py.
Das vdcE bringe ich hiermit als Übertragung von BCE, before
the Christian era, in Gebrauch. Und zwar, weil v.Chr völlig albern
ist (es ist ja nicht mal klar, ob es irgendeine konkrete Figur
„Christus“ eigentlich gab; wenn, ist sie jedenfalls ganz sicher nicht
zur aktuellen Epoche – also dem 1. Januar 1 – geboren) und „vor
unserer Zeitrechnung“ ist auch Quatsch, denn natürlich geht
Zeitrechnung (wenn auch mangels Jahr 0 etwas mühsam) auch vor der
Epoche. „Vor der christlichen Epoche“ hingegen bringt ganz schön auf
den Punkt, was das ist, denn die „Epoche“ ist in der Zeitrechnung
einfach deren Nullpunkt (oder halt, vergurkt wie das alles ist, hier
der Einspunkt).
Na ja, in Wirklichkeit hat er mit der Länge der Sehne
gerechnet, die ein Winkel in einem Kreis aufspannt, aber das ist im
Wesentlichen das Gleiche wie der Sinus, der ja gerade der Hälfte
dieser Sehne entspricht.
Diese Biene würde vielleicht schon zwischen den Staubbeuteln
rumrüsseln, wenn die Blume sich nur etwas mehr Mühe beim Würzen
gegeben hätte.
In Marc-Uwe Klings Qualityland (helle Ausgabe in der Imperial Library)
gibt es das großartige Konzept der FeSaZus, eines Nahrungsmittels, das zu
je einem Drittel aus Fett, Salz und Zucker besteht und zumindest für das
Proletariat von Qualityland in einigen – nicht zu vielen! –
Darreichungsformen (FeSaZus im Cornflakesmantel, Muffins mit
FeSaZu-Füllung, Schmalz-FeSaZus mit Speckgeschmack) eine wichtige
Ernährungsgrundlage darstellt.
Via den Wissenschaftsmeldungen vom 3.2.2022 in DLF Forschung aktuell
bin ich nun auf den Artikel „Sodium-enriched floral nectar increases
pollinator visitation rate and diversity“ von Carrie Finkelstein und
KollegInnen (Biology Letters 18 (3), 2022, DOI
10.1098/rsbl.2022.0016) gestoßen, der recht überzeugend belegt, dass
Insekten im Schnitt einen Geschmack haben, der sich vom Qualityländer
Durchschnittsgeschmack gar nicht so arg unterscheidet.
Finkelstein et al haben an der Uni von Vermont mindestens je zwölf
Exemplare von fünf örtlich üblichen Blumenarten blühen lassen. Je
Experiment (und davon gab es einige) haben sie sich pro Art sechs
Individuen ausgesucht und mit Kunstnektar versehen. Bei dreien war das
einfach eine 35%-ige Zuckerlösung, bei den anderen drei kam dazu noch 1%
Kochsalz. In Wasser aufgelöst ist 1% Salz schon ziemlich schmeckbar.
Ich habe darauf verzichtet, im Selbstversuch zu überprüfen, ob 1% Salz
in so konzentriertem Sirup menschlichen Zungen überhaupt auffällt.
Und dann haben sie gewartet, bis bestäubende Insekten kamen und diese
gezählt. Das zentrale (und jedenfalls von außen betrachtet trotz etwas
Voodoo bei der Auswertung auch robuste) Ergebnis: An den Pflanzen, die
Salz anboten, waren doppelt so viele Insekten – am stärksten vertreten
übrigens allerlei Sorten von Bienen – wie an denen, die das nicht taten,
und zwar ziemlich egal, um welche Blume es nun gerade ging. Mit anderen
Worten: Insekten sind nicht wild auf faden Nektar.
Allerdings: So ein Faktor zwei in der Präferenz ist gar nicht so viel.
Zwischen den BesucherInnenzahlen bei Schafgarbe (laut Paper 54.1 ± 6.3)
und dem blutroten Storchschnabel (16.6 ± 3.5) liegt eher ein Faktor
drei. Dennoch ist recht deutlich, dass die Insekten eher wenig
Verständnis haben für Lauterbachs salzarme Ernährung. Dabei will ich
nicht argumentieren, dass ein Durchschnittsmensch auf Dauer 150 mg
Salz pro Kilogramm Körpergewicht und Tag essen könnte, ohne schließlich
mit Hypertonie und Nierenversagen kämpfen zu müssen. Aber 10 oder 15
Gramm Salz am Tag kriegt mensch, wie Samin Nosrat in ihrem wunderbaren
Kochbuch Salt, Fat, Acid, Heat (auch in der Imperial Library)
ausführt, durch selbstsalzen oder auch den Salzgebrauch in
selbstkochender Gastronomie, kaum hin[1]; salzarms Kochen und
fades Essen mag mithin positive gesundheitliche Folgen haben, aber
vermutlich kaum mehr als etwa der Einsatz von Himalayasalz, Voodoopuppen
oder anderen potenten Placebos.
Erfreulich fand ich im Paper noch die Aussage „All analyses were
performed in R (v. 4.0.2)“ – dass auch in weniger technologieaffinen
Wissenschaftsbereichen proprietäre Software (in diesem Fall ganz
vornedran SAS und SPSS) auf dem Weg nach draußen ist, halte ich für eine
ausgezeichnete Nachricht.
Weniger schön fand ich das Bekenntnis, dass es in Anwesenheit von
BiologInnen ganz offenbar gefährlich ist, einer unüblichen Spezies
anzugehören:
If we were unable to identify a floral visitor in the field, we
collected it and stored it in 75% ethanol.
Arme kleine Fliegen und arme VertreterInnen ungewöhnlicher Bienenarten.
Wären sie stinknormale Honigbienen gewesen, hätten sie ihren Ausflug zu
den verlockenden Blüten mit dem fein gesalzenen Nektar überlebt.
Nosrat argumentiert in ihrem Buch für mich zumindest plausibel
(und durch meine eigene Kochpraxis bestätigt), dass Lauterbauchs Kritik
am „Salzgeschmack“ zumeist am Thema vorbeigeht – in aller Regel
vermittelt Kochsalz etwa durch Kontrolle von Osmolaritäten ziemlich
nichttriviale Prozesse beim Garen und Verarbeiten von Lebensmitteln,
und diese sind für den Geschmack der fertigen Speisen viel wichtiger
als das Salz selbst. Aber das ist dann wirklich eine andere Geschichte.