Wednesday, April 30, 2008

Flickr-Stream vom England-Urlaub

Bei Flickr habe ich schon vor einiger Zeit einen Fotostream von einigen meiner Englandfotos online gestellt. Dort kann kann man sich u.a. davon überzeugen wie gut das Wetter in dem Urlaub gewesen ist.

Beeindruckt hat mich in England vor allem:

  • London
    London
  • "Fire Gardens" in Bournemouth
    Bournemouth - Fire Gardens
  • Die "Surferstadt" mitten in Cornwall: Newquay
    Newquey, Cornwall
  • Oxford
    Oxford

Es lief im Urlaub nicht alles glatt (Autounfall mit Blechschaden) aber es war ein schöner Urlaub. Würde da gerne mal wieder hin .

Keine Festival-Karten an der FÜ

In den vergangenen Wochen hab ich mit verschiedenen Freunden und Bekannten in der Fürstenallee (FÜ / FA / F-Gebäude) darüber gesprochen, dass der Uni-Mainstream oftmals zu tut als würde die FÜ nicht existieren.

Ein Beispiel war immer die fehlende Möglichkeit Uni-Party-Karten zu kaufen, insbesondere wenn es um die "große, offizielle" Uni-Party ging: dem Asta-Sommerfestival. Karten gab es an dem Uni-Campus, aber niemals an der Fürstenallee. Obwohl es viele Studenten (viele aus der Informatik und E-Technik in den höheren Semestern) gibt, die quasi niemals am Campus sind.

Ich hab bei der letzten Wahl gehofft, dass sich dieser Misstand legt, wenn wir genug Informatiker in das StuPa wählen, aber geändert hat sich nichts. Vermutlich hängen da immer noch genug Geisteswissenschafter im 20. Semester rum, die nichmal wissen, dass die FÜ existiert.

Heute hat die Fachschaft eine Mail herumgeschickt, die ich einfach mal kommentieren möchte:

Der Verkauf der Sommerfest-Karten an der Fürstenallee wurde uns [von der "Uni"]
verboten und wir mussten mit Kasse und Karten wieder abziehen.

Dass der AStA nicht von sich aus früh genug einen Verkauf an der
Fürstenallee einplant, obwohl das offizieller Standort der Uni ist und
viele Studierende sich gar nicht am Campus aufhalten halte ich für
traurig genug, dass uns der Verkauf dann verboten ist sollte aber eine
einmalige Sache sein.

Das die AStA es nicht packt, die FÜ ordentlich in den AStA-Teil des "Stundenleben" einzubinden, ist tatsächlich traurig. Schließlich sind wir (FÜ-Bewohner) genauso Teil der verfassten Studentenschaft. Der Kartenverkauf ist da eher ein Beispiel von vielen.

Schon die jetzige Planung - dass die Fachschaft Informatik selbst den Verkauf übernimmt und organisiert - war eher eine Minimallösung. Das nun nichtmal diese Minimallösung möglich ist, ist bitter.

  • Warum erlaubt die Universität den Verkauf und die Veranstaltung am Campus und verbietet den Verkauf im F-Gebäude. Kann man von Informatiker-Diskriminierung sprechen?
  • Wer genau hat dies verboten? Universitätsleitung oder der AstA?
  • Gibt es eine zitierfähige Begründung für diesen Unsinn?

Zum Glück habe ich mich nicht darauf verlassen und habe schon am Dienstag (als ich einmal zufällig im Campus war) meine Karte gekauft.

Ein paar ungeordnete Gedanken zu Ruby on Rails

Ich entwickele - quasi als privates "20% Projekt" - mein erstes größeres Projekt im Ruby on Rails.

