Ruby

RubyHaltet mich für verrückt, aber ich bin jüngst auf den Ruby-Zug aufgesprungen. Das hatte ich mir schon mehrere Monate überlegt, aber immer wieder verschoben. Offengestanden hat mich auch die Syntax von Ruby ein bisschen irritiert (ich habe einen Java-Background), aber nach einigen Demos, ’ner Installation und Experimentieren finde ich Ruby — und natürlich Ruby on Rails — richtig gut. Neben mir liegen nun zwei dicke Ruby-Wälzer, für die ich richtig Kohle gelassen habe. Aber seis drum, ich finds toll 🙂 Last, but not least: Nach meinen Recherchen ist Ruby für das, was ich für das Diplom vorhabe, neben Java die beste Lösung.

Java hat eine statische Typisierung, Ruby (und andere Skriptsprachen wie PHP) eine dynamische. Das heisst: Der Compiler (im Fall von Java) achtet bei der Kompilierung des Programmes strikt drauf, ob der Typ einer Variable auch tatsächlich bekannt ist. Bei Ruby muss das nicht der Fall sein und man muss mehr aufpassen, da diese Überprüfung zur Übersetzungszeit wegfällt. Entscheidend ist jedoch das Laufzeitverhalten in der Praxis; bei Java schmeisst man meist Objekte in einen (oft generischen) Objektcontainer, und dann muss man sich sowieso andere Methoden überlegen, um sicherzustellen, dass Objekte bestimmte Typen aufweisen.

Bei Ruby läuft das stark auf das Unit testing, eine Methode des Softwaretests, hinaus, was wiederum sehr stark mit dem Agile Programming-Paradigma zusammenhängt. Das gefälllt mir, denn genau das (Rapid Application Testing als Teil des Agile-Ansatzes) haben wir jüngst in unseren Informatikvorlesungen gehabt und für sinnvoll befunden. Kerngedanke hierbei ist — korrigiert mich, wenn ich falsch liege — möglichst schnell, in aufeinanderfolgenden Iterationen und nah am Nutzer Software zu erstellen.

Habt ihr schon Erfahrungen mit Ruby oder Ruby on Rails gemacht? Ich bin ganz Ohr…

Das ist Leben

In einem evangelischen Kirchenblättchen gefunden:

Zu wissen,
dass man es nicht schaffen wird;
zu wissen,
dass man nicht überall sein kann;
zu wissen,
dass man nicht immer die richtigen Worte findet;
zu wissen,
dass man versagen wird;
zu wissen,
dass man trotzdem geliebt und angenommen ist
und so freudig den neuen Tag beginnen
und bereit sein, ihn zu erleben.
Das ist Leben!

– Reinhard Ellsel

Habe nicht so den Bezug zur evangelischen Landeskirche, aber das Gedicht ist wunderschön.

Das nächste grosse Ding

In ihrem — übrigens sehr lesenswerten — Blog apophenia schreibt Danah Boyd über die Zukunft des Webs. Dabei skizziert sie in groben Zügen, wie soziale Strukturen über die Zeit entstanden sind und wie sich das Netz gewandelt hat und kommt zum folgenden interessanten Schluss:

We finally have a world wide WEB of people, not just documents. When i think about what’s next, i don’t think it’s going more virtual, more removed from everyday life. Actually, i think it’s even more connected to everyday life. We moved from ideas to people. What’s next? Place.

Bin mir nicht sicher, ob ich mit dieser Einschätzung übereinstimme — “place” ist eher ein abstraktes, technisches Konzept, und ich sehe noch nicht, ausser der offensichtlichen Vereinnahmung der Dimension “Ort”, wo darin der direkte Nutzen besteht. Eine andere Richtung ist die des “Semantic Web” — Rechner den Inhalt des Webs verstehen zu lassen und nicht nur jede Menge Content bereitzustellen. Wer weiss, vielleicht ist das nächste große Ding ja auch etwas ganz anderes oder einfach nur, bestehende Dinge für den Menschen bedienbarer und zugänglicher zu gestalten.

Cool fand ich jedenfalls ihren kleinen Seitenhieb auf Second Life (”I don’t think it’s going more virtual”)… 🙂

Erkenntnisse bei der Recherche

In der letzten Woche habe ich eine erste allgemeine Recherche durchgeführt und mich mit so illustren Themen wie Didaktik, Theologie und Wissensmanagement befasst. War ’ne spannende Sache, bei der ich die ein oder andere Erkenntnis für das Diplomthema gewonnen habe.

Erkenntnis #1: Die Bibel ist zentral.

