Blog


Social-Networking mit Last.fm

Ich wurde letztens Angesprochen, was denn dieses Last.fm genau sei und wie man diesen HTML-Klotz, den ich hier unten rechts im Blog habe auf seine Seite einbindet.

Nun Last.fm ist ein soziales Netz mit dem Schwerpunkt auf Musik.
Man verbindet sich quasi durch die Künstler, Musikrichtung etc. die man hört. So lernt man ständig neue Bands und Leute kennen.
Um sich zu vernetzen muss man sich natürlich erstmal bei Last.fm registrieren.

Die meisten Last.fm User, präsentieren die Musik die sie hören in ihrem Profil mittels eines Scrobbler-Plugins für Ihren Media-Player.
Ich tue das zum Beispiel mit Winamp und dem audioscrobbler-Plugin. Ebenso kann man mit iTunes, Amarok, Songbird und vielen anderen Playern scrobblen.
Im Build-Bereich von Last.fm gibt es mannigfaltige Tools zum scrobblen oder um die letzten Tracks von Freunden, Bekannten auf dem Desktop anzuzeigen.

Hat man nun das passende Plugin für den eigenen Player gefunden, kann man fröhlich drauf los scrobblen. Will man nun seine zuletzt abgespielten Songs auf einem Blog publizieren, so kann man sich entweder ein Widget erstellen und den Code an der gewünschten Stelle im Blog (oder sonstwo) einfügen.
Alternativ kann man natürlich schauen, ob die Blog-Software, die man benutzt ein entsprechendes Plugin bereitstellt.

Wer ein wenig mit der großen Menge an Künstlerdaten, Albuminformationen usw. eine eigene musikaffine Anwendung programmieren möchte, dem sei die recht gut dokumentierte API ans Herz gelegt.

weiterlesen ...



Rayman Raving Rabbids TV Party – Groove On – Toxic

Ich habe vor einiger Zeit bereits Rayman Raving Rabbids TV Party empfohlen. Bei mir zu Hause wird relativ oft das Mini-Game „Groove On“ gespielt.
Neben Rock-Hits wie „Another one bites the dust“ oder „Born to be wild“ haben natürlich auch Pop-Songs wie „Toxic“ von Britney Spears ihren Platz in dem Spiel gefunden.

Ich bin zwar ein sehr Musik affiner Mensch, mit dem Taktgefühl hapert es aber trotzdem hier und da.
Besonders stolz war ich daher auf die Leistung, die ich bei Toxic erreicht habe.

Wobei es mir hier weniger um die erreichten Punkte geht.
Ich fand es einfach nur grandios, dass ich 133 mal in Folge den Takt exakt getroffen habe.

Wer mir nacheifern möchte, aber RRR – TV Party noch nicht besitzt, dem sei der unten stehende Link ans Herz gelegt.

weiterlesen ...



Mehr Performance – Teil 3

Vielleicht haben es einige meiner Leser gemerkt.
Nach anfänglichen Problemen mit der Zeichenkodierung und der Performance habe mit Hilfe von Manuel eine Möglichkeit gefunden meinen Blog in Sachen Performance ein Stück nach Vorne zu bringen.

Manuel hat ein Skript geschrieben, dass das Caching-Verhalten von S9Y übernimmt und konfigurierbar macht.
Das Skript checkt, ob es die Seite bereits in einem Cache-Ordner gibt.
Wenn ja, dann liefert es eine statische HTML-Seite aus und jagt die Seite nicht mehr durch sämtliche Plugins.
Darüber hinaus ist das Skript in der Lage zu checken, ob es sich um das Backend oder einen Trackback handelt.
Das steigert nach einigen Tests um einiges die Performance.
Gibt es keine Cache-Files, so hat der erste Besucher die „Arschkarte“, da er derjenige ist, der die Cache-Files generiert, danach rennt das Blog allerdings wie Bolle.
Zeiten von unter zwei Sekunden sind mit entsprechend schneller Internet-Verbindung kein Problem mehr.

Vielen Dank an dieser Stelle noch einmal an Manuel, der mir mit seinem Know-How einen großen Dienst erwiesen hat.

Einziges Manko ist, dass man mit diesem Skript nach einem neuen Blog-Eintrag den Cache-Ordner löschen muss.
Finde ich aber nicht so schlimm. Nach einem neuen Eintrag kann ich auch eben den Cache-Ordner löschen…

weiterlesen ...



Mehr Performance – Teil 2 [Update]

