Dies ist die Heimat der Java User Group Nürnberg.


Sonntag, 13. April 2008

Hex and the City: Ideen und Denkanstöße

Die Zeit schreitet voran, und mit ihr die Erfindungen, Patente und allgemein die neuen Verfahren, die sich uns offenbaren. Menschenhände erschaffen, sei es durch Formen von Metallen, Holz, Bedienen von Maschinen und Werkzeugen, oder wie in unserer Branche Tippen am Computer.


Unter prozentual betrachtet wahrscheinlich wenig wirklich wichtigen Ergebnissen gibt es eine Vielzahl an Ideen, die wieder ins Nichts verschwinden. Teils obwohl sie lange Zeit als Non-Plus-Ultra galten. Schließlich ist die Erde auch keine Scheibe mehr1, obwohl die Menschen damit prima klargekommen sind. Dem grandiosen Philosophen und Wissenschaftler De Selby2 zufolge hat die Erde eine Wurstform, und da man alles was man nach Osten beschreitet auch durch einen Weg nach Westen erreichen kann, und gleiches für Nord und Süd gilt, hatte er die Ansicht, dass es eigentlich nur 2 Richtungen gibt – längst und quer der Wurst. Sein Trugschluss lag dabei wohl in der Tatsache, dass er die Begründung rekursiv anwendete und damit festhielt, dass es nur eine einzige Richtung gibt. Letztlich veröffentlichte er eine Theorie, dass man um von A nach B zu kommen ja lediglich alle Orte dazwischen besucht haben muss und schloss sich zum Beweis einen Tag mit 18 Postkarten ein, um am Ende des Tages wieder aufzutauchen und zu berichten, dass er gerade von seiner Reise wieder zurück sei. Das alles ist natürlich nichts im Vergleich zu seiner bahnbrechenden Feststellung, dass der Wechsel von Tag und Nacht Illusion ist, die auf schwarzen Luftpartikeln beruht3 oder dem Versuch ganzen Ortschaften mit großen Pumpen die Schwerkraft zu nehmen.


Worauf will ich hinaus? Darauf, dass auch schlechte Ideen etwas Gutes bewirken können. De Selbys zwei größten Leistungen sind sicherlich, seinen Kritikern genug Stoff geliefert zu haben um sie zu ernähren, und jedermann zu beweisen, dass man nicht der größte Tor auf Erden ist4.


Werfen wir gemeinsam einen Blick auf die aktuellen bahnbrechenden Errungenschaften, die unser Leben in der Informatik vielleicht bald entscheidend beeinflussen.


Virtualitäten: Hardware mal anders

Mit virtuellen Maschinen kommen wir jetzt bereits seit Jahren sehr gut klar. Da ist die VM von Java, die von .NET, zahlreiche andere. Auch ganze Betriebssysteme werden virtualisiert und plötzlich laufen zig Server auf eigentlich nur einem richtigen Rechner. Da kann man sich heute schonmal gern sagen, eigentlich mag ich das Betriebssystem „TUNIX“5 nicht, aber in einer VM lasse ich es schonmal laufen, wenn ich bestimmte Programme davon brauche. Wer so denkt, der kann sich auf die kommenden Jahre freuen. Denn bereits heute entstandene Verfahren erlauben Virtualisierung nicht mehr nur im Softwarebereich. Blicken wir zurück, bereits vor sehr langer Zeit gab es einmal die sogenannten Software-Hauptspeicherverdoppler. Wer die Programme während des Bootens schön in seine autoexec – oder sonst wo – eingebunden hat, der wurde nach anschließendem Aufrufen von „mem“ von den detaillierten Speicherangaben davon überzeugt, dass er weit mehr Hauptspeicher besitzt, als ihm an Speicherchips eigentlich zur Verfügung standen6. Das ist im Vergleich zu heute mehr als ein alter Fisch. Klar gibt es heute auch Möglichkeiten mit virtuellem Speicher zu arbeiten (Vergrößerung des Hauptspeichers über Komprimieren des Inhaltes – siehe dazu auch unten die Angaben zum neuen Komprimierungsverfahren oder die nächste Generation an CPUs). Aber wir können noch weit mehr. Da gibt es virtuelle Festplatten. Ein Laufwerk wird simuliert, und wir lesen und schreiben Dateien, als hätte wir einen echten Datenträger. Dabei landet eigentlich alles im Hauptspeicher – gekoppelt mit den Komprimierungsverfahren und dem Hauptspeichervergrößerer eine schier endlose Ressource – warum überhaupt noch Festplatten kaufen7? Virtuelle Soundkarten kommen mehr und mehr in Mode. Warum noch Hardware einbauen, wenn ich die paar Töne ja auch per Software modulieren kann und dann an Lautsprecher die per USB angeschlossen werde rausjage. Letztlich im Konzert des Original-„Herr der Ringe“-Soundtracks – übrigens sehr zu empfehlen, egal was ich im Rest des Satzes folgen lasse – dachte ich noch, warum müssen so viele Musiker ihre Zeit opfern, wenn ich das mit meinem Computer einfach so abspielen kann. Weiterer Vorteil: man muss sich nicht neue Hardware kaufen, wenn die Industrie sagt, der nächste Standard hat zwei Lautsprecher mehr die von oben und unten kommen. Dann wird halt einfach eine neue Version der Soundkarten-Emulation geladen. Virtuelle Drucker sind auch eine praktische Errungenschaft, sie mindern den Papierverbrauch. Und mal ehrlich: wer von uns will sich schon ständig die Mühe machen mehr Bäume zu pflanzen, bloß weil wir mehr Papier brauchen. Vielleicht sollte man sich das mit den zig Durchschlägen bei Behörden auch noch mal überlegen und die Kopien auf virtuellen Druckern ausdrucken. Was sind denn dann virtuelle Drucker, stellt sich natürlich die berechtigte Frage. Ganz einfach: wer hat nicht schonmal ein Dokument als PDF gedruckt. Schwupps, kein echter Drucker, kein Papier, bloß eine PDF-Datei als Ergebnis. Dann nimmt man den Monitor unter den Arm (der eigentlich ja auch nichts weiter als ein ausgereifter virtueller Drucker ist), läuft in die Buchhaltung und zeigt seine Reisekostenabrechnung. Wenn die Papier brauchen, können sie sich ja eine Kopie machen. Ganz im Trend dann natürlich mit Monitor auf den Scanner legen und ebenfalls virtuellem Drucker zur Ausgabe.


