Mastodon

Live SVN & Revision im Footer

In diesem Post möchte ich euch mal kurz meinen Entwicklungsprozess am Beispiel der TuS Handball Website vorstellen.

Fast alle meine Projekte befinden sich auf meinem eigenen SVN Server. Mittlerweile sind wir zu git gewechselt.

Auch wenn ich meistens nur alleine an einem Projekt arbeite, bietet mir die Versionsverwaltung einige Vorteile:

  • Entwicklungsfortschritt wird dokumentiert
  • Backup der Daten
  • Einfaches Auschecken der neuesten Version auf einem anderen Rechner
  • Wiederherstellen einer älteren Version (Revision)

Auch das lästige Hochladen und Veröffentlichen der neusten Version auf dem Webserver wird überflüssig.

Mit einem „post-commit“ Skript, welches im „hooks“ Verzeichnis des SVN Repositories abgelegt werden muss, kann nach jedem Commit die aktuellste Version in ein vom WWW aus zugänglichen Ordner geupdated werden. Es ist nur einmalig nötig eine Version in das Webserververzeichnis auszuchecken:

#!/bin/sh
cd /var/www/projectdir
svn up

Ein weiteres kleines Gimmick ist die Anzeige der aktuellen Revision im Footer der Website. Das lässt sich am einfachsten mit SVN Keywords bewerkstelligen. Diese Keywords werden beim Committen durch die aktuelle Revisionsnr, das Datum oder den User ersetzt. Mithilfe einer Regular Expression können die Keywords auf ihre wesentliche Information gekürzt werden:

preg_match("/(\d+)/", '$Revision: 4 $', $result);
$rev = $result[1];

preg_match("/\((.*)\)/", '$Date: 2009-07-24 03:47:35 +0200 (Fr, 24 Jul 2009) $', $result);
$date = $result[1];

echo 'CMS Revision: ' . $rev . ' (' . $date . ')';

Um das Ersetzen der Keywords zu aktivieren, müssen die entsprechenden SVN Properties gesetzten sein:

svn propset svn:keywords "Date Revision" footer.php

Das ganze könnt ihr in Aktion auf der TuS Handball Website betrachten! Viel Spaß! Die Seite ist leider nicht mehr verfügbar.

GeoPortal macht Fortschritte

Vor einem guten Jahr präsentierte ich euch bereits die ersten Pläne für mein neues OpenSource Projekt. Lange Zeit war es sehr ruhig um das GeoPortal Projekt. Mittlerweile habe ich es jedoch wieder aufgegriffen und mir etwas Gedanken um den mislungen Start gemacht. Ich bin zu dem Schluss gekommen, dass es dem Projekt noch an Struktur und Planung mangelte. Also habe ich mit Trac und einem SVN Repository eine Platform geschaffen auf der sich der Entwicklungsprozess transparent verfolgen lässt. Seit kurzem gibt es auch ein neues Logo.

Das Projekt wurde eingestellt. Die Platform ist nicht mehr verfügbar. Den Quellcode findet ihr noch in einem git Repository.

Das neue Logo
Das neue Logo

Momentan bin ich bis voraussichtlich bis Anfang April noch dabei ein detailliertes Konzept zu entwickeln. Dies soll es vor allem einsteigenden Entwicklern ermöglichen sich leichter zurechtzufinden und einen roten Faden vorgeben.
Um auch gleichzeitig mein Englisch zu verbessern, habe ich mich entschieden diese Platform englischsprachig zu halten. Dazu gehören dann natürlich auch Kommentare, Commit Logs, der Bug Tracker und die Dokumentation.

Zudem hat sich das Projekt etwas neu orientiert.  Google Maps und andere kommerzielle Dienste wurden weitestgehen verbannt. Anstelle dessen wird eine Kombination aus OpenStreetMaps und OpenLayers eingesetzt. Neue Punkte wie Real Time Tracking und Community Funktionen stehen jetzt auch auf der Aufgabenliste. Mit dem zunehmend günstiger werdenden mobilen Internet wird es bald möglich sein über all auf GeoPortal zuzugreifen. Auch das Real Time Tracking wird so rentabel. Die Daten sollen nun nicht mehr nur aus den Einträgen des Protals selber bestehen, sondern auch von externen Datenquellen bezogen werden. Dies soll mit Plugins realsiert werden. Mögliche Quellen wären zum Beispiel:

  • GeoRSS Feeds
  • Wettervorhersagen
  • Geocaches
  • FON WLAN Spots
  • usw…

rückgrat-beweisen.de

Mal wieder ist es soweit. Ich kann euch einen weiteren abgeschlossenen Auftrag präsentieren. Diesmal ist es eine bewusst einfach gehaltene Seite für eine Rückenschule aus Darmstadt.

