I started to program in the Easter holidays 20 years ago. Therefore, I’ll try to recollect some memories of what I programmed over these years. I went through heaps of old screenshots and tried to pick one project / direction of work per year.
Gleichheitsbegriffe für das Verhalten von kommunizierenden Systemen korrespondieren zu logischen Spielen. Diese haben mehr mit mathematischer Spieltheorie als mit Computerspielen zu tun. Trotzdem lassen sie sich als Computerspiele umsetzen, was ich sehr cool finde.
Einige meiner Bachelorstudis und ich haben inzwischen angefangen, Computerspiel-Umsetzungen der logischen Spiele zu entwickeln. Besonders glücklich bin ich mit einem kleinen Spiel, das unter https://www.concurrency-theory.org/rvg-game/ im Browser gespielt werden kann.
Das Spiel entstand im Rahmen von Dominiks Bachelorarbeit und wurde genau rechtzeitig fertig, damit wir es zu Rob van Glabbeeks 60. Geburtstag online stellen konnten. Rob ist einer der Entdecker von Coupled Similarity und diese nimmt eine zentrale Rolle im Spiel ein. Das Timing passte also sehr gut.
Schaut euch das Spiel ruhig mal an! Es liefert einen deutlich freundlicheren Zugang als durch die sonst häufig am Anfang stehenden mathematischen Monster wie Coinduktion, Coalgebren, Kategorien und Modallogiken.
Ich arbeite ja in der Informatik auf dem Feld der Concurrency-Theory, das seine Wachstumszeit schon hinter sich hat. Wichtiger als die (irgendwie immer noch moderne) Erarbeitung immer neuer obskurer Formalismen ist es, den Kern des Feldes so zu stabilisieren, dass er für Menschen überblickbar wird und neue Generationen davon ausgehend auf neue Stufen klettern können. Darum finde ich es wertvoll, interaktive und intuitive Präsentationen zu suchen.
Ich habe dieser Tage meine Masterarbeit mit dem schönen Titel „Computing Coupled Similarity“ eingereicht. Coupled Similarity ist ein bestimmter Begriff davon, was für Zustände von Programmen gleich sind. Natürlich funktioniert der Begriff nicht nur für Programme, sondern auch für allgemeinere Abläufe. Es gibt sehr viele Gleichheitsbegriffe für solche Systeme. Dazu gehören jeweils Algorithmen, um die Gleichheiten zu ermitteln. Für Coupled Similarity wurde wohl bisher vergessen, so einen Algorithmus zu entwickeln, und das ist es, was ich in meiner Masterarbeit nachhole.
Für Computergraphik 1 habe ich mit Meike und Amir einen kleinen Raytracer geschrieben. Der ist immerhin schon um einige Größenordnungen schneller als meine Gehversuche von 2007. Dabei floss viel Handarbeit in C++, Multi-Threading und Organisation der Mesh-Geometrie durch k-d-Bäume!
Da ich mich nicht so recht traue, das Programm selbst hier zu veröffentlichen, denn die Urheberrechtslage für Uni-Hausaufgaben ist hinreichend unklar, gibt’s hier nur eine Bildausgabe des Raytracers. :) (Mit der Maus über das Bild gehen für Hinweise zu den erkennbaren Features im Bild!)
Ich habe mich mal an JavaScript-3d-Browser-Programmierung versucht. Obwohl ich nicht sehr fit mit JavaScript und co bin, ging das mit three.js doch überraschend einfach.
Projekt war ein Programm, mit dem man sich zu 2d-Motiven ansehen kann, wie sich diese auf echten dreidimensionalen Buttons machen würden – ob man genug Rand gelassen hat und so weiter. Ich hatte so ein Programm 2007 mal für Ron geschrieben, der nebenher individuelle Buttons für Bands und andere Interessierte stanzt. Inzwischen war das Windows-Programm etwas sehr angestaubt und es war naheliegend, das ganze für den Online-Einsatz neu zu implementieren.
Das Ergebnis könnt ihr auf http://buttonz.de/viewer/ bewundern. Einfach eure Bilddateien auf den Viewer im Browser ziehen und los geht’s!
Irgendwas hat mich dazu getrieben, die Inhalte meines guten, alten, handgeschriebenen Blog in ein WordPress-Blog zu übertragen.
Das ist zwar nicht mehr so richtig real, aber dafür muss ich Beiträge in Zukunft nicht mehr von Hand per SQL posten ;). Vielleicht führt das ja sogar dazu, dass ich hier wieder ab und zu was schreibe, wer weiß?
(Vermutlich sind hier unendlich viele Links kaputt. Ich überlege mir die nächsten Tage mal, ob das irgendwie auf eine vertretbare Art zu fixen geht. Auch wird es wohl ein harter Kampf, die alten Beitragsbilder ins WordPress zu hämmern :/.)
Update 10. Mai 2015: Okay, ich habe die Beitragsbilder (etwas mittelcool) gerettet und die alten URLs leiten auch weiter. Außerdem habe ich dem Theme etwas des alten mrkeks.net-Charmes aufgezwungen und an ein paar Interfacetexten gebastelt.
Die Ergebnisse der Klausur in Theoretische Grundlagen der Informatik sind jetzt einsehbar.
Na, mit fünf Jahren Programmiererfahrung und 1,0er-Abi war’s doch echt schaffbar! Elitär-selektierend-aussiebende Moppelkotze!
Habe heute meine erste Zwischenklausur in Theoretische Grundlagen der Informatik geschrieben. Ziemlicher Betrug: Dutzende uninteressant, in der Luft hängende Aufgaben, die man in 75 Minuten lösen sollte. Niemand hat es geschafft, die Aufgaben überhaupt alle zu bearbeiten. Habe auch nur 70% oder so beantwortet. Hatte mir irgendwie von der Uni etwas mehr erhofft als einen Unieinbürgerungstest, der mit Multiple Choice und co mehr an die MSA-Prüfungen als an eine Klausur erinnert…