Komprimieren: aus Groß mach Klein

Ein in den neunziger Jahren als Idee entstandenes Komprimierungsverfahren könnte sich bald als wertvolle Alternative zu Zip&Co. etablieren. Es basiert auf Wahrscheinlichkeiten. Wer kennt sie nicht (von den Programmierbegeisterten unter uns), die Zufallszahlengeneratoren. Zahlen, die zufällig sein sollen, werden in der Regel am Computer nur scheinbar zufällig erzeugt. Dazu werden mathematische Folgen benutzt, die auf einer zuvor gewählten Zahl eine Nachfolgerzahl berechnen. Diese Zahlen wirken dann wie zufällig bestimmt. Damit man z.B. bei Computerspielen dann jedesmal ein anderes Verhalten hat, wird der Zufallszahlengenerator beim Programmstart immer mit einer anderen ersten Zahl initialisiert, meist der aktuellen Systemzeit8. Wie kann man damit nun komprimieren? Nun, jede Datei, jede Form von Daten auf einem Computer kann man als eine (teils lange) Liste von Zahlen betrachten – ja, auch Buchstaben können wir einer Zahl zuordnen^^. Die Idee, die bereits vor fast 20 Jahren geboren wurde, beruht darauf, eine Zufallszahlenkette zu finden, die genau der gewünschten Liste an Zahlen entspricht. Dazu braucht man drei Zahlen: die erste Zahl zum Initialisieren eines Zufallsgenerator, der zweiten Zahl, die sagt, bis zu welcher Stelle man in der Zufallszahlenkette vorlaufen muss, um den Anfang der gewünschten Liste zu finden, und der letzten Zahl, die sagt, wie lang die gewünschten Daten jetzt sind. Um eine beliebig lange Datei zu beschreiben, kann ich also auf den kompletten Dateninhalt verzichten und brauche nur 3 Zahlen. Wie kann es jemals ein besseres Verfahren zum Platzsparen geben? In Zukunft werden wir also folglich nur noch Dateien mit folgenden Inhalten sehen (dann natürlich abstrahiert): Nehme Zufallsgenerator X, initialisiere ihn mit der Zahl Y, berechne k Zufallszahlen, die man getrost ignorieren kann und lese dann n Zufallszahlen ein, die den echten Daten entsprechen. Klasse, nicht? Warum die Idee nicht bereits damals Fuß fasste, lag an den fehlenden Erfahrungen in der Stochastik, wie man zu einer Liste an Daten die entsprechende Zufallskette finden kann. Aber neueste Ergebnisse von statistischen Untersuchen bei dem Aufsteigen der Perlen im Bier und dem Zerfall von Schaum (ersteres soll auch mit Mineralwasser funktionieren), brachten auch dort eine Lösung. Wir können also gespannt sein, wann wir statt einer Zip-Datei die erste Datei mit der Endung „.random“ im Internet herunterladen. Übrigens, wer auch immer an eigenen Komprimierungsverfahren arbeitet: wichtig ist das Komprimieren als solches nicht, ich kann sogar manuell jede Datei absolut platzsparend komprimieren indem ich sie lösche. Stattdessen ist das Dekomprimieren viel wichtiger. Das klappt nämlich je nach Verfahren nicht immer.


Neue CPUs

