Interessante Enzyklopädien

Weil ich mich gerade etwas für Systemtheorie und Systems Thinking interessiere, hatte ich neulich die „International Encyclopedia of Systems and Cybernetics“ ausgeliehen. Diese ist ein wertvolles Werk, weil sie all die Begriffe, die in der Systemtheorie-Literatur (bis 2004) verwendet werden, definiert, einordnet und miteinander in Beziehung setzt.

Und weil sie so wertvoll und hilfreich ist, ist sie gefragt. So gefragt, daß ein einzelner Band (von zwei Bänden) bei Amazon oder ebay gebraucht üblicherweise zwischen 500 und 800 Euro liegt. Also Fernleihe.

Dabei habe ich nach längerer Zeit ohne (Spezial-)Enzyklopädie in den Händen wieder gemerkt, wie sehr ich diese Darstellung schätze. Künftig möchte ich mehr und öfter Enzyklopädien bei meinen Recherchen zurate ziehen.

Ein Blättern in Thomas Manns „The Oxford Guide to Library Research“ hat schon eine ganze Reihe interessanter Titel gefunden, die man auch ohne konkretes Rechercheinteresse am Fachgebiet mal durchblättern könnte. Dabei sind viele „Dictionaries“ dabei, also Wörterbücher. Das ist etwas, was man wissen muß! Englischsprachige Enzyklopädien heißen oft „Dictionary“, weil sie alphabetisch sortiert sind. Die Einträge sind trotzdem umfassend und mit Literaturquellen, das sind keine Wörterbücher, wie man sie aus dem Fremdsprachenunterricht in der Schule kennt. Wenn man nur nach „Enzyklopädie“ sucht, verpaßt man viele interessante Titel.

  • New Grove Dictionary of Music and Musicians
  • New Dictionary of the History of Ideas
  • Encyclopedia of Food and Culture
  • Encyclopedia of Historical Treaties and Alliances
  • Encyclopedia of Journalism
  • Encyclopedia of Law Enforcement
  • Food Cultures of the World
  • International Encyclopedia of Dance
  • Literature of Travel and Exploration: An Encyclopedia
  • Routledge Encyclopedia of Language Teaching and Learning

Knuth-Scheck

Donald E. Knuth ist so etwas wie der Graue Eminenz der Informatik. Begnadeter Algorithmiker (das Knuth-Morris-Pratt-Verfahren und viele mehr), emeritierter Professor in Stanford, Autor des Standard-Übersichtswerks “The Art of Computer Programming” (schon seit 1962 – geplante Fertigstellung derzeit: 2025), und Schöpfer des Textsatzsystems TeX, von dem Leslie Lamport später LaTeX abgeleitet hat.

Und absoluter Pedant. So hat er auf seiner Webseite einen eigenen Abschnitt, mit Personen, die er in seinen Büchern zitiert, von denen er aber nicht weiß, für welche Vornamen die Mittelinitialen stehen. Und er möchte die nun einmal Namen vollständig zitieren.

Legendär ist sein Angebot, fürs Finden von Fehlern in seinen Büchern Schecks auszustellen. „Fehler“ heißt hier nicht unbedingt „inhaltlicher Fehler“. Davon gab es von Anfang nicht sehr viele, und nun nach Jahrzehnten noch viel weniger.

Nein, auch Tippfehler qualifizieren für einen Belohnungsscheck über zwei Dollar und sechsundfünfzig Cent (ein hexadezimaler Dollar). Ebenso typographische Mängel. Ein Zeilenabstand um einen Zehntel Millimeter zu groß? Scheck. Ein kaum wahrnehmbarer Lerraum vor einem Komma? Scheck. Ein Eintrag einer Aufzählung nicht korrekt eingerückt. Scheck.

Man kann sich schon denken, der Durchschnittsautor würde auch bei Zwei-Dollar-Belohnungen arm. Aber die Fehlerhäufigkeit ist eben überschaubar bei Knuth.

Außerdem war das schon ein cleverer Schachzug von ihm: Kaum jemand löst diese Schecks je ein. Die hängt man sich an die Wand. Ernsthaft.

Es gibt ein paar Verrückte, Knuth erzählte in einem Interview einmal, es gebe da einen Deutschen, der schon so viele Schecks gesammelt habe, daß er zum Spaß jedes Jahr einen davon einlöse.

Lange Einleitung, der Leser ahnt es schon: ich besitze solch einen Scheck.

Natürlich hatte ich schon lange davon geträumt, einmal einen Fehler in einem seiner Bücher zu finden, aber nach einigem Lesen war mir klar: das wird wohl nichts werden.

