English Documentation

Sunday, 15 May 2016 08:17 by Christoph

Normalerweiseweise verlinke ich nicht auf andere Blog-Posts oder Social-Media Krimskrams, aber hier hat sich jemand aus den USA die Mühe gemacht, Geogen mehr zu dokumentieren als ich selbst. Die Autorin Elise Ann Wormuth hat auch noch ein paar andere Erfahrungen eingestreut: livinginpast.com.

Die Seite ist recht webzweinullig - man muss Newsletter-Angebote, Cookie-Disclaimer, Übersetzungshilfen usw. wegklicken, aber dann ist sie sehr passioniert aufgemacht.

Bob around the World II

Friday, 6 November 2015 18:17 by Christoph

Bob war wieder unterwegs. Okay, ich war unterwegs - aber Bob war dabei und hat sich aufdringlich in die Fotos gedrängt. Das passiert nun zum wiederholten Mal!

Ausnahmsweise mal Hardware

Wednesday, 21 October 2015 12:54 by Christoph

Normalerweise baue ich eher Software aber vor einiger Zeit habe ich meinen Raspberry Pi auch auf die zweite Generation aktualisiert und wieder etwas in Hardware rumgespielt (wenn auch am unteren Ende der Bastelskala). Nun gibt es einen interessanten Aufsatz: das Astro-Pi Sensorboard oder auch Sense HAT.

Ich habe mir das mal zugelegt und montiert, damit ich auch bei mir zu Hause Temperatur, Luftfeuchtigkeit und Luftdruck messen kann. Für diese Zwecke braucht man selbstverständlich einen vollwertigen selbstgebauten Computer! Und natürlich das coolste: eine LED-Matrix aus 8x8 Elementen. Der Aufsatz ist mit einer API in Python steuerbar. Diese Sprache ist normalerweise nicht so mein Ding, aber was solls. Da ich einen kleinen Webserver (nginx) auf dem Gerät laufen habe, schrieb ich mir ein kleines Web-Frontend, um die Sensoren auszulesen oder Lauftexte zum Beispiel vom Tablet aus auf die LED-Matrix zu packen. Damit braucht man dann auch kein Python mehr.

Jetzt zeichnet das Ding alle 10 Minuten sämtliche Sensordaten in eine Datenbank auf und zeigt mir ein nettes "Hallo Christoph" an, wenn ich das möchte. Das Projekt ist natürlich total hippstertrendy auf Github zu finden.

https://github.com/Chrisso/Astro-Pi-Web

Rolling Release: Geogen 4.0.3

Friday, 11 September 2015 20:49 by Christoph

Ich sammle Features ja nun nicht mehr für große Releases, sondern packe sie nach bestandenem Test sofort auf den Server. Für die Namenskartierungssoftware Geogen waren das in letzter Zeit drei Änderungen, weshalb ich als Zwischenstand mal die Version 4.0.3 ausrufe.

(4.0.1) Lokalisierung.
Nun gibt es Ausgaben auch in Deutsch und nicht mehr nur in Englisch. Zumindest die meisten Texte sind übersetzt, vom Server kommen noch manche extrem seltene Fehlermeldungen in Englisch, aber damit kann man leben. Die Übersetzung funktioniert mit i18next.
(4.0.2) Load-Control.
Ich habe bemerkt, wie eine IP systematisch Namenskarten in alphabetischer Reihenfolge abgerufen hat. Bei einer Frequenz von 5 Sekunden, kann das kein Mensch gewesen sein. Ich gehe von einem gescripteten Download der Datenbank aus. Ab jetzt kann man höchstens ein paar hundert Recherchen pro drei Stunden anstellen, dann wird man erstmal eine zeitlang gesperrt.
(4.0.3) Aktualisierte Abhängigkeiten.
Mit frischem jQuery, Three.js, D3.js und JSON.NET sollte die Seite schneller und runder laufen. In diesem Zuge habe ich auch kleine kosmetische Änderungen untergebracht, zum Beispiel sind die 3D-Balken jetzt heller.

Rundum zufrieden bin ich mit der vierten Generation von Geogen noch nicht, aber technisch immerhin zufriedener als mit der dritten. An der Benutzbarkeit kann man noch etwas feilen. Den meisten Besuchern ist zum Beispiel nicht auf Anhieb klar, dass man auf die 2D-Karte auch klicken kann und dann zu einer Landkreisdarstellung (v3) kommt. Gleiches für den Graphen mit ähnlichen Namen. Der zeigt auf Klick einen größeren Graphen mit noch mehr phonetisch naheliegenden Varianten an.

Eine Funktion ist leider von Anfang an flöten gegangen: mehrere Namen in einer Karte. Das habe ich schlichtweg vergessen - aber deswegen ist die alte Version ja auch noch online. Dafür normalisiert v4 jetzt Sonderzeichen weg: Süßé ist auf dem Server dasselbe wie Suesse. Analog Müller und Mueller.

