Jahresrückblick 2014

von Christoph

Ende des Jahres fängt man meist an, rückblickend zu bewerten. Da mach ich auch mal mit! Ich habe mir dieses Jahr keinen Eimer mit eisgewürfeltem Wasser über den Kopf geschüttet sondern ganz unspektakulär Hobbies fortgesetzt, ausgebaut und wiederentdeckt.

Computerfreaking: Ja, mein Beruf ist auch mein Hobby. Letzteres war zuerst da. In 2014 war mein hobbymäßiger Output nicht sehr hoch. Neben vielen Literaturstudien, Theorie und Code-Reviews kamen zwei größere Projekte heraus: MusicDb und Geogen 4.0. Ich hatte aber auch "klassischen" Spaß am Computer. Die besten Spiele auf meinem PC waren Wolfenstein The New Order (Bethesda Softworks) und The Walking Dead Season 1 (Telltale Games).

Fotographie: Es gab komplett neues Equipment auf semiprofessionellem Niveau (bilde ich mir zumindest ein). Besonders nützlich war das auf Reisen nach Boston in den USA und in die Blaubeeren sowie für Zeitrafferaufnahmen. In 2015 will ich es weiter ausbauen, sobald das Wetter wieder angenehmer ist. Mir schwebt da schon was vor :).

Kochen und Backen: Gutes Essen ist ja schon was wert! Noch mehr, wenn man es selber macht. 2014 waren dabei: Lasagne, Pizza, Grillsteaks, Rosmarinkartoffeln, Gemüsepfanne pour homme und Walnuss-Bananen-Muffins.

Sport: Oh ja ganz neu! Beziehungsweise eigentlich ganz alt, denn ich war bis vor 10 Jahren schon einmal ambitionierter Läufer. Ich habe dieses Hobby dieses Jahr wiederbelebt, genauer im April. Leider hatte das ziemlich negative Auswirkungen auf mein Gewicht - oder wie ich es nenne: Down with the Christoph!

Kann's nicht lassen

von Christoph

Ich kann es einfach nicht lassen. Wenn da ein Flugzeug ist, muss ich mitfliegen. Wenn da Wasser ist, muss ich ins Boot. Wenn es Filmmaterial gibt, muss ich es zusammenschneiden. Hier nun aber wirklich der letzte Blogbeitrag zu meinem USA-Aufenthalt!

Vorsicht vor dem Foto

von Christoph

Eine Anekdote aus dem Land der Freien und der Heimat der Tapferen muss ich unbedingt niederschreiben. Also nicht ganz exakt aus dem Land, sondern aus dem Flughafen. Aber das ist noch Hoheitsgebiet. Die Einreise kostete mich gerade mal zwei Stunden, ich hatte die ESTA-Einreisegenehmigung bereits besorgt, frage mich allerdings immer noch (1) wie man die $14 "Bearbeitungsgebühr" per Internet an die Homeland Security bezahlt wenn man keine Kreditkarte hat und (2) ob Amerikaner ähnliches Eintrittsgeld für Europa bezahlen müssen.

Naja, egal. Es geht um die Abreise. Die Erfahrungen der Amerikaner mit Flugzeugen sind ja nicht die allerbesten und die Medien tragen ihren bescheidenen Teil dazu bei, dass das auch tief im kollektiven Gedächtnis verankert bleibt. Da ich keinen Bart trage und meine Hautfarbe sehr europäisch ist, kam ich problemlos durch die TSA-Kontrollen. Überraschenderweise hatte ich an keiner meiner Hände (deren Fingerabrücke mir bei der Einreise abgenommen wurden und die nun immernoch in den Staaten liegen, danke CDU!) Spuren von Sprengstoff. Der Maine-Lobster, von dem ich mich die Tage zuvor wie mit einem Grundnahrungsmittel ernährt habe, war also sauber.

