17 August 2008

genervt

...ich gebe ja freiwillig zu, daß es nicht besonders klug war, sich diesen Sonntag dafür auszusuchen, 'mal eben' zu Fuß bei jemandem einen Brief einzuwerfen. Um von der einen auf die andere Seite der großzügig abgesperrten Innenstadt zu gelangen, musste man nämlich außen um den maximalen Zirkus (Circus Maximus), der hier heute tobt, drumrumlaufen. Soweit so unschlimm. Beachtlich finde ich jedoch, daß der Stadt die Entscheidung, die Innenstadtanwohner mit immer mehr albernen Events zu ärgern, offensichtlich leicht fällt, das Anlegen vernünftiger Fahrradwege hingegen scheinbar eine übermenschliche Überwindung kostet. *WWRRrrr* *Knatknatknat* - nun gut, solche Veranstaltungen spülen Geld in die Kasse, Infrastruktur, Stadt- und Verkehrsplanung kosten, sind nicht nach einem Wochenende erledigt und nerven nur - *WRRRrrrr* - apropos nerven: Zu Recht besonders genervt von der Innenstadtralley war wohl der trierer Neubürger, der mit seinem Umzugswagen Dank Absperrungen nicht vor seine neue Wohnung fahren konnte - man kann mit seiner Terninplanung manchmal aber auch wirklich Pech haben.

(Bild: die Ralley am Simeonstiftsplatz (dramatization))

Labels: ,

16 August 2008

Auto-props für PHP-Scripte

...um den Überblick über verschiedene Bearbeitungszustände seiner Dateien zu behalten, bietet sich (wie der Name schon verspricht) eine Versionsverwaltung an. Um nun - schaut man dann in die Dateien rein - eine schnelle Info zu bekommen, mit welcher Datei man es eigentlich zu tun hat und (möglicherweise auch wichtig), wer die Datei bearbeitet hat, lohnt es sich, diese Informationen gleich mit in der Datei zu speichern. Hierbei kann es schnell nerven, dies manuell machen zu müssen.
Für selbst recht kleine Scriptbasteleien in PHP stellte sich für mich heraus, daß diese 'Minimalversionskontrolle' aufwendig, fehleranfällig und dadurch total unbrauchbar ist.
Um das Schreiben von Informationen zu einer Datei (z.B. in den Kommentarheader) zu automatisieren, bietet Subversion Schlüsselwörter an, die in den Dateien z.B. bei einem commit durch den Namen des Autors, das Änderungsdatum oder die Versionsnummer ersetzt werden.
Erstellt man in PHP die Kommentarblöcke automatisch, lohnt es sich, gleich den entsprechenden Schlüssel mit eintragen zu lassen. Um die Kommentarblöcke zu erstellen nutze ich den DocBlockGenerator aus pear und, da ich Subversion nutze, lasse ich diesen über den Parameter version gleich den passenden Schlüssel eintragen ('version'=>'svn' im Parameterarray oder -v svn für docblockgen über die Kommandozeile).
Schaut man sich den Kommentarheader der Datei an, sieht man dort die Zeile
* @version SVN: $Id:$
mit dem Schlüssel $Id:$ für SVN.
An einem kleinen Beispiel möchte ich nun zeigen, daß Subversion dann auch das macht, was es soll:
Nehmen wir an, wir haben in /var/www/foo ein PHP-Script foo.php mit automatisch erzeugten Kommentarblöcken, möchten diese in ein Repository einpflegen und dabei soll Subversion den Schlüssel $Id:$ ersetzen.
Zuerst müssen wir Subversion so konfigurieren, daß es die Ersetzung auch durchführt. Auf Benutzerebene ändern wir hierzu die Konfigurationsdatei ~/.subversion/config, stellen darin unter [miscellany] enable-auto-props = yes und erstellen dann unter [auto-props] einen Eintrag, damit Subversion die Ersetzungen für PHP-Scripte vornimmt:
*.php = svn:eol-style=native;svn:keywords=Author Id Revision Date
(Für Dateien mit anderen Endungen (z.B. .tpl o.ä.) entsprechende Einträge)
Nun legen wir (z.B. im Homeverzeichnis) ein Repository für unser foo-Projekt an
svnadmin create $HOME/svn/foo
und pflegen unsere Daten ein
svn import /var/www/foo file://$HOME/svn/foo/trunk -m 'erster Import'
Als Client für SVN benutze ich RapidSVN. Hier kann man sich nun ein Bookmark auf das Repository erstellen und dies dann als 'New Working Copy' irgendwohin auschecken (siehe Bild).
Ein Blick in die Datei /trunk/foo.php unserer Arbeitskopie zeigt nun, daß Subversion tatsächlich den Schlüssel ersetzt hat. Im Kommentarheader steht nun eine ähnliche Zeile wie
* @version SVN: $Id: foo.php 1 2008-12-24 11:55:00Z bearbeiter $
Erstellt man aus den Kommentarblöcken mit z.B. dem phpDocumentor eine Dokumentation, hat man nun (natürlich) zu jeder Datei unter dem Punkt 'version' das entsprechende Bearbeitungsdatum, die Version und den Autor auf einen Blick.