OSS Amazon Scraper

Sunday, 30 August 2015 14:55 by Christoph

Ein Scraper ist Software, die Webseiten ausliest und automatisch Informationen extrahiert, quasi ein hochspezialisierter Bot, der Quelltexte scannt und ausgewählte Links anklickt. Da der Onlineshop Amazon kürzlich 20jähriges Bestehen feierte, habe ich mich gefragt, wieviel Geld ich dort inzwischen gelassen habe. Auf der amerikanischen Webseite gibt es die Möglichkeit, alle Bestellungen herunterzuladen - auf der deutschen nicht. Und hier kommt der Scraper ins Spiel.

Ich habe das mal komplett als hippes Open-Source Projekt durchgezogen. Mit Visual Studio 2015 Community und als Github-Projekt. Es ist in C# für das .NET-Framework 4.5.2 geschrieben. Damit ist es sehr hipp, aber nicht zu hipp :)

Der Scraper navigiert die Seiten der eigenen Bestellhistorie, sofern in Firefox Anmelde-Cookies vorhanden sind. In wenigen Monaten wird die Version 1.0 wahrscheinlich nicht mehr funktionieren. Dann wird Amazon irgendwas an der Seitenstruktur geändert haben und die Bestellungen sind nicht mehr richtig extrahierbar. In einem Open-Source Projekt kann das aber jeder forken und fixen.

Kurz zu meinen Resultaten. Es ist eine erschreckende Menge zusammengekommen. Meine erste Bestellung war im Jahr 2000. Ich habe damals ganz skeptisch nur Produkte geordert, an die ich in meiner Umgebung partout nicht rankam: den Needful Things, den Planet der Affen und den Ghostbusters 2-Soundtrack. Mittlerweile hat sich das umgekehrt. Ich kaufe in meiner Umgebung nur noch ein, was es partout nicht bei Amazon gibt. Im Plot der jährlichen Ausgaben für den Insider zu erkennen: Wehrdienst, Studium, Diplomandenzeit, schlechter Job, guter Job, Sättigung.

Alles Käse!

Saturday, 23 May 2015 04:05 by Christoph

Ich muss nochmal auf Cynthia Barcomis Backbuch eingehen. Weil das letzte Mal schon recht lang her ist, laufe ich auch nicht Gefahr, eine kommentierte Rezeptsammlung (neudeutsch Foodblog) zu werden. Ich habe auch gar keine Lust, das Rezept hier abzutippen und möchte stattdessen nur kurz den New York Cheesecake besonders lobend hervorheben. Den habe ich nämlich gebacken.

Werkzeugmäßig bin ich vergleichsweise schlecht ausgestattet. Anstelle eines Handrührgerätes habe ich Frischkäse, Eier und Sahne mit einem Pürierstab vermixt. Anstelle eines tiefen Backbleches um die Springform, habe ich einfach eine Lasagne-Auflaufform geflutet. Ja, der Amerikaner backt Käsekuchen gut abgedichtet im Wasserbad. Komisch, dass es im 180°C heißen Ofen nicht vollständig verdampfte. Ich nehme an, das liegt an der Sättigung. Irgendwann ist die Luft schlichtweg feucht genug.

Typisch männlich habe ich dabei eine Menge Dreck gemacht. Aber hey, das Ergebnis zählt: ein supersaftiges süßes Meisterwerk mit Blaubeertopping (nur Kulturbeeren, Saison für Wildwuchs ist erst später). Arbeitsmäßig ist das Rezept eine Menge Aufwand - für mich als Amateur etwa 2-2,5 Stunden. Mit etwas Begabung oder alternativ auch Übung kann man das bestimmt auf die Hälfte reduzieren. Ich werde das in jedem Fall nochmal machen, dann aber mit besserer Ausrüstung.

Demächst gibt es aber erstmal wieder Fleisch.

Raspberry Pi 2

Sunday, 22 February 2015 08:02 by Christoph

Seit zwei Jahren verrichtet ein Raspberry Pi unter meinem Fernseher seinen Dienst. Der Kleinstcomputer mit 700 MHz Prozessor verbraucht in etwa soviel Strom wie der Fernseher selbst im Standby-Betrieb, also fast nichts.

Anfang Februar erschien nun die zweite Generation mit doppeltem RAM und Vierkernprozessor à 1 Ghz bei ähnlich geringem Stromverbrauch. Was denkt sich der Nerd da? Genau! Muss ich haben. Offiziell gibt es den Pi2 für 35 Dollar. Doch um den Preis tatsächlich zu bekommen, muss man wahrscheinlich aus dem Land der Tapferen und Freien kommen. In Deutschland schwanken die Preise stark zwischen 38 und 60 Euro. Ich habe meinen schließlich bei Reichelt Elektronik bestellt. Die Tastatur, Festplatte und WLAN-Adapter konnte ich vom alten Pi übernehmen, ich habe tatsächlich nur die Platine und SD-Karte ausgetauscht.

