Höhe: 2677m

Posted by Tobi Sat, 01 Aug 2009 16:59:00 GMT

Immernoch im Urlaub gings heute mal auf einen "richtigen" Berg. Am Glungezer Klettersteig konnte ich dann auch mal das Klettersteigset sponsert by Meine Schwester alias Gipfelshop.de ausprobieren (zur Sicherung, die ich zum Glück nicht in Anspruch nehmen musste). So anstregend, wie's ist, Spass machts schon. Und die Aussicht vom Gipel ist es allemal wert:

Aussicht von der Sonnenspitze

Posted in  | Tags , , , , ,  | no comments | no trackbacks

eTobi macht Urlaub!

Posted by Tobi Fri, 31 Jul 2009 19:03:00 GMT

Nich wundern, wenn es momentan keine VDR-Paket-Updates gibt oder ich nicht auf Emails antworte, denn ich mache Urlaub!

Diesmal geht es nicht weit weg, sondern hoch hinaus. Ich bin im Kaisergebirge unterwegs und habe mich bei meiner Schwester in Kiefersfelden einquartiert. Zum warm werden gings heute erstmal bei sachten 1500m auf den Pendling - ist nach der lokalen Definition eigentlich noch garkein Berg, denn die fangen hier erst an, wenn ne 2 davor steht :-). Trotzdem ein schöner Ausblick runter auf den Inn und Kufstein, wenn auch Wetter-bedingt etwas wolkenverhangen.

Pendling

Aber morgen soll auch hier wieder mehr Sonne scheinen und dann gehts mit nem Klettersteigset und Helm ausgerüstet richtig los. Interessante Touren gibt es viele (www.klettersteige-online.de) - mal sehen, was ich mir alles zutraue :-)

Und noch etwas Werbung in eigener Sache: Im Gipfelshop, den meine Schwester betreibt, gibts versandkostenfrei jede Menge Ausrüstung, Karten, Wander- und Klettersteigführer und vieles mehr. Also wer etwas in dieser Richtung benötigt - jetzt wisst ihr, wo ihr's bekommt! :-)

Posted in  | Tags , , , , ,  | no comments | no trackbacks

Star Trek XI - The Fast and the Furious

Posted by Tobi Thu, 07 May 2009 21:09:00 GMT

Gerade komme ich von Star Trek XI nach Hause und muss jetzt ganz einfach mal meinen Senf dazu loswerden.

Vorsicht ! Spoiler ahead! Wer den Film noch nicht gesehen hat, sollte besser nicht weiterlesen!

Für mich ist Star Trek: "Neue, unbekannte Zivilisationen zu entdecken und dorthin zu gehen, wo noch nie ein Mensch zuvor gewesen ist". ...Star Trek XI ist das leider nicht.

Der Film ist ganz nett, wenn man keinen Star Trek-Film erwartet. Zwar ist der Film auch für Fans durchaus sehenswert, da es viele kleine Anspielungen an alte Star Trek-Folgen gibt, aber unterm Strich fehlt ganz einfach das Flair, das Star Trek ausmacht.

Die Besetzung ist eigentlich garnichtmal so schlecht. Karl Urban gibt einen ziemlich guten Dr. "Pille" McCoy ab und Spock fand ich mit Zachary Quinto gut besetzt. Auch der Rest gäbe eine recht gute Enterprise-Crew ab, hätte man ihnen die Gelegenheit dazu gegeben. Schmerzlich vermisst habe ich ein "Ey ey, Captain" von Simon Pegg als Scotty. Leider läuft der ganze Film im Schnellvorlauf ab, was den Charakteren irgendwie die Möglichkeit nimmt miteinander zu interagieren. Stattdessen werden Spock und Uhura zum Knutschen in den Turbolift gesteckt, Scotty darf eine Fahrt in der Wasserrutsche machen, Kirk muss auf einem Eisplaneten vor CGI-Monstern davon rennen und Chekov hat Mühe dem Schiffscomputer mit seinem russischen Akzent Anweisungen zu geben. Und wo ich gerade beim Schiff bin - Die Enterprise sieht zwar von außen so aus, wie man sie erwartet, aber der Innenraumdesigner hat total versagt. Der Maschinenraum erinnert eher an eine Ölraffinnerie oder Chemiefabrik als an ein Raumschiff. Im krassen Gegegensatz dazu ist die Brücke ultra-modern und stylisch. Das passt weder zusammen, noch erinnert es an irgendeine Version der Enterprise, die es jemals gab. Wenigstens der Transporterraum war ok.

