Burkhard Wald – IT@UDE https://blogs.uni-due.de/zim ZIM - Wissen schafft IT Mon, 02 Jan 2017 14:15:02 +0000 de hourly 1 https://wordpress.org/?v=6.7 Leseempfehlungen zur Künstlichen Intelligenz, Teil 3 https://blogs.uni-due.de/zim/2017/01/02/leseempfehlungen-zur-kuenstlichen-intelligenz-teil-3/ Mon, 02 Jan 2017 14:15:02 +0000 https://blogs.uni-due.de/zim/?p=2344 Weiterlesen ]]> In diesem 3. Teil soll es um künstliche neueronale Netze (WP) gehen, eine Technologie, die zur Zeit sehr angesagt ist, wenn es darum geht, Computersysteme intelligenter zu machen oder sich computertechnisch neuen Herausforderungen zu stellen. Wieder ist es natürlich fraglich, wie weit man hier von der Intelligenz eines Computersystems (also einer Maschine) reden kann. Auf jeden Fall geht es um Fähigkeiten und Tätigkeiten die man mit Intelligenz in Verbindung bringt, solange sie ein Mensch besitzt bzw. ausführt. Vorbild für künstliche neuronale Netze ist das Netz aus Neuronen und Verbindungen in den Gehirnen (WP) von Mensch und Tier. Für die IT-Welt sind künstliche neuronale Netze Maschinenmodelle wie die Vector Support Machine die wir im 2. Teil kennen gelernt haben. Sie werden auch im gleichen Kontext und in der gleichen Art eingesetzt. Alles, was wir also schon über Data-Science und maschinelles Lernen (Trainieren) gelesen haben, bezieht sich auch auf künstliche neuronale Netze. Ob mit künstlichen neuronalen Netzen die Vorgänge in Gehirnen von Lebewesen nachgebildet werden ist für IT-Anwendungen zweitrangig.

Wir wollen einen kleinen Abstecher machen, denn es gibt auch Forscher, die gerade das Gehirn als ihr Fachgebiet haben und die sind natürlich daran interessiert mit künstlichen neuronalen Netzen wirkliche Vorgänge in Gehirnen zu simulieren. In diesem Zusammenhang sollte man zwei neurowissenschaftliche Großprojekte nennen: das Human Brain Project der EU und das Brain Activity Map Project der USA. 2014 bekamen die Neurowissenschaftler John O’Keefe , May-Britt Moser und Edvard Moser für Erkenntnisse über Bereiche in Gehirnen, die auf räumliches Orientieren spezialisiert sind, den Nobelpreis für Medizin. Hier ist ein Abstract des Vortrags „Grid cells and our sense of space“ , den Edvars Moser November 2016 auf einer Mathematiktagung in Trondheim (Norwegen) gehalten hat. Das Ehepaar Moser lehrt und forscht an der Universität in Trondheim.

Um jetzt auf die künstlichen neuronalen Netzen einzugehen, lassen wir als erstes Jürgen Schmidhuber (WP) zu Wort kommen, einer der führenden KI-Forscher in Deutschland. In dem Zeit-Artikel „Eine Maschine, klüger als der Mensch“ schreibt er über sich und seine Forschung. Einen sehr guten Überblick über künstliche neuronale Netze bekommt man durch einen Online-Kurs von Günter Daniel Rey und Fabian Beck , der z.Z. eine Juniorprofessur an der Universität Duisburg Essen hat. Viel detaillierter behandelt David Kriesel das Thema in einem Skript das man auf seiner Home-Page findet. Kriesel ist durch seine vielbeachteten Vorträge auf dem Chaos Communication Congress (WP) bekannt. Interessierte Laien wird sein Skript zu technisch und zu mathematisch sein, doch das erste Kapitel „Einleitung, Motivation und Geschichte“ ist auch für sie zu empfehlen. David Kriesel bietet auf seiner Site auch eine Software-Bibliothek mit dem Namen SNIPE (Scalable and Generalized Neural Information Processing Engine) an, welches ein Java-Framework für neuronale Netze ist. Das Skript nimmt zum Teil Bezug darauf.

Man beachte den Unterschied zwischen den in gewisser Weise einfachen sogenannten Feedforward-Netzen und den rückgekoppelten Netzen. Bei den Feedforward-Netzen sind die Neuronen in Schichten organisiert und die Verbindungen gehen immer nur von einer Schicht zu der darauf folgenden Schicht und nie zurück. Das Netz wird so verwendet, dass man die Eingabeneuronen jeweils mit einem Wert belegt und dann die Werte der Ausgabeneuronen ausliest. Ändert man die Eingabewerte, so muss man das als ein neues vom vorherigen unabhängiges Experiment ansehen. Ein typischer Einsatzbereich solcher Netze ist die Bildanalyse, wenn jedes Bild unabhängig ist und keinen Bezug zum Vorgänger hat.

Bei den rückgekoppelten Netzen geht man von sich taktweise verändernden Eingabedaten aus. Man muss sich das dann so vorstellen, dass die rückgekoppelten Daten auf die neuen Daten des Folgetaktes treffen. Als typisches Anwendungsfeld denke man Spracheverarbeitung. In den rückgekoppelten Netzen hat man also in jedem Takt eine Erinnerung an den vorhergehenden Takt.

1997 kamen Jürgen Schmidhuber und sein Schüler Sepp Hochreiter (WP:en) zu einem Konzept, wie man in einem rückgekoppelten Netz eine Erinnerung (s.o.) länger aufbewahren kann, um sie später verwenden zu können. Dieses Konzept nannten sie Long short-term memory (WP) also langes Kurzzeitgedächnis. Die Abkürzung ist LSTM. Es dauerte aber noch etwa 10 Jahre, bis die LSTM-Netze den Weg aus dem Elfenbeinturm der Wissenschaft in die IT-Praxis gefunden haben. Hören wir Jürgen Schmidhuber in einem Vortrag . Wer eine technische Einführung in LSTM-Netze sucht, kann „Understanding LSTM Networks“ von Christopher Olah lesen.

Kommen wir jetzt noch zu den Chancen und Risiken der künstlichen Intelligenz. Einen guten Überblick gibt dieses Diskussionspapier der Stifftung für Effektiven Altruismus . Dort werden auch die Themen Superintelligenz (WP) und Bewusstsein (WP) angesprochen. Zu Superintelligenz lese man dieses Interview in der Zeit mit Nick Bostrom oder man lese Bostroms bei Suhrkamp erschienenes Buch „Superintelligenz. Szenarien einer kommenden Revolution“. Bezüglich Bewusstsein stellt sich die Frage, ob Maschinen so etwas wie Bewusstsein überhaupt haben können, sowie die damit verknüpfte Frage, wie Neurowissenschaftler Bewusstsein erklären. Ich empfehle diese beiden Artikel vom Zeit-Autor Ulrich Schnabel (WP) : „Haben Maschinen Bewußtsein?“ von 1997 und „Was ist das Ich?“ von 2012.

 

]]>
Leseempfehlungen zur Künstlichen Intelligenz, Teil 2 https://blogs.uni-due.de/zim/2016/12/27/leseempfehlungen-zur-kuenstlichen-intelligenz-teil-2/ Tue, 27 Dec 2016 10:18:40 +0000 https://blogs.uni-due.de/zim/?p=2338 Weiterlesen ]]> Die Schachsache, mit der wir den ersten Teil unserer Leselinkliste (LLL) beendet haben, markiert einen Umbruch in KI-Entwicklung. Auf der einen Seite hatte man einen gesetzten Meilenstein nun endlich erreicht (nach etwa 40 Jahren). Doch dieses Ereignis war nicht der Durchbruch, wie man sich das erhofft hatte. Eher war es der Abschluss einer Entwicklung. Nach den Enttäuschungen über den General Problem Solver (WP) hatte man sich auf die Lösung einzelner konkreter Aufgaben konzentriert. Nun endlich hatte man das Gefühl, das man alles,was man verstanden hatte, auch auf eine Maschine abbilden kann. Und darüber hinaus sagte man sogar, etwas zu verstehen bedeutet, es programmieren zu können. Mit anderen Worten, wenn ich nicht weiß, wie ich einem Computer eine gewisse Sache beibringen kann, habe ich diese Sache noch nicht richtig verstanden.

In diesem Bereich gibt es noch viel Luft nach oben. Das sind Sachen, die wir noch nicht so gut hinbekommen, weil wir sie einfach noch nicht so gut verstanden haben. „Digitalisierung“ ist ein Schlagwort, das man heute oft hört. Dabei geht es darum, dass heute immer mehr Dinge computertechnisch abgewickelt werden. Das liegt aber meistens nicht daran, dass wir die Comuputer immer intelligenter machen, sondern daran, dass wir immer besser verstehen wie gewisse Dinge in unsere Gesellschaft funktionieren und wie man das elektronisch umsetzen kann. (Vieles haben wir auch schon verstanden aber noch nicht umgesetzt.)

Der Leser, der sich für das Thema Künstliche Intelligenz (WP) interessiert (also mein Leser) sollte ein Grundverständnis darüber haben, wie ein Computer (WP) funktioniert und wie er programmiert (WP) wird. Etwa so, wie er auch weiß, wie eine Fernsehsendung produziert wird, wie sie übertragen wird und schließlich wie die Sendung durch den Fernseher wieder sichtbar gemacht wird. Ok, die Kathodenstrahlröhre (WP) war gestern, aber ich denke der Leser kann sich etwas unter einem „Pixel“ vorstellen und weiß, dass „Kabel Eins“ kein Kabel ist. Was ist also ein Computer und wie funktioniert er? Ein grobes Schema formuliert die sogenannte von Neumann Architektur (WP) . Und wie bringen wir den Computer dazu, uns Arbeit abzunehmen? Hierzu lese man etwas über die Grundkonzepte höherer Programmiersprachen (WP) . Dazu gehören z.B. Variablen (WP) , Verzweigungen (WP) und Schleifen (WP) .

Heute ist die Objektorientierte Programmierung (OOP) (WP) sehr verbreitet, bei welcher Daten und Funktionalitäten auf kleine Einheiten (die Objekte) verteilt werden. Der Programmierer schafft in einem ersten Schritt eine anwendungsbezogene Abstraktionsebene, in dem er das Schema der Objekte entwirft. In einem zweiten Schritt werden dann Instanzen dieser Objekte (oft sehr viele Instanzen) mit einander vernetzt und die Instanzen treten in Interaktion miteinander. So entwickeln die Instanzen ein gewisses Eigenleben und im Computer entsteht eine simulierte Welt in der Akteure aufeinander treffen. Computerspiele sind der Paradefall für die objektorientierte Programmierung.

An dieser Stelle empfehle ich meinen Artikel „Mit SVG und Javascript richtigen Strom erzeugen – eine grafische Animation des einschrittigen Übertrages nach Howard Aiken und Konrad Zuse.“ In dem Artikel, sieht man wie man auf einem „Schaltplan“ Instanzen von Objekten wie „Schalter“ und „Verbindungen“ platziert. Das Konzept, das hinter den Objekten steht ist in diesem Javascript-Programm definiert, welches ich ausführlich kommentiert habe.

Dies sollte zeigen, wie der Computer dann doch noch zu einem „General Problem Solver“ geworden ist. Andererseits sind auch die Grenzen dieser Art von künstlicher Intelligenz in den 90-er Jahren deutlich geworden. Die Erfolge der letzten Jahre bei der Weiterentwicklung der Künstlichen Intelligenz (etwa seit 2008) sind weitgehend einer ganz anderen Herangehensweise zu verdanken. Stichworte dazu sind Data-Science , Künstliche Neuronale Netze und Maschinelles Lernen . Mein Anliegen ist es, zu zeigen, dass man mit wenigen Grundkenntnissen (Grundlagen des Programmierens und Grundlagen der höheren Mathematik ) in der Lage ist, auch die in dieser Art der KI eingesetzten Methoden im Grundsatz verstehen zu können.

Data-Science ist ein sehr weitreichender Begriff. In Bezug auf Künstliche Intelligenz geht es darum, in komplexen Daten ein Schema zu erkennen, aus der eine Bedeutung erschlossen werden kann. Zum Beispiel wird ein Bild im Computer durch mehrere Millionen einzelner Zahlenwerte dargestellt, die die Farbwerte der Bildpixel repräsentieren. Wie kann man daraus die Bedeutung des Bildes ableiten? Um sich langsam dem Thema zu näher, kann man als Erstes den Artikel „Niemand hat die Absicht eine …“ von Peter Stahl über statistische Datenanalyse lesen. Sein Team-Kollege Steffen Wittkamp zeigt dann im gleichen Blog wie man als Programmierer erste Erfahrungen mit Bilderkennung sammeln kann: „Machine Learning – ein Appetizer!“ . Als Methode wird hier eine sogenannte Support Vector Machine (WP) einer frei verfügbaren Programmsammlung als Black-Box verwendet.

Auch der Zeit-Autor Andreas Loos fragte sich, ob man in einer Woche eine künstliche Intelligenz erschaffen kann. Sein Artikel „Mein Bot und ich“ ist in der Zeit-Online-Serie Maschinenraum erschienen, die sich seit September 2016 dem Thema KI widmet.

Doch KI ist nicht nur etwas für Jungs. Fast hätte ich zu diesem Schluss kommen müssen. Doch dann habe ich Olivia Klose von Microsoft Germany entdeckt. Sie bezeichnet sich selbst als Technologie-Evangelistin. Sie will also (oder sie hat den Auftrag dazu) die neuen (auch von Microsoft entwickelten) KI-Technologien gewissermaßen unter das Volk bringen und dafür werben. In ihrem Blog erklärt Olivia Grundlagen des maschinellen Lernens zum Teil in deutsch und auch als Videos. Die Leserin, die sich bereits als Fachfrau in unserem Thema sieht, sei noch auf diese Konferenz im Juli 2017 hingewiesen: „Women in Data Science and Mathematics Research Collaboration Workshop“.

Kommen wir jetzt nochmal auf die Support Vektor Maschine zurück, die Steffen eingesetzt hat. Hier wird ein digitales Bild als ein einziger Punkt in einem hoch dimensionalen Raum aufgefasst. Die Idee dieser Methode ist es, dass alle Punkte mit einer speziellen Bedeutung (Bild mit Lastwagen) in einem speziellen Bereich des Raumes liegen und diejenigen Punkte mit der gegensätzlichen Bedeutung (Bild ohne Lastwagen) in einem anderem Bereich. Man sucht dann nach einer mathematischen Formel, die einen Punkt des Raumes in eine einzige Zahl verwandelt. Ist die berechne Zahl für die Datenwerte eines Bildes dann größer als Null, schließt man auf ein gewisse Bedeutung des Bildes. Ist die Zahl kleiner als Null, liegt die gegenteilige Bedeutung vor. Die Punkte des Raumes, wo die berechnete Zahl genau Null ist, bilden dann eine Fläche, die die beiden Bedeutungen von einander trennt.

Das Problem besteht darin, diese magische Formel zu finden, die als Entscheidungsinstanz geeignet ist. Die Herangehensweise ist immer so, dass man eine Kollektion von Beispieldatensätzen haben muss, bei denen das gewünschte Ergebnis bereits vorliegt. Mit diesen Datensätzen „trainiert“ man die Support Vector Machine. Bei diesem Vorgang werden Parameter der Maschine, die in die gesuchte Formel als Konstanten eingehen, in einer systematischen Weise immer wieder verändert, bis die Maschine (also die Formel) für die gegebenen Beispiele das gewünschte Ergebnis liefert. Daher spricht man von einer „lernenden Maschine“. Der Erfolg dieses Lernprozesses ist aber nicht garantiert. Daher sollte man eine zweite Kollektion von Beispieldatensätzen haben. Auf diese wendet man die trainierte Maschine an und schaut, wie oft die Maschine mit ihrer Bewertung richtig liegt. Ist das Ergebnis nicht zufriedenstellend, so muss man noch nicht gleich verzagen, denn es gibt die SVM in verschiedenen Varianten und sie haben auch noch zwei Stellschrauben (in der Literatur meist c und N genannt). Man muss also ein bisschen herumprobieren, bis man etwas trainieren konnte, was dann auch funktioniert. Man darf darüber dann aber keine falsche Vorstellung haben. Wenn es funktioniert, funktioniert es, weil man es gesehen hat, dass es funktioniert und nicht weil man Erkenntnisse über Zusammenhänge gewonnen hat.

Hier ist eine Einführung „Basics of support vector machines“ in der es eine kleine Inline-Applikation gibt, mit der man etwas herumspielen kann. Die Einstellung „linear“ ist die Grundvariante einer SVM, bei der man versucht, die Entscheidungsfunktions als eine lineare Funktion zu realisieren. Die Trennfläche (s.o.) ist dann ein Hyperenbene (WP) . Die anderen Varianten entstehen dadurch, dass man den Grundraum in einen höher dimensionalen Raum hineinbiegt und dort wieder das lineare Grundverfahren anwendet. In diesem Video wird das veranschaulicht, in dem ein 2-dimensionaler Raum in einem 3-dimensionalen hineingebogen wird. Dort lassen sich dann die roten Punkte von den blauen Punkten durch eine Ebene von einander abtrennen. Bringt man diese Trennung zurück in den Originalraum hat man eine elliptische Trennkurve.

In einen 3. Teil dieser Artikelreihe werden wir erläutern, was „künstliche neuronale Netze“ sind.

]]>
Leseempfehlungen zur Künstlichen Intelligenz, Teil 1 https://blogs.uni-due.de/zim/2016/12/11/leseempfehlungen-zur-kuenstlichen-intelligenz-teil-1/ Sun, 11 Dec 2016 21:56:22 +0000 https://blogs.uni-due.de/zim/?p=2330 Weiterlesen ]]> Wie ich es versprochen habe, publiziere ich hier eine kleine Nachleseliste zu meinem Vortrag über Künstliche Intelligenz (WP) bei der Vortragreihe der Initiative Lebenslanges Lernen an der Universität Duisburg – Essen . Ich setze immer den Zusatz WP in Klammern hinter einen Link, wenn es sich um einen Link zu Wikipedia handelt. Dann kann man den Link auch ignorieren, denn Begriffe bei Wikipedia nachzuschlagen ist ja heute Standard. Vielleicht ist es aber trotzdem hilfreich hier einfach nur einen Mausklick (WP) machen zu müssen.

Wer kann uns zum Thema Künstliche Intelligenz etwas sagen? Rufen wir als ersten Ramon Llull (WP) auf, den mallorquinischen Philosophen und Logiker aus dem Mittelalter, der natürlich Mönch war. Er gilt als einer der ersten, der über eine logischen Maschine (WP) nachdachte. Sehr ausführlich hat sich Martin Gardner (WP) in Logic Machines and Diagrams (1958) mit den Ideen von Llull auseinandergesetzt.

Als nächstes ist der Universalwissenschaftler Gottfried Wilhelm Leibniz (WP) zu nennen, der Rechenmaschinen mit einem Walzenmechanismus erfand, aber auch (zumindest theoretisch) das Rechnen mit Null und Eins (WP). Da Leibniz sich auch mit Psychologie befasste, liegt es nahe ihn auch zum Thema Künstliche Intelligenz zu befragen. Ich empfehle den Zeit-Artikel Er wollte die Welt mit Intelligenz in den Griff bekommen von Gero von Randow (WP) zum 300-sten Todestags von Leibniz zu lesen.

Richtig los ging es mit der KI durch die Dartmouth Conference (WP) von 1956, die den Titel „Dartmouth Summer Research Project on Artificial Intelligence“ hatte. Die Initiatoren waren John McCarthy (WP) vom Dartmouth College, Marvin Minsky (WP) von der Harvard University, Nathaniel Rochester (WP) von IBM und Claude Shannon (WP) von den Bell Telephone Laboratories. Ich verlinke hier auf den 1955 gestellten Förderantrag .

1957 entwickelten Herbert Alexander Simon (WP) (1978 erhielt er den Wirtschaftsnobelpreis) und Allen Newell (WP) (damals bei der RAND_Corporation (WP) )ein Programm, das sie General Problem Solver (WP) nannten.

ELIZA (WP) ist ein Programm das Joseph Weizenbaum (WP) 1966 entwickelte und in der Lage ist, über Tastatureingaben mit einem Benutzer einen Dialog in natürlicher Sprache zu führen. Dabei nimmt ELIZA die Rolle eines Psychotherapeuten ein. Hier ist Weizenbaums Artikel ELIZA – A Computer Program For the Study of Natural Language Communication Between Man And Machine . Weizenbaum hat sich auch immer wieder kritisch geäußert und hat vor einer übertriebenen Technikgläubigkeit gewarnt. 2007, ein Jahr vor seinem Tod hat der 84-jährige Weizenbaum bei einem „Tag der Informatik“ an der Universität Erlangen Nürnberg gesprochen. Nichts für Hastige aber lohnenswert ist es, sich die Aufzeichnung des Gespräches (in deutscher Sprache) anzusehen.

Zurück zu ELIZA. Hier noch ein aktueller Artikel zum 50-sten Geburtstag: Das sagten Sie bereits . Der Autor Ulrich Woelk ist Physiker und Schriftsteller. Wer einmal mit ELIZA sprechen will, kann es auf www.med-ai.com tun (deutsche Version). ELIZA muss man in Zusammenhang mit dem sogenannten Turing-Test (WP) sehen, der 1950 von Alan Turing (WP) formuliert wurde und ein Vorschlag ist, zu bewerten, ob eine Maschine eine Intelligenz besitzt, die mit der Intelligenz des Menschen vergleichbar ist. In dem Artikel Ein Trickser namens Eugene Goostman von Eike Kühl wird über ein entsprechendes Experiment von 2014 geschrieben.

Zu Alan Turing sollte man noch ein paar Worte sagen. Chronologisch hätte man noch vor der Dartmoith Conference auf Turing eingehen müssen, denn er starb 1954 und gilt als Wegbereiter der KI-Forschung. Ihm gelang es 1936 mit Hilfe einer theoretischen Maschine (die man heute Turingmaschine (WP) nennt) den Begriff der Berechenbarkeit (WP) mathematisch zu definieren. Das damit verbundene Entscheidungsproblem (WP) steht in engem Zusammenhang mit den Gödelschen Unvollständigkeitssätzen (WP) , die besagen, dass eine nach strikten Regeln aufgebaute Mathematik immer unvollständig bleiben muss. Als weiteres muss Turings Beitrag zur Kryptographie (WP) erwähnt werden, denn er war in Bletchley Park wesentlich an der Entschlüsselung deutscher Funksprüche beteiligt. 1943 kam dort auch einer der ersten Röhren-Computer zum Einsatz.

Im Online-Archiv der Wochenzeitschrift „Die Zeit“ habe ich nach dem ersten Artikel zum Thema Künstliche Intelligenz gesucht. Ich habe Das Märchen vom klugen Roboter aus dem Jahr 1966 von Thomas von Randow (WP) gefunden. von Randow ist den Zeit-Lesern auch als Autor von Logeleien unter dem Pseudonym Zweistein bekannt und manche erinnern sich vielleicht noch an die WDR-Sendung Kopf um Kopf (WP) , bei der er beteiligt war.

Einen Computer zu bauen, der dem Menschen beim Schachspiel überlegen ist, galt als Herausforderung in der KI-Forschung. 1966 kritisiert Thomas von Randow in dem erwähnten Artikel, wie schlecht die Schachprogramme noch seien. Erst 1996 gelinkt es dem System Deep Blue (WP) von IBM den damaligen Schachweltmeister Kaspasrow in einem einzelnen Spiel zu schlagen, doch Kasparow gewann das Match. In einem zweiten Match 1997 gewann aber die Maschine. Zum Nachlesen empfehle ich den Artikel Schachweltmeister Garri Kasparow tritt zum zweiten Mal gegen den IBM-Schachcomputer Deep Blue an der vor dem zweiten Match erschienen ist. Interessant ist der Artikel, weil die Aspekte „extreme Hardwareleistung“ und „intelligente Programmierung“ gegenübergestellt werden. Der Autor Klaus Manhart ist Lesern von Computer-Magazinen als Erklären aktueller Entwicklungen bekannt.

Wir machen nun eine Cut und verweisen den geneigten Leser auf einen Teil 2 an gleicher Stelle, der etwa in 14 Tagen kommen wird.

Auch möchte ist nochmal auf unseren ZIM-Talk hinweisen. Der nächste Vortrag „Künstliche Intelligenz – mehr als ein Oxymoron ?“ wird Dienstag 20.12.2016 sein.

Jetzt noch zwei Bonus-Links für Auge und Ohr. Welche Farbe hat wohl Künstliche Intelligenz? Google weiß es: weitgehend ist es die Farbe Blau . Und wie hört sich Künstliche Intelligenz an? Nein, fragen wir anders. Wie hat die deutsche Schlagerwelt der 60-ziger Jahre unser Thema verarbeitet? Nachbarland Frankreich war behilflich. Die Französin France Gall singt: … und nur darum ist das so … .

]]>
Mit SVG und Javascript richtigen Strom erzeugen – eine grafische Animation des einschrittigen Übertrages nach Howard Aiken und Konrad Zuse. https://blogs.uni-due.de/zim/2014/06/03/mit-svg-und-javascript-richtigen-strom-erzeugen-eine-grafische-animation-des-einschrittigen-uebertrages-nach-howard-aiken-und-konrad-zuse-4/ Tue, 03 Jun 2014 21:05:21 +0000 https://blogs.uni-due.de/zim/?p=2044 Weiterlesen ]]> Da am Ende etwas Buntes und Bewegliches herausgekommen ist, zeige ich es zuerst.

[iframe src=“https://www.uni-due.de/zim/burkhard.wald/svg2014/aiken6.svg“]

Die Herausforderung bestand darin, die grafischen Objekte mit elektrischen Eigenschaften zu versehen. Die Objekte sollen selbst wissen, ob sie sich berühren und sollen unter sich aushandeln, ob „Strom“ vom einem Objekt zu anderen übergeben werden soll. Und die Schaltelemente sollten natürlich im Bild anklickbar sein.

Am besten an dieser Stelle sollte ich mich entschuldigen, für die Möglichkeit, dass Sie als Leser und Betrachter das alles doch nicht so sehen und wahrnehmen, wie ich es mir gedacht habe. „Die Welt ist im Wandel“ könnte man mit der Elbenfürstin Galadriel aus der Tolkien-Welt sagen. In der Internet- und „Browser-Welt“ entstehen ständig neue Konzepte und Standards, die sich durchsetzen oder wieder im Nichts verschwinden. (Oder sie parken für einige Jahre oder Jahrzehnte in einer Warteschleife.) Um am Puls der Zeit zu sein, muss man daher immer die aktuellen Versionen der Web-Browser installiert haben. Mit meinem Artikel nutze ich ein Konzept und erzeuge zugleich eine Nachfrage nach der Unterstützung dieses Konzeptes.

Zunächst möchte ich aber erläutern, was die Zeichnung darstellt. Es geht um das maschinelle Addieren von Binärzahlen. Im Prinzip gehen Addiermaschinen – seien es mechanische, elektromechanische oder elektronische – ähnlich vor, wie wir es auch vom schriftlichen Addieren her kennen. Man stellt die Zahlen in einem sogenannten Stellenwertsystem dar, addiert dann zunächst die einzelnen „Stellen“ und muss eventuell noch pro „Stelle“ einen „Übertrag“ verarbeiten. Das ist unabhängig davon, ob man im Dezimalsystem, im Binärsystem oder in Hexadezimalsystem rechnet.

Schon die ersten Rechenmaschinen aus dem 17. Jahrhundert, die mit rotierenden Zahlenscheiben arbeiteten, brauchten eine besondere Vorkehrung um den Übertrag an die nächste Scheibe weiterzureichen. Eine besondere Schwierigkeit besteht in Situationen, wo ein Übertrag in einer Stelle, auch in der nächsten Stelle wieder einen Übertrag erzeugt. Nehmen wir z.B. die Addition 999999 + 1. Muss der Automat sich für diese Aufgabe mit den Überträgen von Stelle zu Stelle durchhangeln, oder kann er das in einem einzelnen Arbeitstakt bewerkstelligen?

Auch Howard Aiken und Konrad Zuse standen in der Mitte des letzten Jahrhunderts vor diesem Problem, als sie die ersten Computer konstruierten.

Der dargestellte Schaltplan geht auf Aiken zurück und ist dem Kapitel „Zuse, Aiken und der einschrittige Übertrag“ des Buches „Historische Notizen zur Informatik“ von Friedrich L. Bauer (ISBN: 978-3-540-85789-1) entnommen. Wir sehen die Addierschaltung für eine einzelne Stelle im Binärsystem. Es werden zwei Binärzahlen a und b addiert, die hier durch zwei Schaltergruppen a und b über Relais gesteuert werden. Die Relais sind auf der rechten Seite dargestellt. Am Anfang erhalten sie das Signal 0. Durch klicken auf die 0 wird zum Wert 1 umgeschaltet. Dann zieht das entsprechende Relais an. Außerdem kommt von rechts der Übertrag von der vorhergehenden Stelle des Binärsystems. Der Übertrag erfolgt in zwei Leitungen: Die untere ist genau dann stromführend, wenn ein Übertrag ankommt, und die obere genau dann, wenn kein Übertrag ankommt. Mit dem Schalter U kann man im Bild den Übertrag ein- und ausschalten. Dieser Schalter gehört nicht wirklich zu der Schaltung, die wir darstellen wollen. Er ist gewissermaßen ein Ersatz für die entsprechende (gleiche) Addierschaltung der vorhergehende Binärstelle. Unten links wird der Übertrag, der in der fokussierten Binärstelle berechnet wird, an die nächst höhere Stelle weitergeben. Durch klicken auf die beiden Eingänge für a und b und auf dem Schalter U kann man 8 verschiedenen Stellungen der Schaltung durchspielen. In der Mitte sieht man das Ergebnis der Summenberechnung für diese einzelne Binärstelle: Am Anfang ist es natürlich die 0.

Zuse verwendet in der Z3 eine Schaltung, die in jeder Stelle noch zwei weitere Relais benötigt.

[iframe src=“https://www.uni-due.de/zim/burkhard.wald/svg2014/z3.svg“]

Die Berechnung erfolgt in drei Schritten. Man beachte aber, dass auch hier wie bei Aiken, die Weitergabe des Übertrages nicht ein schrittweises Übertragen von Stelle zu Stelle ist. Nehmen wir eine Addition 1111 + 1 = 10000. Dann ergibt die xor-Verbindung von a und b in den ersten 4 Stellen jeweils den Relaisstand x=1. Kommt dann von rechts der Übertrag hinzu, wird er gleichzeitig an alle Stellen weitergeben und nicht Schritt für Schritt.

An einem Gymnasium in der Schweiz ist in einer Projektarbeit eine HTML-basierte Animation entstanden, die das Zusammenspiel mehrere Binärstellen darstellt. Siehe hier. Die Animation zeigt den „Stromfluss“ in Zeitlupe. In Wirklichkeit passiert das aber in Lichtgeschwindigkeit. Einen relevanten „Zeitverbrauch“ in der Schaltung hat man stattdessen durch die Trägheit der Relais. Das sollte man im Hinterkopf haben, wenn man diese und auch meine Schaltungen betrachtet.

Später kommt Zuse zu einer Schaltung mit Dioden. Das oben zitierte Buch stellt zwei Varianten gegenüber. In der ersten Publikation der Schaltung hatte sich offenbar ein Fehler eingeschlichen, welcher sich über mehrere Auflagen gehalten hatte. Das Informatik-Buch stellt die „richtige“ Schaltung daneben. Dummerweise ist auch diese Variante falsch.

Ich präsentiere eine 3. Variante, mit erneutem Anspruch auf Richtigkeit.

[iframe src=“https://www.uni-due.de/zim/burkhard.wald/svg2014/zuse3.svg“]

Kommen wir jetzt zu der Frage, wie die Bilder technisch realisiert wurden. Es lag nahe, für die Darstellung der Schaltpläne das XML-Format SVG für Vektorgrafik zu wählen. SVG wird heute von den aktuellen Versionen der Web-Browser unterstützt, sodass man kein besonderes Programm oder Plug-In zum Betrachten installieren muss. Die Browser verarbeiten die SVG-Datei in einer ähnlichen Weise, wie sie auch HTML-Dateien verarbeiten. Daher hat man hier die gleichen Möglichkeiten, mit Hilfe von Javascript als Programmiersprache Dynamik in ein Bild zu bringen. Das bedeutet:

  • Events (z.B. Mausklicken) können Javascript-Code zur Ausführung bringen.
  • Die Seite (HTML, SVG) wird im Speicher durch einen Objekt-Baum (DOM) dargestellt, auf den man mit Javascript zugreifen kann.
  • Javascript kann Eigenschaften vorhandener Seiten-Bestandteile verändern.
  • Javascript kann Seiten-Bestandteile erschaffen und entfernen.

Diese Möglichkeiten wollte ich nutzen, um zwei Ziele zu verfolgen:

  • Das endgültige Zeichnen eines Schaltplan sollte auf einer höheren anwendungsbezogenen Ebene erfolgen. Ich will also mit einfachen Befehlen Schalter Dioden und leitende Verbindungen platzieren können, ohne mich jedes mal wieder mit den SVG-spezifischen Details befassen zu müssen.
  • Und ich wollte richtigen Strom machen. Wenn sich zwei Objekte berühren, sollen sie als „verbunden“ gelten. Und wenn dann das eine Objekt „stromführend“ ist, soll sich diese Eigenschaft auf das andere Objekt automatisch übertragen.

Die Sache mit dem Strom schien zunächst nicht so schwierig zu sein. Was ist aber, wenn durch das Schalten eines Schalters ein Kontakt wieder gelöst wird? Dann müsste man die Stromübertragung zum Teil rückgängig machen. Man müsste also wissen, welches Objekt welchen anderen Objekten Strom übergeben hat; also eine Art Übertragungsrichtung. Ist das aber das richtige Konzept? Man kann sich Schaltungen vorstellen, die nach und nach den Strom auf weitere Objekte übertragen und dann schließlich auf ein Objekt stoßen, das schon über einem anderen Weg Strom bekommen hat. Wenn man jetzt etwas unterbricht, wie will man da noch eine Verlässlichkeit haben, welche Objekte wirklich vom Strom abgetrennt werden müssen und welche stromführend bleiben. Mein Fazit war „Strom übertragen“ geht gut, aber für „kein Strom“ kann man kein funktionierendes Übertragungskonzept ersinnen.

Um zu einer Lösung zu kommen, muss man sich einmal in richtigen Strom hineindenken. Die Weitergabe von Strom über einen leitenden Kontakt ist nicht ein einmaliges Event, sondern ein permanenter Vorgang. „Unterbrechen“ bedeutet daher nicht, dass eine Unterbrechung weitergeleitet werden muss, sondern dass die vorhandene Weiterleitung unterbrochen wird. Um dass zu erreichen habe ich mich entschieden, bei jeder Änderung in der Konstellation der Objekte (oder Schalterstellungen) erst einmal alles grundsätzlich wieder auf „aus“ zu setzen und jedes mal den Strom von den Stromquellen aus über die gegebenen Kontakte neu zu übertragen.

Es ist ein Datei mit Javascript-Code entstanden, die man in eine SVG-Datei einbinden kann. Hier ein kleines Beispiel für so eine SVG-Datei.

<?xml version=“1.0″ encoding=“UTF-8″?>
<svg version=“1.2″
baseProfile=“tiny“
viewBox=“0 0 20 4″
preserveAspectRatio=“xMidYMid“
fill-rule=“evenodd“ stroke-width=“0.05″
stroke-linejoin=“round“
xmlns=“http://www.w3.org/2000/svg“
xmlns:xlink=“http://www.w3.org/1999/xlink“
xml:space=“preserve“ onload=“init()“
>

<g visibility=“visible“ id=“Main“> </g>

<script type=“text/ecmascript“ xlink:href=“dynamische_schaltkreise.js“> </script>

<script type=“text/ecmascript“>
<![CDATA[

function init() {
var SP = new schaltplan(„Main“);
new quelle(SP,’W‘,3,3);
new schalter(SP,“a“,’O‘,“L“,3,3);
new verbindung(SP,“O“,5,2,6);
new verbindung(SP,“O“,5,4,6);
new schalter(SP,“b“,’W‘,“L“,13,3);
new dyn_text(SP,“O“,13,2,0,“0″,“1″);
SP.restart(); }
]]>
</script>

</svg>

Mit onload=“init()“ wird erreicht, dass als erstes nach dem Laden der SVG-Datei die Funktion init aufgerufen wird, in der wir den zu zeichnenden Schaltplan definieren müssen. Vorher haben wir einen leeren SVG-Gruppen-Knoten definiert, dessen Id „Main“ wir der schaltplan-Funktion übergeben. Hier ist das Beispiel im Bild. Es stellt eine einfache Wechselschaltung da, wie wir sie Zuhause in Diele, Keller oder Wohnzimmer haben. Logisch interpretiert ist es eine XOR-Schaltung.

[iframe src=“https://www.uni-due.de/zim/burkhard.wald/svg2014/wechsel.svg“]

Zum Weiterlesen empfehle ich den Programm-Code in der Javascript-Datei. Da ich damit rechnen muss, dass sich das einer anschaut, habe ich es mehrfach überarbeitet und glattgezogen und mit ausführlichen Erläuterungen versehen. Es ist eine „spannende“ Geschichte, in der es um Kommunikation und Vernetzung geht – wie aus dem prallen Leben. Der Programmierer und Blogger ist zufrieden und denkt sich: „Alles geschieht nach meinem Plan“. Im folgenden Bild sieht man ihn zusammen mit seinem Seelenverwandten Konrad Zuse.


(In Hünfeld, wo Zuse zuletzt gewohnt hat)

Weitere Anmerkungen

Instabile Schaltungen

Warum gibt es in der Natur Geräusche? Das ist gewissermaßen die Art der Natur mit instabilen Situationen klarzukommen: Die Natur macht daraus eine Schwingung. Ein einfaches Beispiel ist eine elektrische Klingel. Ein Magnet wird über einen Kontakt angesteuert. Zieht der Magnet an, wird die Stromzufuhr unterbrochen. Dann fällt der Magnet ab und der Stromkreis wird wieder geschlossen. In unserem Programm würde das zu einer Endlos-Schleife führen, mit der der Web-Browser als Interpreter des Programms nicht zurecht kommt.

Hazzards

Eine gewisse Unzuverlässigkeit von elektrischen Schaltungen ist in unserem Model ausgeklammert. Ein realer Schalter hat in der Phase des Umschaltens von 1 verbunden mit 2 zu 1 verbunden mit 3 eine kleine Übergangssituation, in der weder 1 mit 2 noch 1 mit 3 verbunden ist, oder in der gleichzeitig 1 mit 2 und 1 mit 3 verbunden ist. Man nennt das Hazzard oder Glitch. Hier sind zwei Schaltungen die prinzipiell gleich funktionieren. Man klicke vier mal auf den Schalter a: Dann nimmt die Schaltung vier verschiedene Konstellationen an. Die erste der Schaltungen hat aber die Eventualität in der Praxis nicht zu funktionieren. Beim zweiten Klick auf a könnte das Relais ungewollt abfallen. In der darauf folgenden Schaltung wird diese Unsicherheit überbrückt.

[iframe src=“https://www.uni-due.de/zim/burkhard.wald/svg2014/viertakter1.svg“ frameborder=“0″ scrolling=“no“]

[iframe src=“https://www.uni-due.de/zim/burkhard.wald/svg2014/viertakter2.svg“ frameborder=“0″ scrolling=“no“]

SVG in HTML einbetten

Zuletzt musste ich noch lernen meine SVG-Ergüsse in eine HTML-Dateien einzubetten. Bei den ersten Versuchen hat es problemlos geklappt, wenn ich einfach das <img>-Tag nahm, mit dem man auch Bitmap-Dateien einbindet. Doch da hatte ich noch keine Javascript-Dynamik in meinen Beispielen. Die Dynamik geht bei so eingebetteten Dateien leider verloren. Da die Inhalte unserer SVG-Dateien dynamisch mit einem Skript erzeugt werden, blieb ihre Darstellung folglich leer.

Die Lösung ist das <object>-Tag. Damit bindet man Medienobjekte ein, mit denen dann der Browser interagieren kann. Alternativ kann man auch das <iframe>-Tag verwenden. Für diesen WordPress-Blog hat sich das IFRAME als die praktikablere Lösung erwiesen. Das liegt aber daran, dass WordPress den HTML-Code nochmal filtert und verändert, um sein eigenes Konzept zu realisieren.

Lokalgeschichte

Auch an der Uni-Essen gab es einmal eine Zuse: eine Z25. Das war in vieler Hinsicht schon ein modernes Gerät auf der Basis von Transistorschaltungen. Sie konnte mit einem spezifischen Maschinencode aber auch schon mit der höheren Programmiersprache Algol programmiert werden. Als ich 1988 zum Rechenzentrum kam, Stand die Z25 ungenutzt im Rechnerraum an der Schützenbahn. Ich habe etwas recherchiert und mit pensionierten Kollegen gesprochen. Die Maschine wurde 1967 von der Abteilung Vermessungswesen der Ingenieurschule für Bauwesen mit Sondermitteln des Landes beschafft. Mit der Gründung der Gesamthochschule 1972 wurde die Fachhochschule in die Universität Essen integriert. Der Computer kam in die Henry-Dunant-Straße und wurde noch bis zum Ende der 70-er Jahre für die Programmierausbildung eingesetzt. Die immer noch funktionsfähige Maschine steht jetzt im Rechenmuseum Arithmeum der Universität Bonn und kommt bei Vorführungen zum Einsatz.

]]>
Zoff im Schwarm – Anmerkungen zur NSA-Affäre https://blogs.uni-due.de/zim/2013/12/20/zoff-im-schwarm-anmerkungen-zur-nsa-affare/ Fri, 20 Dec 2013 22:54:46 +0000 https://blogs.uni-due.de/zim/?p=1837 Weiterlesen ]]> Im Schwarm „Menschheit“ gibt es drei Verhaltensmuster, die zusammen gehören:

  • Dinge geheim halten
  • geheime Dinge ausspähen
  • erspähte Geheimnisse ausplaudern

In Maßen praktiziert kommt der Schwarm damit zurecht.

Doch jetzt scheint die Sache aus den Fugen zu geraten: Staatliche Stellen aller Länder spionieren in dem Bestreben das Böse zu bekämpfen alle elektronischen Kommunikationswege aus und haben dabei jegliches Maß verloren. Und sie fühlen sich dabei ertappt: Das Geheimnis der Geheimniserspähungsmaßnahmen wurde verraten. So könnte man die aktuelle Situation beschreiben. Wer sind jetzt die Bösen im Schwarm? Die Bösen die man mit Überwachung zur Strecke bringen will, die Bösen, die eine Überwachungsinfrastruktur aufgebaut haben oder die Bösen, die diesen Vorgang öffentlich bekannt gemacht haben.

Rollen wir das Thema einmal von vorne auf: Ein wesentlicher Schritt in der Entwicklung eines Kindes ist seine Erkenntnis, dass es Geheimnisse haben kann. Einschränkend steht dem aber die Drohung entgegen, dass im Himmel jemand ist, der alles sieht und in ein Buch der Taten und Missetaten einträgt. Für das hiesige Leben scheint es aber keine Relevanz zu haben, weil niemand auf Erden Einblick in dieses Buch bekommen wird. Auf der Erde selbst läuft es aber anders. Bekommt jemand ein Geheimnis heraus, wird es gnadenlos verpetzt. Mit dieser Realität lernt das Kind sich zu arrangieren.

Auch die Menschheit insgesamt hat gelernt damit umzugehen. Alle drei Verhalten (Geheimhalten, Ausspähen und Ausplaudern) regulieren sich gegenseitig. Die Frage nach „Gut“ oder „Böse“ kann dabei nicht absolut beantwortet werden. Je nach Situation kann Geheimhalten, Ausspähen oder Ausplaudern geächtet sein, oder begrüßt werden. Oft wird sogar eine Situation von manchen als abscheuliches und niederträchtiges Verhalten gegeißelt, während andere die gleiche Tat als heroisch und edel bewerten.

Jetzt auf einmal scheint dieser uralte Gesellschaftskonflikt unbeherrschbar zu werden. Das Informationszeitalter scheint unsere Gesellschaft gegen die Wand zu fahren. Schauen wir uns die Entwicklung des Informationszeitalters nochmal in Stichpunkten an

  • Buchdruck (Bibel)
  • Druckerpressen (Zeitschriften, Flugblätter, Propaganda)
  • Telegraphie (die Welt umspannend)
  • Radio (gesprochene Propaganda)
  • Telefon (erstmals wirklich Kommunikation)
  • Fernsehen (Berieselung)
  • Datenbanken (EDV)
  • E-Mail
  • elektronische Buisnessprozesse (IT)
  • Web
  • mobile Telefonie
  • ein neues Web mit Service für den Alltag (Google Maps, Ebay, Amazon) einzelne Firmen dominieren zunehmend das Web: Google, Facebook, …
  • Smartphones (Apps)

Jetzt befinden wir uns am Beginn einer neuen Phase, die dadurch gekennzeichnet ist, dass das Speichern und Analysieren sehr großer Datenmengen immer effizienter wird. „Big-Data“ heißt das Stichwort und dahinter steckt im übertragenen Sinn die Frage: „Wie sucht man Nadeln in Heuhaufen?“. (siehe http://de.wikipedia.org/wiki/Big_Data) In vielen Bereichen hat der Big-Data-Hype zu einer Goldgräberstimmung geführt.

Zunächst sind da die Konzerne, die in dem gläsernen Kunden Ihren finanziellen Erfolg sehen. Firmen wie Google, Facebook, Amazon, Apple und Microsoft haben Geschäftsmodelle entwickelt, um die Internetnutzung über Ihre Portale zu kanalisieren und so an Informationen über Personen zu gelangen, die sich dann vermarkten lassen. Jeder unserer Klicks im Internet wird heute registriert und analysiert und hinterläßt eine auf unsere Computer gepinkelte Duftspur, die später wieder erschnuppert werden kann.

Als Zweites sind staatliche Stellen wie Polizei und Geheimdienste zu nennen, die in den Milliarden von Kommunikationsdaten nach der Konspiration des Bösen suchen. In manchen Ländern sind aber eher die staatlichen Stellen die Bösen, die in den kritischen Bürgern ihre Feinde sehen und ihn deshalb ausspähen. Moralisch mag man das unterscheiden, doch von den Methoden her, ist es das selbe. Beängstigend ist auch die Vorstellung, dass das Eine in das Andere umschlagen könnte.

Drittens muss man feststellen, dass auch die demokratische Gesellschaften von dem Big-Data-Hype erfasst ist. Daten die von Behörden gesammelt werden, sind mittlerweile elektronisch gespeichert. Man denke an Messdaten von Umweltbehörden, statistische Daten von Ämtern oder Daten über die Einnahmen und Ausgaben öffentlicher Einrichtungen. Die Einsichtnahme der Bürger in solche Daten ist heute technisch leichter zu verwirklichen, als das früher noch der Fall war. Die Opendata-Bewegung fordert daher die rechtliche Freigabe solcher Daten und Ihre Verfügbarmachung durch dokumentierte Schnittstellen. In den großen Pressehäusern gibt es heute bereits Speziallisten für „Datenjournalismus“: Sie suchen in dem Wirrwarr öffentlicher Daten nach Auffälligkeiten und berichten darüber.

Nicht zuletzt ist auch die Wissenschaft an Big-Data interessiert. In vielen Disziplinen fallen große Mengen von scheinbar chaotischen Daten an und wollen durchforscht werden. Für unsere gesellschaftskritische Diskussion spielt dieser Bereich vielleicht keine besondere Rolle, doch muss er Erwähnung finden, da die Wissenschaft an den gleichen Methoden der Massendatenspeicherung und Massendatenanalyse interessiert ist und die Methoden von der Wissenschaft auch weiterentwickelt werden.

Datenanalyseverfahren? Bringen wir ein Beispiel: Bildervergleichen. Ein Bild einer Menschenmenge mit tausenden von Gesichtern wird verglichen mit Millionen von persönlichen Profil-Bildern aus den Internet-Netzwerken. Wer genau war bei diesem Konzert dabei oder bei dieser Demo. Ist das eine absurde Zukunftsvision? Nein, das ist eine Technologie, die gerade aus Ihren Kinderschuhen herauswächst. Wer kann so etwas gebrauchen? Zum einen die moderne Spaßgesellschaft als Kunden von Facebook und Co. und zum anderen die Polizei und die Geheimdienste.

Mit den neuen Datenmethoden wächst der Gesellschaft ein neues Sinnesorgan. Alle Bereiche gieren danach, sich dieses Organs zu bedienen, und Nutzen daraus zu ziehen: Den Kunden verstehen und besser abschöpfen können, Verbrecher fangen und Verbrechen verhindern können, Unrecht in der Gesellschaft erkennen und den Staat kontrollieren können. Und wir stehen erst am Anfang. Die technologische Entwicklung wird weitergehen. Wird unsere Gesellschaft damit umgehen können? Kann sich die Demokratie durch dieses schwierige Fahrwasser hindurchretten können?

Demnächst kommt „Google-Glaces“: Eine Brille mit Kamera. Alles „Gesehene“ kann sofort mit anderen Daten im Netz verglichen werden und interpretiert werden. Und: Alles „Gesehene“ kann für spätere Auswertungen aufgezeichnet werden. Was werden wir damit machen? Was werden die gesellschaftlichen Institutionen wie, Polizei und Geheimdiensten, Konzerne, Versicherungen, Medien u.s.w. damit machen.

Welche Leitlinien kann man der Gesellschaft in dem dargestelltem Konflikt geben? Worauf kommt es dabei an? Nur dem Staat das „Schnüffeln“ verbieten, während im kommerziellen und privaten Bereich das Datensammeln und das „sich gegenseitig beobachten“ immer ungehemmter passiert? Das kann es vielleicht nicht sein!

Damit das Schnüffeln nicht ausufert, brauchen wir anerkannte Verhaltensregeln für alle Beteiligten und auch Gesetze und auch Kontrollinstanzen. Aber welche Bereiche betrifft das?

  • Wie kontrolliert der Bürger (also die demokratische Gesellschaft) den Staat?
  • Welche Informationen müssen jedermann frei zugänglich sein?
  • Wie werden Firmen kontrolliert, die Angebote im Internet haben? Welche Daten über Kunden und Kundenverhalten dürfen sie sammeln. Hierbei heißt Kunde auch Besucher; also die Besucher einer Web-Site.
  • Welche Methoden dürfen Polizei und Geheimdienste zum Zwecke der Gefahrenabwehr und der Strafverfolgung anwenden.
  • Wie sichert man die Infrastruktur des Internets und wie die Teilnehmer des Internets vor Angriffen aus dem Internet. (Viren, Bot-Netze)
  • Welche Verhaltensregeln gelten für den einzelnen privaten Internetnutzer. Auch er hat eine Sammlung personenbezogener Daten seiner Freunde: ein Adressbuch, Bilder von Meetings und Partys. Darf er die Daten mit andere teilen und welche externe Dienstleistung darf er für die Speicherung der Daten in Anspruch nehmen?

Statt einer Korntrolle von Kommunikationsinhalten, brauchen wir also eine Kontrolle der eingesetzten Verfahren. Diese Kontrolle könnte von staatlichen Instanzen ausgeführt werden (von wem sonst) doch die demokratische Gesellschaft muss auch die Kontrollinstanzen kontrollieren können. Aktuell hat man den Verdacht, dass genau das nicht funktioniert. Als Grundsatz muss gelten, dass der Bürger den Staat kontrolliert, und nicht umgekehrt. Dazu müssen alle eingesetzten Datenverfahren öffentlich bekannt sein. Stattdessen wird z.Z. derjenige (Edward Snowden), der eine Öffentlichkeit endlich herstellt, international als Staatsverräter gesucht. Für die demokratische Welt ist dabei besonders peinlich, dass Snowden sich in einem Staat verstecken und schützen lassen muss, der nicht gerade als demokratischer Musterknabe gilt.

Zusätzlich ergibt sich immer mehr die Frage, welche Bedeutung die nationalen Grenzen für die Beantwortung unserer Fragen haben. Bisher hatte man den Eindruck, dass im Internet nationale Grenzen keine Relevanz mehr haben. Aus einer gewissen Sicht gilt aber heute das Gegenteil: „Zuhause pflegt man feine Umgangsformen, doch draußen auf der Straße darf herumgesaut werden“. National gelten zum Teil strenge Datenschutzregeln. Heere von Datenschutzbeauftragten achten in Deutschland in den Verwaltungen, den großen Firmen und den Universitäten auf die Einhaltung der Gesetze und pflegen Verfahrensverzeichnissen. Es gibt im Datenschutz aber keine absoluten Prinzipien. Man orientiert sich in Deutschland an den Rechten deutscher Bürger. Und Amerika orientiert sich an den Rechten amerikanischer Bürger. Außerhalb dieser engen rechtlichen Definitionen gelten dann keine Gesetze mehr. Das ist dann Spionage, und die darf alles.

In der Anfangsphase der NSA-Affäre bemühten sich alle nationalen Regierungen noch um Schadensbegrenzung. Alle Geheimdienste ziehen doch am gleichen Strang und unter befreundeten Staaten tauscht man auch schon mal gerne Daten aus. Durch die Enthüllungen über das Ausspähen des Handys der deutschen Kanzlerin, trat aber eine Wende ein. Es begann ein Umdenken, das dazu führt, dass der von mir beschriebene Gesellschaftskonflikt, nicht nur ein Konflikt zwischen Bürger und Staat ist, sondern zunehmend auch ein Konflikt zwischen den Staaten wird.

Ich bestehe aber darauf, zwischen dem Ausspionieren eines Regierungschefs und dem massenhaften Speichern aller Kommunikationsdaten eine klaren Unterschied machen. Das erste ist eigentlich klassische Spionage und nur bei dem Zweiten geht es um das neue Phänomen unsere Zeit, über das wir hier reden. Auch die Argumente in den Diskussionen unterscheiden sich. In dem ersten Fall sagt man „nicht unter Freunden“ , doch im zweiten Fall sind die Bedenken viel grundsätzlicher: Es darf von keiner Instanz aus eine prophylaktische Überwachung aller Kommunikation geben. Trotzdem gibt es zwei Gemeinsamkeiten. Das sind zum einen die technischen Möglichkeiten, die sowohl das gezielte Spionieren einer öffentlichen Person, wie auch das pauschale Überwachen aller Bürger begünstigen und als Zweites eine vielleicht zunehmende Enthemmung beim Datensammeln, die ebenfalls beides befördert.

Soweit einige Anregungen für eine Diskussion. Aktuell befinden wir uns aber noch gar nicht in der Diskussionsphase und noch nicht mal in der Aufklärungsphase – auch wenn ab und zu etwas Neues ans Tageslicht kommt. Noch sind wir in der Empörungsphase.

]]>
Die neue Zeit-API https://blogs.uni-due.de/zim/2012/12/18/die-neue-zeit-api/ https://blogs.uni-due.de/zim/2012/12/18/die-neue-zeit-api/#respond Tue, 18 Dec 2012 22:10:44 +0000 https://blogs.uni-due.de/zim/?p=1631 Weiterlesen ]]> Am 21. Februar 1946 erschien die erste Ausgabe der Zeit. Seitdem haben Journalisten, Redakteure, Drucker und Archivare einen riesigen Artikel-Berg angehäuft. Führen wir uns den technologischen Wandel vor Augen, der seit dem stattgefunden hat, wird uns die Herausforderung bewusst, diesen gedruckten Schatz der Öffentlichkeit nutzbar (also digital) zur Verfügung stellen zu wollen. 2006 begann die Zeit mit diesem Projekt: Man lese Die Digitalisierung des ZEIT Archivs .

Nun ist eine Programmierer-Schnittstelle zu den Metadaten des Archives (also eine API) als Beta-Version online geschaltet worden. Die Nachricht kam Freitag 23.11. über den Open-Data-Blog der Zeit. Die Idee einer solchen API kommt aus der Erkenntnis, dass durch die Digitalisierung der Artikel, deren Inhalte noch längst nicht aus dem Dunkelgrau des Kellers befreit sind. Dazu bedarf es intelligenter und praktikabler Endanwendungen, die auf die Daten zugreifen, sie auswerten und anzeigen. Die Veröffentlichung der Schnittstelle ist als Einladung an Programmierer zu verstehen, sich mit den Daten auseinanderzusetzen und Nutzungs-Szenarien zu entwickeln.

Das wollte ich mir auch mal anschauen. Startpunkt ist die Web-Site des Projektes http://developer.zeit.de/. Da liest man dann am besten erstmal die Nutzungsbedingungen. Wenn man kein kommerzielles Interesse hat, ist man schon mal auf der richtigen Seite. Man muss aber zwischen der Nutzung der Schnittstelle und der Nutzung der Inhalte der Artikel unterscheiden. Für letztere gelten natürlich die Urheberrechte der Autoren und die allgemeinen Nutzungsbedingungen von Zeit-Online. Ach ja: Zur Zeit bietet die API noch keinen Zugriff auf die Text-Inhalte der Artikel. Zu jedem Artikel gibt es aber einen Link zu einer Zeit-Online-Webseite, auf der der Text angezeigt wird.

Ohne Registrierung geht heute natürlich nichts. Unter „Quick Start“ kann das geschehen, in dem man Name und Email-Adresse angibt. Dann bekommt man einen Zugriffscode, den man für jede Schnittstellen-Abfrage verwenden muß. Die Registrierung bewirkte bei mir im IE aber einen Javascript-Fehler, sodass ich auf den Firefox ausgewichen bin. So hatte ich dann meinen Zugang und konnte über „API Explorer“ auf den Developer-Web-Seiten erste Abfrageerfahrungen bekommen.

Technisch ist die API eine sogenannte REST-Schnittstelle. Das bedeutet, dass man an einen Web-Server eine HTTP-Anfrage stellt, und dieser statt mit einer Web-Seite mit einem einfach strukturiertem Text-Output antwortet, der das Ergebnis der Anfrage enthält. Für die Output-Formatierung wird JSON verwendet. Das sieht zum Beispiel so aus: Die Anfrage

http://api.zeit.de/author?q=*Martenstein*

ergibt den Output

{
  "matches": [
  {
    "type": "author",
    "uri": "http://api.zeit.de/author/Harald-Martenstein",
    "value": "Harald Martenstein"
    },
  { 
    "type": "author",
    "uri": "http://api.zeit.de/author/Martenstein",
    "value": "Martenstein"
    }
  ],
  "found": 2,
  "limit": 10,
  "offset": 0
  }

Der von mir geschätzte Autor Harald Martenstein muss hier als Versuchskaninchen herhalten. Aber wie stellt man so eine Anfrage eigentlich unabhängig von dem API-Explorer auf der Web-Seite. Am einfachsten kann man versuchen die Anfrage als URL in seinem Web-Browser einzugeben. Man muss aber noch den Zugangscode als weiteren Parameter mit übergeben. Unsere Anfrage lautet dann z.B.

http://api.zeit.de/author?q=*Martenstein*&api_key=qwert1234567890

Firefox zeigt mir das Ergebnis direkt als Text an. Der Internet-Explorer weiss aber nichts damit anzufangen und bietet mir an, es abzuspeichern. Danach kann ich es dann mit einem Text-Editor öffnen.

Soweit der erste Eindruck. Es ergeben sich jetzt drei Fragenkomplexe:

  • Die Frage nach den Details der Schnittstelle: Welche Abfragemöglichkeiten bietet die Schnittstelle im Detail und wie sehen dann jeweils die Antworten aus. Wie sind die Daten technisch strukturiert.
  • Die Frage nach technischen Möglichkeiten: Wie kann ich mit einer solchen Schnittstelle umgehen, und sie in Anwendungen einbauen.
  • Die Frage nach dem Inhalt: Was steckt denn wirklich drin in dieser Datenbank und welche Qualität hat der Inhalt.

Die Frage nach den Details

Es gibt verschiedene sogenannte „Endpunkte“. Oben habe ich den Endpunkt „author“ verwendet. Jeder Endpunkt bietet die Möglichkeit einer Suche an (http://api.zeit.de/author?q=…) und die Möglichkeit mit der Angabe einer Id ein konkretes Datenobjekt anzusprechen (http://api.zeit.de/author/Martenstein). Bei einer Suche bekommt man die Liste der Suchergebnisse (s.o.) angezeigt, aber beschränkt auf eine Anzahl „limit“. Dieser Parameter wird defaultmäßig auf 10 gesetzt. Man kann Ihn aber verändern in dem man zB die Anfrage http://api.zeit.de/author?q=*stein*&limit=20 formuliert. Der Ausgabe-Parameter „found“ sagt uns, dass 129 Objekte gefunden wurden, aber nur 20 werden angezeigt. Die nächsten 20 bekommt man mit derAbfrage http://api.zeit.de/author?q=*stein*&limit=20&offset=20 .

Ruft man ein konkretes Objekt auf, so bekommt man auch alle damit verknüpften anderen Objekte angezeigt. Bei einem Autor ist das die Liste der Artikel dieses Autors, und bei einem Artikel (Endpunkt „content) ist es die Liste der Autoren und eine Liste von Schlagwörtern (Endpunkt „keyword“) und weiteres. Z.B ergibt dieser Martenstein-Artikel über „Mainstream“ und „Schwarminteligenz“ mit der URI (Uniform Resource Identifier) http://api.zeit.de/content/3iPD4MgYlRa4rr1zJCHFp0 den Output

{
  "creators": [
  {
    "uri": "http://api.zeit.de/author/Harald-Martenstein",
    "rel": "author",
    "name": "Harald Martenstein"
    }
  ],
  "subtitle": "Er beherrscht Medien, treibt Minister aus dem Amt und wechselt alle paar Jahre die Richtung: Der Mainstream hat gewaltige Kraft \u2013 er ist der Geist der Mehrheit. Aber hat er deshalb recht? Ein Essay",
  "title": "Der Sog der Masse",
  "release_date": "2011-11-10T06:00:00Z",
  "uri": "http://api.zeit.de/content/3iPD4MgYlRa4rr1zJCHFp0",
  "relations": [
  {
    "uri": "http://api.zeit.de/content/1xD2amStxoI8VBLUAzhWQm",
    "rel": "related",
    "name": "Der Sog der Masse"
    },
  {
    "uri": "http://api.zeit.de/content/63eeTFG26WQ2I0lSJCuIsg",
    "rel": "related",
    "name": "Der Sog der Masse"
    }
  ],
  "supertitle": "Mainstream",
  "href": "http://www.zeit.de/2011/46/DOS-Mainstream",
  "teaser_text": "Er beherrscht Medien, treibt Minister aus dem Amt und wechselt alle paar Jahre die Richtung: Der Mainstream hat gewaltige Kraft \u2013 er ist der Geist der Mehrheit.",
  "keywords": [
    {
      "uri": "http://api.zeit.de/keyword/guido-westerwelle",
       "rel": "person",
       "name": "Guido Westerwelle"
       },
     {
       "uri": "http://api.zeit.de/keyword/angela-merkel",
       "rel": "person",
       "name": "Angela Merkel"
       },
    {
       "uri": "http://api.zeit.de/keyword/karl-theodor-zu-guttenberg",
       "rel": "person",
       "name": "Karl-Theodor zu Guttenberg"
       },
     {
       "uri": "http://api.zeit.de/keyword/harald-schmidt",
       "rel": "person",
       "name": "Harald Schmidt"
       },
    {
      "uri": "http://api.zeit.de/keyword/gruene",
      "rel": "organization",
      "name": "Gr\u00fcne"
      },
    {
      "uri": "http://api.zeit.de/keyword/usa",
      "rel": "location",
      "name": "USA"
      },
    {
      "uri": "http://api.zeit.de/keyword/bundestag",
      "rel": "subject",
      "name": "Bundestag"
      },
    {
      "uri": "http://api.zeit.de/keyword/schwarmintelligenz",
      "rel": "subject",
      "name": "Schwarmintelligenz"
      },
    {
      "uri": "http://api.zeit.de/keyword/galileo-galilei",
      "rel": "person",
      "name": "Galileo Galilei"
      }, 
    {
      "uri": "http://api.zeit.de/keyword/talkshow",
      "rel": "subject",
      "name": "Talkshow"
      }
    ],
  "teaser_title": "Der Sog der Masse",
   "categories": [
     {
       "uri": "http://api.zeit.de/department/gesellschaft",
       "rel": "department",
       "name": "Gesellschaft"
       },
    {
      "uri": "http://api.zeit.de/product/zei",
      "rel": "product",
      "name": "DIE ZEIT"
      },
    {
      "uri": "http://api.zeit.de/department/zeitgeschehen",
      "rel": "sub_department",
      "name": "Zeitgeschehen"
      }
    ]
  }

Darin ist auch der Parameter „href“ verborgen, womit ein Link auf den Arikel im Zeit-Online-Angebot gegeben wird: http://www.zeit.de/2011/46/DOS-Mainstream

Die Frage nach der Technik:

Am besten begibt man sich für den Anfang auf eine Linux-Kommandozeile. Da gibt es die Kommandos „wget“ und „curl“. Ich beziehe meine Beschreibung auf curl. Studenten oder Mitarbeiter unserer Uni können sich auf einen der Linux-Login-Server stud.uni-due.de oder staff.uni-due.de mit ihrer Unikennung einloggen. Da ist curl und auch wget verfügbar. Der Aufruf von curl hat im einfachsten Fall die Form

curl URL

Man sollte die URL aber in Hochkomma einschließen. Das Zeichen &, das ja in solchen URLs oft vorkommt, würde sonst vom Kommandointerpreter falsch interpretiert. Details zu curl erfragt man mit curl --help . Die Zeit-API bietet auch die Möglichkeit den Zugangscode als einen http-Header mit zusenden und nicht als Parameter im Query-String, wie wir es oben gemacht haben. Dann würde eine Schnittstellen-Anfrage so aussehen.

curl -H 'X-Authorization: 1234567890qwert' 'http://api.zeit.de/...die Anfrage...'

Wir wollen nun anreißen, wie man so eine REST-Schnittstelle mit JSON-Output in einer AJAX-Web-Anwendung nutzen kann. Die vier Buchstaben AJAX bedeuten, dass eine vom Web-Browser dargestellte Web-Seite Javascript-gesteuert Daten per http nachläd, diese mit Javascript verarbeitet und durch dynamische Veränderung der Seitenstruktur die Daten darstellt (dynamisches HTML).

Um mit Javascript einen HTTP-Request abzusetzen stellen die heutigen Browser ein spezielles Objekt bereit. Zuerst muss man davon eine Instanz erzeugen:

var httpRequest = new XMLHttpRequest();

Wir benötigen eine Funktion, die die Antwort des Request auswertet und auf das Request-Objekt als globale Variable zugreifen kann. Sagen wir

function antwort_auswerten() {
  …
  }

Diese Funktion muss mit dem Request-Objekt verbunden werden:

httpRequest.onreadystatechange = antwort_auswerten;

Mit dem folgenden Befehl wird der Request formuliert, aber noch nicht gesendet:

httpRequest.open('GET', url);

Der Befehl führt zu einem Fehler, wenn die Sicherheitseinstellung des Browsers die Aktion nicht zuläßt. Beim Internet-Explorer trat dieses Problem bei mir auf. Ich konnte es lösen, indem ich die Site „api.zeit.de“ unter „Extras, Internetoptionen, Sicherheit, lokales Internet“ unter „Sites, erweitert“ aufgenommen habe, und den Bereich „lokales Internet“ von der Sicherheitsstufe „mittel“ nach „niedrig“ oder „sehr niedrig“ verschoben habe. Bei „niedrig“ wird man bei jedem Request nochmal gefragt, ob man ihn zulassen will. Bei „sehr niedrig“ geht es einfach durch. Als sicherheitskritisch wird hier auch bewertet, wenn eine Web-Seite eines Servers A (bei mir www.uni-due.de) Inhalte von einem Server B (hier api.zeit.de) laden will.

Es bietet sich an, den Open-Befehl in ein try-catch-Konstrukt zu nehmen:

try {
  httpRequest.open('GET', url);
  } catch(e) {
  alert("Aufgefangener Fehrler: " + e.description);
  }

Danach setzt man noch den Autorisierungs-Header und sendet den Request.

httpRequest.setRequestHeader('X-Authorization','123456789qwert');
httpRequest.send();

Das Warten auf die Antwort geschieht nun versteckt im Hintergrund. Irgent wann schlägt die Antwort auf, was bewirkt, dass die Funktion antwort_auswerten aufgerufen wird. In dieser Funktion sollte man dann erst mal prüfen ob die Schnittstelle nicht mit einem Fehler geantwortet hat. Wenn httpRequest.readyState den Wert 4 hat und httpRequest.status den Wert 200, dann ist alle Ok und man kann den Resposetext verarbeiten. JSON liefert genau das Textformat in dem man ein strukturiertes Datenobject innerhalb eines Javascript-Programmen serialisiert schreiben würde. Also könnte man einfach so vorgehen

var response = new Object();
eval("response = " + httpRequest.responseText);

Allgemein wird davon aber abgeraten, weil es ein Sicherheitsrisiko beinhaltet. Schließlich führt man ja einen Programmcode aus, den man vorher nicht gesehen hat. Viele Browser bieten heute einen JSON-Parser als ein Objekt an. Dann kann man

response = JSON.parse(httpRequest.responseText);

schreiben. Leider muss man bei der AJAX-Programmierung viel Aufwand hineinstecken, wenn das Ergebnis in beliebigen Browsern lauffähig sein soll.

In dem Objekt response ist nun der gesamte Inhalt der Antwort strukturiert enthalten. Haben wir z.B. einen konkreten Autor abgefragt (z.B. http://api.zeit.de/author/Harald-Martenstein) dann ist response.matches die Liste seine Artikel, response.matches[0] ist der erste Artikel und response.matches[0].title beinhaltet den Titel des Artikeln und response.matches[0].href die URL, die auf den Artikel bei Zeit-Online verweist. Nun kann man sich der Möglichkeiten dynamischer Webseiten Web-Seiten bedienen und die abgerrufene Information in der Webseite darstellen (man siehe z.B. Neue Knoten erzeugen und in Baumstruktur einhängen bei SELFHTML).

Die Frage nach dem Inhalt

Verlassen wir zuletzt wieder die Technik um einige Dinge zu erwähnen, die mir zum Inhalt aufgefallen sind. Das sind gewissermaßen Unzulänglichkeiten des Datenbestandes, doch will ich ihre Erwähnung nicht als Kritik verstanden sehen. Es soll stattdessen deutlich werden wie schwierig der Aufbau einer solchen Datenbank ist.

Der erste Punkt ist, dass die Autoren oft mehrfach vorkommen: mit unterschiedlichen Schreibweisen und IDs. Harald Martenstein finden wir als author/Harand-Martenstein (72 Artikel), als author/Martenstein (2 Artikel) und als author/martenstein (1 Artikel). Dazu kommt, dass das CMS von Zeit-Online offenbar noch mehr Artikel kennt. Die Seite http://www.zeit.de/autoren/M/Harald_Martenstein/index.xml listet 591 Artikel auf. Hier ist also noch ein ToDo, um alle Artikel eines Autor zu erfassen und auch nur einem einzigem Autoren-Objekt zuzuordnen.

Ein anderer Aspekt bezieht sich auf die Information zu einem einzelnen Artikel. Da gibt es die Attribute „title“, „subtitle“, „supertitle“, „teaser_title“ und „teaser_text“. Vermutlich ist nur „title“ zwingend und immer vorhanden. Alle anderen Attribute sind optional. Mir ist auch nicht klar ob sie immer im gleichen Sinne verwendet werden. Das macht es schwierig eine einheitliche Darstellung eines Artikels zu programmieren.

Ich bin gespannt, wie sich die Sache weiterentwickeln wird. Welche Wege werden eingeschlagen, um die Meta-Datenbank zu verbessern, und welche Anwendungen (APPs) werden entstehen? Und ich bin natürlich gespannt, welche interessanten alten Artikel man erstöbern kann.

]]>
https://blogs.uni-due.de/zim/2012/12/18/die-neue-zeit-api/feed/ 0
Studentischer Aufsatzwettbewerb zum Thema Urheberrecht https://blogs.uni-due.de/zim/2012/07/23/studentischer-aufsatzwettbewerb-zum-thema-urheberrecht/ https://blogs.uni-due.de/zim/2012/07/23/studentischer-aufsatzwettbewerb-zum-thema-urheberrecht/#respond Mon, 23 Jul 2012 21:59:17 +0000 https://blogs.uni-due.de/zim/?p=1488 Weiterlesen ]]> Das Preisgeld von 5000 Euro wurde von der Stiftung der hessischen Rechtsanwaltschaft ausgelobt. Einsendeschluss ist der 15.12.2012. Genaueres findet man in diesem PDF.

Der Titel der Ausschreibung lautet Kulturflatrate, Kulturwertmark oder Three strikes and you are out: Wie soll mit Kreativität im Internet umgegangen werden? Den Begriff „Three strikes“ musste ich mir aber auch erst mal „ergoogeln“. Es geht darum, dass ein Täter beim „dritten Mal“ strenger bestraft wird (siehe Wikipedia) Bei der Verletzung des Urheberrechts ist das aber eigentlich kein Zeichen von Härte der Gerichte. Stattdessen offenbart sich hier der Zweifel der Rechtsprechung, ob die angelegten Rechts- und Unrechtsmaßstäbe in der Gesellschaft überhaupt verankert sind und vom Täter verstanden werden. Daher läßt man beim ersten und zweiten Mal Milde walten.

Für diejenigen, die noch nicht ganz „drin“ sind im Thema, sei das Glossar Urheberrecht für Anfänger von Zeit-Online empfohlen. Da werden Begriffe von A wie „Abmahnanwalt“ bis Z wie „Zitate“ verständlich erklärt. Und wer sich kulturhistorisch in das Thema einlesen möchte, dem lege ich das Essay Wie erwirbt der Mensch Wissen, wie wendet er es an und wie behandelt das Recht diesen Vorgang? des Wirtschaftshistorikers Eckhard Höffner nahe.

Höffner schreibt z.B. „Pflanzen lernen nach unserem Verständnis nicht, sondern entwickeln sich weiter durch Selektion, durch Absterben oder Überleben (Ausbreitung).“ Das ist für Höffner auf einer Skala die Position Null, die bedeutet „jede Übernahme von Wissen ist verboten oder unmöglich“ entgegen der Position Eins, die für „jede Übernahme von Wissen ist erlaubt und möglich“ steht. Höffner bezieht sich auf Aristoteles wenn er sagt, dass sich der Mensch von allen anderen Lebewesen dadurch unterscheidet, dass er „am meisten Lust zur Nachahmung” habe und „seine ersten Fertigkeiten durch Nachahmung” erwerbe. Der Artikel behandelt die Mechanismen des Wissensaufbaus und des Wissenstransfers in der Wissenschaftswelt und schließlich den Aspekt des Geldverdienens mit Wissen und mit Ideen: „Der Konsument ist derjenige, der das Geschützte lesen, hören oder auf sonstige Art rezipieren will. Er hat zugleich das Geld, um das sich die Geschützten streiten, und um seine Aufmerksamkeit buhlen die Geschützten.“

]]>
https://blogs.uni-due.de/zim/2012/07/23/studentischer-aufsatzwettbewerb-zum-thema-urheberrecht/feed/ 0
Warmer Rückenwind von ganz oben https://blogs.uni-due.de/zim/2012/06/28/warmer-ruckenwind-von-ganz-oben/ https://blogs.uni-due.de/zim/2012/06/28/warmer-ruckenwind-von-ganz-oben/#respond Thu, 28 Jun 2012 12:49:01 +0000 https://blogs.uni-due.de/zim/?p=1471 Weiterlesen ]]> Am 25.6.2012 hat die Enquete-Kommission Internet und digitale Gesellschaft des deutschen Bundestages ein Papier mit Handlungsempfehlungen zum Unterthema „Bildung und Forschung“ verabschiedet. Allen an der Hochschule, die das Thema „IT“ nicht grundsätzlich ausblenden, sei das 28-seitige PDF zum Lesen empfohlen. Man darf aber keine spektakulären Dinge erwarten oder Vorschläge, für revolutionäre Umwälzungen. Stattdessen wird man zu vielen Schlagworten, die uns heute beschäftigen, Bestätigungen finden. Die Botschaften sind:

  • Medienkompetenz stärken
  • E-Learning fördern
  • Open Access favorisieren
  • Netzwerke bilden
  • Infrastruktur ausbauen

Erfreulich ist auch, dass das Papier in der Projektgruppe mit weitgehender Harmonie zwischen allen Fraktionen entstanden ist. Es gibt einen Video-Stream von der Sitzung am 25.6.2012, in der die Projektgruppe ihr Ergebnis der Gesamt-Enquete zur Beschlussfassung vorgelegt hat. Nur die Fraktion der Linken hatte einige Ergänzungs- und Änderungs-Anträge, die aber keine grundsätzlich andere Positionen darstellten. Sie wurden mehrheitlich abgelehnt, aber zum Teil als Sondervotum in das Papier aufgenommen. Die Begründungen, warum diese Punkte nicht den Segen der anderen Parteien fanden, kann man dem Video entnehmen. Insgesamt wird das Papier einstimmig angenommen. Hier ist eine Zusammenfassung auf einer Web-Seite, in der auch das Video eingebettet ist.

]]>
https://blogs.uni-due.de/zim/2012/06/28/warmer-ruckenwind-von-ganz-oben/feed/ 0
Bald neu: Wikidata https://blogs.uni-due.de/zim/2012/04/08/bald-neu-wikidata/ https://blogs.uni-due.de/zim/2012/04/08/bald-neu-wikidata/#respond Sun, 08 Apr 2012 20:25:00 +0000 https://blogs.uni-due.de/zim/?p=1221 Weiterlesen ]]>

1970 hat sich ein 15-jähriger einen Computer als überdimensionalen Supertaschenrechner vorgestellt. Der Fortran-Kurs im ersten Semester an der Uni bestätigt dem 19-jährigen dieses Bild. Die Begriffe „Datenverarbeitung“ und „Informationsverarbeitung“ gab es damals zwar schon, aber was sollte das sein? Wir haben Nullstellen oder Integrale berechnet.  Die Welt hat sich mittlerweile verändert und der über 50-jährige hat seine Naivität verloren. Wie nimmt er Daten- und Informationsverarbeitung heute wahr? Als eine globale Baustelle!

Ich hole an einer Support-Theke ein Gerät ab, das ich zur Reparatur abgegeben hatte. Das Gerät hat der agile Servicemitarbeiter schnell hervorgeholt. Jetzt müssen nur noch ein paar Formalitäten abgewickelt werden. Dazu versteckt er sich hinter einem großen Computermonitor und er fängt an zu Tippen, zu Klicken, wieder Tippen u.s.w. Was er schreibt muss er im Kopf haben, oder vom Bildschirm ablesen. Ich vermute Letzteres. D.h., was der „Computer“ eigentlich schon weiss, muss abgeschrieben und nochmal neu eingeben werden.

Ist das wirklich so absurd? Das ist doch IT-Alltag. Seid mal ehrlich!

Am 2. April 2012 startete die Wikimedia-Foundation ein neues Projekt, das Wikidata heißt. Worum geht es? Schauen wir mal, wie man heute in Wikipedia mit Daten umgeht. Vordergründig organisiert Wikipedia eine Sammlung von Erläuterungstexten. In den Texten sind Microbestandteile enthalten, die man im weitesten Sinne als Daten bezeichnen könnte. Z.B. Einwohnerzahlen von Städten. Wie hoch ist ein Berg? Wer ist Bürgermeister einer Stadt? Die einzelnen Sprachvarianten der Wikipedia sind eigentlich eigenständige Enzyklopedien. Es gibt zwar die Querverlinkungen, doch jede Sprachversion wird von einer eigenen Community mit eigenen Regeln und eigener Hackordnung gestaltet. Die lokale Differenzierung hat sich im Grunde bewährt, doch ein Nachteil ist, dass Daten, die sich regelmäßig verändern,  in allen Sprachen eigenständig aktuell gehalten werden müssen.. Nehmt mal die Wikipedia-Seite der Uni Duisburg-Essen und wechselt zwischen den verschiedenen Sprachen. Wieviele Studenten hat denn unsere Uni? Und wer ist der Rektor? ( Die Uni hat so viele chinesische Studenten. Kann nicht mal einer von Euch im chinesischen Wikipedia den aktuellen Rektor eintragen?) Die Idee von Wikidata ist nun die, solche Informationen sprachunabhängig in einem einzigen System zu verwalten und von den Texten abzukoppeln.

Hier ein paar Links zum Thema:

In dem Wikidata-Projekt stecken mehrere Herausforderungen:

  • Wie wird die Semantik der Daten abgelegt?
  • Wie werden die Daten in die Wikipedia-Seiten eingebunden?
  • Wie wird die Eingabe und Pflege der Daten multinational organisiert?
  • Wie können die Daten außerhalb von Wikipedia genutzt werden?

Wenn bei diesem Projekt etwas praktikables herauskommt, wird es das Internet verändern. Vielleicht haben wir hier den Startschuß für eine „semantische Revolution“ die auf der Web 3.0-Vision basiert? Siehe Semantisches Web. Das Wikidata-Projekt formuliert diesen universellen Anspruch aber nicht, sondern orientiert sich daran, innerhalb eines Jahres zu einsetzbaren Verfahren zu kommen.

]]>
https://blogs.uni-due.de/zim/2012/04/08/bald-neu-wikidata/feed/ 0
Datenschutz, Informationsfreiheit und Urheberrecht https://blogs.uni-due.de/zim/2011/12/23/datenschutz-informationsfreiheit-und-urheberrecht/ https://blogs.uni-due.de/zim/2011/12/23/datenschutz-informationsfreiheit-und-urheberrecht/#respond Fri, 23 Dec 2011 13:16:59 +0000 https://blogs.uni-due.de/zim/?p=1075 Weiterlesen ]]>

In der schnelllebigen digitale Gesellschaft kann es einem schon schwindelig werden. Gestern sind wir noch für „Datenschutz“ marschiert, und heute steht „Open Data“ auf unseren Fahnen. Es bedeutet aber nicht, dass ein neues Prinzip ein altes ersetzt. Stattdessen muss man heute sehr genau schauen, wo das Prinzip „Datenschutz“ Anwendung finden muss, und wo das Prinzip „offene Daten“ Vorrang haben muss. So gibt es auch nur einen Bundesbeauftragten, der für beide Themen zuständig ist, den „Bundesbeauftragten für den Datenschutz und die Informationsfreiheit“. Seit 2003 übt Peter Schaar dieses Amt aus. Dass Datenschutz und Informationsfreiheit zwei Seiten einer Medaille sind, beschreibt er in diesem aktuellen Beitrag.

Ein anderer Begriff, der heute sowohl propagiert, wie auch in Frage gestellt wird, ist „Urheberrecht“. Zunehmend setzt sich die Erkenntnis durch, dass das Urheberrecht, wie wir es heute haben, überholt oder überholungsbedürftig ist. Die EU-Kommissarin Neelie Kroes beklagt in einer Rede, die sie am 19.11.2011 auf einem Kultur- und Medienforum in Avignon gehalten hat, dass „Copyright“ bei Bürgern zu einem Hasswort geworden ist.

„Meanwhile citizens increasingly hear the word copyright and hate what is behind it. Sadly, many see the current system as a tool to punish and withhold, not a tool to recognise and reward. „

(siehe auch diesen Eintrag auf Heise-Online)

Man muss sich vor Augen halten, dass hier die Interessen von 3 Rollen aufeinandertreffen. Die Interessen der „Werkschaffenden“ (Autoren, Künstler), die Interessen der „Vermarkter“ (Verlage, Mediengesellschaften) und die Interessen der „Nutzer“ (Verbraucher, Konsumenten).

Nun gibt es ein gemeinsames Positionspapier der Wikimedia Deutschland e.V., der Digitale Gesellschaft e.V. und der Open Knowledge Foundation Deutschland e.V. , das mit „Was zu tun wäre: Ein Urheberrecht für das 21. Jahrhundert“ überschrieben ist. Es werden die Probleme aufgelistet, die aus dem aktuellen Urheberrecht resultieren, und in 5 Punkten werden grobe Richtungsempfehlungen gegeben. Z.B. dass das Urheberrecht eigentlich ein „Urheber- und Verbraucherrecht“ werden muss, und dass man weg von „Schrankenregelungen“ und hin zu „Fair Use-Klausel“ kommen muss.

]]>
https://blogs.uni-due.de/zim/2011/12/23/datenschutz-informationsfreiheit-und-urheberrecht/feed/ 0