Ach, und, um das nicht zu vergessen: Happy Birthday Debian!

(Bild: Screenshot RapidSVN mit foo als Repo und Arbeitskopie)

Labels: ,

08 August 2008

20 Jahre

...ja, ich weiß noch, was ich heute vor 20 Jahren gemacht habe.
Erwachsene lassen Kinder ja oft Dinge tun, deren Sinn sich den Kindern nicht direkt erschließt: Das Zimmer aufräumen, das Einmaleins auswendig lernen etc. - und, seien wir ehrlich, das meiste davon ist tatsächlich unsinnig und hat 'für später' keinen Nutzen, da sich (je nach Umständen) dann evtl. 'rausstellt, daß doch der, der am lautesten schreit, Recht bekommt oder sich Sturheit oder Quängeln bezahlt machen. Hier und da gibt es jedoch Dinge, die man als Kind noch nicht versteht, für die sich später aber herausstellt, daß sie sehr wohl einen Sinn hatten.
Für mich war es am 8.8.1988 nicht wirklich verständlich, fast mitten in der Nacht geweckt zu werden und verschlafen ein gutes Stück durch die Dunkelheit zu wandern, um dann, auf irgendeinem Stoppelfeld in einem kleinen Kaff irgendwo in der Nähe von Blankenheim auf den Sonnenaufgang zu warten. Nur, weil im Datum zufällig ein paar Achten auftauchten? Was sollte das?
Heute weiß ich: Dieser Tag mit dem gut einprägsamen Datum wäre mir wohl kaum zwanzig Jahre in Erinnerung geblieben, hätte ich ihn wie jeden anderen begonnen. Es geht bei dem Datum auch nicht um irgend etwas Numerologisches - man kann es sich halt gut merken und so eine Erinnerung genau datieren - was m.E. sonst oft nicht der Fall ist.
Es war also schnell klar, was ich mir für heute, den 8.8.2008 vorgenommen hatte: Auf einem Stoppelfeld auf den Sonnenaufgang warten. Mit GoogleEarth und der lustigen Funktion, die die Sonneneinstrahlung zu einer bestimmten Zeit anzeigt, war auch schnell ein Stoppelfeld gefunden, daß man in unter einer Stunde mit dem Fahrrad erreichen konnte und von dem aus man möglichst früh freie Sicht auf den Sonnenaufgang hatte - die Wahl fiel auf eine Höhe mit Blick über das Ruwertal.
Vor zwanzig Jahren war die Suche nach einem geeigneten Standpunkt nicht ganz so leicht, es gab weder Windkraftanlagen noch hatte man die Möglichkeit, schnell im Internet eine Notiz über das Erlebte zu hinterlassen, ich glaube, es gibt von diesem Tag nichtmal Fotos. Und trotzdem erinnere ich jenen Tag anhand des ungewöhnlichen Ausflugs und des Datums - und damals, das weiß ich noch genau, waren die Strohballen trocken und gemütlich - ganz im Gegensatz zu heute.

