Projekte von Martin von Gagern

Diese Seite bietet einen Überblick über die Software-Prjekte, in die ich involviert war oder bin. Die Aufstellung erhebt keinen Anspruch auf Vollständigkeit.

Solo

Die folgenden Projekte habe ich selbst begonnen, und bei den meisten davon gibt es keine Beiträge von Anderen.

jspngopt

Eine Node.js-Bibliothek zum Komprimieren von PNG-Grafiken.

node-libtidy

Node.js-Anbindung für die HTML Tidy-Bibliothek libtidy, mit der HTML-Dokumente bereinigt werden können.

random_pivot

Erzeugt randomisierte Matrizen mit vorgegebenen Randsummen als ein statistisches Null-Modell. Wurde in einer Veröffentlichung verwendet.

morenaments euc

Dieses im Rahmen meiner Diplomarbeit entstandene Programm erlaubt das Zeichnen von Ornamenten in den Symmetriegruppen der euklidischen Ebene. Es ist als Java-Applet und -Anwendung konzipiert, auch wenn ich gerne eines Tages eine JavaScript-Version erstellen würde.

morenaments hyp

Teil meiner Doktorarbeit, noch nicht zur allgemeinen Benutzung aufbereitet.

Confoo

is eine Bibliothek, um Dreiecksnetze diskret konform zu transformieren.

WriteBird

ist eine Software für elektronische Tafeln. Sie ist in Java geschrieben, arbeitet vektororientiert und erlaubt es, Tafelinhalte als PDF-Dateien recht platzsparend zu exportieren.

AnnoMaLy

ist ein modifizierter SML-Compiler, der Dokumentation zu den übersetzten Quellen im XHTML-Format generiert.

mqn2mps und bande

sind die Ergebnisse eines interdisziplinären Projektes an der Schnittstelle zur Physik.

Team

Diese Projekte sind in Teams entstanden, und ich war ein wesentlicher Bestandteil des jeweiligen Teams.

CindyJS

Ein JavaScript-Framework für (mathematische) Visualisierung mit dem Ziel, zu Cinderella kompatibel zu sein. Ich habe große Teile des Programms entworfen und implementiert. Außerdem bin ich hauptverantwortlich dafür, Codebeiträge von Anderen zu prüfen.

Cindy3D

Ein Plugin zur 3D-Visualisierung in Cinderella, welches von Matthias Reitinger und Jan Sommer entwickelt wurde und jetzt von mir gepflegt wird.

Beiträge

Dies ist eine Auswahl von Projekten, zu denen ich Code beigetragen habe.

KaTeX

Mathematischer Formelsatz im Browser. Ich habe eine große Zahl von Features beigetragen, beginnend mit der Einführung von Umgebungen etwa für Matrizen, über die Unterstützung von Benuzterdefinierten Makros bis hin zu Verbesserungen an den automatischen Tests in diesem Projekt.

libxmljs

Eine Node.js-Anbindung für libxml. Ich habe einen Fork dieses Projektes erstellt, um Multithreading zu implementieren. Ich hoffe, dass dieser Fork eines Tages mit dem ursprünglichen Projekt wiedervereint werden kann.

emscripten

Ein LLVM-zu-JavaScript-Übersetzer. Ich habe die Initialisierung des Speicherinhalts aus String-Literalen implementiert.

SageMath

Dieses Werkzeug vereint verschiedene mathematische Software in einer gemeinsamen, auf Python aufbauenden Sprache. Es kann als Computeralgebrasystem eingesetzt werden. Ich habe verschiedene Code-Teile beigetragen, etwa Unterstützung für Animationen im APNG-Format oder die Erzeugung von Radikal-Ausdrücken für algebraische Zahlen.