Und eines Tages hatte ich einen Fehler. Sogar einen inhaltlichen Fehler, nicht nur typographischen Kleinkram.

Ich habe länger gezögert, den Fehler zu melden. Der ist bestimmt schon bekannt. Ich täusche mich und blamiere mich nur damit. Und dann habe ich den Fehler gemeldet.

Und er ist grandios! Ich hatte immer vor meinem geistigen Auge, daß ich die dicken Schinken mit Argusaugen lesen und die Beweise bis ins kleinste Detail nachvollziehen und verstehen muß.

Und dann fiel es mir wie Schuppen von den Augen. An einer Stelle, von der niemand behaupten kann, er sei mit Lesen nicht so weit gekommen.

Denn in “Computer Modern Typefaces” findet sich der Fehler auf der Seite arabisch eins. Im allerersten Absatz. Gleich das allererste Wort ist falsch.

“Infinitely many…” – nein! Es sind nur endlich viele, wenn auch eine astronomische Anzahl.

Der Eintrag in den Errata steht unter “Page E1”.

Einige Zeit später kam ein Brief.

Zunächst hat Knuth einen wunderbaren Comic-Strip beigelegt, der zu den zwei Dollar irgendwas paßt wie die Faust aufs Auge:

Comic-Strip, den Donald Knuth mitgeschickt hat
Comic-Strip, den Donald Knuth mitgeschickt hat

Aber natürlich auch den Scheck!

Knuth-Scheck über $2.56
Knuth-Scheck über $2.56

Ich habe zwei Stellen mit maschinenlesbaren Informationen übermalt. Knuth machte sich irgendwann Sorgen, daß dort seine Kontonummer erkennbar sei, und in Amerika reichen diese Daten wohl, um Geld abzubuchen.

Daraufhin hörte er auf, echte Schecks zu versenden, und verschickte nur noch Fantasie-Schecks einer fiktiven „Bank von San-Serriffe“. Ich freue mich jedenfalls, noch einen echten Scheck bekommen zu haben. Dort auf der Webseite findet man mich auch, mit $1.20.

Aber warum nun $1.20? Weil ich später zwar unrecht hatte mit einer weiteren Fehlermeldung, und Knuth das aber als Verbesserungsvorschlag gewertet und mit einem kleineren Scheck belohnt hat:

Knuth-Scheck über $0.32
Knuth-Scheck über $0.32

Wunderschön illustrierte Kinderbücher

2015 schrieb DanBC in Hackernews:

2) I buy many books for my child. Amazon is pretty hopeless at recommending books to me, even though I’ve seeded it with knowledge of the books I’ve bought. So I turn to human curation: the Kate Greenaway medal focuses on excellent illustration in books for children. That list is an excellent source for books. Then one or two degrees of separation (eg, other books the illustrator has worked on, or other books the author of the winning book has written) get you hundreds of excellent books. Someone scraping this list and using affiliate links could probably make a bit of passive income.

Ich bin endlich dazu gekommen, etwas in der Art auf die Beine zu stellen: https://www.schoene-kinderbuecher.de.

Dabei habe ich mit der englischen Kate-Greenaway-Medal und der Caldecott-Medal, dem amerikanischen Gegenstück, begonnen. Leider sind viele oder gar die meisten dieser Bücher nie ins Deutsche übersetzt worden.

Ebenso habe ich Preisträgerlisten einiger deutschsprachiger Preise durchforstet. Die Evangelische Kirche hat ein oder zwei Preise auf dem Gebiet der Kinder- und Jugendbuchliteratur, das Land Nordrhein-Westfalen hat einen weiteren.

Alles habe ich von Hand gemacht, und es hat viel länger gedauert, als ich erwartet hatte: Preislisten durchsehen, die Autoren- und Illustratoreninformationen sammeln, den Inhalt erfassen, HTML und CSS schreiben. Alles ohne Deep Learning und Neuronale Netze…