Labels: , ,

06 August 2008

Der Wurm ist drin

"... die von Ihnen gewünschte Veröffentlichung im auswärtigen Leihverkehr: XYZ konnte aus folgendem Grund nicht für Sie beschafft werden: Magisterarbeit ist über Fernleihe nicht lieferbar. Bitte wenden Sie sich an die FU Berlin." - ich brauche für meine Fernleihen ganz offensichtlich jemanden, der sich neben mich setzt und mir auf die Finger klopft, damit ich keinen Unsinn anstelle. Nachdem ich neulich ein Buch bestellte, das noch gar nicht erschienen war, nun also eins, das man überhaupt nicht per Fernleihe bekommt. Irgendwie fehlen mir im Online-Katalog die großen roten Warnhinweise mit der Aufschrift "Das nicht, du Trottel!" - die würden mir und der Bib Ärger und Arbeit ersparen. Da ich niemanden direkt an der FU kenne heißt es nun wohl "Gogo Gadgeto Teleporter".

Labels: , ,

04 August 2008

läuft

..."Bereitstellung läuft, noch nicht eingegangen" steht bei meinen Fernleihen im Bibliothekskatalog an einer Bestellung, die seit inzwischen 140 Arbeitstagen, seit dem 9. Januar, vor sich hin dümpelt. Ich weiß nicht mehr, welche Bibliotheken das Buch im Bestand hatten und hab' auch keine Lust, nochmal nachzusehen. Es war jedenfalls keine Bibliothek auf einer abgelegenen Insel, die nur zu Weihnachten vom Postschiff angesteuert wird, da bin ich mir recht sicher. Vor ein paar Monaten dachte ich noch, das Buch sei vielleicht ausgeliehen, schlimmstenfalls auch noch vorbestellt. Aber Januar? In der Zeit hätte das Buch gut durch 6 Vorbestellerhände gehen können. Ich schätze mal, daß nicht arg viele Bibs das Buch besitzen und es dieses Jahr schon mehrfach quer durch mehrere Fernleihverbünde verschickt wurde - anders kann ich mir das nicht mehr erklären.
Natürlich hatte ich inzwischen schon längst vergessen, daß diese Fernleihe noch läuft und der eigentliche Grund für die Bestellung existiert überhaupt nicht mehr. Trotzdem würde ich gern doch noch einen Blick in das Buch werfen - abwarten und Kaffee trinken.
Sollte das Buch noch eintreffen, bricht diese Fernleihe jedenfalls den aktuellen Rekord von sieben Monaten Wartezeit. Vielleicht sollten meine Bestellungen demnächst weniger abseitig ausfallen.

Labels: , , ,

01 August 2008

personalisiert

...die Suchmaschinenergebnisse werden ja auch immer besser, heißt es. Ermöglicht wird das, indem man Informationen über den Nutzer zusammenträgt und anhand diesen rät, was wohl mit der nächsten blöd gestellten Anfrage ("wir kann ich ...") gemeint sein könnte. Appleuser, die nach Musik suchen, schickt man dann halt gleich zu iTunes und Bildlesern erspart man die Links zu anderen journalistischen Erzeugnissen. Natürlich interessiert auch, wo sich der Nutzer aufhält: Als Resultat auf eine Suche nach "Schwimmbad" oder "Kino" haben evtl. nur Treffer aus der Region einen Sinn - aber auch den Luxuskarossen-Vertragshändler freut es, wenn er seine Werbung nur für Suchende aus begüterten Stadtteilen schalten muß, der Kredithai hingegen...

Labels: ,