Semantic search

Jump to navigation Jump to search

Visa haben ungleich Visa brauchen

Als ich vor ein paar Wochen in Dortmund war, um mein Visum für Großbritannien zu beantragen, hatte ich ja eines für 5 Jahre beantragt und eines für 2 bekommen. Da habe ich schon gehofft, dass es das letzte Visum für Großbritannien sei, dass ich beantrage, und dass bis zum Ablauf desselben Kroatien Teil der Europäischen Union sein werde.

Mit einem Punkt hatte ich schon mal Recht -- Großbritannien schafft mit Wirkung zum 22. März die Visumspflicht für Kroaten ab. Das mein schönes Visum bis 2008 Gültigkeit hat ist dadurch natürlich vollkommen irrelevant geworden.

Menno, das haben die doch absichtlich gemacht.

Die GUI - XUL, HTML und CSS

Das Herzstück von Mozilla ist die Renderingengine Gecko. Sie liest zum Beispiel (X)HTML ein und stellt dieses dann auf dem Monitor dar. Damit lassen sich bereits sehr interaktive und sich äußerst dynamisch anfühlende Webseiten erstellen, insbesondere wenn man JavaScript mit verwendet. An Beispielen wie GMail oder start.com kann man erkennen, wieviel heute schon mit HTML möglich ist. Dennoch: viele GUI-Elemente wie Listen, Menüs oder Knöpfe sind in HTML eher umständlich umgesetzt. Darum wurde XUL, die XML User Interface Language, eingeführt, eine XML-Sprache zur Beschreibung von graphischen Benutzerschnittstellen.

Mit XUL ist es dann möglich zu beschreiben, wo bestimmte Elemente auftauchen, welche wo auftauchen, etc. Dadurch wird es zum Beispiel leicht fallen, verschiedene Versionen der GUI zu erstellen, eine für Experten und eine für Anfänger. Insbesondere könnte man sich einen Schritt-für-Schritt-Wizard für die Heldenerschaffung vorstellen, wie sie in den meisten anderen Editoren wie Helden praktiziert wird. Meine persönliche Vorliebe bleibt dennoch beim "Immer alles veränderbar"-Modus. Aber die Codebasis wird sehr einfach beides hergeben.

Ein weiterer Vorteil von XUL ist, dass damit das User Interface interpretiert, nicht compiliert wird. Das hat den Vorteil, dass, wenn man das Aussehen des Programms verändern will, man nicht eine ganze Programmierumgebung mit Compiler etc. braucht, sondern einfach nur einen Texteditor und etwas XML- oder HTML-Kenntnisse. Hoffnung dabei: schöne neue Skins und bessere Bedienbarkeit können von wesentlich mehr Leuten beigesteuert werden als bisher.

Apropos Skins: ja, auch das wird möglich sein. Wie von Thunderbird und Firefox gewohnt, sind XUL-basierte Anwendung vollkommen mit CSS und ähnlichem skinbar. Das heißt Farben, Hintergründe, Aussehen der Elemente sind steuerbar. Ich stelle mir jetzt schon ein Horasreich-Skin, ein Myranor-Skin und ein G7-Skin vor. Mal sehen. Es wird letztlich von Eurer Kreativität abhängen.

Auch hier ist das wichtige: man muss dafür keine Programmierumgebung besitzen und keine Programmierkenntnisse haben (auch wenn sie natürlich nicht schaden). Der wichtigste Teil des neuen Designs ist es, die einzelnen Teile der Architektur orthogonal zu gestalten, so dass man an einem bestimmten Teil arbeiten kann, ohne das man ein Experte in allen sein muss. Etwas, was bei der ersten Version sträflichst vernachlässigt wurde.

Nächstes Mal: zum Datenmodell und der Datenhaltung.

Zurück aus Sheffield

Was wirklich gemein ist: die ganze Zeit in Sheffield hat es geregnet und gewindet. War ja nichts anders zu erwarten in England, oder?

Aber heute, da ich zurück bin, ist es dort über 10 Grad wärmer als hier, und sie haben Nieselregen und Sonnenschein statt Schnee und Grauingrau.

