Tämä asiakirja on saatavilla myös
suomeksi.
This document is also available
in English.
Ich bevorzuge freie
Software. Nicht nur, weil es Geld spart, sondern auch, weil ich
und andere die Programme anpassen können, so daß sie mein Bedarf besser
füllen. Ich habe einige freie Programme geschrieben, meist in der
Programmiersprache C.
Programmierstil
In meinen eigenen C- oder C++-Projekten versuche ich, den Regeln und Empfehlungen von
Ellemtel (auch in PDF verfügbar) zu folgen, mit einigen Ausnahmen.
Formale Methoden
Als Doktorand schrieb ich einen Erreichbarkeitsanalysator und Modellprüfer für höhere Petrinetze
in C++ und C. Er kann helfen, Fehler in nebenläufigen und verteilten
Systemen zu finden. Die Software ist in der Debian GNU/Linux Verteilung enthalten.
Ich mag kombinatorische Probleme, aber wenn möglich, löse ich sie
mit roher Gewalt. Ich habe die
Lösungen des 6×10 Pentomino Puzzle in ein
paar CPU-Wochen auf einigen 266 MHz Pentium II Rechnern
berechnet. Ich habe auch einige farbige
Bettdecken mit hilfe von C-Programmen entworfen.
Bildverarbeitung
- pHoToMoLo
- Ich habe das Programm entwickelt, um meine Hochzeitsbilder in ein Format
umzuwandeln, das einfach zu blättern ist. Für ein Dateisystem von JPEG-Bildern
erzeugt das Programm kleine sogenannte Thumbnail-Bilder
in den gewünschten Größen und erzeugt eine HTML-Dokumentstruktur zum
Blättern. Das Softwarepaket enthält auch
jpegcom zum
Ändern der Anmerkungen zu Bildern, exifiron zum Rotieren
und Komprimieren der Bilder von einer digitalen Kamera und
jpegnail zum Einbetten oder Entfernen kleiner
Vorschaubilder in JPEG-Bildern.
- webcamfloppy
- Eine Linux-basierte Boot-Floppy, mit der ein Programm von mir ausgeführt
werden kann. Das Programm empfängt Bilder von einer Firewire-Kamera, korrigiert Verzeichnung, komprimiert mit
JPEG und sendet
die Bilder in eine Pfeife, normalerweise per OpenSSH zu einem
Web-Server.
Experimente mit der Programmiersprache Java
Für die Programmiersprache Java wurde 1995 viel Werbung gemacht. Wenn
eine Anwendung einmal kompiliert und getestet worden sei, werde sie
in allen Bedienungsumgebungen funktionieren. Das war doch nicht der Fall:
besonders die Programmschnittstellen von graphischen Bedieneroberflächen
sind in nahezu allen Versionen des Java-Laufzeitsystems verändert worden.
Außerdem ist das Laufzeitsystem sehr groß geworden, und es gibt keine komplette
freie Implementierung. Für diese Gründe versuche ich die Programmiersprache
Java zu vermeiden, obwohl ich damit einige Experimente gemacht habe.
- Dreidimensionale
Fraktale
- Meine Applets für JDK 1.0 und 1.1 zeigen die Mengen von
Mandelbrot und Julia in drei Dimensionen an.
- Wertungsprogramm für einen
Schönheitswettkampf
- Mit dem Programm ist Helsinki Hair Open mehrere Jahre
bewertet geworden. Die Schnittstelle zur Eingabe der Punkte ist
ähnlich wie Tabellenkalkulation und ist dadurch schnell zu bedienen.
Die Bedieneroberfläche ist in mehreren Sprachen verfügbar. Die
Bedienungsanleitung fehlt, und einige Kleinigkeiten könnten in dem
Programm verbessert werden.
Eingebettete Systeme
- cisp
- Dieses Programm für mehrere Unix-ähnliche
Systeme und Windows liest und schreibt
den Flash- ja EEPROM-Speicher von Atmel AVR®
Microcontrollern über die parallele oder serielle Schnittstelle
per SPI. Ich schrieb das Programm, um den Benutzern
meines C2N232-Adapters
es zu ermöglichen, die Firmware leicht zu aktualisieren.
Vorhandene Lösungen funktionierten nur entweder auf Unix-ähnlichen Systemen oder Windows und unterstützten nicht derartigen RS-232-Schnittstellen, die benötigt wurde.
- Veränderungen für VDR
- Ich habe ein Aufnahme- und Abspielgerät für DVB-T aus
Debian GNU/Linux, VDR und den Zusatzmodulen
vdr-softdevice und
vdr-subtitles eingerichtet.
Die wichtigsten Veränderungen, die ich gemacht habe, sind hier verfügbar.
Schauen Sie sich auch meine gemischte Hilfsprogramme, Schaltungen und Programme für
alte Rechner an.