Insgesamt bin ich wesentlich produktiver als ich es mit JSP/Servlets oder ASP.NET jemals war. Aber irgendwie bleibt ein ungutes Gefühl im Magen. Deshalb hier mal ein paar ungeordnete ziemlich ketzerische Gedanken zu Ruby und Ruby on Rails, die ich aber einfach mal los werden muss.

  • Ich hasse solchen Code:

    >>s = "Hallo"
    >>s2 = s
    >>[....]
    >>s << " Welt"
    >>[...]
    >>s2 == "Hallo" => false
    >>s2 == "Hallo Welt" => true

    Änderbare Stringklassen haben ihren Zweck (deshalb gibt es in Java StringBuilder zusätzlich zu java.lang.String), aber sie sollten nicht die Standardklasse für Zeichenketten sein. Die Argumentation über Korrektheit wird die Hölle, wenn jederzeit von Hinten den Zustand zerschossen werden kann. Dafür das Ruby eigentlich so funktional angehauchte Sprache ist (sein soll), ist die Stringklasse (eine der zentralsten Klassen überhaupt) eine Katastrophe. In Bezug auf Zeichenketten ist Java funktionaler als Ruby.

    Mit string_name[0..-1] eine entkoppelten Clone einer Zeichenkette machen, was man auch dringend an entsprechenden Stellen auch machen sollte, wenn man keine Lust hat den Zustand zerschossen zu bekommen (z.B. immer wenn man eine Invariante bezüglich des Inhaltes einer Zeichenkette testet)

  • In Ruby on Rails hinter Fehlern herzusuchen ist die Hölle. Such mal Fehler in dynamisch generiertem Code also Code ohne Entsprechung im Quelltext. Ich hab 3 Abende hinter einer nur manchmal auftretenden Endlosschleife in einer benannten Route von einer REST-Ressource in Rails hinterhergesucht. Grausam. (Ok, auf die Idee die Route normal, also mit :controller => x, :action => y, anzugeben hätte ich schneller kommen können). Woher die Endlosschleife kommt, habe ich bis heute nicht verstanden.
  • So richtig wohl fühle ich mich bei Ruby noch nicht. Ich verstehe die Syntax und die Möglichkeiten z.B. dynamisch Klasse zu erweitern und Code zu generieren, aber für mich ist es zu viel Magie. Ich habe noch die Befürchtung, dass die Entwicklung nur solange wirklich richtig produktiv ist wie alles klappt, aber wehe man bekommt Probleme. Ich hoffe Rails ist keine Sackgasse sobald man anspruchsvolle Dinge probiert oder man sonst auf Probleme und komische Bugs stößt.
  • Ruby on Rails macht auf mich eher dein Eindruck einer Sprache zum Schreiben von Code anstatt zum Lesen und Verstehen von Code. Zu viel implizit zu machen (Magie) macht es manchmal nicht einfacher zu verstehen.
  • Python ist einfach eher meine Sprache. Scala würde ich gerne mal für etwas richtiges Ausprobieren. Ich hab das neue Buch "Programming in Scala" von Martin Odersky gelesen und will es unbedingt mal ausprobieren.
  • Eines der Killerfeatures von Rails und warum ich noch nicht nach Pylons (Pythlon) oder Lift (Scala) gewechselt bin, ist die gute Integration von AJAX, insbesondere mit RJS. Wow. Ich fühle mich eher im Backend zu Hause, aber was ich in wirklich wenig Zeit an schicken AJAX-Sachen machen konnte, ist beeindruckend.

    Das Two-way-Matching von Url-Pfaden auf Controller (Routes) war mein erster Wow-Moment bei Rails (und ich finde es immer noch gut gelöst, wenn man mal von gewissen Endlosschleifen absieht (s.o.)). Allerdings hat Pylons das Konzept ziemlich direkt übernommen.

    Auch das fließende Zusammenspiel von Controller und View hat schon einiges für sich. Wie gesagt, ich habe viel in kurzer Zeit geschafft. Rails hat schon gute Konzepte.

  • Alle Ruby und Ruby von Rails-Bücher in der Bibo sind auf Monate verliehen und vorgemerkt.

  • Hibernate ist Rails ActiveRecord um mindestens 3 - 5 Jahre voraus. ActiveRecord ist nett und man kann gut mitarbeiten, aber diesen großen Hype um Rails ActiveRecord verstehe ich nicht. Einen Vergleich aus 2005 zwischen Hibernate und ActiveRecord ist auf ServerSide.com zu finden. Nur als Beispiel: N:N-Beziehungen können meines Wissens nach nicht transparent umgesetzt werden. Man sieht immer die Mittlerklasse/Mittlertabelle wie hier dargestellt. Es ist eine Umsetzung des Active Record Musters von Martin Fowler, deshalb muß quasi schon jede Tabelle 1:1 abgebildet werden, aber das Optimum zum Arbeiten ist für mich eine ORM, die die Objekte näher an die Domain bringt.

    Wenn man Hibernate gewöhnt ist, fühlt man sich bei ActiveRecord fast als würde man wieder auf dem blanken Metall arbeiten.

  • Hochdynamische Sprachen wie Ruby stellen viel höhere Anforderungen an die Dokumentation als statische Sprachen wie Java. Dort hat man wenigstens mal den Compiler um den größten Unfug zu entdecken. Dafür ist die Dokumentation von Rails ist in meinen Augen nicht ein Auszeichnungsmerkmal von Rails. Kann mir mal jemand z.B. die Dokumentation für die Methoden zeigen, die 1.hour usw. ermöglichen? Ich konnte es wirklich nicht finden.