www.rueckgrat-beweisen.de ist bis auf das Logo ist alles 100% selbstgecodet und designed. Natürlich wie gewohnt ohne Coldfusion oder andere ähnliche WYSIWYG Editoren.

Die Seite ist  valid und nach anfänglichen Problemen nun auch auf allen Browsern betrachtbar.

Hier noch ein Screenshoot:

rueckgrat-beweisen.de Screenshot

skiline.cc – Skifahrt Grossarl

logo-grossarl27515 Höhenmeter, 64 Liftfahrten, 162 Km Abfahrten und 81 Km im Lift habe ich die vergangene Woche beim sonnigem Wetter im Grossarltal auf Skiern  zurückgelegt. Als Betreuer begleitete ich zusammen mit zwei anderen Schülern die 8. Klassen der Justus-Liebig Schule. Vor fünf Jahren war ich damals selber in der 8. Klasse in Grossarl. Seitdem hat sich viel verändert. Glücklicherweise meist zum Positiven. Zehn Tage waren wir im Jugendgästehaus Schornhof untergebracht. Neben dem Skifahren konnten wir die Zeit gut nutzen um uns auf unser Abitur vorzubereiten.

Aber nun zu dem eigentlichen Inhalt dieses Beitrags: skiline.cc ist ein Dienst der die Skipassdaten aus fast 75 Skigebieten sammelt und grafisch aufbereitet. Jeder Skipass besitzt eine eindeutige ID, mit der man sich auf der Website von skiline.cc anmelden kann. Jede Liftfahrt wird am Drehkreuz registriert und gespeichert. Durch die Kombination von Zeit, Ort und Skipass ID kann skiline.cc dann Höhenprofile und Skirouten der einzelner Skifahrer berechnen. Fast schon mit einem Verkehrsleitsystem vergleichbar können die Betreiber so die Auslastung ihrer Skigebiete beobachten und entsprechend reagieren.

Präsentiert werden die Daten durch einfache Bilddateien. Jeder Skitag wird mit einem Zeit/Höhen Diagram dargestellt. Detailiertere Auswertungen (Ø Geschwindigkeiten, Tagesübergreifende Statistiken) sind leider nicht möglich. Obwohl jedes Skigebiet in einer Karte verzeichnet ist, kann man sich leider nicht seine Skiroute in einer Karte anzeigen lassen :(. Eine Integration von Projekten wie OpenPisteMap/OpenStreetMap wäre hier noch wünschenswert.

Leider wurde auf die Sicherheit weniger Wert gelegt. Jeder der die ID eines Skipasses kennt, kann sich so im Internet dessen Tagesablauf anschauen. Dies lässt sich auch nicht ohne weiteres verhindern. Die Statistiken sind noch nicht einmal mit einem Passwort geschützt.

Eine Top 100 Liste der Skifahrer mit den meisten Höhenmetern rundet das Angebot ab.

Dieser Sevice ist ein Paradebeispiel für neue innovative Web 2.0 Dienste mit noch unerschöpften Potential in der Auswertung. Schön das er (noch) kostenlos ist.

Leider habe ich nach unserem Servercrash meine original Bilder verloren. Hier ein kleiner Ersatz
Leider habe ich nach unserem Servercrash meine original Bilder verloren. Hier ein kleiner Ersatz

n-Damen Problem

Für meine morgige Informatik-Klausur habe ich mich mal wieder an C++ gewagt um einen Algorithmus zu implementieren. Die Hauptthemen der Klausur werden das n-Dame Problem und das Josephus Problem sein.

JS, PHP & CSS Frontend

Für das n-Damen-Problem habe ich eine iterative Backtracking-Implementation in C++ geschrieben. Gleichzeitig ist es mein erstes funktionsfähiges und komplexeres C++ Programm 😉

Um euch meine Ergebnisse zeigen zu können, habe ich mich bei der PHP, JS & CSS Version meines Freundes Micha bedient und sie leicht angepasst.

Das PHP-Script ruft über den Backtick-Operator das C++ Programm auf und stellt es anschließen mit JS und CSS dar.

Um den Server zu schonen habe ich die maximale Feldgröße auf 13 beschränkt. Das sind zu mindestens schon mal 5 Damen mehr als bei der PHP-Version.

Ohne die Beschränkung sind auch Problemgrößen bis 16 in einem angemessenen Zeitrahmen zu bewältigen. An den Weltrekord (25 Damen) komme ich jedoch noch nicht 😉

Wer interesse an dem Quellcode hat, kann sich einfach per Mail melden.