Archive for April, 2006

1 : 887.503.681

Sunday, April 30th, 2006

Gallery 2 legt beim Erstellen von Zip-Archiven temporäre Dateien an, die nach dem Präfix "zip_" einen sechsstelligen, eindeutigen Alphanumerischen Namen erhalten. Und welchen Dateinamen finde ich gerade beim Durchsehen der rsync-Logdatei des Backups?

/var/www/fotos_hendi_name/g2data/tmp/zip_icEaGe.zip

Kaffeezeit!

Friday, April 28th, 2006

Ross Burton hat Recht, Brazil Sitio Boa Sorte von Has Bean schmeckt wirklich super! Gerade eben ist mein am Dienstag bestelltes halbes Pfund angekommen, und im Vergleich zu unserem günstigen Tchibo-Kaffee aus Luxemburg ist wirklich ein ordentlicher Unterschied schmeckbar. Schwer zu beschreiben, aber ich würde den Geschmack als markanter bezeichnen, mit einem volumigen, herben Nachgeschmack, ganz leicht rauchig. 

Ich werde wohl in nächster Zeit noch einige andere Kaffesorten durchprobieren. Mein bisheriger Favorit ist Gourmet von Douwe Egberts, den ich bisher aber leider nur als Kaffee-Extrakt für sündhaft teure Kaffemaschinen gesehen habe. Schmecken tut er dafür jedoch super, mit einem leichten Aroma von Nüssen. Wenn ich jemals solch einen wohlschmeckenden Kaffee irgendwo in reiner Bohnenform finde, dann werde ich garantiert süchtig!

lowfat – document viewing with a twist

Thursday, April 27th, 2006

Mirco Müller arbeitet an lowfat, einer in C++ mit Gtk+ und OpenGL entwickelten Dateiverwaltung der nächsten Generation:

Its goal is to bring that life-like and natural display to the desktop, alongside with a flat hierarchy of our files, when combined with todays search-engines. The aim of lowfat is to be an engine to view and handle your documents with life-alike behaviour allowing for example to seamless zoom, pan and rotate them.

Quellcode zum Ausprobieren gibt’s leider noch keinen, dafür aber weitere Screenshots (1, 3, 4) und eine Videodemonstration (Ogg Theora, Flash). Das Video sieht wirklich sehr vielversprechend aus; nur schade, dass er einer schnell fortschreitenden Weiterentwicklung einen Spendenaufruf voran gestellt hat.

Pack die Basehose ein…

Thursday, April 13th, 2006

…nimm Phils kleines Schwesterlein,
und dann nischt wie raus nach Mallorca!

Der Koffer ist gepackt, und heute Nacht geht’s dann um kurz nach 3 mit Oshin zum Flughafen und ab in den Süden. Tschüss, bis in einer Woche! emoticon 

GNOME 2.14 und Xgl/Compiz

Sunday, April 9th, 2006

Kaum ist der Zivildienst vorbei wird die erneut verdiente Freizeit genutzt und endlich auf Ubuntu Dapper mit GNOME 2.14 umgestellt, während man sich zwei Nächte hintereinander bis 5:00 respektive 4:00 Uhr um die Ohren schlägt. Von den versprochenen Performance-Steigerungen ist wirklich was zu spüren, gEdit startet nun beispielsweise so gut wie sofort anstatt sich eine Pause von 10 Sekunden zu können. Auch Nautilus ist bisher kein einziges mal abgeschmiert beim Zugriff auf FTP- und SSH-Server.

Bei der Gelegenheit habe ich auch gleich mal mit Xgl und Compiz herumgespielt und wurde positiv überrascht: selbst auf meiner Mobility Radeon 9600 lief es flüssig, die Exposé-ähnliche Funktion beim Druck auf F12 ist genial. Leider kommt Xgl im Gegensatz zu Xorg nicht mit meinen beiden Monitoren (:0.0 und :0.1) klar, sodass ich lediglich den ersten (:0.0) verwenden kann. Schade. Sobald AIGLX mit Radeon > 9500 funktioniert werde ich den mal ausprobieren, da er ein Xorg-Aufsatz ist sollte dieses Problem dann nicht auftreten.