Vielleicht wird der nächste Ruby on Rails Artikel hier etwas positiver, aber dieses Problem mit der benannten Route hat mich echt genervt.

Sunday, April 27, 2008

Clay-Probleme mit "Jahr der Mathematik"

2008 ist das Jahr der Mathematik und in Paderborn gibt es dazu eine Vortragsreihe mit einigen interessanten Vorträen (während mich die Vorträe zum Jahr der Informatik eigentlich ziemlich kalt gelassen haben).

Zum Beispiel gibt Vorträe über die Clay-Probleme, offene mathematische Probleme für deren Lösung vom Clay Institute jeweils ein Preisgeld von einer Millionen Dollar ausgeschreiben wurde.

Es ging am 24. April los mit der Poincaré-Vermutung und der Hodge-Vermutung. 19. Juni geht es weiter zwei weiteren "Vermutungen" (Birch und Swinnerton-Dyer und Navier-Stokes-Gleichung)

Für Informatiker wohl am interessantesten sind die "Vermutungen", die am 4. Dezember vorgestellt werden. Prof. Hansen stellt die Yang-Mills-Quantentheorie vor. Prof. Bürgisser stellt vor, ob P=NP ist oder eben nicht. Prof. Wedhorn stellt die Riemannsche Vermutung vor.

Wer hat Lust zu diesen Veranstaltungen zu gehen?

Saturday, April 19, 2008

IBM kauft Daten-Deduplication-Firma

Wie Golem berichtet hat IBM die Daten-Deduplication-Firma Diligent gekauft. Laut dem Bericht für vermutlich 200 Millionen Dollar.

Das Thema meiner Masterarbeit ist tatsächlich sehr heiß. Auch wenn ich die damalige Bemerkung "akademisch bisher kaum behandelt" nicht mehr so stehen lassen kann. Dafür ist meine To-Read-Liste bei CiteULike langsam zu lang geworden.

Thursday, April 17, 2008

Pre-VKrit: Parallel Programming in Java

Ein Mitarbeiter der AG Kastens hat mich heute von meinem angestammten Arbeitsplatz (F1-Freifläche) verjagt. So richtig begeistert war ich nicht davon. Aber es ist das Zeichen, dass die Vorlesung "Parallel Programming in Java" gestartet ist ("Funktionale Programmierung" ist ja leider doch abgesagt worden).

Vor knapp einem halben Jahr hab ich in einer kleinen Artikelserie geschildert, warum ich von der Behandlung von paralleler Programmierung in "Grundlagen der Programmierung 2"(GP2) nicht richtig begeistert gewesen bin. Programme, mit denen Studenten parallele Programmierung beigebracht werden soll, sollten zumindest thread-safe sein und möglichst den empfohlenen Wegen entsprechen. Zum Beispiel wurde java.util.concurrent komplett ignoriert. Diese Artikel sind aber leider bei dem Server-Crash verloren gegangen.