Das sollte eigentlich offensichtlich sein, aber wie leicht verliert man diesen Punkt aus den Augen. In der Bibel offenbart sich Gott den Menschen. Sie ist somit, zumindest für Christen, die wichtigste Erkenntnis- und Wissensquelle. Die nächste Frage ist die nach der Autorität der Schrift — welchen Stellenwert sie hat und wie sie gelesen werden soll. Hier haben Liberale, Neoorthodoxe und Konservative verschiedene Ansichten, auf die ich nicht näher eingehen will; wichtig ist zu wissen, dass jedes System, jede Anwendung, die versucht, die Bibel gleichsam “aufzuschlüsseln”, ihr die letztendliche Autorität zuschreiben muss. Die Bibel ist zentral und nicht die Methoden und Tools.

Erkenntnis #2: Es geht um den Kontext.

Einerseits um den oder die Kontext(e) jeder einzelnen Bibelstelle bei der Auslegung — wenn man eine wörtliche, texttreue Hermeneutik zugrundelegt. Und andererseits um den Kontext des eigenen Wissens und der eigenen Erfahrungen, denn komplexes Wissen ist kontext- und personenabhängig.

Ziel der Anwendung sollte es also sein, es zu ermöglichen, den Kontext in der Bibel zu erforschen und dadurch — durch die Auseinandersetzung mit dem Wort Gottes — neue Erkenntnisse zu gewinnen. Erst jeder für sich, dann gemeinsam im Austausch. In der gemeinsamen Auseinandersetzung mit der Bibel wird es aber auch darum gehen, persönliche Erfahrungen zu schildern und ganz bewusst — ähnlich wie in Blogs — aus einer subjektiv gefärbten, eigenen Perspektive zu erzählen. Das wird in der Anwendung auch als solches gekennzeichnet sein (damit eigene Meinungen nicht mit objektiv erarbeiteten, quasi-wissenschaftlichen Erkenntnissen verwechselt werden). Diesen Prozess nennt man im Wissensmanagement Externalisierung und bedeutet, dass man implizites (stilles) Wissen in explizites Wissen umwandelt, also Erfahrungswissen, das immer mit dem Träger sozusagen fest vernetzt ist, für andere ersichtlich und dokumentierbar macht. In der Fachwelt wird darüber heftig diskutiert, ob das überhaupt möglich ist. Umsomehr gilt das auch für “spirituelles Wissen”, also Erfahrungen mit Gott im Leben eines Einzelnen, und die Herausforderung ist es, den Kontext einer solchen Erfahrung zu “konservieren” und auf gewinnbringende Weise mit anderen zu teilen.

Wenn es um die gemeinsame Auslegung einer Stelle geht (ein Kernfeature der Anwendung), kommt Osborne’s “hemeneutical spiral” ins Spiel: Er sagt, dass Hermeneutik (Die Frage danach, wie wir die Bibel auslegen sollen) eine Spirale vom Text zum Kontext ist, eine Bewegung zwischen dem Horizont des Textes (der Bibelstelle) und dem Horizont des Lesers, die sich immer mehr – mit jeder Iteration — der Bedeutung der Stelle und ihrer Relevanz für unser heutiges Leben annähert. Praktisch könnte das heissen: In der Anwendung gibt es Erklärungen zum Kontext einer Bibelstelle, sowohl von der Community hinzugefügte, als auch aufbereitete Hintergrundinformationen. Jeder bringt seine Gedanken ein, wobei für alle klar ist, wie die einzelnen Wissens- und Erfahrungs-Hintergründe aussehen (durch das Profil, Sozialisation und eben Externalisierung). Gemeinsam kann so, wie in einer Bibelstudiengruppe, mehr und mehr die Bedeutung herausgearbeitet werden.

Erkenntnis #3: Der Schwerpunkt wird vermutlich bei den social features und der Modularität liegen.

Gute offline-Bibelprogramme gibt es (wenn auch nicht unbedingt in Deutsch), Websites, die einen jungen und frischen Zugang zur Bibel vermitteln, mittlerweile auch. Interessant sind die social software-Features, die eine interessengelenkte Community ermöglichen sollen, die ein klares Ziel und eine klare Vision hat. Dazu gehören Features wie Tagging und Profile, die die Arbeit am zentralen Wissensmodul Bibel vereinfachen soll. Der user generated content und nicht bereits existierende Kommentare, Lexika und dergleichen — die alle ihren berechtigen Platz haben — ist dann letztendlich das, was das System so wertvoll machen wird. Man wird Kommentar-Feeds von Profis in bestimmten Bereichen — z.B. für die paulinischen Briefe — abonnieren können. Links zu multimedialen Inhalten im Netz — nicht nur auf der Plattform selbst — können Sachverhalte klarmachen und verdeutlichen. Didaktisch aufbereitete Lernmodule könnten Grundlagenwissen vermitteln und so den Einstieg leichter machen. Hier habe ich schon ein paar Ideen für Visualisierungen.