Was ist dabei gelernt habe:

  • Menschen blockieren Werbung. Auch ich blockiere Werbung. Und da wundere ich mich, wieso die Amazon-Affiliate-Links nicht funktionieren. Bis ist an uBlock Origin dachte. Und dann an Privacy Badger. Und an meinen Pi-Hole.
    Ich habe das dann so gelöst, daß ich die Titelbilder heruntergeladen und selbst gehostet habe. Nach Amazons Vertragsbestimmungen darf ich höchstens 100 Bilder downloaden. Ich habe 66. Also nichts mit „hunderte Bücher“, wie DanBC schrieb.
    (Zunächst wollte ich das komplett werbefrei machen, zumal ich ohnehin kaum Einnahmen erwartete, aber all die Verleger anschreiben und um Nutzungsrechte für Titelbilder bitten? Nein danke, dann lieber die harschen Restriktionen von Amazon Partnernet, aber dafür auch Pauschalrechte.)
  • Webdesign ist eine Katastrophe. Ich habe das Projekt als Ausrede genommen, ein wenig CSS Grid oder Flexbox zu lernen, bin mit beiden eine ganze Weile gescheitert und habe dann beide kombiniert. Und am Ende mußte ich eine Sonderbehandlung für den Internet Explorer 11 einführen, denn obwohl eigentlich alles alut Dokumentation mit Vendor-Präfixen funktionieren sollte, war das Layout komplett zerschossen und alles lag übereinander. Ich hatte wenig Lust, noch einen weiteren Abend mit IE11 zu verbringen.
  • Selbst wenn es keine Katastrophe wäre, bin ich kein Designer. Ich wollte die Webseite aber etwas weniger nach dem „Hacker-News-Minimalismus-Klischee“ aussehen lassen. Es ist erstaunlich, wieviel man mit einem einfachen Boxschatten und abgerundeten Ecken erreichen kann!
  • Bezüglich “affiliate links could probably make a bit of passive income” bezweifle ich, das ich auch nur den „einen Kaffee pro Tag“-Bereich erreichen werde. Es gibt unzählige Blogs und Webseiten, die Kinderbücher vorstellen.
    Vielleicht werfe ich mal zwanzig Euro in Richtung Google- oder Facebook-Werbung, weniger, weil ich mit großen Ergebnissen rechne, und mehr, weil mich die Seite der Internet-Werbenden interessiert. Damit hatte ich bislang noch keinerlei Berührungspunkte.
  • Buchbeschreibungen sind schwer. Besonders wenn man das Buch nicht physisch vor sich liegen hat. Meine Beschreibungen sind kurz und sprühen nicht unbedingt vor Esprit, aber sie geben eine grobe Richtung an.
  • Meine Datenschutzerklärung ist streng formaljuristisch wahrscheinlich noch immer nicht gut genug, obwohl sie wenigstens so geschrieben ist, daß ein Laie sie versteht. Wenn man Affiliate-Links auf eine Webseite streut, dann verspürt man einen gewissen Druck, diese rechtlichen Dinge richtig zu machen. Und ich mag das <details>-Tag in HTML, es ermöglicht das Aufklappen des langen Texts ohne jegliches Javascript.

DanBC fand meine Seite gut und schlug vor, daß ich sie als “Show HN” an Hacker News submitte. Allerdings sind dort nur Dinge zugelassen, die man im eigentlichen Sinne ausprobieren kann, und eine normale Submission macht wohl auch wenig Sinn, da nicht-englischsprachige Submissions dort keinerlei Stand haben.

Statische Typen und Defaultargumente in C++

Quiz. Was gibt dieses Programm aus?

#include <iostream>

class Vehicle
{
public:
  virtual void FillUp(int amount = 20)
  {
      std::cout << "Filling up the vehicle with "
                << amount << " gallons of gas" << std::endl;
  };
};

class Car : public Vehicle
{
public:
  virtual void FillUp(int amount = 10)
  {
    std::cout << "Filling up the car with "
              << amount << " gallons of gas" << std::endl;
  };
};

int main(void)
{
  Vehicle *v = new Car;

  v->FillUp();

  return 0;
}

Wenn Sie gedacht haben, die Ausgabe werde „Filling up the car with 10 gallons of gas“ sein, sind Sie in guter Gesellschaft, liegen aber dennoch daneben. Die tatsächliche Ausgabe lautet „Filling up the car with 20 gallons of gas“.

Doch wie kann das sein? Das ist so, als ob eine völlig neue, erfundene Methode aufgerufen wurde, die aus Teilen von Vehicle::FillUp und Teilen von Car::FillUp zusammengestückelt worden ist.

Der C++-Standard verlangt dies aber tatsächlich. Viele C++-Programmierer wissen nicht, daß sie sich in manchen Situationen darüber klar sein müssen, daß Objekte nicht nur einen Typ besitzen, sondern zwei: einen dynamischen Typ und einen statischen Typ. Eine solche Situation ist, wenn sie Defaultargumente von in einer Klassenhierarchie überschriebenen Methoden ändern.

Treten wir einen Schritt zurück. Was ist ein statischer Typ?

int a;

a ist ein Objekt vom statischen Typ int. Das war einfach.

// [...Vehicle and Car defined as above...]

int main(void)
{
  Vehicle v;
  Car c;

  v = c;

  v.FillUp();
}

Dies ist gültiges C++. Das Car c wird „geslicet“ zu einem Vehicle und v zugewiesen. v hat den statischen Typ Vehicle.

