Archiv vom Januar 2007

Visual HTML Jokes

Vom 29. Januar 2007

Mal wieder etwas für Programmierer. Speziell für welche mit HTML-Kenntnissen.

Über ein paar Umwege bin ich auf den Eintrag More visual HTML jokes von Jesper Rønn-Jensen gestoßen. Angefangen hat das ganze wohl mit diesem Visual html joke. Hab ehrlich gesagt mal wieder seit langem richtig gelacht. :)

Inzwischen gibt es bei Flickr auch einen Photo-Pool dafür. Wem die ersten paar gefallen haben, der wird da mehr Spaß finden.

Abgelegt in: Programmieren | Kommentare ansehen und hinterlassen (2)

Ein neuer Musik-Player… ein Ära geht zuende

Vom 27. Januar 2007

Eigentlich bin ich ja seit eh und je WinAmp. Die erste Version, die ich von WinAmp benutzt hab, war 2.5e (Setup-Datei erstellt am 13.12.1999). Habs nur mal just for fun installiert und das Changelog von der Version geht bis zu v1.20 zurück.

Vor einiger Zeit hat AOL WinAmp gekauft. Seit dem wird WinAmp zwar nach wie vor weiterentwickelt, aber irgend wie hab ich das Gefühl, dass WinAmp seit dem irgend wie langsam aber sicher seine “Seele” verliert. Diese frühere detailverliebte Realisierung hat für mich irgend wie zum ausdruck gebracht, dass WinAmp von programmierern geschrieben wird, die auch nur ihren Spaß dabei haben wollen. Genau das fehlt mir inzwischen irgendwie.

Früher war WinAmp für mich neben dem Mediaplayer für alles vor allem ein Spielzeug. So viele Einstellungen, so viele Sachen, die man damit machen kann… irgend wie fand man immer was neues an WinAmp oder den Plugins, das interessant war. Vor allem die sehr umfassenden Einstellungen und die große Anzahl unterstützter Formate haben mich immer sehr fasziniert.

Es gab Tage, an denen ich stundenlang in den Einstellungsdialogen von WinAmp diverse sachen ausprobiert hab. Mit etwas Geschick war es sogar möglich, die DirectMusic Lieder von Final Fantasy VIII mit WinAmp abzuspielen. Man konnte wirklich jedes Detail umstellen und verbiegen. Das alles hat mir so sehr gefallen, dass ich eine Zeit lang sogar selbst Plugins für WinAmp geschrieben hab. Seit einiger Zeit bin ich sogar Eigentümer einer WinAmp 5 Lizenz.

Das alles geht zwar heute auch noch, aber es kommen immer mehr Funktionen zu WinAmp dazu. Media Library, MP3 Player, iPod, und vieles mehr. Allerdings hab ich mich speziell in ein Plugin “verliebt”: in den Nullsoft Module Decoder. Mit diesem Plugin konnte man sehr viele verschiedene Tracker abspielen. Vor allem die Musik von Deus Ex oder Unreal Tournament Classic ist seit eh und je fester bestandteil meiner Playlist.

Das Plugin wurde von Peter Pawlowski entwickelt, der später Nullsoft verlassen hat. Glücklicher weise hat jemand anderes das Plugin weiter gepflegt und erweitert. Jedoch ging das auch zuende und bei den neuen Funktionen von WinAmp scheint keiner mehr auf die “Altlasten” zu achten. Jedenfalls funktioniert das Module Decoder Plugin nun schon seit einigen Versionen nicht mehr richtig.

Für mich war genau das der Anlass, mich mal nach einem neuem Mediaplayer umzusehen. Wie üblich schaft Wikipedia abhilfe, denn dort gibt es eine sehr gute Vergleichstabelle einiger Mediaplayer. Nach Tagen des testens und ausprobierens bin ich auf foobar2000 gestoßen.

Jeder, der etwas mehr in Programmierhandbüchern und Tutorials rumliest, kennt das Wort “foobar”. Es wird oft für Beispiele hergenommen oder um schlechte Programmiertechniken zu demonstrieren. Daher hat der Player bei mir schon durch den Namen für ein kleines Grinsen gesorgt. Installiert, Angeschaut und der erste Eindruck war an für sich recht gut. Nicht viel Müll, einfach gehalten und viele Optionen zum rumspielen… allerdings nicht so viele, wie bei WinAmp. Zu dem kann foobar2000 normalerweise keine Tracker abspielen.