Aber der "Rauswurf" hat mich auf die Idee gebracht Kastens-Material mal anzusehen. Ich nenne es mal "Pre-VKrit", aber im Grunde ist es nur ein Durchsehen der Vorlesungsfolien. Aufgefallen ist mir folgendes:

  • Es geht mit bei dem bekannten DigiClock-Beispiel los, dass in GP2 daneben gegangen ist. Hier wurde aber die running-Variable als "volatile" deklariert. Damit ist das Programm dann auch thread-sicher. Es gibt immer noch Varianten, die für den Zweck einen Block in bestimmten Zeitintervallen auszuführen, die vielleicht besser sind (z.B. ScheduledThreadPoolExecutor), aber immerhin ist es thread-sicher es auf diese Weise zu machen.
  • Auf Folie 25 wird java.util.concurrent vorgestellt und das locks-Unterpackage näher besprochen. Insbesondere wird fett markiert, dass die dort zu findenden Lock-Implementierungen die gleichen Speichersemantik haben wie die normale Synchronisation. Leider wird die Semantik des Speichermodells im Rest der Vorlesung mit keinem Wort erwähnt. Keine Ahnung, wieso man fett hervorhebt, dass zwei Konstrukte, die gleiche Speichersemantik haben, wenn man diese Speichersemantik nicht vorstellt.
  • Die InterruptedException wird immer noch durchgängig sinnlos verwendet (catch (InterruptedException e) {}). Brian Goetz sagt in "Java Concurrency in Pratice", dass man mit einer InterrupedException vieles machen kann, aber man sollte sie niemals fangen und nur ignorieren.
Aber ansonsten fand ich die Folien jetzt recht gut. Ich würde sie hören, wenn nicht mein Softwaretechnikteil schon lange "voll" wäre. Die Vorlesung relativ stark ausgerichtet auf Datenparallelismus, wie sie im High-Performance-Computing wichtig ist, (Loop Transformation, etc) und weniger auf andere Muster wie parallele Programme strukturiert werden könnten (Active Object, Reactor, Fork-Join, etc.). Eine eher "Doug Lea"-orienterte Vorlesung hätte ich es spannender gefunden, aber auf Grund des PC^2 "in der Nähe" ist es wohl auch eine nachvollziehbare Schwerpunktsetzung.

Wer sich für das Thema interessiert und einen vielleicht etwas anderen Blickwinkel wünscht, sollte sich "Doug Lea: Concurrent Programming in Java" und "Java Concurrency in Practice" von Brian Goetz, Doug Lea, Josh Bloch und anderen aus der Bibliothek besorgen. Doug Leas Buch ist ist älter (2000, insbesondere pre-1.5), sehr muster-orientiert (aber kein Muster-Buch wie POSA2) und wirklich gut. Brian Goetz fügt insbesondere eine ausführliche Behandlung des "neuen" Java 1.5-Speichermodells hinzu und bespricht unter starker Berücksichtigung des java.util.concurrent-Paketes wie moderne, parallele Java-Programme strukturiert werden könnten. Das "JCiP"-Buch fand ich einfacher zu lesen.

Tuesday, April 15, 2008

Sopra: Softwarequalität bewusst niedrig gehalten

Ich schreibe gerade an einen Artikel über das "Softwaretechnikpraktikum" an der Universität Paderborn und wollte eigentlich begründen warum ich die alte Aufgabenstellung ("Shuttle-Simulation") trotz all der Probleme besser finde als die neue Aufgabenstellung ("dSpace Systemdesk").

Dazu lese ich gerade auch den Artikel "Ein verbessertes Softwaretechnikpraktikum: Zwischen grüner Wiese und Legacy-Systemen" in dem Björn Axenath und Stefan Henkler ihre Neukonzeption beschreiben. Vielleicht muß ich mir das nochmal überlegen.
Geschockt war ich als ich laß (Hervorhebung von mir):

