Informatik

Es folgen alle Einträge mit dem Schlagwort Informatik.

Du kannst den RSS-Feed dieses Schlagwortes abonnieren.


Schund

23. März 2009

Ich habe gerade voller Abscheu ein Buch zerrissen: Am Anfang war die Information. Der Versuch eines Ingenieurs und Informatikers zu „beweisen“, dass Materialismus, Atheismus, Evolution und alles andere Teufelszeug Unsinn sind. Dabei tarnt sich das Buch in einem halbwegs seriös-rationalen Gewand. Und gerade weil es von einem Informatiker ist, hat man mir es zukommen lassen. Ich habe natürlich auch reingelesen. Der Autor hat mich dann aber mit solchen Perlen beglückt:

Die höchste Stufe der Erkenntnis liegt vor, wenn für einen Sachverhalt Inhalt und Formulierung vom Schöpfer selbst stammen. Die einzige Quelle, für die das zutrifft, ist die Bibel.

Amen Bruder. Wenn Fundamentalismen wissenschaftliche Methodik vortäuschen…


Wolfram Alpha ist keine Suchmaschine

10. März 2009

Wolfram Alpha ist ein gutes Beispiel für eine gehypte Sache, von der niemand so richtig weiß, was sie überhaupt ist, was sie kann und wie sie funktioniert. Die einen reden von einer „semantischen Websuche“; und andere bereiten sich sicher schon darauf vor, den Weltuntergang durch verrückte, hochintelligente Maschinen zu predigen. Wolfram Alpha bekommt derweil viel Werbung, ohne dass öffentliche Demos gezeigt oder konkrete technische Dokumente veröffentlicht wurden. Es gibt nur vereinzelte Berichte über private Demos.

Man kann Wolfram Alpha grob als ein Software-System beschreiben, das Wissen und Algorithmen auf Grundlage eines sehr allgemeinen Modells miteinander in Verbindung setzt. Bei dem Wissen kann es sich z.B. um statistische Daten eines Landes halten; bei einem der Algorithmen z.B. um die Vorgehensweise, wie man aus diesen Daten das Bruttosozialprodukt berechnet. Wolfram Alpha versucht, die Relation zwischen Informationen und Algorithmen möglichst allgemein zu modellieren, sodass auf Grundlage dieses Modells Faktenwissen aus Daten berechnet werden kann. Als Benutzerinterface dient ein Parser, der aus einer in natürlicher Sprache formulierten Frage die benötigten Daten und Algorithmen ableitet.

Das klingt sehr interessant und nach einer Menge Aufwand. Aber es ist keine Suchmaschine. Soweit ich es verstanden habe, muss der Daten- und Algorithmenbestand von Wolfram Alpha von Menschen gepflegt werden. Damit kann das System auch nur solche Fragen behandeln, für die ihm bereits Daten und Algorithmen eingepflegt wurden. Die konkrete Semantik der Daten und der Algorithmen muss dabei von Menschen verwaltet werden.

Wolfram Alpha ist damit eine Art gemanagte Enzyklopädie mit einem enorm flexiblen Userinterface. Es durchsucht aber nicht auf eigene Faust das Web und extrahiert Wissen. Für eine automatische Indizierung und Suche des Webs wird man immer noch Google & Co zu Rate ziehen müssen.

(Ich frage mich übrigens, wie viele Leute als erste Frage „Answer to Life, the Universe, and Everything?“ eingeben werden.)


Das „Fiction“ in Science-Fiction

21. Januar 2009

Nie vergessen: Science-Fiction ist immer noch eben Fiktion. Und gerade in unserer Zeit, in der Technologie und Wissenschaft immer komplexer werden, ist Science-Fiktion oft oberflächlich, übertrieben und schlicht und ergreifend falsch. Eben hauptsächlich Unterhaltung. Umso vorsichtiger sollte man sein, wenn Schriftsteller ohne technisches und naturwissenschaftliches Fachwissen über die Zukunft fantasieren.

Das war der Sicherheitshinweis, jetzt der eigentliche Text: Susan Blackmore – Psychologin, Parapsychologin(!) und Schriftstellerin – malt sich bei SpON eine düstere Zukunft aus, in der Maschinen zu Replikatoren geworden sind. Also zu Objekten, die sich selbstständig erhalten und vervielfältigen können. Auf solche Maschinen würde der Mechanismus der Evolution greifen können, so wie beim biologischen Leben. Natürlich führe das für uns jämmerliche Menschen direkt ins Armageddon des Aussterbens durch Verdrängung. (Immerhin gibt es den T800 und John Connor nur in Hollywood…)

Nanotechnologie und selbst-reparierende Serversoftware ist natürlich ein deutliches erstes Zeichen dieser dramatischen Entwicklung…

Marvin