Die Storyline ist nicht sonderlich einfallsreich - Tätowierter Romulanischer Kohle-Kumpel wird nach der Zerstörung von Romulus in die Vergangenheit verschlagen, wo er sich an Spock und dem Rest der Förderation wegen unterlassener Hilfeleistung rächen will. Am Ende sind die Planeten Romulus und Vulkan zerstört, es gibt nur noch eine Hand voll Vulkanier und Spocks Mutter ist tot, was letztendlich auf eine vollständig neue Zeitlinie hinausläuft, die mit dem "alten" Star Trek-Universum nicht mehr viel zu tun hat. Immerhin gibt das die Möglichkeit, in einer etwaigen Fortsetzung im Kino oder auf der Mattscheibe ohne den "Druck" an alte Star Trek-Folgen anschließen zu müssen, etwas neues auf die Beine zu stellen. So hört der Film auch an der Stelle auf, an der ich ihn gerne hätte beginnen sehen: Zu den Klängen von Alexander Courage fliegt die Enterprise neuen Abenteuern entgegen.

Auch Vor- und Abspann des Films sind nicht sehr Star Trek-like. Immerhin wurde ganz zum Schluß, wenn eigentlich schon niemand mehr im Kino sitzt, eine Widmung für Gene und Majel Roddenberry platziert. Schade, das Kinofilme in Deutschland immer synchronisiert werden, denn in Star Trek XI ist die letzten Dezember verstorbene Majel Barrett Roddenberry leider zum letzten mal als Computerstimme zu höhren.

Bleibt zu hoffen, dass es ein Star Trek XII geben wird und Kirk & Co. dann endlich die Gelegenheit bekommen, neue Welten zu erforschen, neues Leben und neue Zivilisationen.

Fazit: Viel Action - wenig Spannung, viele Star Trek-Referenzen - wenig Star Trek-Feeling, gute Schauspieler - doofes Drehbuch. Trotzdem: Anschauen und selber eine Meinung bilden! Wenn man nicht mit all zu hohen Erwartungen ins Kino geht, bietet der Film durchaus kurzweilige Unterhaltung. Der Film hat viele gute Ansätze, vieles ist aber meiner Meinung nach auch einfach nur in die Hose gegangen.

Posted in  | Tags , , , ,  | no comments | no trackbacks

DKB-VISA-READ Version 2009-01-26

Posted by Tobi Sun, 25 Jan 2009 23:16:00 GMT

Die aktuelle Version 0.9.0 von WWW::Mechanize verwendet statt Hpricot standardmäßig nun Nokogiri als HTML-Parser und WWW::Mechanize::List ist wegrationalisiert worden, weshalb das dkb-visa-read-Skript mit dieser Version auch nicht mehr funktioniert.

Alle die eine neue Version von WWW::Mechanize installiert haben, sollten daher auch auf die aktuelle Version des dkb-visa-read-Skripts updaten. Diese Version ist NICHT abwärtskompatibel zu älteren WWW::Mechanize-Versionen! Wer bei der alten WWW::Mechanize-Version bleiben will, sollte auch nur die alte Version des dkb-visa-read-Skripts verwenden.

Neu in dieser Version ist auch die Option -s / --start, mit der das Startdatum (im Format TT.MM.JJJJ) angegeben werden kann, ab dem die Umsätze gelesen werden.

dkb-visa-read-2009-01-26.tar.gz

dkb-visa-read-2009-01-26.zip

Posted in  | Tags ,  | 2 comments | no trackbacks

Und es gibt doch noch vernünftige Menschen im Internet...

Posted by Tobi Tue, 13 Jan 2009 20:30:00 GMT

Letztes Wochenende bekam ich einen überraschenden und etwas unangenehmen Anruf, mit der Bitte die Seiten über meinen Holzbackofen vom Netz zu nehmen. Der Anrufer sah darin eine Verletzung seiner Urheberrecht an einem Bauplan für Holzbacköfen, den er im Internet vertreibt. So absurd mir das zunächst auch vorkam, muss man dem Bauplan-Anbieter doch zu gute halten, dass er nicht gleich die Abmahnkeule geschwungen hat, sondern erstmal das Gespräch gesucht hat. Ganz wie ich in meinem Impressum schreibe:

Falls Sie vermuten, dass von dieser Website aus eines Ihrer Schutzrechte verletzt wird, teilen Sie das bitte umgehend per elektronischer Post (Email) mit, damit zügig Abhilfe geschafft werden kann. Bitte nehmen Sie zur Kenntnis: Die zeitaufwändigere Einschaltung eines Anwaltes zur für den Diensteanbieter kostenpflichtigen Abmahnung entspricht nicht dessen wirklichen oder mutmaßlichen Willen.

Nach dem Telefonat habe ich in einer Email nochmal bekräftigt, dass die Artikel über meinen Holzbackofen allein auf meinem Mist gewachsen sind und jedwede Ähnlichkeit mit dem betreffenden Bauplan nur zufällig bzw. der Natur der Sache geschuldet ist. Heute bekam ich dann auch eine nette Email, in der mir versichert wurde, dass meine Darstellung glaubhaft sei und die Sache damit als erledigt betrachtet werden kann.

Auch wenn der Bauplan-Anbieter mir mit dem Vorwurf einer Urheberrechtsverletzung erstmal einen Schrecken eingejagt hat, kann ich ihm letztendlich dann doch nicht böse sein, denn er hat sich ansonsten sehr fair verhalten, was man von den wirklichen Internet-Abmahn-Abzockern nicht behaupten kann.

Also: Aufatmen! e-tobi.net wird so schnell nicht mit einer einstweiligen Verfügung vom Netz genommen :-)

Ein kleiner Lesetip am Rande: Ich habe mit der Juristerei an sich eigentlich nicht viel am Hut und kann meistens nur mit den Augen rollen oder die Hände über dem Kopf zusammenschlagen, Udo Vetters LawBlog lese ich aber trotzdem ganz gern - ist hin und wieder recht amüsant - Ally McBeal als Blog, in deutsch und ohne hübsche Frauen :-)

Posted in  | Tags , ,  | 2 comments | no trackbacks

Das Internet, ein Abmahn-Netz

Posted by Tobi Sat, 10 Jan 2009 13:14:00 GMT

Da denkt man immer, dass einem mit seiner kleinen Homepage soetwas nie passieren könnte und dann sowas:

Bekomme ich doch heute einen Anruf, dass der von MIR verfasste Artikel über den von MIR entworfenen und von MIR gebauten Backofen jemandens Uhrheberrecht an einem im Internet angebotenen Holzbackofen-Bauplan verletzen würde. Auf den ersten Blick mag zwar wirklich eine Ähnlichkeit zwischen dem Backofen des Bauplan-Anbieters und meinem zu bestehen, aber ein Backofen ähnelt sich nunmal dem anderen, wie ein Auto dem anderen. Eine Google-Bilder-Suche findet bestimmt ein Dutzend Backöfen, die meinem ähnlich sehen (und keiner davon ist meiner, da ich Bilder von meiner Website von der Google-Suche ausgeschlossen habe).

Aber mal abgesehen davon, kann man ja wohl kaum jemandem, eine Urheberrechtsverletzung vorwerfen, der etwas nach irgendeinem Bauplan baut und dann Bilder davon ins Netz stellt. Wenn man so eine Bauplan im Ganzen oder in Auszügen kopieren und verbreite würde, sähe ich ja noch eine, dass man das Urheberrecht des Bauplan-Autors verletzt aber so - nee, also wirklich nicht! Da müsste einem doch schon der gesunde Menschenverstand sagen dass, das mit Urheberrechten rein garnichts zu tun hat.

Aber heutzutage ist das Urheberrecht vielleicht auch nicht mehr unbedingt mit einem gesunden Rechtsempfinden erfassbar. Ich hoffen, ich konnte den Bauplan-Autor überzeugen, dass ich weder bewusst noch unbewusst irgendeines seiner Urheberrechte verletzte. Zur Not würde ich mich auch auf einen Rechtsstreit einlassen, in der (hoffentlich nicht zu naiven) Annahme, dass ein deutsches Gericht hier auch wirklich "Recht" sprechen würde. Aber natürlich wäre es mir lieber, diesen ganzen Ärger zu vermeiden.

Posted in  | Tags , ,  | 4 comments | 1 trackback

DKB-VISA-READ Version 2008-11-24

Posted by Tobi Mon, 24 Nov 2008 22:08:00 GMT