Nachdem ich hier bereits über die Performance meines Blogs geschrieben habe, bekam ich diverse Rückmeldungen, die ich allerdings selber fühlen musste 😉
Die angesprochenen 4 Sekunden kamen leider nur im Idealfall vor. Davon hatte ich während des Schreibens ein wenig blenden lassen.

Am Wochenende bin ich erfolgreich vor dem gemeinen Karneval geflohen und habe nochmal an einigen Schrauben gedreht.
Um das Ergebnis bereits vorweg zu nehmen: Mit mäßigem Erfolg.
Der Flaschenhals ist und bleibt mein Hoster. Ich habe hier nur ein etwas besseres Angebot gewählt, was meinen Geldbeutel nicht zu sehr belastet.
Also teile ich mir mit n Kunden ein und dieselbe Hardware.
Hätte ich einen root-Server, dann würde die Sache schon ein wenig anders aussehen.

Naja. Was habe ich getan, um doch noch ein wenig mehr aus dem Server zu kitzeln?

weiterlesen ...



Mehr Performance

Als ich das erste jQuery-Tutorial veröffentlichte wollte ich meinen Lesern natürlich auch die Möglichkeit bieten, den Quelltext mit Syntax-Highlighting zur Verfügung zu stellen.
Ich wählte damals das dp.SyntaxHighlighter-Plugin. Das sieht zwar nett aus und bietet allerhand Vorteile. Man kann sich den Quelltext als Plain-Text ansehen, ihn über das Plugin in die Zwischenablage kopieren, Zeilennummern an-/ausschalten.
Soweit, sogut. Allerdings benutzt dieses Plugin viele JavaScripts. Diese sind auch nicht komprimiert. Das heißt, jede Seite, auf der das Plugin läuft, zieht sich die JavaScripts, die für die entsprechende Sprache(n) gebraucht werden.
Ein weiteres Manko für mich war, das es auch die JavaScripts lädt, die man beispielsweise per src-Attribut einbindet.
Das alles (in Kombination mit weiteren JavaScripts für Seitenleisten-Plugins) zieht natürlich an der Performance.
So waren 8-12 Sekunden notwendig, bis mein Blog vollständig geladen war. Ok, das liegt sicherlich auch an der Performance von meinem Hoster.

Deshalb habe ich nun ein anderes Plugin im Einsatz.
Ich benutze nun das GeSHi-Plugin, welches sich auch im Ãœbrigen für jede PHP-Anwendung verwenden lässt.

Das Plugin bedeutete für meinen Blog zwar mehr gefrickel, wirkt sich aber durchaus positiv auf die Performance aus.
Mittlerweile liegt die Ladezeit bei unter 4 Sekunden.

Mal sehen, wenn ich Zeit und Muße finde werde ich da mal ein wenig CSS für stricken.

weiterlesen ...



Firefox Plugin: Ubiquity

In den Mozilla Labs gibt es seit einiger Zeit das Ubiquity-Plugin.
Das Plugin versucht einen neuen Ansatz der Benutzerführung.
So bietet es über einen frei wählbaren Shortcut seine Dienste an.
Nach der Installation kann man bequem bei Google, Yahoo, Wikipedia, IMDB, Amazon suchen. Teilweise werden einem die Ergebnisse direkt im Plugin-Fenster angezeigt.

Weitere Funktionen sind u.a. das Interagieren mit markierten Textstellen. Diese lassen sich schnell per GoogleMail verschicken. Einzelne Wörter können markiert werden und per „define $wort“ spuckt Ubiquity die entsprechende Definition aus.
Wetter und Google Maps gehören ebenso zum Standard-Repertoir des Plugins.

Fazit:
Auf jeden Fall einen Blick wert. Erste Schritte werden im MozillaWiki erläutert.

weiterlesen ...



Gravatar Plugin

Ich habe es gerade eben schon per Twitter angekündigt.
Das Gravatar-Plugin, welches ich am Wochenende installiert habe tut endlich.

Dazu war es notwendig, das comments.tpl auszutauschen.
Alles weitere dazu erklärt Don Chambers in einem entsprechenden Eintrag in seinem Blog.
Dort gibt es auch das veränderte Template inkl. CSS-Datei zum Download.
Hat den schönen Nebeneffekt, dass das Kommentar-Formular nochmals aufgehübscht wird.
Wer also nun im Besitz eines Gravatars ist, oder ein Avatar bei einem ähnlichen Dienst besitzt kann es nun auch hier nutzen.