Bin auf eure Kommentare gespannt. Könnt ihr euch so eine Anwendung vorstellen?

Planung ist wichtig

OmniPlan Gantt ChartTag drei des Abenteuers Diplomarbeit. Wer mich kennt, weiss, dass es mir schwerfällt, konzentriert länger an einer Sache zu arbeiten. Es ist also wichtig, ein Tool zu haben, was einem dabei hilft, täglich sein Pensum zu erfüllen und konzentriert bei der Sache zu bleiben, besonders, wenn Zeit für den angedachten Umfang knapp bemessen ist. Wenn ich eine Übersicht über das Projekt Diplomarbeit hätte und genau wüsste, wie ich meine Zeit einteilen muss, hätte ich eine Sorge weniger.

Genau das leistet OmniPlan von der OmniGroup, eine Softwareschmiede, die auch schon den genialen — und für mich unverzichtbaren — OmniOutliner herausgebracht haben. OmniPlan ist ein Projektmanagementtool so ähnlich wie Merlin. Habe mir beide angeschaut und vor kurzem mal ausführlich getestet. Merlin ist super, enthält genau die Prozesse und Module (Reporting, Meilenstein-Trend, Risiken, direkter Mindmap-Import usw.), die wir auch im Studium gelernt haben. Aber OmniPlan ist zugänglicher und für mich erstmal komplett ausreichend, zudem gibt es einen Studentenrabatt.

Also, in zweitägiger Arbeit einen kompletten Projektplan angelegt – und es ist klasse. Macht richtig Spass, so seine Arbeitspakete abzuarbeiten und genau zu wissen, wo man steht. Für andere ist sowas vielleicht nicht das ideale Tool (zu unpersönlich, statisch, unkreativ etc), aber für mich erstmal genau das Richtige. Dazu noch an einen ordentlichen Tagesrhythmus gewöhnen (Nachtschichten adé), und ich kann befreit draufloslegen…

Mein Diplomthema: Online-Wissensmodul zur Bibel

Morgen beginnt offiziell die dreimonatige Zeit, um die Diplomarbeit zu erstellen. Spannend war für mich die Themenfindungsphase, denn ich habe mich nicht für eins von den an dieser Stelle schon erwähnten Themen entschieden, sondern für ein ganz anderes.

Es geht um ein Wissensmodul, also eine Sammlung von aufbereiteten Informationen über die Bibel, und einer dazugehörigen Community. Am besten ist das kurz mit einem kleinen Beispiel erklärt. Man stelle sich folgendes Szenario vor: Bestimmte Verse werden von Communitymitgliedern vertaggt. Eine bestimmte Stelle könnte darüberhinaus beispielsweise 50 Kommentare haben, davon 30 mit dem Tag “Gnade”. Diese kann man sich ansehen und natürlich auch die Personen, die die Kommentare geschrieben haben — und mit ihnen in Kontakt treten, wenn man merkt, dass es Übereinstimmungen im Profil gibt. Oder von ihnen alle Kommentare abonnieren, wenn sie generell auferbauende Dinge schreiben. Wenn man zusammen als Bibelstudiengruppe in einer Gemeinde die Bibel studiert, kann man das nun online machen — mit der Bibel als zentralem Modul und einer Community, die sich darum dreht.

Die Möglichkeiten sind vielfältig; ein dynamischer, wachsender Online-Kommentar zur Bibel ist nur eine Facette. Angedacht ist auch eine leistungsfähige Datenbank, Verknüpfungen und Links zu anderen Medienformen (so z.B. das Metatagging von Filmen, um bestimmte Szenen mit Bibelstellen zu verlinken) und Visualisierungen, die Zusammenhänge klar machen. Diese Einzel-Funktionalitäten ergeben im Ganzen unter einer einheitlichen Oberfläche ein Tool, was wachsen kann und hoffentlich das Potential hat, das Verständnis von der Bibel zu vertiefen und die Freude an dem gemeinsamen Auseinandersetzen mit dem Wort Gottes zu fördern. Ideal ist es auch, um online seine Gedanken zur Bibel festzuhalten und sich mit Freunden darüber auszutauschen.

