Stranger Than Usual

The fact is that ever since the invention of writing and very possibly since the dawn of humanity itself different cultures have migrated, intermingled, split off and recombined and there is no period of human history when this has not been the case.

rewboss

Schon wieder die Chatkontrolle

Die letzten Tage ging es in netzpolitischen Kreisen hoch her, denn heute wurde wieder über die Chatkontrolle abgestimmt. Glücklicherweise ist sie auch dieses Mal gescheitert. Aber damit ist sie leider noch nicht vom Tisch. Und egal wie viele Bürgerrechtler sagen, dass sie eine schlechte Idee ist, egal wie viele Rechtsgutachten sagen, dass sie nicht mit unseren Grundrechten vereinbar ist, sie will einfach nicht sterben.

Ziemlich geärgert hat mich deswegen dieser Kommentar auf tagesschau.de. Die Autorin ist geradezu enttäuscht darüber, dass die Chatkontrolle gescheitert ist, sieht Deutschland in der Schuld (letzteres ist immerhin wahr) und regt sich über die „Datenschutz-Lobby“ auf, weil die schon wieder verhindert haben, dass man dieses ach so wichtige Instrument zum Schutz der Kinder schon wieder abgelehnt hat.

Dazu habe ich einige Dinge zu sagen:

Erstens: Die Chatkontrolle, selbst wenn sie eingeführt wird, ist kein wirksames Mittel gegen Kindesmissbrauch. Bestenfalls wird sie ein leicht umgehbares Mittel um den Austausch von Missbrauchsbildern zu verringern.

Zweitens: Die Autorin argumentiert, dass der Kinderschutz in Deutschland schwinde, „Während sich zuletzt in Deutschland die Zahl der gefundenen Missbrauchsbilder verzehnfacht hat“. Oh. Die Zahl der gefundenen Missbrauchsbilder hat sich verzehnfacht? Vielleicht bedeutet das ja, dass wir die Chatkontrolle nicht brauchen, weil wir ohnehin schon viel besser darin werden, Missbräuche aufzudecken?

Drittens: Es wird natürlich wieder auf dem Datenschutz herumgehackt. Wie schwierig der doch alles mache. Vielleicht liegt das ja am Namen. „Datenschutz“ – das klingt so, als ob man Daten schützt. Warum haben Daten mehr Rechte als Kinder? Tatsächlich aber schützt man Menschen mit dem Datenschutz. Kinder. Erwachsene. Alle. Auf dem letzten Camp gab es dazu auch einen schönen Vortrag.

Viertens: Geht es um staatliche Kontrollmaßnahmen und Verhältnismäßigkeit. Möchten wir wirklich auf jedem Endgerät Spyware haben? Hunderte Millionen Menschen werden damit unter Generalverdacht gestellt. Mal andersherum: Wenn China oder Russland jetzt anfangen würden, so etwas einzuführen: würde dann nicht die ganze westliche Welt aufschreien, wie unterdrückerisch diese Staaten sind, und dass diese Maßnahmen nur ein Vorwand seien, um die Bevölkerung zu überwachen?

Ich traue unserem Staat weitaus mehr als manch einem anderen Staat, aber auch unsere Geheimdienste haben sich in der Vergangenheit nicht mit Ruhm bekleckert. Es gab Nazis in der Polizei, die Polizeidatenbanken genutzt haben, um Drohbriefe zu verschicken. Wollen wir da wirklich noch ein weiteres, für den ursprünglichen Zweck nutzloses Überwachungstool aufbauen, dass wunderbares Missbrauchspotential hat? Und was passiert, wenn die AfD es schaffen sollte, im Bundestag Mehrheiten zu bekommen? Wollen wir diesen Nazis wirklich eine solche Waffe in die Hände drücken? Und was ist mit Staaten wie Ungarn, die unter Orbán deutlich sichtbar Demokratieabbau betreibt?

Es gibt so viele gute Argumente gegen die Chatkontrolle, und nur sehr wenige gute Argumente dafür. Ich hätte in den letzten zwei Jahren vielleicht einfach die ganzen Artikel sammeln sollen, die ich darüber gelesen habe, aber das habe ich nicht, und jetzt kann ich sie nicht verlinken. Daher verweise ich einfach auf netzpolitik.org, diese Infoseite von CCC, Digitalcourage und anderen sowie auf diese Infoseite von Patrick Breyer.

Infinite Screaming