Nach der Kontrolle noch schnell ein Foto von dem Durchlass machen und dafür das Nexus-7 Tablet raus. Auf einmal steht ein großer Afroamerikaner in zivil neben mir und schreit: Tie Ess Äii, TIE ESS ÄII. Und noch einmal TIE ESS ÄII. Oh Gott! Was war los? Ein muslimischer Terrorist? Nein, ich war das. Ich habe ein Foto gemacht. Ich sehe meine gemütliche Heimreise schon davonwehen und mich mit einem Bombenkontrollstab im Po bei einem schönen Brett Wasser in einem kubanischen Verhörzimmer hängen. Die TSA kommt auch prompt. What's going on? This guy is taking photos!1!! What? Why are you taking photos? I just wanna show this at home. Here look at this. Is it forbidden to take photos?

No.

Mit zittrigem Zeigefinger deutet der patriotische Farbige weiter auf mein Tablet, als wäre es das Zeichen Satans höchstpersönlich oder eine Heavy-Metal-CD. There! He took photos! Sir, it's not forbidden to take photos in general. Only details of our equipment are forbidden. Puh. Welch Freiheit! Die TSA zieht sich zurück. Der Einheimische neben mir nun etwas erleichtert: But watch what you are taking photos of! - Sure Sir. Und in Gedanken: Hope this photo will not explode when i'm right above the Bundestag.

Bob around the World

von Christoph

Ich mache mir auf Reisen seit einiger Zeit den Gag, Bob den Baumeister als Miniatur mitzunehmen und in typischen Touristenfotos zu verewigen. Eine Art von Spießigkeit ohne selbst der Spießer zu sein :). Hier die Ausbeute vom letzten Halloween in den USA.

10 Jahre Geogen

von Christoph

Ich habe mal die Backup-Festplatten und alten Quelltexte durchstöbert und dabei fiel mir auf: Geogen ist nun schon 10 Jahre alt.

Es fing in den Semesterferien 2004 mit einer normalen Desktop-Anwendung an, mit der ich mir hauptsächlich selbst Landkarten für Familiennamen erstellen wollte. Schnell stellte sich heraus, dass auch andere diesen Wunsch hatten. Es gab eine Lücke zu füllen, die Anzahl der Downloads war überwältigend. Einiges am Programm war noch nicht rund, weil mir als Student damals schlichtweg die Erfahrung fehlte. Die Lokalisierungsdatenbank als MS Access auszuliefern war sicherlich ein Fehler und brachte unzählige Support-Anfragen. Der Einsatz des damals noch sehr neuen .NET-Frameworks in der Version 1.1 war zumindest ambitioniert.

Ich doktorte einige Male an der Architektur der Software, stieg auf Sqlite zur Datenhaltung um, aber als Desktop-Anwendung war Geogen einfach nicht zu warten. Das Ding musste auf den Server!

Version 2 schrieb ich Ende 2005 komplett neu, jedoch immer noch in C# (ASP.NET 2.0). Auf meinem Server hatte ich das Deployment schließlich selbst im Griff und ab da lief es weitestgehend problemlos. Eine größere Überarbeitung des Layouts brachte Geogen 3 und danach folgten kleinere Wartungs-Releases, aber keine größeren Änderungen im Backend mehr. Es funktionierte einfach.

Eher aus Spaß habe ich in den letzen Wochen mit einem neuen Kern experimentiert. Mit nun 10 Jahren Erfahrung in Geogen und fast doppelt soviel in Software-Entwicklung wollte ich sehen, was so geht. Ergebnis: 10-15 mal schneller geht. Nun, das ist ein guter Wert, aber ich habe selten Performance-Probleme. Es gibt also keine Not für ein Upgrade. Interessanter ist die neue Technologie, zeitgemäße Architektur, neuer Spaß. Vielleicht gibt es auf dieser Basis mal ein Geogen 4.0. Solange bleibt die Subdomain Entwicklerspielwiese. Oder um einen bekannten Mann aus der Informatik zu zitieren: Just for fun.

Banana Walnut Muffins

von Christoph

Versprochen ist versprochen und wird auch nicht gebrochen :). Hier nun bewegte Bilder der Spiegelreflex. Aber nicht irgendwelche mit der Videofunktion! Natürlich mit Impulsgeber, eingestellt auf 3 Sekunden und zusammengefügt zu einem Zeitraffer mit ffmpeg.