In den letzten Jahren wurde den Studenten der undokumentierte Code eines komplexen, verteilten Systems [die Shuttle-Simulation] gegeben. [...]
Für einen Großteil der Studenten war dies die erste Begegnung mit einem großen Softwaresystem. Da es sich um ein Legacy-System handelte, war die Qualität bewußt niedrig gehalten.
Was? Bewusst?
Das ein System mit den Jahren verkümmert, kann ich ja noch irgendwie verstehen. Die bekannte Liste "realer" Architekturtypen von Brian Foote und Joseph Yoder (Big Ball of Mud) sind gleichzeitig Zeugniss und Warnung davor. Ich bin immer davon ausgegangen, dass dies eben unabsichtlich passiert ist, weil sich niemand um die Qualität gekümmert hat. Mein Eindruck war damals, dass es am Anfang durchaus als gutes System entwickelt wurde (z.B. konnte man die Überreste eines State-Pattern finden, wenn man genau hingeguckt hat) und die Qualität aber den späteren Entwicklern stumpf egal war.

Aber ein bewußt meises System zu entwickeln und frischen Studenten vorzusetzen, ist doch so ziemlich das Schlimmste was man machen kann: Das ist Anti-Code-Reading. Und wir wundern uns über die meise Softwarekonstruktionsfähigkeiten von Absolventen. Wo sollen sie es den gelernt haben, wenn selbst im berühmten Elfenbeinturm kein "Vorbild" vorgesetzt wird?

Sopra: Softwarequalität bewusst niedrig gehalten

Ich schreibe gerade an einen Artikel über das "Softwaretechnikpraktikum" an der Universität Paderborn und wollte eigentlich begründen warum ich die alte Aufgabenstellung ("Shuttle-Simulation") trotz all der Probleme besser finde als die neue Aufgabenstellung ("dSpace Systemdesk").

Dazu lese ich gerade auch den Artikel "Ein verbessertes Softwaretechnikpraktikum: Zwischen grüner Wiese und Legacy-Systemen" in dem Björn Axenath und Stefan Henkler ihre Neukonzeption beschreiben. Vielleicht muß ich mir das nochmal überlegen.
Geschockt war ich als ich laß (Hervorhebung von mir):

In den letzten Jahren wurde den Studenten der undokumentierte Code eines komplexen, verteilten Systems [die Shuttle-Simulation] gegeben. [...]
Für einen Großteil der Studenten war dies die erste Begegnung mit einem großen Softwaresystem. Da es sich um ein Legacy-System handelte, war die Qualität bewußt niedrig gehalten.
Was? Bewusst?
Das ein System mit den Jahren verkümmert, kann ich ja noch irgendwie verstehen. Die bekannte Liste "realer" Architekturtypen von Brian Foote und Joseph Yoder (Big Ball of Mud) sind gleichzeitig Zeugniss und Warnung davor. Ich bin immer davon ausgegangen, dass dies eben unabsichtlich passiert ist, weil sich niemand um die Qualität gekümmert hat. Mein Eindruck war damals, dass es am Anfang durchaus als gutes System entwickelt wurde (z.B. konnte man die Überreste eines State-Pattern finden, wenn man genau hingeguckt hat) und die Qualität aber den späteren Entwicklern stumpf egal war.

Aber ein bewußt meises System zu entwickeln und frischen Studenten vorzusetzen, ist doch so ziemlich das Schlimmste was man machen kann: Das ist Anti-Code-Reading. Und wir wundern uns über die meise Softwarekonstruktionsfähigkeiten von Absolventen. Wo sollen sie es den gelernt haben, wenn selbst im berühmten Elfenbeinturm kein "Vorbild" vorgesetzt wird?

Monday, April 07, 2008

Die Prüfungsordnung: Vertiefungsprüfung