Der wirklich Durchbruch kam erst ein paar Tage später, als ich nach Plugins gesucht hab. Ein Decoder für Tracker (foo_dump) war schnell gefunden. Besonders schön war, das foobar2000 oder foo_dump gleich automatisch erkennen, wenn eine Tracker-Datei mehrere Subsongs enthält. Bei WinAmp war das eine gewaltige Aktion, die verschiedenen Subsongs rauszusuchen. Bei Deus Ex wurde das z.B. genutzt um in einer Musikdatei (meist für ein Level oder Bereich) Subsongs für verschiedene Stimmungen unterzubringen: Erkunden, Kampf, Tod, usw. So enthalten die 36 Musikdatein (54 MB) über 150 Lieder.

Wirklich cool wurde es dann durch die Plugins Columns UI und erst recht durch foo_uie_single_column_playlist. Damit kann man die Oberfläche nach herzenslust konfigurieren und durch das single column playlist plugin werden die Lieder in der Playlist automatisch nach Alben gruppiert. Das ist eine Funktion, die ich schon seit Ewigkeiten gesucht hab. Richtig abgefahren ist, dass man die Routinen zum Zeichnen der Einträge und Gruppenheader selbst skripten kann. Sowas weckt natürlich sofort den Spieltrieb einens Programmierers.

Alles in allem sieht es so aus, als ob WinAmp in absehbarer Zeit von mir nicht mehr verwendet wird. Meine Playlist ist dank foobar2000 und dem single playlist column plugin endlich schön übersichtlich und wenn mir etwas nicht gefällt, kann ich es einfach umskripten. Was will man mehr?

Ach ja, die Abspielqualität von foobar2000 ist zumindest bei mir höhrbar besser bzw. klarer. Muss nur noch das Rauschen von meinem Verstärker raus kriegen…

Ok, wieder mal zu viel geschrieben. Nur noch eine Frage zum Abschluss: Welchen Musikplayer verwendet ihr?

Abgelegt in: Sonstiges | Kommentare ansehen und hinterlassen (5)

YAML Ain’t Markup Language

Vom 24. Januar 2007

Allen Ruby on Rails infizierten wird der Begriff YAML etwas sagen. Für alle, die es nicht wissen: YAML ist ein Format, um möglichst einfach Daten in eine Datei zu schreiben, die leicht von Mensch und auch Maschine gelesen werden kann.

Ein kleines Beispiel macht wie immer hoffentlich alles klarer:

development:
  adapter: mysql
  database: project_development
  username: user
  password:
  host: localhost

Das ist schon ein kleiner Block YAML. Genauer genommen die Konfiguration der Entwicklungsdatenbank aus einer Rails-Anwendung. Jeder, der schon mal mit XML gearbeitet hat, wird sich zumindest ein wenig über die etwas unübersichtliche Suppe von Elementen geärgert haben. Genau das ist einer der Vorteile von YAML, man kann übersichtliche Strukturen aufbauen, ohne viel “Markup Language” drum rum. Wichtig sind die Daten, und dass man sie einfach lesen kann.

Nun, ich hatte jetzt schon einige male etwas mehr mit YAML machen wollen. Z.b. eine YAML-Datei mit Testdaten, in der ein Block mit Text vorkommt. Nicht in einer Zeile, sondern über mehrere Zeilen verteilt. Eigentlich ganz einfach… aber wenn man nicht weiß wie es geht, kommt man bei YAML nicht drauf.

Leider hat mir bis jetzt immer eine übersichtliche und auch für Menschen verständliche Referenz gefehlt, in der man bei Problemen einfach mal reinschauen konnte. Naja, hätte ehr Google bemühen sollen…

Auf jeden Fall gibt es ein recht guten Einsteig in YAML: YAML in Five Minutes. Eine kleine sehr beeindruckende Einführung in in die Grundlagen von YAML. Noch dazu hab ich dadurch das Yaml Cookbook gefunden, das ich mir in den nächsten Tagen mal zu gemüht führen werde.

Auf jeden Fall sind meine Probleme mit YAML jetzt erst mal gelöst. Zum einen kann man recht einfach Textblöcke über Folded Blocks schreiben und zum anderen kann man in Single-quoted Strings alle möglichen Zeichen verwenden (hatte Probleme mit dem %-Zeichen).

folded block: >
  can't you see
  the beauty of yaml?
  hmm
all my favorite symbols: '#:!/%.)'

Hätte natürlich auch auf Wikipedia schauen können, denn da steht auch alles drinne. Aber gut, irren ist Menschlich. Für alle, die auch mit YAML arbeiten bzw. arbeiten wollen: ein Blick in YAML in Five Minutes und das Yaml Cookbook lohnt sich wirklich.

Abgelegt in: Programmieren | Kommentare ansehen und hinterlassen

Projekte

Simple Localization
Ein einfaches, aber macht- volles Übersetzungsplugin für Ruby on Rails.
Table Navigation
Ein jQuery Plugin um per Tastatur schnell durch Tabellen zu navigieren.

Über was ich schreibe…

Newsfeeds

Kommentare