Jeder würde erwarten, daß die Ausgabe „Filling up the vehicle with 20 gallons of gas“ lautete, und hätte damit auch recht.

Nun zum schwierigeren Teil:

// [...Vehicle and Car defined as above...]

int main(void)
{
  Vehicle *v = new Car;
  
  v->FillUp();

  return 0;
}

In diesem Beispiel, in dem v ein Zeiger ist, ist v nach wie vor vom statischen Typ Vehicle (so steht es in der Deklaration), aber vom dynamischen Typ Car (das hat die Zuweisung ergeben – die auch zur Laufzeit erfolgen kann, hier hat sie bereits statisch bei der Initialisierung stattgefunden).

Die Methodenauswahl erfolgt in C++ anhand des dynamischen Typs, daher wird Cart::FillUp ausgewählt.

Aus Performancegründen haben die C++-Designer sich aber entschieden, für die Auswahl, welche Defaultargumente zur Compilezeit an die formalen Parameter der Methode gebunden werden, den statischen Typ zugrundezulegen.

Und deshalb ist die Intuition, daß hier zwei verschiedene Methoden vermischt werden, tatsächlich richtig. Der Körper der Methode stammt von der Kindklasse, aber die Defaultargumente stammen von der Eleternklasse.

Backup für Dokuwiki mit Tarsnap

Mein Dokuwiki wird jede Nacht durch dieses Skript gebackuppt, wobei Verzeichnisse ausgeschlossen sind, die sich permanent ändern:

#!/bin/sh
/home/username/tarsnap/inst/bin/tarsnap -c \
        -f "username-$(date +%Y-%m-%d_%H-%M-%S)" \
        --exclude cache \
        --exclude index \
        --exclude locks \
        --exclude tmp \
        /var/www/virtual/username/html/data \
        /var/www/virtual/username/html/conf

Und dann von crontab aus aufrufen.

AutoHotKey

Ich verwende schon seit langem AutoHotKey, um wiederkehrende Aufgaben zu automatisieren oder Ärgernisse zu umschiffen.

Sowohl bei der Arbeit, als auch provat, wobei die Skripte sich nur in kleinen Teilen unterscheiden. Mein privates Skript sieht derzeit wie folgt aus und wird beim Windows-Start automatisch geladen.

Hauptsächlich habe ich Tastatur-Hotkeys definiert, beispielsweise um ein typographsiche Anführungszeichen im Deutschen und Englischen eingeben zu können, oder auch einen Halbgeviertstrich.

Aber auch ein wenig Windowmanagement ist dabei: ein Fenster zu zwingen, oberhalb von anderen Fenstern zu bleiben, ist oft sehr hilfreich.

Und dann sind noch reine Textersetzungen dabei. Zum Beispiel kann ich „DATUM“ eingeben und diese Zeichen werden direkt durch das aktuelle Datum ersetzt.

#NoEnv          ; Recommended for performance and compatibility
                ; with future AutoHotkey releases.
; #Warn         ; Enable warnings to assist with detecting common errors.
SendMode Input  ; Recommended for new scripts
                ; due to its superior speed and reliability.
SetWorkingDir %A_ScriptDir%  ; Ensures a consistent starting directory.

#SingleInstance force

;AltGr 3 ist öffnendes, AltGr 4 ist schließendes Anführungszeichen
<^>!1::Send ‚
<^>!2::Send ‘
<^>!3::Send „
<^>!4::Send “
<^>!5::Send “
<^>!6::Send ”
<^>!+5::Send ‘
<^>!+6::Send ’

;AltGr - ist Halbgeviertstrich
<^>!-::Send –

<^>!.::Send …

<^>!SPACE:: 

<^>!a::Send ä
<^>!o::Send ö
<^>!u::Send ü
<^>!s::Send ß
<^>!+a::Send A
<^>!+o::Send Ö
<^>!+u::Send Ü

;für Plain TeX
<^>!ä::Send \"a
<^>!ö::Send \"o
<^>!ü::Send \"u

;für Pollen
<^>!l::Send ◊

;CapsLock fungiert als weitere Ctrl-Taste
Capslock::Ctrl

<^>!t::Winset, Alwaysontop, TOGGLE, A

<^>!+Q::ExitApp

:co:ZEIT::
FormatTime, zeit, , HH:mm
zeit := zeit . " Uhr "
Send %zeit%
return