Aber mein persönlicher Highlight, dessen was uns vielleicht künftige Informatikmessen zeigen werden, sind die neuesten CPUs mit integrierter künstlicher Intelligenz und sieben-wertiger-Logik statt der bekannteren zweiwertigen Booleschen Logik. Wobei ich vorgreife. Denn die CPU wurden erst entwickelt, nachdem erfahrene Forscher im Bereich der Bits etwas augenfällig wurde. Es gibt mehr Einsen als Nullen. Ich betone erneut: es wurde gemessen und statistisch ausgewertet9, dass die 1 öfter vorkommt, als die 0. Die nahe liegende Lösung: wir ersetzen jede 0 im Computer durch zwei Einsen. Dies löst die Null endgültig ab. Das sind zwar augenscheinlich zuerst mehr Zahlen, aber Daten die nur aus Einsen bestehen, lassen sich weit besser komprimieren, als Daten aus Nullen und Einsen. Wir können uns sogar das Komprimierungsverfahren mit den Zufallsketten sparen. Es reicht zu sagen, die 1 brauche ich x mal. Wobei x wieder Binär, bzw. Unär angegeben wird. Die Statistik hat es uns nahe gelegt, und somit kommen wir zu einer neuen Welt der Computer. Allerdings bleibt ein kleiner Haken: der Computer muss erkennen, wann zwei Einsen zwei Einsen darstellen oder eine Null. Daher entwickelte man die neuen CPUs mit künstlicher Intelligenz. Sie sollen kontextorientiert entscheiden, wie sie einen Strom aus Einsen zu interpretieren haben. Das machen sie, indem sie intern mit sieben-wertiger-Logik nachdenken. Statt der momentan vorherrschenden Logik (ja, nein) sowie der Erweiterung aus der Fuzzy-Logik (vielleicht), beschäftigt sich die sieben-fach-Logik mit vier weiteren möglichen Zuständen (jaja, nein mit Bedeutung ja, passt schon und ist eigentlich egal) und kann damit nahezu jede Kette aus Einsen richtig interpretieren, und das sogar in Echtzeit.


Ein kleiner Denkanstoß

In meinem neuesten Roman (siehe auch http://www.akademia-arkania.de) habe ich mit der Halle des Wissens einen Raum erschaffen, in dem wichtige Lehrsätze der Universität auf ewig als Hintergrundecho durch Magie in dem Raum verhallen, so dass die Schüler allein durch Anwesenheit in dem Saal indirekt lernen. Eine Halle also, die alles, was in ihr gesprochen wurde, für immer archiviert. Erst im Nachhinein ist mir aufgefallen, dass so etwas auch in unserer Welt existiert: man nennt es Internet.


Was haben wir gelernt?

Nicht alles glauben, keine Idee direkt abtun, schlechte Ideen als Denkanstöße für eventuell folgende grandiosere zu nutzen. Und viele Dinge, die wir aus Märchen kennen und als Zauber abtun, existieren bereits. Nichts was der menschliche Verstand schafft, sollte für den Papierkorb bestimmt sein – manches lässt sich immerhin zum Schmunzeln verwenden.



Literatur


http://www.scheibenwelt.de

„Der dritte Polizist“ von Flann O'Brien

http://en.wikipedia.org/wiki/De_Selby

http://de.wikipedia.org/wiki/Virtuelle_Maschine

http://de.wikipedia.org/wiki/Datenkompression

http://de.wikipedia.org/wiki/Fuzzy-Logik

http://de.wikipedia.org/wiki/Unärsystem

1Außer wenn man die Scheibenwelt von Terry Pratchett betrachtet – ich kann seine Bücher nie oft genug erwähnen

2Um De Selby zu verstehen muss man wohl die Romane des Iren Flann O'Brien lesen, der bis 1966 gelebt hat und nicht mehr mitbekam, dass er erfolgreich war – ich danke ihm hiermit für die vielen Lacher, die er mit beschert hat.

3Er wurde damals wegen Wasserverschwendung und Belästigung angeklagt, als er vom Dach seines Hause aus mit einem Wasserschlauch versuchte die Luftpartikel rein zu waschen und Passanten dabei benässte...

4Zu dem Thema kann ich nur „Der dritte Polizist“ von Flann O'Brien empfehlen – und beim Lesen auf alles vorbereitet zu sein.

5Name bereits vom Autor, nicht von der Redaktion verfremdet, jedes beliebige System kann gemeint sein *

* wirklich, jedes beliebige

6Wer behauptet, diese Programme damals wären Hoaxe, den sollte man einfach gar nicht ignorieren

7Mehr Platz hat nur /dev/null zu bieten**

** ein bewährter Pfad um Backups zu sichern – von zurück einspielen hat niemand was gesagt

8Wer es noch sicherer braucht: es gibt auch Verfahren die auf radioaktiven Zerfällen beruhen, dafür ist natürlich ein bisschen Hardware erforderlich, aber wer ein wirklich sicheres Gewinnspiel braucht sollte darüber nachdenken

9In meiner Studienzeit wollte ich mal auf eine Statistiker-Party. Die Veranstalter waren lange Zeit der Meinung, dass sie niemanden mehr hineinlassen konnten, weil die Räume schon voll seien. Nach energischen Forderungen der Menge ergab eine Überprüfung, dass jeder Partygast, der bereits drin war einen Umkreis von 10 Metern für sich allein hatte. Das kommt davon, wenn man Statistiker zählen lässt: „Als wir öffneten kamen direkt 25 Leute in den ersten 10 Sekunden rein, jetzt haben wir zwei Stunden später, wir müssen mehr als voll sein“.

Keine Kommentare: