evolution|ethree | Mach mit!  
  - 03. November 2003:
Wir gehen gerade mit evolution|ethree in die dritte Runde, und möchten Dich deshalb einladen, interaktiv daran teilzunehmen. Aus diesem Grund haben wir eine Mailingliste eingerichtet, die für jedermann offen ist. In dieser werden wir regelmäßig aktuelle Quelltexte posten und auch ihr seid dazu eingeladen, aktiv zu werden und selbst an evolution mitzuarbeiten. Natürlich können auf dieser Liste auch Erfahrungen ausgetauscht, Probleme diskutiert, und Ideen entwickelt werden.
Wenn ihr euch auf die Liste eintragt ("subscribed"), erhaltet ihr nicht nur die neusten Informationen und Quelltexte zum Projekt, ihr erhaltet auch zugriff auf das Mailinglisten-Archiv, in dem ihr auch ältere Nachrichten durchstöbern könnt, sowie die File-Up/Download-Section, in der ihr weiteres interessantes Material jederzeit finden könnt.

Macht mit bei diesem interessanten Projekt, und werdet aktiv! Egal ob ihr C++ könnt oder nicht, ob ihr Unix Spezialist seid oder Änfänger, jeder ist willkommen, und kann sich mit seinen Ideen und praktischen Erkenntnissen einbringen!