Es ist mal wieder Zeit für ein kleines Updated des DKB-VISA-Umsatze-Import-Skripts mit folgenden Änderungen:

  • Auf manchen Systemen werden, warum auch immer, die HTML-Entities nicht ordentlich aufgelöst, weshalb bei mehrseitigen Umsätzen immer nur die erste Seite gelesen wurde (da der ">>"-Link nicht gefunden wurde) Das sollte nun kein Problem mehr sein.
  • Bei mehr als einer Kreditkarte, wird jetzt auch von den anderen Karten der Umsatz korrekt gelesen, wenn dieser über mehrere Seiten verteilt ist.

Besten Dank an Adolfo für die Hinweise und für das Testen!

dkb-visa-read-2008-11-24.tar.gz

dkb-visa-read-2008-11-24.zip

Posted in  | Tags ,  | 2 comments | 1 trackback

.NET Open Spaces 2008

Posted by Tobi Wed, 08 Oct 2008 08:14:00 GMT

Vom 17.-19. Oktober bin ich in Leipzig beim .NET Open Spaces 2008. Falls jemand Lust hat sich zwecks Keysigning o.ä, dort mit mir zu treffen, lässt sich das bestimmt arrangieren.

Posted in ,  | Tags  | no comments | no trackbacks

RSpec'ing a Rake TaskLib

Posted by Tobi Sat, 04 Oct 2008 10:01:00 GMT

I thought it would be a good idea to use RSpec for creating custom Rake TaskLib's, but I couldn't find any examples for this. So here's a pretty simple one from a project I'm working on at the moment. A TaskLib for creating a Mono resource generator task.

This TaskLib should create a file task for a .resources file, depending on a .resx file:

require 'rake'

describe ResgenTask do
    it 'should create a file task with the *.resource file as target and *.resx as dependency' do
        ResgenTask.new 'foo.resources'
        Rake::Task.tasks.should satisfy do |tasks|
            for task in tasks
                if task.name == 'foo.resources' and task.prerequisites.include?('foo.resx')
                    break true
                end
            end
            false
        end
    end
end

This doesn't work because of the missing ResgenTask, so we create it:

require 'rake/tasklib'

class ResgenTask < Rake::TaskLib
    def initialize(target)
    end
end

The specification now fails:

>spec resgentask_spec.rb --format specdoc

ResgenTask
- should create a file task with the *.resource file as target and *.resx as dependency (FAILED - 1)

1)
'ResgenTask should create a file task with the *.resource file as target and *.resx as dependency' FAILED
expected  to satisfy block
./resgentask_spec.rb:11:

Finished in 0.005009 seconds

1 example, 1 failure

But before we implement this specification, let's refactor it a little bit. This is much more readable:

it 'should create a file task with the *.resource file as target and *.resx as dependency' do
    ResgenTask.new 'foo.resources'
    Rake::Task.tasks.should have_file_task('foo.resources').depending_on('foo.resx')
end

Because there is no have_file_task, we need to create a custom matcher:

module RakeMatchers

class FileTaskMatcher
    def initialize(filename)
         @target = filename
         @source = nil
    end

    def depending_on(source)
        @source = source
        return self
    end

    def matches?(tasks)
        @tasks = tasks
        for task in tasks
            if (task.name == @target) and (not @sources or task.prerequisites.include?(@source))
                return true
            end
        end
        return false
    end

    def failure_message
         "expected file target #{@target} with dependency #{@source} to be in task list [#{@tasks.join(' ')}]"
    end

    def negative_failure_message
         "expected file target #{@target} with dependency #{@source} not to be in task list [#{@tasks.join(' ')}]"
    end
end

def have_file_task(filename)
    return FileTaskMatcher.new(filename)
end

end

In order to be able to use this matcher, we simply include it:

describe ResgenTask do
    include RakeMatchers

    it 'should create a file task with the *.resource file as target and *.resx as dependency' do
        ResgenTask.new 'foo.resources'
        Rake::Task.tasks.should have_file_task('foo.resources').depending_on('foo.resx')
    end
end

It still fails, but with a much nicer output:

>spec resgentask_spec.rb --format specdoc

ResgenTask
- should create a file task with the *.resource file as target and *.resx as dependency (FAILED - 1)

1)
'ResgenTask should create a file task with the *.resource file as target and *.resx as dependency' FAILED
expected file target foo.resources with dependency foo.resx to be in task list []
./resgentask_spec.rb:52:

Finished in 0.005116 seconds

1 example, 1 failure

Time to implement this specification:

class ResgenTask < Rake::TaskLib
    def initialize(target)
        file target => target.gsub('.resources', '.resx')
    end
end

The next specification will describe the behavior of the file task:

it 'should create a file task that runs resgen2' do
        ResgenTask.new 'foo.resources'
end

But wait a moment! Before letting ResgenTask.new create a new file task, the old tasks should be dropped:

describe ResgenTask do
    include RakeMatchers

    before :each do
        Rake::Task.clear
        @tasklib = ResgenTask.new 'foo.resources'
    end

Ok - now we can think about, how to test the generated task. What it should do, is run sh('resgen2 foo.resources foo.resx'). We don't want to actually run sh(), so we need to mock it. sh() is defined in the module FileUtils. My first guess was, to use FileUtils.should_receive(:sh), but this didn't work. To be honest, I have no idea, what's the right place to mock sh(). But the simplest solution is to create a mocked sh() member method on the task lib:

it 'should create a file task that runs resgen2' do
    @tasklib.should_receive(:sh).with('resgen2 foo.resources foo.resx')
    Rake::Task['foo.resources'].execute(nil)
end 

The specification fails, so let's implement it:

class ResgenTask < Rake::TaskLib
    def initialize(target)
       file target => target.gsub('.resources', '.resx') do |task|
           sh("resgen2 #{task.name} #{task.prerequisites}")
       end
    end
end

To add an extra goody, the compiled resource file should be removed on the clean target automatically:

it 'should add the *.resources file to the clean target' do
    CLEAN.should include('foo.resources')
end

This can be implemented as:

def initialize(target)
    CLEAN.include(target) 
    file target => target.gsub('.resources', '.resx') do |task|

The final set of specs now looks like this:

describe ResgenTask do
    include RakeMatchers

    before :each do
        Rake::Task.clear
        CLEAN.celar
        @tasklib = ResgenTask.new 'foo.resources'
    end

    it 'should create a file task with the *.resource file as target and *.resx as dependency' do
        Rake::Task.tasks.should have_file_task('foo.resources').depending_on('foo.resx')
    end

    it 'should create a file task that runs resgen2' do
        @tasklib.should_receive(:sh).with('resgen2 foo.resources foo.resx')
        Rake::Task['foo.resources'].execute(nil)
    end 

    it 'should add the *.resources file to the clean target' do
        CLEAN.should include('foo.resources')
    end
end

...and is implemented by:

class ResgenTask < Rake::TaskLib
    def initialize(target)
        CLEAN.include(target) 
        file target => target.gsub('.resources', '.resx') do |task|
            sh("resgen2 #{task.name} #{task.prerequisites}")
        end
    end
end

It's a pretty simple example, but it should be enough to get started.

Posted in ,  | Tags ,  | no comments | no trackbacks

e-tobi.net Downtime

Posted by Tobi Mon, 22 Sep 2008 08:10:00 GMT

In den letzten Jahren hab ich den kleinen Root-Server, der freundlicher Weise von DomainBox gesponsert wird, problemlos via SSH von Sarge auf Etch und kürzlich von Etch auf Lenny geupdated. Ich saß zwar immer etwas zähneknirschend davor und hoffte, dass "apt-get dist-upgrade" nicht die SSH-Verbindung killt und mich aussperrt, aber es lief immer alles gut.

Da ich auf diesem Server demnächst noch ein anderes kleines OpenSource-Projekt hosten möchte (altdotmono.org) und der Server oft bis ans Limit ausgelastet ist, wollte ich, zumindest für die Rails-Anwendungen, auf Lighthttpd umsteigen und Apache nur noch als Proxy einsetzen. Dumm nur, wenn versehentlich die Rails-Anwendung in Apache UND Lighttpd gleichzeitig läuft. Wie auch immer scheint das dazu geführt zu haben, dass ein Server-Prozess die ganze Kiste lahm gelegt hat und damit auch den SSH-Daemon. Da musste ich also mal den netten Support von DomainBox bemühen und nach einem Reset ist nun wieder alles online und hoffentlich auch etwas flotter.

Posted in  | Tags ,  | no comments | no trackbacks

 

Categories

Tags

.NET dkb mono Notebook squeeze squeezevdr StructureMap survey vdr visa