News
Neuer Server
Der Traffic der Seite ist ganz langsam gewachsen. Darum ist die Seite jetzt auf einen neuen Server umgezogen, was erfreulicherweise zu einem merkbaren Geschwindigkeits-Upgrade geführt hat.
Vorher lag sie auf einem kleinen Atom230-Rootserver. Jetzt läuft sie auf einem netten Intel Core i3-2130 mit 3.4 GHz und 8GB RAM – und da ist die Seite auch nicht direkt reingezogen, sondern auf dem Server läuft ein Xen, und dort hat die Seite eine eigene Virtual Machine für sich. Geblieben ist der Webserver Nginx.
Den Atom hatte ich noch auf Arch Linux laufen, weil ich es damals schön fand. Leider verursacht Arch, sofern man nicht alle vier Femtosekunden die Rolling Updates installiert, ziemlich Wartungsaufwand. Darum läuft die Virtual Machine für die Webseite jetzt auf einem schönen, neuen Debian Wheezy. Und weil Wheezy ja neu ist und ich mir daher noch nicht ganz über die Sicherheit im klaren bin, läuft es hinter einer Router-VM. Das gibt mir auch die Möglichkeit, unerwünschten Traffic rauszurouten, bevor er CPU-Load produziert. So weit, so schön.
Jetzt sollte man meinen, man rsynct einfach sein Dokuwiki (denn darauf läuft die Seite ja) vom einen auf das andere System, und alle sind glücklich. Wer das denkt, kennt mein Karma nicht (huhu, CK! ). Für die Blog-Inhalte nutze ich nämlich das BlogTNG-Plugin für Dokuwiki. Damit hatte ich 2011 das alte Blog-Plugin abgelöst, weil es deutlich schneller und robuster ist, denn es speichert die Metadaten des Blogs in einer SQLite-Datenbank.
Leider ist BlogTNG nun aber nicht besonders super gewartet, und so unterstützt es offiziell leider nach wie vor nur SQLite2. Jetzt fällt mir auch wieder ein, dass das der Grund war, warum ich unter Arch damals nicht mehr alle vier Femtosekunden die Updatefunktion ausgeführt hatte. Irgendwann kam nämlich das Update auf PHP 5.4, und damit wurde der SQLite2-Support offiziell gestrichen. Auf Wheezy gibt es aber nur noch PHP 5.4. Verflucht! Glücklicherweise gibt es einen inoffiziellen SQLite3-Branch für BlogTNG, also flugs die Datenbank konvertiert und den verwendet. Scheint zu funktionieren alles. Wenn ihr Fehler entdeckt, sagt bitte Bescheid.
Irgendwann setze ich auch noch das Dokuwiki selbst neu auf, da ist auch noch irgendeine Langsamkeitsquelle drin. Im Moment schmeiße ich einfach mit mehr CPU-Power auf das Problem, was ja nicht der Weisheit letzter Schluss sein kann. Aber das passiert dann in Tateinheit mit einem neuen Template, denn das gerade verwendete Minima scheint auch nicht mehr so prall gewartet zu werden. Dann muss ich aber auch einen neuen Stylesheet schreiben. Hm. We'll see. Genug geflucht und gefrickelt für heute jedenfalls.
Bonner Altstadt: Kirschblütentraum bei Tag und bei Nacht
Wer in Bonn studiert hat, kennt die Altstadt – sowohl für ihre kleine Kneipenszene, als auch von leidvollen Umzugserfahrungen. Und wer die Altstadt kennt, kennt die Kirschblütenpracht einiger Straßen dort im Frühling. Einige Jahre habe ich jetzt gedacht „das musst du mal in Szene setzen“, und dieses Jahr bin ich endlich mal dazu gekommen. Wir hatten ja auch länger keine Fotos mehr hier. Ich bin zweimal durchgelaufen, einmal gestern mitten in der Nacht, und einmal heute am frühen Nachmittag. Also gibt es jetzt zwei Fotogalerien samt Tips zum nachmachen. Viel Spaß
Welt nicht untergegangen
Ist noch mal alles gutgegangen, so wie es aussieht. Keine Apokalypse in Sicht. Ich bin noch da und draußen auf der Stra
Tschüss, Zellen: Game of Life als kontinuierliche Version
Ich interessiere mich ja für Themen im Umkreis des Artificial Life – nicht, um in dem Bereich zu forschen, sondern einfach als Hobby. Das Gebiet des Artificial Life ist eine gigantische Spielwiese. Man versucht, künstliche Systeme aus einfachsten Bestandteilen herzustellen – aber so, dass sie vielleicht ein paar der Eigenschaften von lebenden, biologischen Systemen innehaben. Es gibt viele Ansätze, solch ein künstliches System zu basteln, die meisten Systeme werden einfach mehr oder weniger aufwändig simuliert – kostet wenig, ist schön zum Ansehen, und ist einfacher auszuwerten. Ein gutes Beispiel ist meine Diplomarbeit, in der Schwarmverhalten einfach entsteht. Bringt nun einer dieser Ansätze spontan ein Systemverhalten hervor, das man aus den Regeln des Systems nicht ohne weiteres erkennen konnte, spricht man häufig von „emergentem Verhalten“ oder schlicht „Emergenz“. Dazu unten gleich noch kurz mehr.
Ein sehr bekanntes Beispiel für ein Artificial-Life-System sind sogenannte Zelluläre Automaten. Das sind im Grunde Kästchenwelten, also diskrete Welten meist einer oder zwei Dimensionen. Jedes Kästchen kann verschiedene Zustände innehaben. Auch die Zeit ist diskret, sie läuft in Zeitschritten und in jedem Zeitschritt ergibt sich der Zustand eines Kästchens (auch Zelle genannt) aus den Zuständen seiner Nachbarkästchen im vorherigen Zeitschritt. Mit anderen Worten, ein Kästchen bestimmt seinen Zustand anhand einer Übergangstabelle („Regel“ genannt) rein lokal – also ohne Kenntnis der Gesamtwelt. Bilden sich nun riesige, Kästchenübergreifende Systeme und Strukturen heraus, sprechen viele Leute wieder von Emergenz. Das interessante an Zellulären Automaten ist, dass man wirklich alle Zeitschritte durchrechnen muss und meist nicht einfach eine Formel finden kann, die den Zustand eines Kästchens für einen beliebigen Zeitschritt vorhersagt.
Nach der allgemeinen Einführung nun endlich mal was konkretes: Der bekannteste der Zellulären Automaten ist Conway's Game of Life. Es wurde von John Conway entwickelt, einem britischen Mathematiker, der Spaß an solchen mathematischen Spielchen hatte. Das Game of Life ist eine 2D-Kästchenwelt, wie Rechenpapier. Jede Zelle kann zwei Zustände einnehmen: Tot oder lebendig. Es ist klar, dass jede Zelle auf Rechenpapier von 8 anderen Zellen eingekreist wird. Ich habe gesagt, dass jede Zelle ihren Zustand für den nächsten Zeitschrift anhand ihrer lokalen Nachbarschaft „ausrechnet“, und so ist es auch hier. Es heißt Game of Life, also passiert das ganze biologisch motiviert:
- Lebendige Zellen sterben an Einsamkeit, wenn sie weniger als zwei lebendige Nachbarn haben. Sie sterben an Überbevölkerung, wenn sie mehr als drei lebendige Nachbarn haben. Bei zwei und drei lebenden Nachbarn bleiben sie unverändert lebendig.
- Tote Zellen leben im nächsten Zeitschritt, wenn sie exakt drei lebendige Nachbarn haben.
Diese Regeln reichen aus, um eine Vielzahl von Figuren aus lebenden Zellen zu basteln. Manche dieser Figuren sind „Stilleben“, bleiben also wie sie sind, weil jede ihrer Zellen eben entweder genau zwei oder genau drei lebendige Nachbarn hat. Manche sind periodisch: Sie verändern sich, Zellen sterben also und erwachen zum Leben, sie nehmen aber irgendwann wieder ihren Anfangszustand ein. Interessant sind periodische Figuren, bei denen der Anfangszustand, wenn er wieder erreicht ist, im Vergleich zu vorher verschoben ist. Diese nennt man „Spaceships“, da sie sich sozusagen durch den Raum bewegen. Eines der bekanntesten und einfachsten Spaceships ist der sogenannte „Glider“. Er ist rechts abgebildet, klickt mal drauf, dann seht ihr ihn in Bewegungm, lebende Zellen sind schwarz (© 2008, Wikipedia, Autor: Dhatfield).
Weiter interessante Figurenarten sind sogenannte „Metusehlas“, das sind Figuren, die aus möglichst einfachen Anfangszuständen möglichst lange unvorhersehbares Gewimmel erzeugen. Zigtausende Schritte aus einer einstelligen Anzahl gesetzten Anfangszellen sind keine Seltenheit. Es gibt eine riesige Fangemeinde, das Game of Life ist internetweit extrem populär. Eine vielzahl von Personen hat riesige Figuren aus abertausenden Zellen zusammengesetzt. Also können wir direkt mal ein paar Videos ansehen, die das ganze noch mehr illustrieren.