Die gute Nachricht: der Vortrag ist phantastisch gelaufen, das ganze Review war ein großer Erfolg. Danke allen Daumendrückern. Und danke den nutkidz, die ebenfalls eine Rolle spielten. Mehr dazu bald.

In Sheffield

Die Stadt aus Stahl. Sheffield ist eine überraschend große Stadt, knapp 520.000 Einwohner und damit die viertgrößte Stadt in Großbritannien. Steht aber weder auf den Wetterkarten, noch hat es einen Flughafen. Es hat nichtmal eine vernünftige Verbindung zum nächsten Flughafen. Wir fuhren über eine Stunde den Snake Pass entlang, eine Strecke mit einer angeblich wunderschönen Aussicht. Es war Nacht.

Ich mach selber ja keine Photos, darum hier die Photos bei Flickr zu der Stadt. Auch auf Google Maps konnte ich das Octogon gegenüber finden. Ist ziemlich cool.

Zur Zeit sitze ich im großen Review unseres Projektes zu Semantischen Technologien. Die EU entscheidet, ob ihr Geld gut ausgegeben war. Ich bin nervös, und habe heute Nachmittag meinen Vortrag. Mit den nutkidz auf den Folien.

Drückt mir die Daumen.

Ungeschick

Ich war's nicht!

Neid auf Freiheit

"Vielleicht klang auch etwas Neid auf euch durch, da die Form von Meinungsäußerung, die ich als Werbetexter seit über 30 Jahren betreibe, alles andere als frei ist: Jedes Wort wird vor der Veröffentlichung lange abgewogen, mit Auftraggebern verhandelt und dann noch repräsentativ auf seine Wirkung getestet." (Quelle)

Jean-Remy von Matt hatte in einer internen eMail, die an die Blogosphäre durchgesickert ist, sich über die Miesepetrigen beschwert, die alles schlecht machen. "Wer hat die denn gefragt?" -- eines der Argumente. Was hörst Du dann hin?, frage ich mich. Wie auch immer, es war eine impulsive Reaktion. Seine, und die Arbeit seiner Kollegen, wurde niedergemacht, und er ärgerte sich. Da soll sich die Blogosphre ruhig an die eigene Nase fassen, wir quasseln noch viel mehr Unsinn als Monsieur von Matt.

Interessant aber fand ich obiges Zitat: er neidet uns die Freiheit, die wir genießen, die er nicht genießen kann.

Jean-Remy, einen Blog zu schreiben ist kinderleicht. Das kannst auch Du. Denn: Du bist Blog!

Architektur

Die bisherige Version des DSA4 Werkzeugs ist in C++ programmiert. Für die Daten entschied ich mich damals für ein XML-Datenformat, was zu der Anbindung von Xerces führte. Die GUI wurde mit wxWindows gemacht (die ersten Versionen, falls sich noch jemand erinnert, beruhten auf MSXML und native Windows GUI Elementen). Der Wechsel auf Xerces und wxWindows wurde durchgeführt, um Plattformunabhängig zu sein. Und tatsächlich: der Code compilierte auch unter Linux (dank hier an die Portierer). Aber richtig laufen tat er nie, es waren immer irgendwelche Bugs in der Linuxversion, die ich nicht in der Windowsversion nachvollziehen konnte.

Außerdem war das verwendete C++ viel zu kompliziert. Ich benutzte massig Templates (vor allem für die Rassen, Kulturen und Professionen), was den Code sehr schwer lesbar und bearbeitbar machte. Auch ein schlichtes compilen war eine recht anspruchsvolle Prozedur. Ich gehe davon aus, dass deswegen nie im größeren Maße Entwicklungsarbeit von anderen als von mir geleistet wurde: mein Code war schlicht zu kompliziert. Aus de selben Grund habe ich selber ja in den letzten Monaten den Code nicht angefasst.

Dies ist die wichtigste Lektion für die neue Version: deutlich einfacherer Code. Änderungen müssen auch ohne sich extrem reinzuarbeiten möglich sein. Idealerweise sollte das ganze Werkzeug interpretiert sein. Kein compilen mehr. Ändern. Neustart. Fertig.