Life? Don't talk to me about life!

Das ist natürlich Unsinn. Dieses naive Technikbild ist soziologisch bekannt und entsteht aus der Projektion vertrauter Eigenschaften auf eine Technik, die oberflächlich wie etwas Bekanntes erscheint. Nanotechnologie erinnert z.B. an Viren. Sich reparierende Software an einen heilenden Organismus, und so weiter. Das funktioniert prima, solange man Technik als Blackbox begreift. Intern funktionieren die Sachen natürlich völlig anders.

Künstliche Intelligenz z.B. ist nur eine Methapher für eine Familie algorithmischer Problemlösungen. Von einer echten künstlichen Intelligenz, die im Sinne menschlicher Intelligenz zu verstehen ist, sind wir absurd weit entfernt. Wie sollten wir auch anders, wenn wir noch nichtmal unsere eigene Intelligenz völlig verstehen. (Manche sagen, da gäbe es nichts zu verstehen.) Ebenso sind wir absurd weit davon entfernt, biologische Organismen mechanisch nachzuahmen. Blackmore überstrapaziert hier das Evolutionsmodell.

Wenn man kein Spielverderber sein will, kann man die künstliche Intelligenz beiseite lassen und sich technische Replikatoren vorstellen, die sich ohne Intelligenz, sondern nur durch zufällige Variationen und einen Selektionsmechanismus entwickeln. Beim Leben hat diese Evolution über einen gigantischen Zeitraum gewirkt. Bei technischen Replikatoren wäre das kaum anders. Für Blackmore sieht die Sache natürlich viel dramatischer aus.

Wir wären dann entbehrlich. Damit würde sich wirklich alles verändern.

Aber Science-Fiction-Autoren hatten ja schon immer Freude an Weltuntergangs-Fantasien.


Warum wir Software Metriken doch brauchen…

7. August 2008

Ich stehe Software Metriken ja eher kritisch gegenüber. Zum einen wegen des breiten Interpretationsspielraumes – ein allgemeines Problem von Statistiken – zum anderen, weil es keinen wirklichen Konsens über eindeutige Qualitätsmerkmale von Software gibt, die auch noch pragmatisch vernünftig, also ohne enormen Aufwand zu ermitteln sind. Man sollte vorsichtig sein, wenn man sich von Metriken leiten lassen will.

Man braucht sie aber trotzdem. Weniger für den Entwickler, als vielmehr für den Kunden.

Ein großes Problem für Kunden von Softwareentwicklern, die selbst nicht vom Fach kommen, ist die Bewertung der Qualität von Software. Gerade Laien kann man wirklich jeden Mist unterjubeln, ohne dass sie die Möglichkeit haben, die Qualität zu verifizieren. Bei einem Haus z.B. kann man als Bauherr wenigstens hingehen und daran rütteln, um seine Stabilität zu untersuchen. Bei einem immateriellen Produkt wie Software ist das weitaus schwieriger.

Einfache Software-Metriken könnten da vielleicht ein wenig Abhilfe leisten. Zumindest könnten sie die Wahrnehmung des Themas beim Kunden schärfen.

Bestes Beispiel sind die Produkte von Webentwicklern, deren Qualität mit “minderwertig” viel zu oft noch schmeichelhaft beschrieben ist – sogar wenn man sich Websites großer Firmen anschaut. Technische Qualität, Usability, Validität. Man will nicht wissen, ob und wenn doch wo die Enwickler ihr Handwerk gelernt haben.

Gestern z.B. habe ich mich über praktisch alle Websites bekannter, Deutscher Automobilhersteller aufgeregt. Heute bin ich über dieses, wirklich gruseliges Beispiel gestolpert.

Das ist einfach nur unfassbare Inkompetenz. Das ist so, als würde BMW seine Bremsblöcke von einem Kaugummi-Hersteller beziehen.


All you need is love

6. August 2008

Writing applications without tests makes you a bad person, incapable of love.

Schreibt Obie Fernandez in seinem Buch “The Rails Way”.

Natürlich hat er Recht. Man muss schon wirklich eine bößartige Natur haben, ungetesteten Code ins Repository zu commiten und damit dem Rest des Teams, das auf das definierte Verhalten fremden Codes vertraut, den Feierabend zu versauen.

Komischerweise testet trotzdem niemand. Ich habe für einen Vortrag über Software Metriken für Ruby ein Open Source Rails-Projekt gesucht, das ich für die Demo von metric_fu verwenden kann. Und ich habe kein einziges mit anständigen Tests für die Code-Coverage-Metrik gefunden. Die von Rails automatisch angelegten Tests-Skeletons sollten per Default fehlschlagen, bis der Entwickler sie mit sinnvollem Testcode füllt. Sonst kümmert sich scheinbar eh niemand drum.

All you need is love.