Gestern hat ein Mastodon-Nutzer dort die anderen nach kleinen, privaten Blogs/websites gefragt. Die Idee dahinter war, dass er mal sehen wollte, ob es noch, so wie früher, Leute gibt, die ihre eigenen, kleinen Websites betreuen und nicht alles in den großen sozialen Medien, auf den Websites der großen Konzerne machen:

send me your blog that you update

Darauf hat er keine Antworten bekommen. Also hat er noch einmal nachgehakt. Und noch einmal:

i will try one more time

SEND ME YOUR FUCKING WEBSITE AND OR BLOG I WANNA LOOK AT YOUR COOL FUCKING WEBSITE AND OR BLOG

FEEL FREE TO BOOST THIS REQUEST

Die Anfrage hat dann gewirkt, und es ist eine ganze Menge zusammengekommen. Technische Blogs, Polythematische Blogs, Blogs über Kunst (Fotografie, Malerei, etc), Politik, you name it. Ich kann nur empfehlen, sich das einmal anzuschauen, da ist für alle was dabei.

Für mich war vor allem eins dabei. Das hier, was aber nur eine Übersicht über die verschiedenen Kreationen der Person ist, der diese Seite gehört. Insbesondere hat es mir nämlich der Infinite Scream-Generator angetan. Was macht der? Naja genau das, was draufsteht:

AAAAAHHH

oder auch

AAAAAAAAAAAAAAAAAAHHHHH

Die Liste lässt sich fortsetzen. Kurz darauf habe ich auch erfahren, dass es dazu auch einen Mastodon-Bot gibt, der jede Stunde einmal in variierender Intensität schreit. Ich weiß ja nicht wie es euch geht, aber mir spricht dieser Bot aus dem Herzen.

Abgesehen davon habe ich auch noch zwei kleine Blogs gefunden, auf denen ich aber schnell je einen sehr interessanten Artikel gefunden habe. Zum einen dieses Blog mit einem Artikel über Javascript-Bloat und zum anderen dieses Blog mit einem Artikel darüber, wie der Autor aus Versehen die E-Mail-Adresse eines Briten gehijacked hat und nun Mails von dessen Banken bekommt. Alle Anfragen bei den Banken wurden entweder ignoriert oder mit einem „da kann ich nichts tun, ich leite das mal weiter“ abgewimmelt. Die Mails bekommt der Typ heute noch.

Fazit: Das Web ist immer noch voll von Leuten, die ihre eigene kleine Website haben. Viele davon sind vielleicht nicht großartig, und auf den Blogs wird nur wenig geschrieben, aber es gibt sie, und sie sind es wert, sie sich anzuschauen.

Update

Ursprünglich hatte ich auf den Post auf der ursprünglichen Mastodon-Instanz verwiesen, aber dort sind viel weniger Antworten zu finden. Ich verbuche das mal unter „federated Mastodon weirdness“.

WiFi sniffing on a Raspberry Pi 5

Note: I usually write stuff in German here, but people who are interested in this may not speak German, so I'll do this one in English.

The Problem

For my current research project I need to do some WiFi sniffing. So I just set up a Raspberry Pi and run airodump-ng (part of the aircrach-ng project) on it, right?