:co:DATUM::
FormatTime, datum, , yyyy-MM-dd
Send %datum% `
return

; Unicode-Zeichen
<^>!#::
InputBox,u,Unicode-Zeichen,Codepunkt (Hex),Bitte geben Sie den Codepunkt ein.,,,,,,,
if not ErrorLevel
{
u := "U+" . u
  Send {%u%}
}
return

Einstellungen für eine neue Dokuwiki-Installation

Dokuwiki ist ein sehr feines, no-nonsense Wikisystem. Es bietet viele Features, sieht okay aus und braucht keine Datenbank (was das Backup trivial macht).

Allerdings gefallen mir die Werkseinstellungen nicht sonderlich. Daher dokumentiere ich hier, was ich bei einer frischen Installation ändern möchte.

SettingValue
showuserasusername
showuserasusername
useheading1
passcryptbcrypt
relnofollowfalse
indexdelay60
mailguardnone
sitemap1
rss_typeRSS 2.0
rss_linktothe current page
rss_contentFull HTML page content
rss_mediapages
userewrite.htaccess
sepchar
Änderungen gegenüber den Werkseinstellungen

Und natürlich nicht vergessen, im Webserver die Rewrites zu konfigurieren!

Seriennummern

Motivation

Seriennummern sind herkömmlicherweise längere Zeichenketten, ursprünglich reine Ziffernketten, zuweilen aber auch alphanumerische Zeichenketten. Eine strikte Folge sukzessiv um 1 inkrementierter Nummern ist dabei meistens gar nicht erforderlich (und oft auch nicht in aller Strenge durchgehalten).

Sie kommen an verschiedenen Stellen vor, an denen einzelne Exemplare einer Fertigungsserie eindeutig gekennzeichnet werden müssen, da sie identifizierbar und unterscheidbar sein sollen.

Dies betrifft zunächst physische Produkte. Bei nicht-physischen Produkten wie Software handelt es sich bei der umgangssprachlich zuweilen auch als „Seriennummer“ bezeichneten Zeichenketten meistens um einen Lizenzkey, der anderen Zwcken dient (auf die diese Prinzipien aber weitgehend ebenso anwendbar wären).

Wo die Seriennummern lediglich automatisiert ausgelesen und verwaltet werden, ist das Zahlenformat natürlich günstig.

Für den menschlichen Benutzer sind solche Seriennummern jedoch ausgesprochen unhandlich zu verwenden. Sie sind schwer zu merken und auch ein Vertippen oder falsches Erinnern kann der Mensch in der Regel nicht direkt selbst erkennen (sondern erst eine nachgeschaltete rechnergestützte Plausibilisierung deckt Fehler auf, sofern redundante Information wie eine Prüfziffer enthalten sein sollte). Seriennummern sind auch schwer einem Kollegen mündlich zu übermitteln oder zu reproduzieren (schriftlich oder anderweitig).

Seriennummern könnten jedoch auch so gestaltet werden, daß sie diese Nachteile vermeiden oder zumindest stark verringern. Dazu kann auf natürliche Sprache zurückgegriffen werden.

Grundidee

Anstelle einer Seriennummer „736273932“ wird eine Wortfolge der Art „rot Hemd Biene“ als Seriennummer verwendet. Die Wörter der Wortfolge entstammen dabei einem festen und eindeutig festgelegten Wörterbuch.

Der Anwender des Geräts kann sich die Wortfolge bedeutend leichter merken und diese leichter reproduzieren als er dies bei einer Ziffernfolge könnte. Zudem entdeckt er geringfügige Fehler leicht („Wetteer“) und korrigiert diese selbständig.

Dabei ist ein großes Wörterbuch vorteilhaft, weil die Anzahl der Wörter als Basis der Potenzierung die Anzahl der möglichen Wortfolgen einer beschränkten Länge bestimmt.

Ausführungsvarianten

Wortlängen

Dabei ist es natürlich sinnvoll, die Wörter im Wörterbuch so zu wählen, daß sie möglichst kurz sind. Das beschleunigt das manuelle Eintippen durch den Benutzer und spart Platz beim eventuellen Gehäuseaufdruck.

Unterscheidbarkeit

Die Wörter können so gewählt werden, daß sie sich möglichst deutlich unterscheiden. So sollten „rot“ und „tot“ eher nicht beide im Wörterbuch aufgeführt sein.

Eine mögliche unerwünschte Ähnlichkeit kann sowohl in der Aussprache auftreten („malen“/„mahlen“), als auch in der Schreibweise („rot“/„tot“) oder der Grammatik („bin“/„ist“).

Bedeutungstragende Wörter

Vorteilhaft sollte auch sein, anstelle von abstrakten Konzepten („Frieden“, „eßbar“) konkrete, bedeutungstragende Wörter zu verwenden, die Gegenstände der physischen Umwelt bezeichnen.

So könnten „Vogel“ oder „Baum“ geeignet sein.

Bilder

Wenn man solche Beschreibungen konkreter Gegenstände gewählt hat, dann können diese nicht nur textuell als Wort, sondern auch als (gegebenenfalls vereinfachte) Abbildung des jeweiligen Gegenstands dargestellt werden (sowohl in Konfigurationsprogrammen als auch beim im Gehäusedruck).

Die Eingabe durch den Benutzer muß dann natürlich sinnvollerweise als beschreibendes Wort erfolgen.

Ein weiterer Vorteil könnte darin liegen, daß der Benutzer die Seriennummer nicht stumpf abschreibt, sondern von bildlicher Form in textuelle Form übertragen muß, wodurch ein Mindestmaß an intellektueller Anwesenheit und Beteiligung notwendig ist. Durch gesteigerte Aufmerksamkeit könnte er bei wichtigen Dingen (Safety) möglicherweise leichter Fehler vermeiden.

Sprachabhängigkeit und Lokalisierung

Eine sprachliche Darstellung einer Seriennumer ist natürlich zwangsläufig sprachgebunden.

Wenn der Benutzer aufgefordert ist, eine Seriennummer vom Gerät selbst zu reproduzieren, beispielsweise, indem er sie in ein Konfigurationsprogramm eintippt, um sicherzustellen, daß er das richtige Gerät konfiguriert, dann kann sich eine bildliche Darstellung wie oben beschrieben anbieten.

Denn wenn die Darstellung anhand solcher Bilder und Zeichnungen erfolgt, dann kann beispielsweise das Bild eines Baums angezeigt werden, das Konfigurationsprogramm kann jedoch „tree“, „Baum“ und „träd“ allesamt als gültige Benutzereingabe akzeptieren, oder je nach Spracheinstellung auch nur das passende Wort.

Selbstverständlich kann auch für sonstige Zwecke eine „Übersetzung“ der Wortfolge in andere Sprachen nicht nur die Benutzerfreundlichkeit verbessern, sondern auch deshalb vorteilhaft sein, weil die Muttersprache stets zuverlässiger beherrscht wird als Fremdsprachen.

Klassenbildung

Auch kann eine Kategorisierung oder Klassenbildung der Geräte ausgedrückt werden, indem eigene Teilwörterbücher pro Klasse verwendet werden. So könnten Safety-Geräte beispielsweise stets mit einem Tier anfangen, Nicht-Safety-Geräte jedoch mit einer Pflanze.

Positionale Einschränkung

Die Wörter des Wörterbuchs können mit Einschränkungen bezüglich ihres Auftretens in der Wortfolge annotiert sein. So könnte festgelegt werden, daß die Wortfolgen stets von der Form „Adjektiv Substantiv“ sind. Oder daß bestimmte Teile des Wörterbuchs nur am Anfang, andere nur am Ende stehen.

Grammatikalität

Neben den hier aufgeführten Beispielen sind auch weitere denkbar. Entscheidend ist, möglichst nahe an einen grammatischen Satz heranzukommen.

Satzstruktur

Das Merken solcher Wortfolgen wird bedeutend erleichtert, wenn die Wortfolge einen Satz bildet und sich an die allgemeinen syntaktischen Regeln der Sprache hält. So könnten im Deutschen „Subjekt Verb“ oder „Subjekt Verb Objekt“ als Regeln beachtet werden.

Statt „rot Hemd Biene“ im Beispiel weiter oben wäre also „Biene trägt rotes Hemd“ oder ähnliches besser.

Kasuskongruenz

Auch weitere grammatikalische Regeln können beachtet werden. „rot Hemd“ ist aufgrund fehlender Kasuskongruenz bei weitem ungünstiger als „rotes Hemd“. Grammatische Sätze sind besser zu merken als ungrammatische. Denn letztere laufen stets Gefahr, vom Menschen unbewußt korrigiert zu werden.

Dabei können „rote“ und „rotes“ als zwei unterschiedliche Wörter betrachtet werden, die sich sinnvollerweise (der Unterscheidung ähnlicher Wörter wegen) jedoch in zueinander disjunkten Teilwörterbüchern befinden (nämlich jeweils mit ihren zugehörigen Substantiven).

Oder man betrachtet beide Wörter als morphologische Varianten des Wortstamms „rot“, der zur Ein- und Ausgabe passend dekliniert wird, aber logisch nur einen einzigen Eintrag im Wörterbuch belegt.

Kodierung für Benutzerzwecke

Die Seriennummer muß nicht zwingend umgestellt werden, man kann auch eine konventionelle Seriennummer durch eine bijektive Abbildung auf eine Wortfolge abbilden. Der Anwender sieht in seinen Konfigurationstools und Protokollen dann stets die Wortfolge, intern maßgeblich bleibt jedoch die konventionelle Seriennummer.

Die Abbildung muß nicht zwingend bijektiv sein. Injektivität reicht aus und kann vorteilhaft sein: so beispielsweise im Beispiel der Sprachunabhängigkeit bildlicher Darstellungen.

Kompatibilität mit bestehendem Umfeld

Bestehende DV-Systeme oder organisatorische Prozesse, die Ziffernfolgen als Seriennummern erwarten, können befriedigt werden, indem eine solche Abbildung von Wortfolgen auf Ziffernfolgen (oder umgekehrt) angewendet wird.

Am einfachsten wäre wohl, Zifferngruppen auf jeweils ein Wort abzubilden, aber auch andere Schemata sind denkbar.

Welche Repräsentation „die echte“ ist, muß zumindest solange nicht diskutiert werden, wie die genutzte Abbildung bijektiv ist, weil dann kein Unterschied feststellbar ist.

Linguistischer Hintergrund

Auch wenn Chomskys Vorstellung einer Universalgrammatik und eines ‘language acquisition device’ ausgesprochen strittig sind, so dürfte doch offensichtlich sein, daß der Mensch sich darauf spezialisiert hat, Sprachäußerungen zu verarbeiten, sich zu merken und zu reproduzieren. Wesentliche Teile der „Ausbildung“ in den ersten Lebensjahren sind darauf ausgerichtet.

Auch daß der Umgang mit der eigenen Muttersprache leichter fällt als mit einer Fremdsprache dürfte klar sein.

Interessanterweise gibt es auch physiologische Evidenz für diese groben Regeln.

Ich kann dafür leider keine zitierfähige Quelle angeben, das entstammt einer Äußerung meines Phonologieprofessors im Studium.

So kann das Gehirn auf Sprachlaute (beliebiger Sprachen) schneller reagieren als auf andere Schallquellen und Geräusche.

Eine Studie, an der ich als Versuchsperson teilgenommen habe: Silvia Lipski, Neurosci Lett. 2007 Mar 19, “A Magnetoencephalographic study on auditory processing of native and nonnative fricative contrasts in Polish and German listeners.”

Auch die Muttersprache wird favorisiert: Sprachlaute aus der eigenen Muttersprache werden in anderen Hirnarealen verarbeitet als Sprachlaute anderer Sprachen.

Bezüglich der Unterscheidbarkeit von Wörtern muß besonders auf Homonyme geachtet werden. Homophone („Wende“/„Wände“) sind dabei ziemlich problematisch, besonders bei verbaler Übermittlung (beispielsweise beim Zurufen der Seriennummer an einen Kollegen). Homographe („modern“, „übersetzen“) sind dagegen eher unschädlich.

Prior art

Das Grundprinzip, Zeichenketten in leichter merkbare Darstellungen zu überführen, ist natürlich schon alt. Einige Beispiele fallen mir dazu ein, sind jedoch jeweils anders gelagert.

Paßwortgeneratoren

Paßwortgeneratoren wie apg bieten oft eine Option, aussprechbare Paßwörter zu erzeugen. Dabei werden jedoch keine echten Wörter generiert, sondern lediglich Silben, die den phonotaktischen Regeln westlicher Sprachen (primär natürlich Englisch) in großen und ganzen entsprechen.

Diceware

Diceware ist eine Wortliste (ursprünglich Englisch, aber auch auf andere Sprachen „portiert“), durch die sichere Paßphrasen ausgewählt werden können. Der Benutzer würfelt mit fünf Würfeln und liest die zum gewürfelten Ergebnis passende Paßphrase ab, indem jedes Würfelergebnis (also eine Ziffernfolge mit fünf Ziffer von 1 bis 6) auf ein kurzes Wort abgebildet wird.

Das Diceware-Wörterbuch ist recht umfangreich (7776 Wörter), allerdings sind diese Wörter oftmals eher ungebräuchlich, Abkürzungen oder gar sinnlose Zeichenketten (die aber einigermaßen gut zu merken sind).

S/Key

S/Key oder „Lamport’s Scheme“ ist ein Verfahren, sich mittels Einmalpaßwörtern an einem Rechner zu authentisieren. Der Benutzer muß dabei eine 64-Bit-Zahl eingeben. Aus Gründen der Benutzerfreundlichkeit wird ihm jedoch stattdessen eine Paßphrase abverlangt, die mittels eines Wörterbuchs mit 2048 kurzen Wörtern aus dieser Zahl gebildet wurde.

Linguistische Beweggründe zur Auswahl der Wörter sind dabei zumindest nicht öffentlich dokumentiert, auch sind solche nicht direkt ersichtlich.

PGPfone

PGPfone war ein kommerzielles Programm zum verschlüsselten Telefonieren. Dabei mußten die Gesprächspartner den jeweiligen Fingerabdruck ihrer öffentlichen Schlüssel austauschen.

Da dies eben über ein Telefonat funktionieren können sollte, wurde der Fingerabdruck auf eine Phrase abgebildet, die dann gesprochen werden konnte.

Dabei wurden recht ausführliche Betrachtungen phonetischer und phonologischer Natur angestellt, die im Benutzerhandbuch kurz, in zwei weiteren Papers jedoch ausführlicher beschrieben sind.

Commitment und Konsistenz

Die Wahrscheinlichkeit, daß Menschen einer Bitte nachkommen, ist höher, wenn sie zuvor bereits einer unwesentlichen Bitte nachgekommen sind. Dies gilt sogar dann, wenn die beiden Bitten nur entfernt miteinander zu tun haben. Wenn Sie also jemanden dazu bringen möchten, etwas zu tun, lohnt es sich, mit einer kleinen Bitte anzufangen, die Ihnen vermutlich nicht abgeschlagen werden wird.

Eine sehr interessante Anekdote handelt von amerikanischen Kriegsgefangenen in einem chinesischen Lager in Korea. Die Chinesen hileten regelmäßige Essay-Schreibwettbewerbe für die amerikanischen Gefangenen ab. Und sie waren clever genug, ab und an auch Pro-Amerika-Essays zu prämieren, denn auf diese Art hatten die Gefangenen nicht das Gefühl, ihr Land verraten zu müssen. Sie schrieben also positiv über ihre Heimat, aber streuten hier und da ein paar warme Worte fürs chinesische System ein, um ihre Chance auf den Preis zu erhöhen. Damit ebneten die Chinesen den Weg für substantiellere schriftliche Zugeständnisse der Gefangenen später.

Ein weiterer Aspekt war, daß die Preis klein waren, hier ein Stück Obst, da ein paar Zigaretten. Die Autoren mußten zu dem stehen, was sie schrieben, niemand konnte ernsthaft glauben, sie hätten es nur für den großen Preis getan.

Wenn Menschen zu dem stehen, was sie selbst geschrieben haben, identifizieren sie sich damit und es fällt ihnen schwer, ihren Standpunkt später zu ändern. Das kann auch in weniger dramatischen Umständen praktisch sein: ein Verkäufer, der den Käufer den Vertrag ausfüllen läßt, sieht später weniger Stornierungen. Menschen fühlen sich an einen Vertrag mehr gebunden, wenn sie einen Teil davon eigenhändig geschrieben haben.

Dasselbe gilt für Empfehlungen, die viele Unternehmen prominent in der Werbung einsetzen. Zunächst mag es seltsam erscheinen, daß gewöhnliche Kunden (keine Prominenten) relevante Belohnungen für solche Empfehlungen erhalten, doch diese Empfehlungen zementieren die Produktwahrnehmung des Kunden und seine Haltung zum Produkt, und haben dadurch über reine Werbung hinaus eine Wirkung.

Es gibt Vorschläge, Jurys im amerikanischen Rechtssystem auf geheime, schriftliche Abstimmungen zu beschränken, weil sich auf diese Art kein Geschworener an sein vorheriges Abstimmungsverhalten gebunden fühlt. Seine Meinung zu ändern, fällt leichter, wenn die Meinungsänderung nicht offen sichtbar ist. Auf diese Art könnten einige „hung juries“ und damit geplatzte Prozesse vermieden werden.

Kann man diesem psychologischen Bedürfnis nach Konsistenz widerstehen? Natürlich fällt dies leichter, wenn man sich dieses Effekts bewußt ist. Dennoch bleibt es schwierig, das Streben nach Konsistenz kann nur durch den rationalen Geist überwunden werden, man kann ihn nicht einfach so ausschalten.

Sollte man dem Bedürfnis nach Konsistenz widerstehen? In den meisten Fällen nein. Es ist eine positive Eigenschaft, in den meisten Fällen zu seinen Überzeugungen zu stehen (ganz gleich, was die populäre “weak convictions, loosely held”-Strategie sagt). Es gibt grob zwei Kategorien in denen man besser nicht konsistent bleibt. Erstens, wenn das Bauchgefühl einem sagt, daß man in der Falle sitzt. Man möchte etwas eigentlich nicht tun, aber spürt eine Verpflichtung. Und zweitens, wenn man in Anbetracht dessen, was man jetzt weiß, nicht noch einmal dieselbe Entscheidung treffen würde. In diesen Fällen ist es wohl besser, die Konsistenz zu durchbrechen.