str_replace für JavaScript

Saturday, April 8th, 2006

Als Web-Entwickler ist man es ja gewohnt, beim Programmieren mit JavaScript regelmäßig über Unzulänglichkeiten in den Implementierungen der einzelnen Browser zu stolpern. Da ich mich in der letzten Zeit jedoch näher mit JavaScript beschäftigen musste, stellte ich weitere Ungereimtheiten fest, je tiefer ich mich in die Materie einarbeitete und meine Erfahrungen mit dem “JavaScript way of programming” machte.

In diesem Beitrag beschreibe ich die für mich drei größten Überraschungen. Besonders interessant dürfte für die meisten Punkt 3 sein, indem ich meine effiziente Lösung für eine str_replace wie in php für JavaScript vorstelle.

Doch der Reihe nach — aber ihr dürft natürlich auch direkt weiter scrollen ;-)

1. Semikolons am Befehlsende sind optional. Und alles was optional ist, macht in der Regel Probleme. In C, php, Java usw. fliegt einem der Compiler bei einem vergessenem Semikolon um die Ohren; man merkt, dass etwas nicht stimmt, und kann den Fehler schnell beheben. Nicht so in JavaScript, denn hier ist das Semikolon am Befehlsende optional, man kann auch einfach eine neue Zeile einfügen. Dumm nur, dass dadurch ungewünschte Effekte auftreten können. Es gibt Situationen – und das leider öfter, als man denkt! – da vergisst man ein Semikolon, und das was JavaScript dann dort reininterpretiert unterscheidet sich von dem, was man sich vorgestellt hatte. Ups! Abhilfe schaffen hier Tools wie jsLint.

2. Variablen in Funktionen und Objekten sind global. Jedenfalls solange man nicht var vor sie schreibt. Das kann übel sein, wenn man beispielsweise in zwei Funktionen die selben Variablennamen – bspw. i für eine Zählvariable – verwendet, und diese abwechselnd aufruft.

3. str_replace für JavaScript. String-Objekte in JavaScript besitzen zwar eine replace-Methode, die jedoch mit regulären Ausdrücken arbeitet und das Objekt modifiziert. Da ich jedoch nur eine simple Suchen/Ersetzen-Funktion benötige und die Einfachheit der str_replace(search, replace, subject)-Funktion aus php gewöhnt bin, wollte ich mir so etwas für JavaScript basteln, nachdem ich dies auch schon für foreach und in_array getan hatte. Zuerst wollte ich einen Wrapper für String.replace bauen, dann kam mir jedoch eine viel simplere Idee:

function str_replace(search, replace, subject) {
return subject.split(search).join(replace);
}

Der String subject wird an allen Vorkommen von search zerteilt, es entsteht ein Array mit den resultierenden Teil-Strings. Dieses Array wird dann wieder zu einem String verkettet, und zwar mit replace an allen Verknüpfungspunkten.

Jamendo – freie Musik aus Frankreich

Sunday, April 2nd, 2006

Jamendo ist eine Online-Musikplattform, die freie Musik unter Creative Commons-Lizenzen zum kostenlosen Herunterladen anbietet. Auf der übersichtlichen Seite kann man direkt per MP3- oder OGG-Stream reinhören und bei Gefallen das ganze Album per eDonkey oder BitTorrent laden. Vielleicht hatte ich auch einfach Glück, aber bereits das erste mit "rock" getaggte Album, das ich mir angehört habe, gefiel mir. "Breathin’ Again" von "Antarhes" geht gleich beim ersten Hören gut ab, ohne zu aufdringlich zu wirken und erinnert etwas an Evanesence. Wer selber mal reinhören will findet das Album hier, und auch für andere Genres lohnt es sich, einen Blick auf Jamendo zu werfen. Gute Musik ohne mehrfach zu zahlende GEMA-Gebüren, Kopierschutz und DRM – herrlich!

Kanon in D auf E

Saturday, April 1st, 2006

Gefällt mir: Video (Flash), Audio (WMA)