Wrong. The basic idea is simple: put the WiFi card into monitor mode, then run airodump-ng. For the first part, aircrack-ng provides a tool that does this for me. It even kills other processes that use the card (important: You won't be able to use your WiFi on that device until you undo this, so make sure you have a separate network connection if you need one):

sudo airmon-ng start wlan0 

wlan0 is the WiFi interface in this case. Usually, it looks something like this:

PHY     Interface       Driver          Chipset

phy0    wlan0           brcmfmac        Broadcom 43455
        wlan0 is soft blocked, please run "rfkill unblock 1" to use this interface.
rfkill error, unable to start wlan0

Would you like to try and automatically resolve this? [y/n] y

After that, the interface is in monitor mode. On my Raspberry Pi 5 with Debian 12 however, the above output was followd by this:

ERROR adding monitor mode interface: command failed: Operation not supported (-95)

Searching for a solution

This was a bit surprising. That seriously won't work? Let's take a look at the aircrack-docs:

Even though dmesg says the interface is already in monitor mode and “iw dev wlan0 info” confirms it is, airodump-ng will fail and report the interface data linktype is Ethernet. This is a bug in the driver and/or firmware, and the workaround is to reboot the system or to reload the driver:

rmmod brcmfmac
modprobe brcmfmac

The Problem persists, however. Reloading the modules does not work. Rebooting does not work. Firmware updates do not work. Then I stumbles upon this thread in the Raspberry Pi forums. Someone has the same problem that I have and suggeted to rebuild “nexmon”. But what is “nexmon”?

Nexmon to the rescue!

Nexmon is:

our C-based firmware patching framework for Broadcom/Cypress WiFi chips that enables you to write your own firmware patches, for example, to enable monitor mode with radiotap headers and frame injection.

Sounds like this is exactly what I need. They even have a detailed review on how to build and use it! So let's go!

Unfortunately, it's not that easy. The Raspberry Pi's WiFi chipset is mentioned, but only in the context of a Raspberry Pi 3 or 4. Also: kernel versions 4.x and 5.* are supported, but I'm running 6.6.31. Oh wait. There is also an entry for a Raspberry Pi 5. But that one does not support monitor mode. Whatever. I'll just try the version for the Raspberry Pi 4 with kernel 5.4.

In the following, I'll post a modified version of the Readme. There will be comments on where I strayed from the original version and why I did it. I tested the stuff below with commit c381091d679993a0535082943d9b74a20f92b9f1 in the nexmon projecton a 64 bit system.

How to build and install nexmon on a Raspberry Pi 5

First, add this to your /boot/firmware/config.txt (and then reboot to load the kernel with the correct parameters):

kernel=kernel8.img
reboot

This is not mentioned in the tutorial, but I got the following error message:

libm.so.6: ELF load command address/offset not page-aligned

Turns out: there are different memory alignments and nexmon cannot deal with that. Ok, now on to the actual installation guide

  • Make sure the following commands are executed as root: sudo su
  • upgrade your Raspbian installation: apt-get update && apt-get upgrade
  • Install the kernel headers to build the driver and some dependencies: sudo apt install raspberrypi-kernel-headers git libgmp3-dev gawk qpdf bison flex make autoconf libtool texinfo xxd
  • Clone our repository: git clone https://github.com/seemoo-lab/nexmon.git
  • Go into the root directory of our repository: cd nexmon

Notes: I added xxd to the list of dependencies, because it was not installed on my newly installed Raspberry Pi. Also: It is not necessary to run everything as root, just the installation stuff. However, since the build process requires some messing with environment variables, it is probably easier to just run everything as root. Next come some library installations:

  • sudo dpkg --add-architecture armhf
  • sudo apt-get update
  • sudo apt-get install libc6:armhf libisl23:armhf libmpfr6:armhf libmpc3:armhf libstdc++6:armhf

And then some symbolic links. Important: Don't run these command just like that. I for example had different (but compatible) versions installed, i.e. libisl.so.23.2.0 and libmpfr.so.6.2.0. So check your library versions and adjust the commands below accordingly. If you don't, you will get the error ERR: ram file empty or unavailable. when you run make.

  • sudo ln -s /usr/lib/arm-linux-gnueabihf/libisl.so.23.0.0 /usr/lib/arm-linux-gnueabihf/libisl.so.10
  • sudo ln -s /usr/lib/arm-linux-gnueabihf/libmpfr.so.6.1.0 /usr/lib/arm-linux-gnueabihf/libmpfr.so.4

Then you can setup the build environment for compiling firmware patches

  • Setup the build environment: source setup_env.sh
  • Compile some build tools and extract the ucode and flashpatches from the original firmware files: make

In the following part, the readme gives you some options. In my case, only the one I present below works:

Go to the patches folder for the bcm43455c0 chipset: cd patches/bcm43455c0/7_45_206/nexmon

  • Compile a patched firmware: make
  • Generate a backup of your original firmware file: make backup-firmware
  • Install the patched firmware on your RPI3: make install-firmware

It says “RPI3”, but in this case it is the RPI5, obivously. Also: if you ran most of these parameters as non-root and used sudo to execute the ones that required root access: make install-firmware required the setup environment, so use sudo -E make install-firmware.

From here on, you can continue with the official nexmon readme file (it continues with “Install nexutil: from the root directory of our repository switch to the nexutil folder”). It explains you how to set up a separate network interface that is in monitor mode and so on, all of that worked for me more or less without problems. I think.

Conclusions

This is a setup that worked for me, but I have not tested it thouroughly yet. I can capture WiFi data over the air, but I have not let it run for a long time, so I do not know how stable it is. When I find some more issues (and solutions), I will post that here.

Wie viel bringt die Brotli-Kompression bei mir insgesamt?

Ich hatte ja vor ein paar Tagen groß angekündigt, dass dieser Server hier endlich Brotli unterstützt. Da hatte ich auch ein Beispiel angegeben, um wieviel sich die Homepage verkleinert hat.

Das ist natürlich nicht ganz repräsentativ, also habe ich mal alles zusammengerechnet, was hier komrpimiert ausgeliefert wird. Das geht recht kompakt mit folgendem Befehl:

du -cB1 --apparent-size $(find dist/ \( -iname "*.html.br" -o -name "*.css.br" -o -name "*.svg.br" \) )

Kurz aufgeschlüsselt: der find-Befehl sucht nach allen Dateien, die auf .html.br, .css.br oder .svg.br enden. Analog dazu kann man natürlich auch andere Dateiendungen nehmen oder ganz andere Suchschemata. du -cB1 summiert die Dateigrößen der Eingabedateien auf und gibt sie mir in bytes an.

Ich habe hier mal das atom-feed außen vor gelassen, ebenso Bildateien, die ohnehin schon komprimiert sind und die ich eh nicht mit Brotli oder gz komprimiere (JPEG, PNG und WebP).

Das Ergebnis

  • keine Kompression: 10024688B oder ≈9,6MiB
  • gz (mit Zopfli): 4170752B oder ≈4MiB (≈42% der unkomprimierten Daten)
  • Brotli: 3488654B oder ≈3,4MiB (≈35% der unkomprimierten Daten oder ≈84% der Zopfli-komprimierten Daten

Im Verhältnis zur Homepage also ein bisschen schlechter, dafür macht sich der Unterschied zwischen Brotli und Zopfli noch einmal deutlich besser bemerkbar.

Ein Problem erzeugt die Kompression natürlich: Ich muss alles mehrfach hochladen. So lange deutlich mehr Leute die Dateien herunter- als hochladen, sollte das aber trotzdem besser sein. Und wie gesagt: Die gz-komprimierten Dateien entferne ich vielleicht früher oder später. Das erspart mir das Hochladen, vor allem aber auch das Komprimieren selber. Aber das drängt nicht.

Cyber Demokratische Union

Die CDU jammert gerade über den „[schwersten] Angriff, den jemals eine politische Partei in Deutschland erlebt hat“. Mit „Angriff“ ist hier ein Angriff auf deren IT-Struktur gemeint.

Nun kommt das ja nicht von ungefähr. Zuerst einmal trägt die CDU Mitschuld am Hackerparagraphen, der Sicherheitsforschern in Deutschland das Leben schwer macht. Dann fordern sie jahrelang Schwächungen der IT-Sicherheit in Deutschland, angefangen bei der Vorratsdatenspeicherung über das Schwächen von Kryptographie bis hin zur Möglichkeit eines staatlichen „Hack-Backs“ (was im Prinzip bedeutet, dass der Staat bekannte Sicherheitslücken zurückhalten muss, so dass sie nicht behoben werden können, damit er sie später zum Angriff nutzen kann).

Am Ende gehen sie (zusammen mit der CSU) dann natürlich so weit, dass sie Sicherheitsforscher_innen, die ihnen Sicherheitslücken melden, verklagen. Der CCC meldet seitdem keine Sicherheitslücken mehr an die CDU. Das war 2021. Ich habe damals auch darüber geschrieben. Meine Hypothese ist: IT-Sicherheit ist uns als Gesellschaft (und insbesondere auch der CDU/CSU) nicht wichtig genug, um darin Zeit, Gedanken und Geld zu investieren. Und dafür bezahlt die CDU jetzt halt den Preis.

Das ist ungefähr so, als würde man sich gegen Hochwasserschutz stellen und sich dann über massive Hochwasserschäden beschweren. Oh warte, genau das ist ja passiert.

Insofern: Kein Mitleid mit der CDU/CSU.

Update 2024-06-04

Da ja der CCC keine Sicherheitslücken mehr an die CDU meldet, muss Heise das machen. Dieser Fall hier ist aber kein Angriff irgendeiner Form von außen, sondern einfach nur klassische Inkompetenz.

IPv6

Vor ein paar Wochen habe ich für den Server, auf dem dieses Blog läuft endlich eine IPv6-Adresse eingerichtet. Das hätte ich schon vor Jahren machen sollen. Und mein Hoster hatmir nicht nur eine, sondern einen ganzen Haufen IPv6-Adressen zu Verfügung gestellt. Aber Netzwerkkrams ist immer so fummelig…

Naja, der Server ist ein Debian-System, dort habe ich dann die in /etc/network/interfaces folgende Zeilen hinzugefügt:

iface eth0 inet6 static
	address 2a03:4000:2a:200:42:42:42:42
	netmask 64
	gateway fe80::1

Das war schon Mitte März. Damit war der Server schon unter der IPv6-Adresse erreichbar, aber ich musste noch die DNS-Einstellungen machen, damit man diese Adresse auch findet. Das hatte ich dann gemacht, aber auch Tage danach ergab die Anfrage host strangerthanusual.de nur die folgende Zeilen:

strangerthanusual.de has address 193.30.121.255
strangerthanusual.de mail is handled by 10 mail.strangerthanusual.de.

Komisch. Naja, keine Zeit, zu viele andere Dinge zu tun. Irgendwann später ist mir dann aufgefallen, dass mein Browser die Blogseite sehr wohl via IPv6 aufruft. Es stellte sich heraus: Ich habe den DNS-Eintrag nur für Subdomains (*) von strangerthanusual.de eingerichtet, nicht für strangerthanusual.de selbst (@). Das ist korrigiert, aber das Blog selber war ohnehin schon seit über zwei Monaten über IPv6 erreichbar. Endlich.

Br-Br-Br-Brotli!

Ich habe ja schon einmal erwähnt, dass ich einen gewissen Kompressionsfetisch habe. Nein, nicht wie in diesem xkcd-Comic. Mehr so wie in diesem xkcd-Comic: There is no actual porn in there, I'm just turned on by data compression.

Als ich 2020 dieses Blog überarbeitet und auf statische Seiten umgestellt habe, habe ich auch gut optimierte, statische Kompression eingebaut: Zopfli als gzip-kompatible, langsame aber effektive Kompression und Brotli als die neuere Variante, die insbesondere HTML besser komprimiert und auch deutlich schneller als Zopfli ist (von der Geschwindigkeit eher mit herkömmlicher gzip-Kompression vergleichbar).

Nun habe ich damals angemerkt, dass Brotli noch nicht mit nginx funktioniert. Grund dafür war, dass ich das nginx-Brotli-Modul manuell hätte kompilieren müssen, mit Zugriff auf den nginx-Quellcode in der richtigen Version, das heißt ich hätte jedes Mal, wenn nginx oder das Brotli-mod ein Update bekommen hätten, den ganzen Murks noch einmal machen müssen. Das ist nicht low-maintenance, und so hätte ich wichtige Sicherheitsupdates vielleicht aufgeschoben. Nein danke.

Vor Kurzem bin ich aber auf Debian 12 Bookworm (Debian-Distributionen sind nach Toy Story-Charakteren benannt) umgestiegen. Und da gibt es jetzt endlich ein Paket namens libnginx-mod-http-brotli-static. Von da an war alles ganz einfach: Paket installiert, brotli_static: on; in die nginx-Konfiguration gehängt, nginx neu geladen. Fertig.

Was macht das mit den Dateigrößen? Schauen wir uns doch zum Beispiel mal die HTML-Datei der Homepage dieses Blogs an, und zwar die bevor dieser Post hier veröffentlicht wurde:

  • home.html: 44900 byte
  • home.html.gz: 16550 byte
  • home.html.br: 15322 byte

Durch die Kompression allgemein kann die Größe also auf knapp 37% reduziert werden. Brotli verbessert die Kompression im Vergleich zu Zopfli noch einmal um mehr als ein kiB oder etwa 8%, und es läuft dabei deutlich schneller.

Alle modernen Browser unterstützen das. Ich überlege echt, ob ich nicht die Zopfli-Kompression komplett herausnehmen soll, das würde die Buildzeiten für mein Blog drastisch verkürzen, denn Zopfli ist momentan mit Abstand der zeitaufwändigste Teil. Als Fallback gäbe es ja immer noch die unkomprimierte Version. Aber erst einmal lasse ich es wie gehabt laufen, nur dass jetzt Brotli auch tatsächlich benutzt wird.

Die CDU und das Verbrennerausaus

Gestern Nachmittag hat die CDU groß dafür propagiert, das Verbot von Neuzulassungen von Autos mit Verbrennermotoren ab 2035 wieder abzuschaffen. Sie nennen es „Verbrennerauto-Verbot“, aber es bestehende Verbrennerautos werden nicht verboten. Ingesamt ist das Gesetzt absolut notwendig, ein sehr abgeschwächter Kompromiss und mehr oder weniger das Einzige, was in letzter Zeit überhaupt zum Klimaschutz verabschiedet wurde. Das Heizungsgesetzt zu Beispiel haben CDU und FDP ja ordentlich kaputt gemacht.

Dazu hat die CDU auch publikumswirksam eine Umfrage gestartet. So eine Umfrage auf der CDU-Website ist natürlich erst einmal Bullshit, weil sie nicht repräsentativ ist. Nur ist das in diesem Fall nach hinten losgegangen. Denn auf Mastodon wurde groß dafür geworben, bei dieser Abstimmung gegen ein Verbrennerausaus zu stimmen. Ergebnis: 86% der Leute wollen beim Verbrenneraus bleiben.

Was das jetzt repräsentativ? Nein, natürlich nicht. Wäre sie aber so oder so nicht geworden. Die CDU hat halt gedacht, dass sie damit ein schönes Argument für ihre Forderung in der Hand zu haben. Haben sie jetzt nicht, also machen sie das, was Klimawandelleugner am besten können: Leugnen. Zitat:

Diese Umfrage ist massiv manipuliert worden. Zehntausende Stimmen sind automatisiert abgegeben worden.

Das stimmt aller wahrscheinlichkeit nicht. Diese Stimmen sind nicht automatisiert abgegeben worden (wäre ein bisschen umständlich, weil nach drei Anfragen die IP-Adresse gesperrt wird), es hat sich einfach ein digitaler Flashmob gebildet und abgestimmt. Das ist im Internet ein alter Hut, so wurde zum Beispiel ein britisches Forschungsschiff fast einmal Boaty McBoatface genannt.

Aber die CDU muss sich natürlich wieder als Opfer darstellen:

Das ist völlig inakzeptabel. Die Umfrage ist daher abgeschaltet worden. Wir stehen als CDU für einen fairen Wahlkampf.

Bullshit. Ihr habt versucht, mit einer nichtrepräsentativen Umfrage den Eindruck zu erwecken, dass alle bei den Verbrennern bleiben wollen. Ihr behauptet Bullshit, wie dass wir ohne Autoindustrie alle arm werden (obwohl die Autoindustrie ja den Ersatz für die Verbrennerautos, also Elektroautos produzieren würde, denn von einer verünftigen Verkehrswende steht nichts in dem Gesetzt). Ihr verbreitet implizit den Bullshit, dass der Klimawandel die Wirtschaft nicht viel mehr kosten wird als ein Verbrenneraus. Und ihr behauptet, für einen fairen Wahlkampf zu stehen?

Eine gute Zusammenfassung des ganzen Bullshits kann man beim Volksverpetzer finden. Eine weitere Zusammenfassung gibt es bei der Süddeutschen Zeitung.

Auf der anderen Seite war es ganz nett zu beobachten, wie sich das Ganze entwickelt. Als ich gestern Abend den aktuellen Umfragestand gesehen habe, habe ich mir schon gedacht, dass die CDU behaupten wird, wir seien alle Bots.

Barriereunfreiheit

Ich hatte einen Wegeunfall von meinem Arbeitsort nach Hause. Bruch irgendwo im linken Arm, der ist im Gips, die rechte Hand ist verstaucht und nur begrenzt einsetzbar (ich schreibe diesen Artikel mit einer Hand, das macht keinen Spaß).

Weil es ein Wegeunfall war, muss der natürlich anders gemeldet werden. Das bedeutet: ein PDF-Formular ausfüllen. Nun hatte ich mich ja neulich schon über PDF-Formulare geärgert. Dieses hier setzt aber noch eins drauf: ich muss ein Datum eingeben. Und zwar jede Ziffer in einem eigenen Eingabefeld. Also so: 0 <tab> 1 <tab> 0 <tab> 1 <tab> 1 <tab> 9 <tab> 7 <tab> 0 <tab>.

Normal schon eine Tortur. Einhändig? Genug Ärger, um wütend genug zu sein um auch noch diesen Blogpost einhändig zu schreiben. Und wenn ich daran denke, dass ich nur temporär und nur leicht (also ich kann alles bedienen, es dauert nur viel länger) eingeschränkt in meiner Computernutzung bin, dann wird es für mich um so klarer, mit welchem Ärger andere Leute zu kämpfen haben.

Die Digitalisierung bietet viele Chancen, das Leben einfacher zu machen. Für Menschen mit Behinderung, aber auch für alle anderen. Warum also müssen wir uns stattdessen mit PDF-Formularen herumschlagen?