Am Wochenende hatte ich den Spaß, das System komplett aufzusetzen. Der Pi2 hängt bei mir permanent im WLAN und erlaubt via nginx Webserver Zugriff auf die angeschlossene Festplatte (macht ihn das eigentlich zum NAS?). Außerdem lauert ein SSH-Server auf eingehende Verbindungen inbesondere für Git-Uploads (Versionskontrollsystem für Softwareprojekte). Das Mediacenter XBMC heißt jetzt Kodi und ließ sich recht komfortabel installieren. Mit vier Kernen rennt das jetzt auch in Full-HD richtig schnell. Gleiches gilt für die Emulationstation. Super Nintendo und Gameboy Color konnte der alte Pi problemlos nachahmen, aber bei Playstation 1 fing er an zu stocken. Das ist beim Zweier nun keine Herausforderung mehr. Tekken 3 läuft bei ihm :).

Dann wollte ich die neu gewonnene Stärke in der Hardware noch weiter ausnutzen und habe ganz kühn Owncloud in der Version 8.0 installiert. Sieht soweit ganz gut aus, aber ist in der Basisversion recht einfach. Dateien hochladen gut und schön, aber ich kann auch (s)ftp benutzen. Also habe ich dazu noch eine Musik-App installiert, mit der ich meine Audiofiles direkt in der Owncloud-Browseranwendung abspielen kann. Funktioniert aber nicht. Lädt nichtmal.

Ich habe kurz untersucht woran das liegt. Der Player will darstellen, was ich in bestimmten Verzeichnissen hinterlegt habe. Dazu fragt er in der Master-Datenbank zunächst mal nach der Liste der Dateinamen. Mit dieser Liste geht er dann in seinen Metadaten-Cache, allerdings auf dem ungünstigsten Weg, den man sich denken kann: SELECT * FROM meta WHERE filename IN (?, ?, ?, ...). Ja, die PHP-Gurus konstruieren allen Ernstes eine Aufzählung, die alle meine 2500 Dateinamen in je einen SQL-Parameter verpackt. Sqlite erlaubt maximal 1000 - und das ist schon bescheuert viel. Wie kommt man darauf, solche Queries zu bauen? Also echt, ich bin ein wenig enttäuscht, dass dies das Aushängeschild der Open Source Cloud-Szene sein soll.

Sonst ist der Raspberry Pi 2 ein tolles Spielzeug.

Announcing Geogen 4.0

Monday, 9 February 2015 07:02 by Christoph

Ich schrieb es bereits zum zehnjährigen von Geogen, dass ich mit der vierten Generation der Namenskartierungssoftware experimentiere. Vor drei Monaten war das hauptsächlich aus Spaß und ich wusste noch nicht genau, wo es hinführen sollte. Jetzt ist es immer noch Spaß, aber ich weiß, was das werden soll.

Die Version 4.0 ist öffentlich zugänglich. Sie ist Namenskartierung im modernen Gewand, mit besserer Übersicht und erhöhter Performance. Ich bin in den letzten Monaten ein Fan von Continuous Delivery geworden, d.h. ich habe kleine Features und Verbesserungen sofort nach bestandenen Tests auf das Live-System ausgerollt. Am letzten Wochenende war das zum Beispiel eine coole "Game of Thrones"-Animation der 3D-Karte. Womit ich auch schon bei den Details von Geogen 4.0 bin.

Die Software ist eine komplette Neuentwicklung. Ich habe wirklich keine einzige Codezeile der Vorversionen übernommen. Sie setzt auf aktuelle Webtechnologien und hier jeweils auf etablierte Hilfsbibliotheken. Das Grundgerüst ist HTML5 mit jQuery (was sonst?). Dazu kommen WebGL via three.js, Canvas und SVG via D3.js. Im Backend tummeln sich illustre Gäste wie MS SQL Server Compact, Json.NET und ZXing.Net.

Geogen 4.0 gibt es in zwei Fassungen:

Es gibt derzeit keine Bestrebungen Geogen 3.1 abzuschalten. Ich entwickle aber dort keine neuen Features mehr und deaktiviere höchstens Gadgets, die vor Jahren einfach schlecht implementiert wurden.

Update 07.03.2015: Ich habe begonnen, die neue Engine international parametrisierbar zu machen. Die Geogen-Konsole funktioniert jetzt auch für Österreich: http://geogen-at.stoepel.net/console.html und phonetische Namensgraphen gibt es ebenso.

Jahresrückblick 2014

Tuesday, 30 December 2014 08:12 by 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

Monday, 24 November 2014 10:11 by 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!