Der neue Fotografierer… Nikon D90

September 6th, 2008

Kurz nachdem die ersten Reviews im Internet zu finden waren (wie etwa bei Chase Jarvis) begann ein sehr kurzer Entscheidungsprozess, ob ich in die Welt der Digitalen Spiegelreflexkameras (kurz DSLR) eintauchen sollte. Naja sehr kurz, bis auf einen kleinen Moment des Innehaltens bei der Bestellung bei Amazon… der Preis ist doch recht erheblich.

Die wichtigsten Features die zur Kaufentscheidung geführt haben:

  • Kleiner und relativ leichter Body
  • Videoaufnahme mit 720p/24fps
  • Die guten Reviews von D80 (dem Vorgänger) und der D90
  • Die Verwendung von Sensor und diversen anderen Komponenten vom großen Bruder D300
  • Die D80 ist von einem Freund bereits sehr erfolgreich seit vielen Monaten in Verwendung

Somit heisst es nur noch warten auf die Lieferung der Kamera mit Zubehör:

  • Nikon D90 Kit SLR-Digitalkamera (12,9 Megapixel, Live-View, HD-Videofunktion) inkl. F-S DX 18-105mm ED VR (ca. 1110 EUR)
  • Hähnel HL-EL3e 7,4V 1500mA Ersatzakku Typ Nikon EN-EL3e f. Nikon D80, D200 (ca 39 EUR)
  • Crumpler Pretty Boy Back Pack dull black/orange (ca. 55 EUR)
  • 2x Secure Digital Card (SDHC) 4096MB SanDisk Extreme 3 (zusammen ca. 42 EUR)

Die ersten Fotos sollten dann Ende September geschossen werden, wenn alles passt.

Vorfreude ist ja die schönste Freude…

Building proprietary ATI fglrx driver on Debian Lenny x86_64

August 25th, 2008

To build the ATI proprietary driver (version 8.8, being reported as 8.522) on Debian Lenny 2.6.26-1-amd64 (probably the same for testing/unstable) on x86_64 I ran into 2 subtle problems which requried a little tricking to get the driver compiled and loaded. The following issues apply only to the x86_64 version of linux.

The first issue is a library problem with a very misleading description .

shell# sh /home/random/ati-driver-installer-8-8-x86.x86_64.run --buildpkg Debian/testing
... build fails with library libXext.so.6 missing ...

The solution is to install the ia32-libs, which contain the correct libs for ia32. Building with the above command work fine afterwards. Then it was possible to install the packages

shell# dpkg -i fglrx-amdcccle_8.522-1_amd64.deb fglrx-driver_8.522-1_amd64.deb fglrx-kernel-src_8.522-1_amd64.deb

The second issue happened during loading of the kernel module after building, installing and loading it with

shell# m-a build fglrx
shell# dpkg -i /usr/src/fglrx-kernel-2.6.26-1-amd64_8.522-1+2.6.26-3_amd64.deb
shell# modprobe fglrx


fglrx: module license 'Proprietary. (C) 2002 - ATI Technologies, Starnberg, GERMANY' taints kernel.
fglrx: Unknown symbol flush_tlb_page