Wie ich das erreichen will verrate ich in den nächsten Blogeinträgen genauer (deswegen habe ich auch nicht so viel geschrieben die letzten Tage -- und weil ich auf Dienstreisen in Kaiserslautern und Düsseldorf war -- ich wollte zunächst ein halbwegs tragbares Konzept haben. Das kommt jetzt die nächsten paar Tage. Hier schonmal eine grobe Übersicht -- ich werde im Folgenden genauer auf die Begriffe und den Aufbau eingehen.

Mozilla, die Open Source Gruppe die uns nicht nur Firefox und Thunderbird beschert hat, hat, was die Basis ihrer Tools ist, ein umfangreiches, sogenanntes Mozilla Application Framework erstellt. Im Großen und Ganzen ist es ein supermächtiges Biest -- ich will es soweit zähmen, damit das DSA4 Werkzeug darauf läuft. Hierbei gibt es eine Hauptengine, die XULRunner heißt. XUL ist so etwas wie HTML, bloß für GUIs von Anwendungen (und man kann tatsächlich auch HTML und JavaScript in XUL mit benutzen). Das bedeutet, das User Interface des neuen DSA4 Werkzeugs zu ändern wird so leicht sein wie HTML-Seiten schreiben, ja, sogar mit CSS arbeitet das ganze zusammen. Interessant ist hierbei vor allem das Verwenden von JavaScript, das eine dynamische GUI erlaubt. Die Applikationslogik hingegen kann entweder in JavaScript implementiert werden, oder auch in C++ oder Java (oder Python), um dann über XPCOM (oder PyXPCOM) darauf zuzugreifen. Potenziell also kann man auch Teile des bisherigen Codes wiederverwenden! Schließlich, die Daten werden in RDF gespeichert, einer XML-basierten Sprache, die aber deutlich Vorteile zu XML (und ein paar Nachteile) aufweist.

All dies unterstützt das Mozilla Application Framework von Haus aus. Anhand von Thunderbird und Firefox sieht man ja, dass das durchaus zu brauchbaren Applikationen führen kann. Ich hoffe, dass es auch hier aufgeht.

WLAN im Zug

Heute fuhr ich nach Düsseldorf, um bei der Britischen Botschaft mein Visum für Großbritannien zu beantragen und, so es klappt, auch gleich zu holen. Ich hatte schon einiges erwartet -- manche Horrorgeschichte wurde erzählt über Beamtentum, Formaliakrieg, Großkotzigkeit und Willkürherrschaft. Doch nichts dergleichen trat ein (zumindest nicht beim Beantragen heute morgen). Äußerst höflich, zuvorkommend und hilfsbereit.

Allerdings muss ich jetzt einige Zeit totschlagen (um am Nachmittag das fertige Visum abzuholen). Da ich die Zeit zum Arbeiten nutzen wollte, und zudem in der Gegend war, dachte ich mir, probiere ich mal das neue Pilotprojekt der Bahn aus, WLAN im ICE. Also fuhr ich nach Dortmund um von dort Richtung München nach Köln im ICE zu fahren. Dummerweise habe ich doch den falschen Zug erwischt, keinen ICE3 scheinbar, und ich kann einfach nicht herausfinden, welche Züge jetzt tatsächlich WLAN haben.

Schade. Na gut, habe ich mich doch in Düsseldorf hingesetzt und hier ein wenig gearbeitet. Und dann geht es zurück zum Konsulat. Ich war ganz frech und habe gleich ein Visum für fünf Jahre beantragt (statt des üblichen halben Jahrs). Mal sehen, was rauskommt... ein unbekannter (Fast)Landsmann, den ich zufällig am Konsulat traf, erklärte mir, dass das nie klappen würde, und dass das ganze immer Willkür sei, er hätte schließlich Erfahrung damit, schließlich muss er schon zum wiederholten Mal verlängern. Na ja, mit der Einstellung, kein Wunder dass es dann Probleme gibt. Ich vermied es, ihn darauf hinzuweisen, dass seine beiden Aussagen ("Willkür" und "das wird nie klappen") sich gegenseitig widersprechen.

Na, schauen wir mal, was rauskommt. Bloß blöd, dass das mit dem WLAN nicht geklappt hat.

Ein neuer Anfang

Alles, was aufwändiger ist als ein Blog scheint zur Zeit nicht zu funktionieren.

Wie viele von Euch wissen, verfolge ich seit langem das Ziel, ein Programm zu erstellen, welches beim Spielen von DSA in der vierten Edition Spielern und Spielleitern zur Hand geht. Wie ebenfalls die meisten wissen, war das Projekt leider die letzten Monate tot. Dies hatte mehrere Gründe: einerseits habe ich schlichtweg viel weniger Zeit als früher, und schließlich habe ich mich mit den Aufgaben beim DSA4 Werkzeug übernommen. Ich wollte sowohl das Programm erstellen - in allen Aspekten, Datenhaltung, User Interface, Logos, als auch die dazugehörige Website betreuen, als auch die Dokumentation schreiben, als auch eine Softwarebibliothek in C++ erstellen, die für DSA4-Tools gedacht ist, als auch die Druckausgabe verfeinern, als auch das XML-Format definieren, als auch die entstehende Community verwalten. Das mag eine ganz kurze Zeit funktioniert haben -- aber es musste, als ich meinen Beruf angetreten habe, schief gehen. Dummerweise liebe ich auch noch meinen Beruf, was mich zwar persönlich erfreut, aber der Entwicklung des DSA4 Werkzeugs nicht gut tut.

Ich werde in diesem Blog anfangen, die weitere Entwicklung des DSA4 Werkzeugs nach außen zu präsentieren. Dies ist ein vorläufiger Ersatz für eine echte Website, die einen Community-Prozess erlaubt. Aber diese Website werde ich nicht aufstellen. Ebenso werde ich tatsächlich nur wenige Emails im Zusammenhang mit dem DSA4 Werkzeug ausführlich beantworten. Ich brauche jemanden, der sich bereit erklärt, eine dazugehörige Website zu pflegen, und jemanden, der mir bei der Community helfen will. Ich erinnere mich, dass ich früher teilweise mehr Zeit in die Website und die Beantwortung von Emails investiert habe, als in die eigentliche Entwicklung. Dies muss ich diesmal vermeiden. Die Community war großartig! Ich brauche bloß an Leute wie Twel oder Wolfgang denken, die unglaubliches geleistet haben. Wer sich berufen fühlt, zu helfen, melde sich bitte bei mir.

Damit klar ist: ich werde auch in Zukunft nicht auf magische Weise mehr Zeit haben. Aber meine Erfahrungen in Industrie und Forschung, sowie das Wissen und die Erfahrung, die ich inzwischen über Open Source Community Prozesse und Software Engineering angesammelt habe, erlauben mir -- so die Hoffnung -- einige Fehler der ersten zwei Versionen des DSA4 Werkzeugs zu vermeiden. Die Architektur des alten DSA4 Werkzeugs war sehr durchdacht, und extrem flexibel. Leider war sie auch sehr kompliziert: metatemplate-Programmierung in C++ ist megacool, aber es macht den Einstieg für andere nicht gerade einfach. Einer der Gründe, warum es in den Monaten der aktiven Entwicklung keine 100 Zeilen von anderen Entwicklern in den Quelltext geschafft haben, oder warum niemand das Projekt aufgegriffen hat, nachdem ich offensichtlich nicht mehr weiterarbeitete. Dies wird der Hauptpunkt, den ich angreifen werde.

In den nächsten Tagen - ja, wirklich, Tagen - werde ich hier anfangen, in Blogeinträgen die neue Architektur zu skizzieren, sowie diverse Punkte auflisten. Zu einem Zeitplan möchte ich mich nicht durchringen, wann das Programm fertig wird. Aber ich kann versprechen, dass ein neuer Anfang gemacht ist. Warum? Weil das nicht Absicht ist, sondern auf erstem Code beruht. Zugegeben, bisher nur auf meiner Platte. Aber sobald es vorzeigbar ist, auch wieder auf SourceForge im CVS.

Ein halbes Jahrzehnt Nodix

Vor genau fünf Jahren habe ich Nodix begründet. Wie jedes Jahr (2002, 2003, 2004, 2005) heißt das Rückblick und Ausblick und ein wenig Zahlenspielchen, sowie Versprechen, die ich nicht einlösen werde.

Laut dem Zähler auf dieser Website hatten die Nodix-Seiten im ersten Jahr 2.000, im zeiten 20.000, dann 44.000, und dann 115.000 Besuche. Und letztes Jahr? Laut dem Zähler ging die Zahl auf 92.000 neue Besuche zurück. Was bedeutet das? Sind es tatsächlich weniger Besucher als früher? Nun ja, überraschend wäre es nicht -- einen Großteil des Jahres waren die Seiten eher ruhig, manche einfach tot, und vor fast zwei Monaten gab es einen fiesen Angriff auf Nodix, der alle Daten löschte, und die Daten immer noch nicht wieder zurück sind.

Genauer in die Zugriffsstatistiken geschaut, können wir aber sehen, dass Nodix nicht unbedingt weniger Besucher anlockt: laut der 1&1-Statistik hatten wir schon 2004 nicht 115.000 Besucher sondern 198.000 -- und letztes Jahr nicht etwa 92.000, sondern sage und schreibe 416.454 Besucher! Nicht Seitenaufrufe.

Woher die Diskrepanz? Ich tippe auf die Feeds. Seit Ende 2004 setzen die Nodix-Seiten vermehrt auf Feeds, und ihr, werte Leser, nutzt diese Gelegenheit natürlich auch, und das ist auch gut so. Der Abruf eines Feeds jedoch erhöht nicht den Zählerstand auf der Seite. Auch weiß ich nicht, ob die Statistik von 1und1 Abrufe des Feeds, der sich nicht verändert hat, auch mitzählt -- sprich, wird jedesmal, wenn jemand, der einen RSS-Feed der Nodix-Seiten abonniert hat, online geht und Feeds checkt, der Zähler erhöht? Dann wäre die Zahl von 416.454 natürlich deutlich überhöht! Aber dann wiederum biete ich auf semantic.nodix.net auch einen Feed im RSS-Format, den Feedburner aus dem Atom-Feed erstellt, den ich nicht mitzählen kann. Und PlanetRDF smusht semantic.nodix-Einträge auch noch mit. Was cool ist. Aber über Reichweite kann man dann letztlich nur noch die Kristallkugel befragen. Sie ist genauso glaubwürdig wie der Zähler von 1und1 oder der auf dieser Seite und jetzt etwa 273.000 anzeigt.

Oder kurz: ich habe eigentlich keine Ahnung, wieviele Leser Nodix eigentlich hat. Nada.

Also kommen wir zu den Rück- und Ausblicken: nutkidz sind wieder da, bisher regelmäßig, und das soll auch so bleiben. Auch die englische Übersetzung läuft prima. Apropos Übersetzungen: nach einer langen Pause ist auch die deutsche Übersetzung von something*positive wieder angelaufen. Ihr kennt das nicht? Ist auch ein Webcomic - und ein sehr fieser dazu! Ich würde sagen, ab 16 und nichts für schwache Gemüter. nakit-arts läuft prima -- Schwesterchen, gratuliere! Dies ist bei weitem der erfolgreichste Blog auf den Nodix-Seiten und auch um längen die schönste Seite von Nodix. Nur weiter so! semantic.nodix läuft und läuft gut. Wer sich für meine Arbeit interessiert, sollte da mit-lesen. Das DSA4 Werkzeug - nun, die Seite ist tot, ich denke noch darüber nach, und wenn alles nach Plan läuft, wird es dieses Jahr einen neuen Start geben. Dazu mehr zu gegebenem Zeitpunkt. XML4Ada95 hat ein Interesse geweckt ähnlich wie die Sprache selbst ;) -- ich will die Seite bald noch ein letztes Mal ändern, und dann ist das Projekt beendet. Nodix ist groß, wie ihr seht. Und es wird dieses Jahr noch weiter wachsen.

Also, auf in die zweite Hälfte des Jahrzehnts! Eine drittelmillion soll der Zähler am Jahresende anzeigen!