Für die Mailingliste gelten folgende Bedingungen:
  • Soweit nicht besonders vom evolution-Team als diese Regelungen aushelbelnd vermerkt, gelten für alle Code-Segmente, die über die Mailingliste oder die Web-Tools gehen, folgende Bedingungen: Nicht gestattet sind unerlaubte Vervielfältigung, Verleih, Verkauf, Weitergabe, Veröffentlichung oder Nutzung innerhalb anderen Projekten. Die Veränderung ist nur zum privaten Zweck gestattet, eine veröffentlichung der geänderten Quellen ist nur über diese Mailingliste erlaubt. Die Nutzung im kommerziellen Umfeld ist strengstens untersagt. Das Nutzungsrecht an den Quellen, Binaries und anderem zu evolution gehörendem Material verfällt spätestens mit dem Ende der Nutzung dieser Mailingliste durch den User. Das evolution-Team* behält sich vor, bestimmte Übereinkünfte zur Nutzung dieses Software-Paketes jederzeit zu ändern oder zu widerrufen. Hierzu genügt eine Mail an die Mailingliste.
  • Anhänge dürfen nur vom evolution-Team über diese Mailingliste versandt werden. (Ausnahmen sind veränderte Sources, diese dürfen auch von Mitgliedern über die Mailingliste versandt werden). Für Logs, Binaries und ähnliches steht ein Upload Center [1] zur Verfügung.
  • Das Verschicken von Werbung jeder Art, Viren oder ähnlichem über die Mailingliste ist strengstens untersagt und kann strafrechtlich verfolgt werden.
  • Inhalte jeder Art, die über die Mailingliste oder die Web-Tools gehen, dürfen nicht-Mitgliedern nicht zugänglich gemacht, oder zur Verfügung gestellt werden.
  • Die Mailingliste ist zweckgebunden. Jede Mail, die an sie geschickt wird, muss etwas mit dem Projekt zu tun haben.
  • Folgende Warnungen werden gelesen und akzeptiert. Sie beziehen sich auf sämltliches Code Material, das über die Liste oder die Web-Tools gehen wird:
    Der Einsatz von evolution ist mit Gefahren für Hard- und Software verbunden und geschieht auf eigene Gefahr. Da evolution-Würmer nur durch Zufall und völlig unkontrolliert mutieren, können auch bösartige und destruktive Würmer entstehen, die Ihr System - sei es die Software oder auch die Hardware - zerstören könnten. Führen Sie den Wurm deshalb nur aus, wenn Sie in Kauf nehmen, dass so etwas passieren kann, und wenn der Rechner, auf dem Sie es starten möchten, Ihr persönliches Eigentum ist.
    evolution wird auf vielfachen Wunsch trotz dieser nicht unbeachtlichen Risiken, über die Sie nun aufgeklärt worden sind, über die Mailingliste zum Download angeboten.
    Setzen Sie evolution zu destruktiven Zwecken oder zu Sabotagezwecken ein, drohen Ihnen strafrechtliche Konsequenzen. Für sämtliche Schäden die durch evolution - sei es direkt oder indirekt - entstehen, ist alleine derjenige verantwortlich, der es auf dem betreffenden PC startete.


  • Die Mailingliste ist über folgende Mailadresse erreichbar:
    evousers@gcf.de
    Mails, die an diese Adresse gesendet werden erreichen alle Mitglieder der Mailingliste. Nur Mitglieder können Nachrichten an diese Adresse schicken.
    Wird Hilfe zur Liste benötigt, erreicht ihr uns unter evolution@gcf.de .
    Um Mitglied der Liste zu werden, schreibt an evousers-subscribe@yahoogroups.com oder nutzt das untenstehende Formular bzw. [1].
    Um euch wieder auszutragen (Achtung, Nutzungsrechte an sämtlichen Quellen und Binaries verfallen dann), schreibt an: evousers-unsubscribe@yahoogroups.com.

    Wichtig: Dies ist die einzige Möglichkeit, noch an die Quelltexte zu kommen, Anfragen direkt an uns werden nicht mehr bearbeitet.

    [1] http://groups.yahoo.com/group/evousers
     
      evolution|ethree | Subscribe!  
      [x] Ja, ich habe diese Bedingungen akzeptiert, und möchte auf der Mailingsliste eingetragen werden!
    Bitte trage hier deine eMail-Adresse ein.
    Du wirst eine Mail bekommen, in der Du bestätigen musst, dass Du Dich hier wirklich eingetragen hast. Diese wird von vielen SPAM Filtern als SPAM erkannt. Bitte achte darauf, dass Du diese bestätigst, sonst bist Du nicht eingetragen. Wenn Du die Bestätigungsmethode über http wählst, wirst Du Dich bei yahoo groups registrieren müssen. Bitte befolge dazu die Anweisungen, die Yahoo anzeigen wird. Am schnellsten funktioniert es, wenn Du auf die Mail, die Yahoo Dir schickt, einfach antwortest.
     
      evolution | News  
     
  • 25|05|2003 | Erstes etwo Release auf Anfrage verfügbar
  • 23|03|2003 | Die neue Wurmsoftware etwo ist fertig und wird getestet, die erste große Zivilisation wird wohl in den nächsten Tagen gestartet.
  • 08|03|2003 | Der Start der ersten großen Zivilisation wird sich auf Grund eines unerwarteten Problems auf nächste Woche verschieben.
  • 06|03|2003 | Die ersten Zivilisationen wurden über mehrere Stunden am Leben gehalten und beobachtet.
  •  
      evolution | Das Projekt  
      Das Projekt "evolution" der German Computer Freaks (GCF) versucht, in einer Linux-Umgebung Evolutionsvorgänge mit Hilfe einer einfachen Wurm-Software zu simulieren. Im Gegensatz zu anderen Projekten, die Evolution simulieren, beginnt evolution dabei ganz von vorne, mit dem simplest-denkbaren Wurm. Dieser muss lediglich 2 Dinge können: Sich reproduzieren und sich dabei (eventuell) verändern. Kombiniert mit einer Umgebung, in der nur eine beschränkte Anzahl an Würmern existieren kann, beginnen sich die Würmer, die sinnvolle Veränderungen davongetragen haben, durchzusetzen. Evolution findet statt. Sowohl Reproduktionsvorgänge als auch die Veränderungen finden rein zufällig statt. Dadurch wird eine größtmögliche Vielfalt gewährleistet. Damit die Würmer sich beobachten lassen, generieren sie in regelmäßigen Abständen einen Status-Output, der in einer Logfile gespeichert wird.
    Update | In der neuen Wurmsoftware etwo verändert sich der Wurm nun nicht mehr selber, die Mutationen wird vom System (über wcpy) erzwungen. Der Wurm schießt nun auch zufällig andere Prozesse ab (Agressionstrieb).
     
      evolution | Der Aufbau  
      evolution|etwo gliedert sich in 3 Teile, die nötig sind, um eine Zivilisation zu betreiben und zu kontrollieren: Das Programm eworm stellt den eigentlichen Wurm dar, der sich mit Hilfe des Tools wcpy reproduziert und dabei verändert. Um alte Würmer zu entfernen, und später auch um sich den Status einer Zivilisation anzusehen, läuft optional dazu das Tool eww als root.
    Ein Wort zum Zufall, der auch ein wichtiger Teil des Projektes ist: Sämtliche Aktionen, die der Wurm oder wcpy wiederholt ausführen, werden in ihrer Anzahl durch Zufall bestimmt. Der Zufallsgenerator wird hierbei, um möglichst "echt"-zufällig zu sein, nicht nur mit einem Timestamp initialisiert, sondern auch mit der PID des betreffenden Programmes. Aktionen werden so lange ausgeführt, bis der Zufallsgenerator eine bestimmte Zahl zurückgibt. Hierdurch wird eine gaußsche Normalverteilung der Aktionshäufigkeit erreicht.
    Damit der Wurm sich nicht so schnell ausbreitet, dass das System einfriert, werden die Prozesse des Wurm-Users mittels dem bash-Befehl ulimit limitiert. Das heißt, es wird nur einer gewissen Anzahl Würmern möglich sein, gleichzeitig zu existieren. Versucht ein Wurm zu forken, also einen neuen Prozess zu starten, wenn dieses Limit erreicht ist, wird die Aktion abgebrochen. Ein neuer fork ist erst dann wieder möglich, wenn ein Wurm gestorben ist.
     
      eworm | Der Aufbau  
      eworm ist der eigentliche Wurm. Nach dem Start initialisiert er einen Zufallszahlensatz, welcher dann seine späteren Aktionen bestimmt.
    Der Wurm wird versuchen, ca. 2 Würmer umzubringen (die Chance, dass er das schafft, ist aber sehr gering) und sich im Idealfall ca. 3 Mal reproduzieren. In Wirklichkeit liegt die Reproduktionsrate bei etwa 1 Mal, weil einige Würmer nicht lebensfähig sind, oder es dem Wurm nicht gelingt, 3 Mal hintereinander zu forken (3 forks sind nötig für die Reproduktion).
    Um sich zu reproduzieren, braucht der Wurm das Tool wcpy, ohne dass er keine Chance hat, sich zu kopieren. Er ist etwa 17kb groß.
     
      wcpy | Der Aufbau  
      wcpy lässt sich vergleichen mit der radioaktiven Strahlung auf der Erde, die Mutationen erzwingt. Kein Wurm kommt um dieses Tool herum, wenn er sich selbst kopieren wird, Tools wie cp werden vom System gesperrt.
    Das Tool liest zuerst den Wurm ein, der sich reproduzieren will, und sucht sich dann zufällig Bytes aus, in denen es zufällig Bits verändert. Diesen veränderten Binärcode schreibt es dann in eine neue Datei, deren Namen ihm voher von eworm übergeben worden ist.
    wcpy muss vor dem Wurm (schreib-)geschützt werden.
     
      eww | Der Aufbau  
      eww sorgt dafür, dass sich der Wurm nicht ungehindert ausbreiten kann.
    Es markiert sich alle aktuellen Dateien in einem Verzeichnis, wartet 10 Minuten, und löscht diese Dateien dann. Danach fängt das Tool wieder an, die nun noch vorhanden Dateien zu markieren und diese wieder nach 10 Minuten zu löschen. So wird sichergestellt, dass der Wurm nicht irgendwann Platzprobleme bekommt.
    eww sorgt sozusagen für Verwesung. Damit es nicht vom Wurm abgeschossen wird, sollte es als root laufen. Der Einsatz von eww ist optional, man braucht es nicht unbedingt. An eww wird noch gearbeitet, weitere Funktionen sollen hinzukommen.
     
      evolution | Statusbericht / Erste Erkenntnisse  
      Nach ca. 7 Wurm-Zivilisationen der früheren Wurmsoftware (eone), die wir ein bis acht Stunden ihr Unwesen treiben ließen, zeichneten sich bereits folgende Entwicklungen und Probleme ab:
  • Die Würmer versuchen, sich selbst Ihre Veränderungsprozedur zu zerstören, weil es ihnen evolutive Vorteile bringt, sich eben nicht zu verändern und somit stabil zu bleiben. Wir arbeiten daran, die Prozedur zu verbessern.
  • Die meisten Veränderungen führen zu einem lebensfähigen Wurm, obwohl sie rein zufällig und auf Binärebene geschehen.
  • Die kleineren Würmer scheinen sich durchzusetzen. In nahezu allen Zivilisationen waren die aktuell lebenden Würmer einige Byte kleiner als der erste Wurm.
  • Veränderungen an den Ausgabestrings sind bei den Würmern besonders beliebt. Auf die Dauer wird die Status Ausgabe wohl nicht lesbar sein.
  • Auf einem ~ 200 MHz Rechner lebten nach einer Stunde annähernd 10.000 Würmer
  • Da sich der Wurm rasant ausbreitet und pro Stunde ca. 200 MB Festplattenspeicher verbraucht, muss für einen längeren Test erst noch eine Möglichkeit gefunden werden, alte Würmer, die bereits gestorben sind, zu löschen.


  • Erkenntnisse zu den Zivilisation der neuen Wurmsoftware (etwo), die versucht die Probleme der Früheren zu umgehen, werden bald folgen. Die Wurmsoftware wurde komplett überarbeitet und wird gerade getestet.
    - 23|03|2003
     
      evolution | Das Team  
     
    Die Köpfe hinter evolution:

    bothie _
    Programmierung
    Linux
       
    Deeptroat _
    Technische Ausstattung
    Beratung
       
    DNode _
    Beta-Test
    Theorie, Beratung
       
    Du-Ne _
    Programmierung
    Theorie, Realisation
       
    Matrex _
    Programmierung
    Theorie, Realisation


     
      The German Computer Freaks | Informationen  
      Die German Computer Freaks (GCF) sind ein junges nicht-kommerzielles Team interessierter und motivierter Computer Freaks, das sich mit allen erdenklichen Interessensgebieten ihrer Besucher beschäftigt. Mit evolution versuchen wir, sowohl das Interesse von Informatik- als auch von Naturwissenschaftslaien zu wecken. Weite Informationen zu evolution und Material werden bald folgen.