Soviel zur Grundidee. Innerhalb von den drei Monaten werde ich mich hauptsächlich um die Konzeption kümmern und, wenn noch Zeit bleibt, einen proof-of-conecpt machen — ich stehe nicht unter dem Druck, eine schlüsselfertige Realisierung abliefern zu müssen. Das gibt mir die Freiheit, dieses für MSD-Verhältnisse etwas exotische Thema mal tiefer auszuloten und zu schauen, was nun wirklich machbar (viable) ist und was nicht. Eine Idee ist es beispielsweise, mehr in die didaktische Richtung zu gehen, das Ganze also eher als richtiges eLearning-Modul zu entwerfen. Möglichkeiten gibt es viele, in der Recherchephase wird es mir hoffentlich gelingen, das Ganze zu konkretisieren.

Also, ich freue mich drauf, auch wenn ich weiss, dass es viel Arbeit werden wird, und ich mich vermutlich oft fragen werde, warum ich dieses Thema überhaupt gewählt habe .. 🙂 Auf jeden Fall bin ich offen für Ideen und Anregungen jeder Art; dazu ist der Blog ja auch da.

Terrence Malicks Filme

Malicks Filme gehören zu den missverstandendsten Werken den zeitgenössischen Films. Woran das liegt, weiss ich nicht. Bei ihnen gehen jedenfalls die Meinungen weit auseinander; so auch bei “The Thin Red Line”, einem Antikriegsfilm. Habe ihn letztens gesehen und war wieder einmal schwer beeindruckt. Ein zutiefst spiritueller Film, der Männer portraitiert, die, jeder auf seine Weise, auf der Sinnsuche unter unmenschlichsten Umständen sind.

Man kann diese Filme nicht so sehen, wie man eine normale Hollywoodproduktion sehen würde. Sie haben eine eigene visuelle Sprache, die nicht den gängigen Erwartungshaltungen eines Kinogängers entspricht: Keine Standardsymbolik, keine klassischen Handlungsabläufe; Weniger Plot, Dialoge und Charakterisierung, dafür viel Subplot und Poesie im visuellen Ausdruck. Um sie zu verstehen, sollte man eher in einer aufnehmenden, betrachtenden als einer konsumierenden Haltung sein, in etwa so, wie man ein Gemälde in einer Ausstellung betrachten würde. Dann fängt der Film an, auf einmal zu reden und sich einem aufzuschlüsseln. Es ist sicherlich eine Frage des Geschmacks und auch eine Frage des Typs, aber diese Art von Film spricht mich teilweise mehr an als konventionelle, auf einer normalen Erzählstruktur basierende Filme.

Jeffrey Overstreet geht es ähnlich, in seiner Liste der Top-Filme 2006 spricht er über “The New World”. Brett McCracken, sein Interviewpartner, bringt folgendes, interessantes Statement:

The chief strength of The New World is that it approaches the world’s beauty and sadness as a receiver rather than a user. Large portions of the film’s shots, dialogue, and even characters do not service the plot in the way we have come to expect in cinema. Rather, it approaches existence from a God’s-eye view, peaking in on the whispers and locusts that sometimes say more about goodness and truth than grand soliloquies or climaxes.

Ideen für die Diplomarbeit

Die Grundrichtung steht schon fest: Die drei grossen Themenfelder, die mich momentan am meisten interessieren und die ich als geeignet für eine Diplomarbeit halte, sind Social Software, Datenvisualisierung und E-Learning/Wissensmanagement.

Schwierig nur, von hier aus weiterzugehen und ein eingegrenztes, in dem vorgegebenen Zeitraum von drei Monaten realisierbares Thema herauszudestillieren. Irgendwie bin ich da momentan ein bisschen blockiert und mir fehlt die klare Sicht auf das, was machbar ist und was ich im Endeffekt tun sollte. Der Blog hilft mir, meine Gedanken zu bündeln und zu strukturieren. Hier deshalb nun eine Auflistung von drei Ideen, die mir, teils in Gesprächen, teils auch durch Recherchen, klar geworden sind — mit der Bitte um Kommentare und Anregungen. Vielleicht fällt euch ja spontan was dazu ein, auch wenn es ein lapidares „Idee X ist Schwachsinn“ ist.

Idee 1: Visualisierung von Trends, ähnlich wie „swarm“ auf labs.digg.com