The patch is basically to remove the defined(__SMP__) from a preprocessor rule (this is not my patch, please see http://bugs.debian.org/cgi-bin/bugreport.cgi?bug=485605 for details).

-#if defined(__x86_64__) && defined(__SMP__) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25))
+#if defined(__x86_64__) && (LINUX_VERSION_CODE >= KERNEL_VERSION(2,6,25))

After applying the patch, rebuilding the packages, recreating the module, installing the resulting kernel-module package and loading the kernel module everything worked like a charm. Of course you need to correctly configure the driver for your X server.

Wandern in der Ramsau

August 21st, 2008

Wandern beim RiesachseeDer Kurzurlaub vom 17.-20. August wurde mit sportlicher und naturverbundener Familienaktivität gefüllt… Wandern in der Ramsau, Steiermark. Untergebracht im hervorragenden Jagdhof in Ramsau-Ort haben wir mehrere Wanderungen unternommen.

Gestartet gleich am Ankunftstag auf den Rittisberg mit kurzem Gipfelsturm mit herrlichem Panorama (Richung Dachsteinsüdwand als auch Richtung Süden) und Abstieg über den steileren Weg um das Abendessen nicht zu verpassen. Die Rückentrage hat gut gehalten, Tobias war guter Laune auch nach dem Abstieg, nur der Rücken des Trägers war noch etwas unentspannt… Scheinbar gilt regelmäßige Bewegung alle 3 Monate nicht als Sport und konditionsfördernd.

Wandern beim RiesachseeAm zweiten Tag dann die Wanderung entlang der Riesachfälle durch das Höll hinauf zum Riesachsee. Herrlicher, wenn auch mit Rückentrage etwas steiler Aufstieg durch das Höll mit stetig gutem Blick auf den tosenden Riesachbach und die Wasserfälle. Nach vielen überwunden Leitern, Stegen und der Seilbrücke dann kurz nach der Gföllneralm der herrliche Ausblick auf den Riesachsee eingebettet in ein Hochtal auf ca. 1300m. Sogar das nicht einmal 15°C warme Wasser hat Leute animieren können sich komplett in die Fluten zu stürzen. Und der Kneipp-Test hat es dann bestätigt… eisig, mehr als eisig. Nach einer Wanderung ins Talinnere haben wir uns kurzerhand zur Umkehr entschlossen und auf den 300m Aufsteig verzichtet. Der Absteig über den Forstweg zur Gföllneralm ist leicht zu bewältigen.

Wandern beim RiesachseeAm nächste Tag ging es zur Gondelstation am Fuss des Dachsteins und von dort hinauf auf die Bergstation auf knapp 3000m Höhe. Der Gletscher und ein kalter Wind zeigen unbehindert die Macht der Natur im Hochgebirge. Einige Touristen in flachen Turnschuhen, mit T-Shirt und kurzer Hose wissen wohl jetzt auch bescheid. Der Eispalast (nur knapp 50m von der Station entfernt) ist seit Juli 2007 geöffnet und zeigt einige bunt beleuchtete Eisskulturen in Gängen die in den Gletscher führen, ein eisiges und rutschiges Erlebnis.

Wandern beim RiesachseeDanach nach kurzer Rast der Einstieg in die Silberkarklamm und hinauf durch die privat geführte und gut gesicherte Klamm zur Silberkarhütte. Die Holzleitern und Stege intergrieren sich gut in das felsige Gestein der Klamm und bieten einen hervorragenden Blick, oft nur wenige Zentimeter über oder neben dem Wasser, auf das Naturschauspiel und den tosenden Bach. Die Silberkarhütte ist oberhalb eines großen Steinfeldes gelegen (entstanden durch die Wassermassen die das Gestein Richtung Klamm mitreissen) und eingebettet in das kleine Tal. Nur eine Transportgondel steht für die Versorgung zur Verfügung, keine Forstwege oder Strassen führen hier hinauf. Der Abstieg über den Höhenweg, auch passend Wurzelsteig genannt, ist durchwegs anspruchsvoll und sehr interessant. Zwischenzeitlich immer wieder von Seilen gesichert bietet der ca. 90min dauernde Abstieg eine herrliche Aussicht und abwechslungsreiches Wandern.

Im Hotel gabs dann immer ein gutes Abendessen mit Salatbuffet und auch ein gutes Frühstücksbuffet, alles was der Wanderer braucht… nicht die bequemen Betten zu vergessen!

Fotos sind in der Galleriezu finden.

Tobi’s 2er

August 6th, 2008

Tobi 2erUnglaublich aber wahr… es ist schon 2 Jahre her seit unser “Zwerg” das Licht der Welt erblickt hat.

Um etliche motorische und koordinativen Funktionen erweitert, mit wesentlichen Verbesserungen der Sprachausgabe und gerade noch moralisch zu vertretenden Selbstbewusstseinsoptimierungen geht Tobi ins nächste Lebensjahr. Obwohl sich der Leitspruch in manchen Situationen auf “die Welt gehorcht meinem Willen” geändert hat, ist der weitaus überwiegende Zeitanteil von einen braven und enorm lernbereiten jungen Spross gekennzeichnet.Tobi und seine Geschenke

Da auch Feiern gelernt sein will, wurde von Mittwoch bis Samstag täglich gefeiert, begonnen mit einem heiteren Familienfest, wo sich bereits abzeichnete, dass der Plan, es mit wenig Geschenken zu versuchen, um die ständig matrialistischer werdende Welt zu bessern, zum Scheitern verurteilt war.

Die neue SpritzpistoleNebst diversen entwicklungsfördernden Geschenken war dann doch die gute alte Spritzpistole vom “Mayo” (Mario in Tobi’s Welt) der Renner schlechthin (zugegebener Maßen war auch der Vater schwerstens beeindruckt, dass auch eine handelsübliche 1 Liter Flasche den minimalen 0,3 Liter Tank ohne Modifikationen am Gerät ersetzen kann und auch die Spritzweite von ca. 10m ist beträchtlich!)

Familie Lammel bis zu den Ur-ElternDie Familie war vollzählig erschienen, in allen Generationen bis zum Ur-Opa bzw. Ur-Oma! Die letzte Feier am Samstag im Freundeskreis war von einem enorm gemütlichen Abend gekennzeichnet, da lediglich “Stoffi” und Juli (mit Rene und Andrea freilich) Zeit hatten. Und Jochen schaute, brav wie er ist, nach dem Dienst noch vorbei zum Gratulieren.

Fotos sollten auch noch online gehen…

24h Kartrennen in Saalfelden

July 24th, 2008

Am Start...Es war ein unglaublicher Event. 24h lang wurden die Runden am ÖAMTC Gelände in Saalfelden gedreht. Mit knapp 50 Karts am Start war auch zu diesem Zeitpunkt bereits “Ektschn” angesagt. Unser Leihkart war nach dem unmoralischen Bierkistenangebot an die Mechaniker in einem perfekten Zustand und dank ausgeklügelter Taktik haben wir unsere Wunschstartposition erreicht, Platz 47 von 49. Der Le Mans Start wurde erfolgreich mit der nötigen Ruhe und Eleganz der Gentlemen die wir sind bewältigt. Und wir konnten uns aus allen unnötigen Berührungen und Abflügen ins Grüne in den ersten 3 Runden bewahren, dann ging auch für uns das Rennen los.

Gestartet im 1h Rhytmus konnten wir mit dem System bis in die frühen Morgenstunden fortfahren, erst dann hat strömender Regen und enorm schlechte Sicht die ersten Änderungen gefordert. Aber nachdem auch das Morgengrauen gegen 05:30 die ersten Lichtstrahlung als Hilfe anbot, waren auch wir wieder fest im Sattel und konnten unseren Platz weiter verteidigen. So waren wir erfolgreich zwischen Rang 20 und Rang 15 während des ganzen Rennens platziert und nicht zuletzt durch extrem schonende Behandlung unseres Karts gab es keinen nennenswerten Zwischenfälle. Unser einzig verbliebenes Rücklicht konnten wir mit aggresivem Einsatz von Klebeband in Funktion und Position trotz der vielen Regenstunden halten.

Photos sind in der Gallery.
Weitere Infos auf der Ruck-Zuck Kart Racing Team Homepage

Thoughts on parametrized roles for Moose

July 15th, 2008

Moose is your favorite meta-object system in your favorite language of choice. And you already have a lot of excellent concepts that extend the basic usage of object-oriented programming, like having simple means to override parts of methods (around, before, after) and of course roles.

Roles are great, I even used them for my logging needs in MooseX::Log::Log4perl as stated earlier. After getting getting feedback by Micheal Schilli to add an easier interface for simple logging needs I had two choices to accomplish that:

  • Add another role (and reuse the initial role) like it is implemented currently in MooseX::Log::Log4perl::Easy:

    package MooseX::Log::Log4perl::Easy;
    use Moose::Role; ### Make it a moose role
    with 'MooseX::Log::Log4perl'; ### Reuse the base role with its attributes and methods
    sub log_fatal { my $self = shift; $self->logger->fatal(@_); }
    sub log_error { my $self = shift; $self->logger->error(@_); }
    ...
  • Use a method alias by using import to have a function returning the correct role to use with with. This is exactly what MooseX::Storage does to allow parametrized loading of moose roles to save some typing for lazy people and improving readability.

    use Moose;
    use MooseX::Storage; ### You have to use it to allow import to provide you the Storage alias
    with Storage('format' => 'JSON', 'io' => 'File'); ### Use the function to return the correct roles

The first approch clutters my module package a little, also requiring more documentation and hinting for people to find the module (more of a problem for lazy people like me).
The downside of the second approach is, that you have to use MooseX::Storage first, to have the Storage function exported. And it does not really look like the standard way of adding a role to the object, which is usually defined using quoted string like with 'MooseX::Log::Log4perl'; (note the quotes here).
A solution to that problem might be adding another keyword function to moose e.g. called role that makes use of some import magic and returns the correct role packages to load, also calling role initialization method, that allows to do some role tricks.

use Moose;
with role 'My::Role'; ### no magic here same as: with 'My::Role';
with role 'MooseX::Log::Log4perl' => ':easy'; ### pass a param
### or even
with role 'MooseX::Log::Log4perl', prefix => 'mylog_'; ### pass the param hash/pair to a role

The role keyword would return the correct role method to load, and additionally allow the role to initialize and use the prefix parameter to do some additional initialization, even if that would mean only setting a “_role_param attribute” that could be used later in default coderefs. Using this, would mean that you cannot use multiple roles with the with role keywords, but that’s ok for me, since perl users are used to that anyway, it’s the same for use.

« Prev - Next »

primary