Ich habe Gravatars zum ersten Mal bei Caschy und auf Nettuts.com gesehen und muss sagen:

Ich find’s schick…

weiterlesen ...



Tapetenwechsel

Die regelmäßigen Leser unter Euche werden es sofort erkannt haben.
Der „grüne Tunnel“ musste einem MAC OS ähnlichen Template weichen…
Ich persönlich habe mich ein wenig satt gesehen an dem alten Layout.

Dennoch hege ich den Wunsch nach einem komplett eigenen Layout.
Das wird auch früher oder später noch kommen. Sofern mir mal ein wenig Zeit bleibt ein solches zu konzipieren und umzusetzen.
Bis dahin bleibt wohl erstmal dieses Design das Mittel der Wahl.
Ich hoffe es gefällt euch 😉

weiterlesen ...



Twittern – Eine Seuche

Tja, in letzter Zeit hört man viel über Twitter.
Twitter ist ein Microblogging-Dienst, der ähnlich wie SMS funktioniert.
Man hat gerade einmal 140 Zeichen um sich mitzuteilen.

Derzeit bin ich dabei, den richtigen Dienst für mich ausfindig zu machen.
Twitter.com ist ganz nett Identi.ca ist aber auch nicht verkehrt.
Vor allem, weil man bei Identi.ca bequem über Jabber (z.B. Gajim) die Twitter-Nachrichten posten kann.

Danke an el*loco der mir Identi.ca empfohlen hat.

Populärstes Twitter Opfer: AIRBUS-UNGLÃœCK AUF TWITTER

weiterlesen ...



jQuery Tutorial – Teil 1 – Tabelle dynamisch erweitern

Ich bin vor kurzem auf folgendes Problem gestossen:
Es existiert eine ganz normale HTML-Tabelle mit Daten.
Dort soll nun per jQuery das Ergebnis aus einem HTML-Fragment sozusagen injiziert werden.

Wir haben also folgende Beispiel-Tabelle:

<table width="50%" class="jquery_table">
<tr class="expand_region">
<td class="plus_minus">+</td>
<td> 01</td>
        <td> 02</td>
        <td> 03</td>
        <td> 04</td>
        <td> 05</td>                                        
    </tr>
    <tr>
        <td> 10</td>
        <td> 11</td>
        <td> 12</td>
        <td> 13</td>
        <td> 14</td>
        <td> 15</td>                                        
    </tr>    
  </table>  

Um diese mit dem Ergebnis aus dem Fragment zu befüllen (und zwar zwischen den beiden bestehenden TRs) kommt folgender kurzer Code zum Einsatz.
Als erstes das jQuery-Framework einbinden:
[geshi lang=javascript][/geshi]
Hier ist der eigentliche Code:

$(document).ready(function() {
    $(".plus_minus").click(function() {
    if($(".plus_minus").text() == "+"){
        $(".plus_minus").text("-");
        $.get("append.html", "html", function(data){ 
        $(".expand_region").after(data);
        });    
    } else {
        $(".plus_minus").text("+");
        $(".dynamic").remove();
    }
    });
});

Was genau passiert hier?
Zunächst einmal wird gewartet, bis das komplette HTML-Document gerendert wurde.
Anschliessend wird dem Element mit der Klasse „plus_minus“ ein click-Ereignis hinzugefügt.
Wenn der Text dieses Elements „+“ lautet, dann wird der Text zunächst in ein „-“ umgewandelt.
Per GET-Methode wird das HTML aus der Datei „append.html“ geholt und die Callback-Methode mit den Daten aufgerufen.
Dem Element mit der Klasse „expand_region“ (hier die erste TR) wird mit der Methode after() der Inhalt von „append.html“ an die TR angehängt.

Ansonsten, wenn also die Daten bereits anhängen und aus dem „+“ ein „-“ wurde, dann wird das Element mit der Klasse „dynamic“ (hier: die TR, die in append.html steht) mit der Methode remove() entfernt.
Hinweis: Wenn man das mit mehreren Fragmenten implementiert, so würden mit diesem Code alle injizierten Elemente entfernt.

Wenn man also nur ein bestimmtes injiziertes Fragment entfernen möchte, so müsste man auf IDs setzen oder entsprechende Klassen definieren. Je nach Zweck und belieben.

Um noch ein besseres gefühl für das hier beschriebene zu geben, noch 2 Links:
Online Demo
Beispiel im ZIP-Archiv

weiterlesen ...