UOXOUOX – Ein erster Entwurf

Sun, 03 Aug 2008 23:55:30 +0000

Das Web 2.0 hat einen großen Teil seines Erfolges zweifelsohne dem XML-Grundgedanken zu verdanken. Problematisch dabei ist, dass XML zwar eine relativ “reine” Struktur besitzt, aber dennoch auf das Encoding, in dem es geschrieben wurde, angewiesen ist. Dies kann den Datenaustausch erheblich erschweren. Der Austausch von XML-Datensätzen in verschiedenen Encodings setzt die Kenntnis des jeweils anderen Encodings voraus, und eine Konversion vor der Verarbeitung.

Eine theoretische Lösung für dieses Problem wäre es, sich auf ein bestehendes Encoding zu einigen, und nur dieses zu verwenden. In der Praxis ist dies nicht möglich, aus zwei Gründen. Erstens würde eine Koordination verschiedener Unternehmen und Forschungseinrichtungen voraussetzen, und möglicherweise eine zentrale Stelle, die Selbige koordiniert, und das wäre dann ja Kommunismus. Nein, linke Gleichmacherei nützt niemandem – nicht in der Politik, noch in der Entwicklung moderner Webtechnologien. Zweitens sind die momentanen Encoding-Standards nicht flexibel genug, und nicht hinreichend erweiterbar, es ist z.B. denkbar, dass durch zusätzliche neu entdeckte Hochkulturen, neue politische Gruppierungen mit neuen Erkennungssymbolen, und einige neue Species aus StarTrek, die alle berücksichtigt werden müssen, die Anzahl der momentan verfügbaren Zeichencodes nicht mehr ausreicht.

Nein, es muss ein Umdenken stattfinden. Die bisherige Entwicklung zeigt eindeutig die Tendenz weg von der “Sequence of Octets” – also der Sequenz der Bytes (mit jeweils Acht Bit) – hin zu höheren Strukturen. Die Bytefolgen werden immer mehr nur ein Mittel zur Übertragung von S-Ausdrücken. Man sollte sich also – gerade im Hinblich auf die größer werdenden Bandbreiten – endlich davon verabschieden, dies mit Schriftzeichen anders zu machen, und stattdessen endlich auch hierfür etwas Ähnliches benutzen, und da XML bereits sehr weit entwickelt ist, bietet sich hier wohl XML an.

Diese Überlegungen führen mich zur Idee von UOX – Unicode over XML. Ein erweiterbarer XML-Substandard zur Übertragung von Zeichenketten. Er profitiert von allen Vorteilen, die XML mit sich bringt, z.B. Transformationen mittels XSLT und DOM-Unterstützenden Sprachen, Erweiterbarkeit, z.B. für die Einbettung externer Objekte, etc.

Eine DTD zu verfassen, ist wohl noch verfrüht, insbesondere, da DTDs ohnehin bald veraltet sein werden, und wohl durch XML Schema oder RelaxNG verdrängt werden. Hier seien also nur ein paar Grundzüge erklärt.

Die Base-Node ist ein <charsequence>-Tag. Darin befinden sich <char>-Tags. Diese wiederum enthalten einen <type>-Tag und einen <data>-Tag.

<type> gibt dabei an, auf welche Weise ein Zeichen angegeben wird, beispiele wären Codes wie

<char> <type> <Binary external=”Unicode” /> </type> <data> 01001010 <data> </char>

Oder

<char> <type> <Verbose language=”German” /> </type> <data> Der Umlaut A </data> </char>

Freilich bleibt hier das Problem bestehen, dass UOX selbst wiederum auf einem Encoding fußen muss. Dieses Problem kann man lösen, indem man UOX selbst in UOX encoded – man kommt zu UOXOUOX, Unicode over XML over Unicode over XML. Obiges Beispiel könnte dann zum Beispiel ungefähr so aussehen:

<char> <type> <verbose language=”English” /> </type> <data> less than </data> </char> <char> <type> <direct /> </type> <data> c </data> </char><char> <type> <direct /> </type> <data> h </data> </char> <char> <type> <direct /> </type> <data> a </data> </char> <char> <type> <direct /> </type> <data> r </data> </char> <char> <type> <verbose language=”English” /> </type> <data> greater than </data> </char> <char> <type> <verbose language=”English” /> </type> <data> less than </data> </char> <char> <type> <direct /> </type> <data> t </data> </char> <char> <type> <direct /> </type> <data> y </data> </char> <char> <type> <direct /> </type> <data> p </data> </char> <char> <type> <direct /> </type> <data> e </data> </char> <char> <type> <verbose language=”English” /> </type> <data> greater than </data> </char> <char> <type> <verbose language=”English” /> </type> <data> less than </data> </char> <char> <type> <direct /> </type> <data> v </data> </char><char> <type> <direct /> </type> <data> e </data> </char><char> <type> <direct /> </type> <data> r </data> </char><char> <type> <direct /> </type> <data> b </data> </char><char> <type> <direct /> </type> <data> o </data> </char><char> <type> <direct /> </type> <data> s </data> </char><char> <type> <direct /> </type> <data> e </data> </char> <char> <type> <verbose language=”German” /> </type> <data> Leerzeichen </data> </char> <char> <type> <direct /> </type> <data> l </data> </char><char> <type> <direct /> </type> <data> a </data> </char><char> <type> <direct /> </type> <data> n </data> </char><char> <type> <direct /> </type> <data> g </data> </char><char> <type> <direct /> </type> <data> u </data> </char><char> <type> <direct /> </type> <data> a </data> </char><char> <type> <direct /> </type> <data> g </data> </char><char> <type> <direct /> </type> <data> e </data> </char> <char> <type> <verbose language=”English” /> </type> <data> equals </data> </char> <char> <type> <verbose language=”German” /> </type> <data> Gänsefüßchen </data> </char> <char> <type> <direct /> </type> <data> G </data> </char><char> <type> <direct /> </type> <data> e </data> </char><char> <type> <direct /> </type> <data> r </data> </char><char> <type> <direct /> </type> <data> m </data> </char><char> <type> <direct /> </type> <data> a </data> </char><char> <type> <direct /> </type> <data> n </data> </char>  <char> <type> <verbose language=”German” /> </type> <data> Gänsefüßchen </data> </char> <char> <type> <verbose language=”English” /> </type> <data> slash </data> </char> <char> <type> <verbose language=”English” /> </type> <data> greater than </data> </char> <char> <type> <verbose language=”English” /> </type> <data> greater than </data> </char><char> <type> <verbose language=”English” /> </type> <data> less than </data> </char> <char> <type> <direct /> </type> <data> t </data> </char> <char> <type> <verbose language=”German” /> </type> <data> Schrägstrich </data> </char> <char> <type> <direct /> </type> <data> y </data> </char> <char> <type> <direct /> </type> <data> p </data> </char> <char> <type> <direct /> </type> <data> e </data> </char> <char> <type> <verbose language=”English” /> </type> <data> greater than </data> </char>#@+*Segmentation Fault

Zweifelsohne ein weiterer wichtiger Schritt, um uns die Zukunft des Internets näher zu bringen.


Ein Artikel, für den mir kein Titel einfällt

Sun, 03 Aug 2008 00:09:37 +0000

Holdrio Allerseits.

Gerade eben entdeckte ich eine tolle Funktionalität von WordPress, nämlich eine seltsame Anzeige, die mir sagte, wo mein Blog überall verlinkt ist – oder zumindest ein Subset davon, dessen genauen Definitionsbereich ich nicht so ganz erschließen kann, denn einige Links, selbst in Blogs von wordpress.com, waren nicht aufgeführt.

Wie dem auch sei. Freylich kann ich es mir nicht verkneyfen, mir anzusehen, was irgendwer über irgendwas von dem was ich irgendwann geschrieben hat schreibt. Nunja, wer es will, möge es selber lesen. Eigentlich schade. Freilich habe ich mit Satire über meine Aussagen gerechnet, ich hatte auf allerdings auf irgendwen gehofft, dessen Satire aus einem Verständnis der Materie und einer anderen Überzeugung diesbezüglich mit den eventuellen üblichen, oder auch unüblichen Sticheleien, meinetwegen sogar Oldtimern wie die “Wälder aus Klammern”, die man sonst in diesem Zusammenhang hört, resultiert. Stattdessen gerate ich ausgerechnet an eine Person, die es scheinbar witzig findet, dass sie eine meiner Aussagen nicht versteht, und ihre Satire darauf aufbaut, und mir in kleinkapitalistischer Manier rät, doch lieber zu konsumieren als zu produzieren (i.e. lieber Spielen als ein Spiel programmieren). Naja, Kinder und Narren sagen die Wahrheit.

Sehr schade das. Tja, man kann sich die Kommentatoren halt nicht aussuchen. Oder um es mit den Worten von Evelyn Beatrice Hall zu sagen: “Ich verachte Ihre Meinung, aber ich gäbe mein Leben dafür, dass Sie sie sagen dürfen.” – naja, gut, vielleicht sehe ich das in diesem Fall etwas weniger extrem.

Allerdings werde ich mir, um mich an das Paradigma zu halten, über nichts schlecht zu reden, nur weil ich es nicht verstehe, Kommentare über den sonstigen Humor auf der genannten Internetseite sparen.

Stattdessen hier ein paar meiner lieblings-xkcd-comics

(Quelle jeweils http://xkcd.com/ – bitte deren Lizenzbedingungen beachten.)

Find ich schön, da es mich an langweilige Unterrichtsstunden erinnert, in denen ein gebogener Tisch ebenfalls gerne mal zum Musikinstrument wird.

Find ich irgendwie eine interessante Idee – ich frage mich, ob man es wirklich trainieren kann, in irgendeiner Weise während des Träumens mit der “Außenwelt” zu kommunizieren. Soweit ich weiß kann man sich das Hinterfragen “Träume ich gerade?” antrainieren, und das wird Leuten geraten, die oft Albträume haben – aber da hab ich keine Zuverlässige Quelle, das hab ich nur irgendwo mal aufgeschnappt. Wäre jedenfalls interessant.

Und jetzt mein bisheriger Lieblings-XKCD-Comic:

(Ja ich gebe es zu, ich habe den Witz geklaut…)


Follow

Bekomme jeden neuen Artikel in deinen Posteingang.