Es geht um Bananen-Walnuss-Muffins nach einem Rezept von Cynthia Barcomi (natürlich!). In der Zutatenübersicht im Video fehlen Nelken, aber ich wollte es nicht nochmal komplett neu timen und rendern, nachdem es bereits fertig war. Einfach dazudenken.

Blaubeeren aus Brandenburg

von Christoph

Ich hatte es ja schon ganz trendy getwittert: die Blaubeeren stehen seit einigen schlechten Jahren mal wieder ganz gut in 2014. Zumindest wenn man weiß wo :). Die Familie weiß das. Kurz vor dem Spreewald. Also nix wie hin und losgepflückt! Am Ende waren es dann 1,5 kg. Klar, da treibt der Aufwand den Preis pro Kilo etwa auf 15€ aber hey, auf den Spaß kommt es an. Selbstgepflückt schmeckt es eh viel besser und mit den gezüchteten Beeren aus dem Supermarkt sind naturbelassene Wildbeeren nicht zu vergleichen. Außer vielleicht, wenn man auf Wasserballons steht.

Hier ein paar Eindrücke in Spiegelreflex:

Ich habe mir übrigens einen Impulsauslöser für meine neue Canon gekauft. Hoffentlich kann ich damit demnächst mal was sehenwertes anstellen und hier etwas Bewegung reinbringen.

Nachtrag 04.08.2014 (letztes Foto): Habe nach dem Rezept von Cynthia Barcomi amerikanische Pancakes ausprobiert - mit dem Geheimtipp, die Eier zu trennen und das Weiß steifgeschlagen unterzuheben. Gott, war das ein Volumen. Viel zu viel für mich. Habe mich dem überragenden Geschmack mit Blaubeermarmelade geschlagen geben müssen.

MusicDb v1.0 veröffentlicht

von Christoph

Man hat ja über die Jahre so eine Musiksammlung auf dem PC angelegt und zwischenzeitlich auch mal vergessen, was man in grauer Vorzeit alles mochte. Vor bereits etwa 12 Jahren habe ich dazu das Konsolenprogramm "listmp3" geschrieben, das die Dateien in einem Verzeichnis in eine schicke HTML-Übersicht formatiert. Über das Auslesen der ID3-Tags (eingebettete Meta-Daten wie Interpret und Album) hatte ich einen Artikel im PC Magazin verfasst.

Nun, nach so langer Zeit, habe ich MusicDb v1.0 als Quasi-Nachfolger veröffentlicht. Natürlich ist alles viel besser!1!! Aber im Ernst - da ich mich weiterentwickelt habe, ist in MusicDb nur noch wenig vom alten Programm übergeblieben. Eigentlich nur noch die Idee von der HTML-Übersicht. MusicDb ist eine Windows-Anwendung und indiziert Verzeichnisse in eine Sqlite Datenbank. Die Meta-Daten dafür extrahiert die Taglib und für das Vorhören per Doppelklick ist die BASS-Bibliothek zuständig.

Für mehr Interaktion ist nun ein Webserver integriert, nämlich Civetweb. Im Browser wird es dann richtig interessant. Ein HTML5-Frontend erlaubt die rasend schnelle Suche nach Datennamen oder Bestandteilen der Meta-Daten (das Backend ist C++ via Civetweb). Dank HTML5-Audio lassen sich Suchergebnisse in Playlisten einordnen und da es sich um einen Webserver handelt auch auf anderen PCs im Netzwerk anhören. Fast schon ein richtiger Mediaserver!

MusicDb ist ein Experiment, wie sich die Programmierung bei mir in 12 Jahren verändert hat. Die Sprache ist immernoch die Gleiche: C++, sonst ist aber alles anders. Open-Source wird viel stärker eingesetzt, in MusicDb allein 7 Bibliotheken. Eine sinnvolle Architektur zur Integration ist viel wichtiger geworden als die Ersterfindung des Rades. Diese Form von Komplexitätsbewältigung erlaubt die Konzentration auf das, was wirklich wichtig ist: coole Features.

Doch genug philosophiert. MusicDb gibt es hier zu Download: https://christoph.stoepel.net/ViewSoftware?id=126