Wie ich schon am 1. April geschrieben habe, ist am 9. April meine Vertiefungsprüfung im Masterstudiengang.

Die Vertiefungsprüfung im Masterstudiengang, oder "Abschlussprüfung" wie sie offiziell heißt, ist ausführlich festgelegt in §14 (4) Satz 1 und 2 festgelegt Master-Prüfungsordnung:

1. drei studienbegleitenden Modulprüfungen im Vertiefungsgebiet; eins dieser Module ist in
der Regel das Modul Projektgruppe mit einer dem Vertiefungsgebiet zugeordneten
Veranstaltung (26 Leistungspunkte), die beiden anderen bzw. gegebenenfalls alle drei
Module sind Wahlpflichtmodule mit einem Umfang von 8 Leistungspunkten,
2. einer mündlichen Abschlussprüfung über die Zusammenhänge der Inhalte aus den drei
Modulen unter Nr. 1

und §19 (2)

Die Gesamtnote errechnet sich aus dem gewichteten Durchschnitt der Noten aus [cut, siehe auch]. Dabei wird abweichend von den in § 16 Abs. 4 festgelegten Leistungspunkten die Projektgruppe mit 8 Punkten, die Abschlussprüfung mit 16 Punkten und die Masterarbeit mit 50 Punkten gewichtet.

Ende! Das wars. Mehr Festlegungen gibt es nicht bzw. mehr offizielles und öffentlich festgelegtes konnte ich nicht finden. Ich bin ja durchaus gegen diese "Hochschule als Verwaltungsorgan des Landes"-artige Überreglementierung, aber dies ist schon etwas arg wenig. Für 16 ECTS-Punkte also soviel wie 4 Master-Vorlesungen ist dies sehr viel Unklarheit!

Nur wenig mehr Klarheit besteht bei dem Begriff "Vertiefung" also den Veranstaltungen deren Zusammenhang Thema der Vertiefungsprüfung ist. Wie oben zitiert wurde, besteht die Vertiefung "in der Regel" aus
- der Projektgruppe
- zwei Modulen mit insgesamt vier Veranstaltungen davon mindestens einem Seminar (§16(7)).
All diese Veranstaltungen und die Projektgruppe müssen aus dem gleichen Informatikgebiet (SWT, ESS, MUA, MMWW) kommen (§16(2)).
Diese Variante ist wohl der Standardfall. Bei mir ist dies die Projektgruppe "ORCOS", das Seminar "Rechnernetze" bei Prof. Karl, "Betriebssysteme" bei Prof. Rammig, "Architektur paralleler Rechnersysteme" bei Jens Simon und "Speichersysteme" bei Andre Brinkmann.

Wenig bekannt ist die Alternative mit drei "normalen" Modulen aus dem Vertiefungsgebiet. Das "in der Regel" kann man dann getrost vergessen. Die Projektgruppe gilt dann als normales Modul in einem der anderen Bereiche und ersetzt das normale Module dort. Wichtig, die Projektgruppe muss dann dort eingebracht werden. Der Gesamt-"Workload" bleibt der Gleiche. Zum Beispiel könnte man eine Projektgruppe im Bereich "Modele und Algorithmen" machen, nichts anderen in dem Bereich und dann "Mensch-Maschine-Wechselwirkung" als Vertiefungsgebiet wählen und dort 6 Veranstaltungen absolvieren. Das Beispiel ist arg theoretisch, denn es gibt bekanntlich (in diesem Semester) keine Projektgruppe bei den "Theoretikern".

Laut Auskunft des Prüfungssekretariats muss man selbstständig einen Termin mit zwei Prüfern aus der Gruppe der Veranstalter der Vorlesungen im Vertiefungsgebietes vereinbaren und eine gewisse Frist vorher beim PrüfSek schriftlich anmelden. Dabei soll mindestens ein Prüfer auch Professor sein.
Die Rechtsgrundlage für diese Festlegungen sind mir nicht klar. Wie ist es geregelt, wenn kein Termin organisiert werden kann? Was passiert, wenn ich in meinen Vertiefungsveranstaltungen keinen Professor gehabt habe (schwierig, aber theoretisch denkbar?). Diese Fragen sind unklar.