Hier natürlich die Datenquelle von entscheidender Bedeutung. Digg hat ja seine eigenen Daten, bei der Blogosphäre wird es schon schwieriger. Technorati bietet aber eine API, mit der man Daten bekommen und interpretieren kann. Hier gibt es dazu ein schönes Beispiel, allerdings mit „privaten“ Daten. Weitere Möglichkeit wäre der Einsatz eines Bots oder einer Spider, die Verbindungen zwischen Blogs über Kommentare und Trackbacks sammelt.

Entscheidend ist auch die Zielgruppe und damit verbunden die Frage, ob es ein Tool für „jedermann“ oder für Spezialisten und Analysten werden soll. Danach richtet sich auch die Komplexität der Applikation. Ein Feedback war, dass Analysten im operativen Geschäft sehr auf „Zahlenkolonnen“ und auf Quantität fixiert sind, also recht konservativ mit dem Thema umgehen. Beim strategischen Management sieht es mit dem Informationsbedarf schon anders aus; hier ist Qualität und das Erkennen von Zusammenhängen gefragt.

Visualisiert werden könnten im Falle von Blogs Relationen zwischen Blogs und Blogusern, Posts und Kommentaren, wie gut ein Blog verlinkt ist, und, wenn sie auf irgendeine Weise semantisch codiert sind, die Häufigkeit und Relevanz von Tags auf einzelnen Blogs — was wiederum Aufschluss über hot topics gibt. Trends lassen sich über die Einbeziehung der zeitlichen Komponente erahnen. Man merkt schon jetzt: Je semantischer das Web wird, desto mehr Möglichkeiten der Datenauswertung und -visualisierung wird es geben.

Idee 2: gezielte Visualisierung von Teilaspekten

Eine Suchanfrage an das zu entwerfende System könnte so aussehen: „Zeige mir, welche Leute von dem einen Unternehmen X Leute aus dem anderen Unternehmen Y kennen“. Oder: „Stelle mit in Vorbereitung auf ein Meeting das Netzwerk von bestimmten Personen dar“.
Hintergrund: In vielen Social Networks gibt es einige wenige „Superknoten“, also Leute, die extrem vernetzt sind, und andererseitd viele Personen mit nur wenigen Kontakten. Das macht die Visualisierung und damit auch die Interpretation schwierig, da die „Superknoten“ die Darstellung zerstören. Viele gängige Visualisierungsbeispiele sind deshalb von den Daten her auf Schönheit getrimmt und weiger auf das Abbild der realen gegebenheiten in einem SNS (Social Networking System).

Wenn neben der semantischen Abfrage weitere Informationen hinzukommen, z.B. über die Skills der Mitarbeiter und deren Qualifikationen, wird so im Verbund mit Wissensmanagement in Unternehmen „tacit knowledge“ — das stille Wissen — sichtbar und managbar.

Idee 3: Patterns in Social Software

Die Frage, die hierbei zugrunde liegt, ist: Was sind die Meta-Elemente von Social Software? Gibt es Dinge, die sich wiederholen? Was kann man aus den Fehlern und Erfolgen von SNS lernen, und gibt es, wie beim Softwareentwurf, der Architektur oder der Usability Muster, die universell für die Erschaffung von Communities und SNS anwendbar sind?

Man sieht an der Natur dieser Ideen, dass es bei mir eher in die theoretische/wiisenschaftliche Ecke geht. Für mich wäre es durchaus auch reizvoll, ein SNS in der Nische, beispielsweise für karitative Verbände, zu konzipieren und auch prototypisch zu realisieren. Ich denke nur, dass es — gerade als MSDler — lohnenswert ist, auch mal bestimmte wissenschaftliche Fragestellungen zu behandeln.

Geschafft

Habe gestern die mündliche Prüfung mit einer ziemlich guten Note bestanden (1,3). Damit ist unser Projekt P4 und eigentlich auch das Studium — bis auf das Diplom — abgeschlossen. Kaum zu glauben. Die fast vier Jahre sind wie im Flug vergangen. Ein Wahlpflichtkurs steht noch aus, aber das ist jetzt relativ easy going, da der Druck erstmal weg ist. Das schöne Wetter heute passt also ideal zu meiner seelischen Verfassung: Nach einem ziemlich fordernden und langwierigen „Endspurt“ über einen ganzen Monat jetzt erst mal ein wenig Entspannung.

Zu tun gibt es genug — noch ’ne Doku schreiben, den besagten Kurs zuende bringen mit einem Game als Abschlussarbeit, sich wieder verstärkt um private Dinge, Gemeinde und den Haushalt kümmern und — relativ weit oben auf der Liste — das Diplom. Weiss immer noch nicht genau, was ich machen soll. Werde dazu wohl am Wochendende was schreiben.