

Programme für Amiga, PC (Perl) und Webseite
Mit der Programmiererei hatte ich kurz nach der Wende angefangen, nachdem ich mir einen Amiga 500 kaufen konnte.
Amiga
Neben einigen kleineren Programmen, die man immer noch im Aminet findet, hatte ich mich zusammen mit Freunden an einem waschechten Jump'n'Run in der Art von Rick Dangerous oder Yo! Joe! versucht. Ich war für Leveldesign inklusive Leveldesigner in C, Monster-Erfindung und Grafik verantwortlich, Gerd hat das eigentliche Spiel in Assembler geschrieben. Ein Teil des ersten Levels war schon spielbar, dann haben wir aufgegeben, weil wir ernsthaft Geld verdienen mußten und wir den Vermarktungsaufwand unterschätzt hatten.
Die fertiggestellten Programme sind:
- NoAGA: Ein Programm, um Demos und Programme, die mit dem Chipset der neueren Amigas nicht zurechtkamen, auf diesen trotzdem starten zu können. Man kann eine Menge Anpassungen vornehmen und Programme auf alle erdenkliche Art starten, sogar über Drag und Drop, was damals auf dem Amiga so gut wie niemand implementiert hatte. Nach Ende des Demos restauriert das Programm den alten Zustand, so daß man meist ohne den sonst üblichen Neustart auskommt.
Ich bin relativ stolz darauf, daß es dieses Programm in den "wichtige Werkzeuge"-Ordner jeder Aminet-CD geschafft hatte, eine Ehre, die nur noch 50 anderen Programmen zuteilwurde. - DreamOn ist ein Bildschirmschoner, der das Problem anging, daß ich damals häufig völlig übermüdet vor dem Bildschirm eingeschlafen war. Der dimmt den aktuellen Desktop sanft ab, bis der Bildschirm schwarz ist und weckt mich nicht durch abrupte Helligkeitssprünge wieder auf. Als besonderes Schmankerl erlaubt er, nach dem Abdunkeln einen beliebigen anderen Bildschirmschoner zu verwenden, die ja damals in Mode waren.
- ShowFont schließlich ist ein Programm zum Anzeigen der vorhandenen Zeichensätze. Es gab damals viele Public Domain-Sammlungen von Tausenden Fonts, die man irgendwie sichten mußte. Mit diesem Programm geht das schnell von der Hand. Man kann auf Vollständigkeit des Zeichensatzes testen (den meisten Public Domain Fonts fehlten die deutschen Umlaute) und auf Aussehen bei verschiedenen Bildschirmauflösungen. Eine Besonderheit des Amigas waren farbige Fonts. Damit man die in richtigen Farben sah, konnte das Programmfenster auf beliebige fremde Bildschirme springen und sie dort anzeigen. Das gab es nirgendwo sonst.
- LevelDesigner: Das ist eine Entwicklungsumgebung für die Erstellung von Leveln von Jump'n'Run Spielen. Angezeigt wird auf einem Bildschirm der schematische Aufbau des Levels und gleichzeitig die Stelle des Spiels, an der man aktuell arbeitet, in den richtigen Farben. Einige Shortcuts zum Einbinden und Zerlegen der Spielegrafik-Bitmaps und zum Starten des Spiels an der aktuellen Stelle (was natürlich vom Spiel unterstützt werden muß) erleichtern die Arbeit. Das Programm ist sehr stark auf unser Spiele-Projekt zugeschnitten, falls aber wirklich jemand so verrückt sein sollte, heute noch für den Amiga Spiele zu entwerfen, kann er es von mir bekommen.
Perl
In der Folge programmierte ich nur noch zum Spaß und Hausgebrauch, wobei Perl meine bevorzugte Programmiersprache wurde.
Das einzige Programm, welches ich bisher für die Öffentlichkeit freigeben kann, ist GPXstrippen.pl, ein Perl-Script, mit dem ich gpx-Dateien final bearbeite, bevor ich sie in die App auf dem Handy lade.
Warum können die GPX-Dateien nicht einfach bleiben, wie sie sind?
Das Format einer Datei, die Wegpunkte, Routen (= Wegpunkte, aus denen sich mit einem Wegenetz ein Pfad errechnen läßt) und Tracks (= dicht gesetzte Punkte, die einen Pfad beschreiben) enthält, wurde bereits 2002 von Mitarbeitern der Firma TopoGrafix erdacht, also zwei Jahre, nachdem die militärische Verschleierung der Signale weggefallen war. Alle heutigen Programme und Geräte, die sich mit Navigation beschäftigen, verstehen dieses Format. Seit August 2004 gilt die aktuelle Version 1.1, die alles beschreibt, was man für diese Anwendungsfälle braucht.
Das Format war weitsichtig genug entworfen worden, um Erweiterungen zu erlauben, die irgendwem noch einfallen würden. Viele Programm- und Gerätehersteller haben eigene Erweiterungen beigesteuert, die leider alle nur im eigenen Ökosystem funktionieren. Zum Beispiel haben viele Firmen was Eignes entwickelt, um einen Track in einer bestimmten Farbe zu zeichnen und durchscheinend über die Karte zu legen. Ein anderes Beispiel sind die Aufzeichnung von Herzfrequenz und Puls des aufzeichnenden Sportlers oder der Temperatur des GPS-Geräts. Den Vogel schießen Garmin und verschiedene GIS (Geographische Informations Systeme) ab, die an jeden Wegpunkt ein komplettes Web-Formular hängen können, mit Hunderten Feldern, die natürlich niemand jemals ausfüllt. Menschenlesbar ist das dann nicht mehr.
Das alles brauche ich nicht, wenn ich im Gelände mit meinem Handy dem Track folge. Mein Anwendungsfall ist das Langstreckenwandern. Zur Vorbereitung hänge ich alle Etappen, die von den Wanderbuchautoren oder den einschlägigen Webseiten angeboten werden, in der richtigen Reihenfolge aneinander und mache daraus einen einzigen Track mit nur einem Tracksegment. Das hat den Vorteil, daß ich auch abseits der offiziellen Etappenziele starten und enden kann, ohne den Track wechseln zu müssen. OruxMaps zeigt auf dem Track aller 5 km selbst erstellte Marker an, mit denen ich meinen Fortschritt auf der kompletten Wanderroute messen kann. Und für ein Höhenprofil der gesamten Wanderung brauche ich ebenfalls den zusammengesetzten Track.
Wenn ich mehrere Tracks zu einer Wanderung finde, hänge ich sie einfach hintereinander, um zu sehen, wo sie abweichen und möglicherweise reine Phantasieprodukte von Schreibtisch-Wanderern sind. Gerade die Tracks für so eine gut dokumentierte Wanderung wie der Traumpfad von München nach Venedig unterscheiden sich deutlich von einem Wanderbuchautor zum nächsten.
Das alles führt dazu, daß ich sehr große Tracks erzeuge. Weil ich den gerätespezifischen Kram in den heruntergeladenen .gpx-Dateien nicht brauche, will ich ihn loswerden. Dazu dient dieses Perl-Programm. Typischerweise lassen sich damit .gpx-Dateien um 40 bis 60% eindampfen. Zusätzlich werden sie besser lesbar und es ist zum Beispiel einfacher, zu erkennen, wo Höhenangaben im Track fehlen.
Um das Programm ausführen zu können, benötigt man einen Perl-Interpreter. Bei Linux ist er meist dabei, für Windows und Mac kann man sich den Interpreter von ActiveState oder für Windows auch Strawberry Perl installieren. Nachdem man das getan hat, kann man Dateien mit der Endung .pl durch Doppelklick starten. Dann sieht man schon mal, wie der Aufruf wirklich erfolgen sollte. ;-)
Informationen zur Einbindung in meine Lieblings-Dateiverwaltung TotalCommander stehen am Anfang meiner Perl-Datei.Wer sich für Details des Formates interessiert, was ich aus den Dateien lösche, was ich drin lasse und was die Ausgaben bedeuten, sollte sich GPXstrippen.pl durch Anklicken im neuen Browser-Tab oder besser in einem Texteditor wie notepad++ ansehen, der Sytax-Highlighting beherrscht.
Bei jeder Datei gibt es was anderes zu optimieren. Ein typisches Ergebnis sieht zum Beispiel so aus:
Laenge der Datei: Alpen2018_Track+WP_final_GPXEditor.gpx
1380525 Byte original.
1380513 Byte nach umstellen auf unix Zeilenende.
1368984 Byte nach loeschen des generischen Symbols: "Pin, Red".
678929 Byte nach loeschen aller Extensions.
657607 Byte nach loeschen aller Zeitstempel.
656894 Byte nach loeschen aller wenig genutzten Tags z.B. (type).
640874 Byte nach kuerzen aller Breiten z.B. lat="45.246737".
624913 Byte nach kuerzen aller Laengen z.B. lon="6.693669".
575665 Byte Trackpunkt und Hoehe als Einzeiler.
575472 Byte nach kuerzen des gpx-Tags (V1).
----- fertig -----
Einsparung: 805053 Byte oder 58%.
GPX-Tag final:
<gpx version="1.1" creator="GPX Editor 1.6.19.1657">
Webseite
Anfang 2004 kam ich auf die Idee, eine eigene Homepage zu gestalten, auf der ich meine Abenteuer mit der Welt teilen könnte. Die Anfangs-Euphorie reichte so weit, das Gerüst zu erstellen und alles auf einen Webspace zu laden. Als es an die Erstellung der Inhalte ging, war schnell die Puste raus. Ich mußte ja noch nebenbei arbeiten und schon das Vorbereiten der Urlaube kostete viel Zeit. Die ersten zwei Teile des Norwegen-Berichts von 2009 stammen noch aus dieser Zeit. Danach tat sich erst mal nichts mehr.
Die Lage hat sich seit Mitte 2021 geändert, seitdem ich nicht mehr arbeiten muß. Letztlich gewinne ich dadurch an 5 Tagen die Woche jeweils 8 Stunden Zeit, was ausreicht, die auf Halde liegenden alten Reiseberichte nach und nach aufzuarbeiten und online zu stellen. Andererseits unternehme ich auch mehr draußen, so daß mehr Material anfällt. Mal sehen, wie weit mich mein neuerlicher Enthusiasmus trägt.