Die wichtigste Unklarheit bleibt der Inhalt der Prüfungen:
Zur Erinnerung: "Abschlussprüfung über die Zusammenhänge der Inhalte" ist alles wir haben. Dies ist aber auch der entscheidende Unterschied zur DPO4-Vertiefungsprüfung. Es geht (mehr) um die Zusammenhänge zwischen den Inhalten der Veranstaltungen.

Meine Empfehlung ist mit den Prüfern vorher zu sprechen. Dies ist üblich und wirklich ratsam. Mit viel Glück schränken sie den Stoffumgang auch noch etwas ein.

Eine wichtige Frage ist der Umgang mit Seminaren. Muss man "fit" in allen Seminarthemen sein, oder reicht es wenn man sein eigenes Thema kennt. Dies handhaben die Prüfer wohl jeweils anders. Auch ist nicht in dem Fall sichergestellt, dass auch jeder Teilnehmer Zugang zu allen Ausarbeitungen hat.

Wichtig ist, auch die Prüfer daran zu erinnern, dass es sich um Prüfungen im Master handelt. Prof. Karl hat mir zwar mal gesagt, dass es mittlerweile jedem Prüfer glasklar sein sollte worin der Unterschied besteht. Aber ich bin zu lange an der Uni Paderborn, um daran nicht hin und wieder meine Zweifel zu haben.

Am 9.4 um 15:30 bis 15:45 kann ich mehr berichten.

Disclaimer: Bitte in Zweifelsfällen immer nochmals bei den verantwortlichen Stellen nachfragen. Ehrlich!

Tuesday, April 01, 2008

Ein glorreicher Tag: Die Projektgruppe ist beendet

Kein Aprilscherz: Gestern abend haben wir - die Ehre für das Softwareteam wurde mir überlassen - die Abgabeversion der Projektgruppe getaggt. Die Projektgruppe ist damit beendet. Hab ich schon mal gesagt, dass ich lieber bei SmartTeams hätte mitmachen sollen?

Nein, im Ernst: Ich bin froh, dass die Projektgruppe vorbei ist. Vielleicht schreibe ich dazu mal etwas mehr. Aber nicht heute.....

Nächste Schritt: Vertiefungsprüfung am 9. April.

Google: Search tomorrow's web, today! (SPOILER)

Google Österreich hat ein neues Feature auf die Hauptseite der Suchmaschine eingebaut - gDay - Die Suchergebnisse von morgen:

The core technology that powers gDayâ„¢ is MATEâ„¢ (Machine Automated Temporal Extrapolation).
Using MATE’s™ machine learning and artificial intelligence techniques developed in Google’s Sydney offices, we can construct elements of the future.
Google spiders crawl publicly available web information and our index of historic, cached web content. Using a mashup of numerous factors such as recurrence plots, fuzzy measure analysis, online betting odds and the weather forecast from the iGoogle weather gadget, we can create a sophisticated model of what the internet will look like 24 hours from now.
We can use this technique to predict almost anything on the web – tomorrow’s share price movements, sports results or news events. Plus, using language regression analysis, Google can even predict the actual wording of blogs and newspaper columns, 24 hours before they’re written!
Das hat mich sofort an diesen H. Maurer erinnert, ein österreichischer Informatik-Professor, der schon sehr skurrile Thesen vertritt, die zu diskutieren dies aber das falsche Blog ist (und ich vielleicht der falsche Autor). Nur als Kostprobe: Er hält, laut einem GI-Artikel von letztem August, Google in unredlicher Zusammenarbeit mit Wikipedia für die mächtigste Organisation aller Zeit(!). Mächtiger als die Kirche im Mittelalter, Mächtiger als <da fällt mir noch eine ganze Menge ein>, Wow!

--- SPOILER WARNUNG---