Archiv für die Kategorie ‘Website’

1
Juni
Abgeheftet in: Website | Tags: , , | 17:06 Uhr | 3

Flattr — Ein Experiment

Angeregt durch Ad, Jog und anderen teste ich nun auch den Micropaymentdienst Flattr.

Eigentlich bin ich der ganze Sache sehr skeptisch eingestellt. Einmal verdient PayPal daran, dass ich auf Flattr einzahle. Dann verdient auch Flattr einen kleinen Obolus. Und dann wieder PayPal — wenn ich doch ein Guthaben einnehmen sollte — wenn ich wieder alles zurück überweise. Soviel zu dem kleinen Geldkreislauf. Weiter kann ich mir nicht vorstellen, dass Nicht-Blogger den Dienst nutzen werden, um einen Beitrag monetär zu würdigen, weil sich im Netz wohl eher eine Kostenlos-Mentalität entwickelt haben.

Aber auf der anderen Seite, kann ich mich auch einfach irren. Auf PayPal Buttons auf Webseiten wird nie einer klicken und spenden. Warum auch? Von einem gespendeten €1, würden gut 50% an PayPal gehen. Und welcher Beitrag ist schon €1 wert? Und wie kann man für sich ermitteln, wieviel ein Beitrag wert ist? Und ich glaube, genau darum könnte Flattr doch etwas werden. Wir werden sehen.

Und wer jetzt imemer noch fragt, was zum Henker ist Flattr, kann hier im Video sich die Sache mal in Ruhe ansehen. Ach ja, und wer noch einen Flattr-Invite benötigt, bitte in den Kommentaren melden. Ich habe noch drei übrig!

Flattr
YouTube — Flattr

11
Mai
Abgeheftet in: Website | Tags: , , | 23:05 Uhr | 0

TopUp Plus

Vor einer digitalen halben Ewigkeit habe ich das WordPress Plugin Lightview Plus erstellt. Lightview Plus macht nichts anderes als jeder andere Lightbox Clone. Es zeigt Bilder in einem Overlay an, nur in einer etwas netteren Art und Weise, wie ich finde. Das Plus am Plugin ist, das man die Links zu den Bildern nicht manuell ändern muss. Das übernimmt das Plugin. Weiter ist es möglich, Videos von YouTube, Vimeo und Blip.TV auch in dem Overlay abzuspielen.

Ein Nachteil für einige ist es aber, dass Lightview zwingend das Protoype Javascript Framework voraussetzt. Prototype will aber in vielen Fällen nicht so richtig mit jQuery, was aber auch viele Plugins nutzen. Gut, es gibt einen Kompatibilitätsmodus von jQuery. Aber die wenigstens Plugins machen davon gebrauch. Und da immer mehr User sich wegen der genannten Inkompatibilität beschwerten, habe ich Lightview Plus soweit umgebaut, dass es nun als Overlay TopUp nutzt. Und der Name? Klar — ich bin unkreativ — TopUp Plus.

TopUp hat den gleichen Funktionsumfang wie Lightview, sieht genauso gut aus, nutzt aber jQuery.

6
Februar
Abgeheftet in: Website | Tags: , , | 21:02 Uhr | 2

Blog Benchmark

Vor etwas über einer Woche kam mir der Gedanke, meine Webseite etwas zu entschlacken, da mir die Ladezeiten sehr lang vorkamen. Und so wie es aussieht, war ich mit dem Gedanken im Raum Hamburg nicht allein. Durch einen glücklichen Zufall hat Fabian von nodomain.cc ein kleines Tutorial über den Reverse Proxy varnishd in sein Blog geschrieben, dass ich erst einmal eins-zu-eins ausprobiert habe. Eine weitere Möglichkeit seinen Blog zu beschleunigen ist der W3 Total Cache, welches als Plugin für WordPress daher kommt. Aber von vorn.

Zuerst habe ich das Blog entschlackt. Plugins, die ich nicht benötige, flogen raus. Damit halbierte sich die Ladezeit der Seite von etwa 8 Sekunden auf knapp unter 4 Sekunden. Aber im Zeitalter von DSL immer noch eine halbe Ewigkeit.

Danach installierte ich varnishd. Achtung: varnishd kann man nur auf einem eigenen Server nutzen. Die Ladezeit der Seite verkürzte sich auf rasend schnelle 1,5 Sekunden. Weiter wollte ich den Durchsatz des Webservers messen. Mit dem varnishd Proxy schaffte der Webserver 322 Anfragen pro Sekunde. Ohne varnishd packt der Server gerade einmal 1,8 Anfragen pro Sekunde. Letzten Wert finde ich dramatisch schlecht, aber nachdem ich einige andere bekannte Blogs gebenchmarkt habe, muss ich sagen, dass diese auch nicht mehr Durchsatz haben. Eher sogar weniger. Rühmliche Ausnahme ist der Ad, der auf gute 7 Anfragen pro Sekunde kommt.

Das W3 Total Cache Plugin beschert ähnliche Werte, wie der varnishd Reverse-Proxy, aber die Installation ist sehr viel einfacher. Weiter benötigt man auch keinen eigenen Server mit root-Zugang. Mit dem aktivierten Plugin werden 307 Anfragen pro Sekunde durch die Leitung geschaufelt. Der W3 Total Cache stellt also eine sehr gute Alternative zum varnishd dar.

Die Nachteile vom varnishd, sowie vom W3 Total Cache sollte man nicht verschweigen. Beide cachen. Dadurch kommt auch der enorme Geschwindigkeitszuwachs zustande. Cachen heisst soviel, dass die Seite einmal generiert wird und dann für eine vorgegebene Zeit immer wieder aus dem Zwischenspeicher abgerufen wird.

Damit varnishd sein volles Potenzial ausspielen kann, werden auf dem Weg zum Browser alle Cookies ausgefiltert. Bei mir ist es aber so, dass sich einige weniger User einloggen und dann in meiner Gallery ein paar Fotos mehr sehen, die nicht für alle Augen bestimmt sind. Das fällt mir dem varnishd erst einmal weg.

Das ganze cachen hat noch einen Nachteil. Dafür eine eine kurze Erklärung. Wenn bei mir ein User über eine Suchmachine kommt, bekommt er eine Meldung eingeblendet, die dem User erklärt, woher er kommt und wonach er gesucht hat (kann ja sein, dass er das schon wieder vergessen hat). Also, wenn der User von einer Suchmachine kommt, in dem Moment die Seiten durch die Cache-Software neu generiert wird, dann bekommt der User diese Meldung zu sehen. Aber auch nur dann. Weiter bekommen dann aber auch alle anderen User genau die gleiche Meldung zu sehen, auch wenn diese nicht von der Suchmachine kommen. Und das solange, bis die Gültigkeitsdauer des caches abgelaufen ist.

Oder kurz ausgedrückt: Die Seite ist nicht mehr so dynamisch, wie ich es mir vorstelle!

Ich habe erst einmal den W3 Total Cache nur in einer sehr abgespeckten Konfiguration laufen und lebe gerade mit nur 1,8 Request pro Sekunde. Weiter muss ich sehen, ob ich meine Seite nicht so umbaue, dass ich mit den Nachteilen des Cachings leben kann. Weiter werde ich mir, wenn wieder etwas mehr Zeit da ist, die Möglichkeiten von varnishd genauer ansehen, ob darüber nicht mehr zu machen ist.

18
August
Abgeheftet in: Website | Tags: , , | 11:08 Uhr | 3

Auch Mobil eine schlanke Figur

mobile-puzich.comIch habe meine Webseite mal etwas erweitert. Wer diese nun von mit einem Handybrowser — wie z. B. im iPhone — aufruft, bekommt eine verschlankte Version. Weniger Grafiken, keine Javascript-Auswüchse und alles auf den kleinen Bildschirm angepasst.

Wer Lust hat, testet diese ausführlich und berichtet mir von evtl. aufgetretenen Fehlern. Das gröbste funktioniert aber.

Viel Spass!

11
März
Abgeheftet in: Website | Tags: , | 13:03 Uhr | 5

Suchmaschinenoptimierung von DiWe Media

Ich wundere mich eigentlich selten über etwas, aber ab und zu kommt es sogar bei mir vor.  So geschehen auch mit den in letzter Zeit häufigen Kommentaren, die hier aufschlagen. Viele der Kommentare, seit ungefähr Januar, hatten folgendes gemeinsam:

  1. Die Kommentare bezogen sich nur im weitesten Sinne zu dem Beitrag (eigentlich waren sie kompletter Schwachsinn)
  2. Der Kommentator verlinkte immer zu einer kommerziell aussehenden Seite

Mir wurde das langsam zu viel und so sah ich mir die Webseiten mal etwas genauer an. Hinter all dem steckt die DiWe Media GmbH aus Bad Neuenahr. Diese hat sich — laut eigener Beschreibung — auf Suchmachinenoptimierung spezialisiert. Dies sieht in der Realität so aus, dass sinnlose Kommentare in Weblogs wie meinem abgelassen werden, um den Pagerank bei den Suchmaschinen wie Google & Co nach oben zu pushen. So etwas nennt man Spam und ist einfach eine Sauerei.

So sehen das auch David, Ramón, Christian, Daniel, Mike, Dennis, Marcel genauso.

Ich habe alle Kommentare die auf das oben genannte Schema passten gelöscht oder zumindest den enthaltenen Link  gelöscht. Die ganze Arbeit der fleißigen Blödsinnkommenarschreiber ist nun im Nirvana. Ich hoffe die DiWe Media GmbH unterlässt das schreiben der Kommentare hier und sollte sich im klaren sein, dass man so nur seinem Ruf schaden kann und auf lange Sicht keinen Erfolg erzielt.

9
Februar
Abgeheftet in: Website | Tags: , | 21:02 Uhr | 0

Smarte Archiv Seite

Als ich im Januar 2008 von dem Blog-System Sunlog auf WordPress umstieg, gefiel mir die Archive-Seite, die WordPress mitlieferte, überhaupt nicht. Mit dem Plugin Smart Archive von Justin Blaton kam ich aber ungefähr zu dem zurück, was ich vorher hatte.

Was mir aber nie wirklich passte war, dass bei jedem Aufruf der Archiv-Seite weit über 600 Datenbankabfragen gemacht wurden. 50 Datenbankabfragen (auch Queries genannt) durch die sehr ineffektive Programmierung des Plugin. Alle weiteren kommen durch einen zwingenden Aufruf der WordPress-Funktion get_permalink().

Mir fiel keine andere Lösung ein, als das alles zu cachen. Darum habe ich auch mir auch etwas zusammenprogammiert, was jeder gerne auch nutzen kann, dem es gefällt. Mir ist erst im nachhinein aufgefallen, dass die neue Version von Smart Archive auch Caching behinhaltet. Ich finde meine Version aber smarter ;-) . Smart Archive cached in einer eigenen Textdatei. Bei mir wird nach jedem erstellen eines neuen Artikels das Archiv neu erstellt und als Post direkt in WordPress gespeichert.

Als erstes muss folgender Code in die Datei function.php in eurem Template kopiert werden.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
// Archive Seite
function my_archive()
{
    // set locale
    setlocale(LC_ALL,‚de_DE.UTF-8′);
   
    global $wpdb;
    $now = gmdate(„Y-m-d H:i:s“,(time()+((get_settings(‚gmt_offset‘))*3600)));  // get the current GMT date

    $allPosts = $wpdb->get_results(
        SELECT ID AS id, post_title AS title, post_name AS name, UNIX_TIMESTAMP(post_date) AS date
        FROM $wpdb->posts
        WHERE post_type = ‚post‘
        AND post_status = ‚publish‘  
        ORDER BY post_date DESC“
);
   
    $lastdate = ;
   
    foreach ($allPosts as $post) {
   
        if($lastdate != date(‚Ym‘, $post->date) ) {
            if(!empty($lastdate)) $archive .= ;
            $archive .= ‚<h2><a href=„‚ . get_month_link(date(‚Y‘, $post->date), date(‚m‘, $post->date)) . ‘“>‘ . strftime(‘%B %Y‘, $post->date) . ‚</a></h2>‘;
            $archive .= ‚<ul style=„list-style: none;“>‘;
           
            $lastdate = date(‚Ym‘, $post->date);
        }
       
        $archive .= ‚<li><a href=„‚ . get_permalink($post->id) . ‘“>‘ . $post->title . ‚</a></li>‘;
       
    }
    $archive .= ‚</ul>‘;
   
    $my_post = array();
    $my_post[‚ID‘] = 171;
    $my_post[‚post_content‘] = $archive;

    // Update the post into the database
    wp_update_post( $my_post );

}
add_action(‚publish_post‘, ‚my_archive‘); // generate archives after a new post

In Zeile 41 muss die Zeile muss die ID (hier 171) durch die ID des Archiv-Posts ersetzt werden. Am einfachsten ist dies herauszufinden, wenn man im Admin-Menu die Archiv Seite editiert. In der Adress-Zeile findest man die ID hinter post= .

Nun muss das Archiv Template in der Datei archives.php angepasst werden. Hierfür wird alles um wp_get_archives() und wp_list_categories() durch folgendes ersetzt:

1
2
3
    <?php if (have_posts()) : while (have_posts()) : the_post(); ?>
        <?php the_content(‘<p class=„serif“>Weiterlesen &raquo;‘); ?>
    <?php endwhile; endif; ?>

Damit das Archiv angelegt wird, muss einmal ein Beitrag geschrieben werden.

18
Januar
Abgeheftet in: Website | Tags: , , | 21:01 Uhr | 3

Ich gehe mit der Sonne

Ich bastel ja regelmäßig unregelmäßig an dieser Webseite. Meistens fallen die Änderungen gar nicht direkt auf, obwohl sich einiges getan hat.

Seit heute spiegelt sich der Sonnenauf– und Untergang oben in der Navigationsleitste nieder. Es werden vier verschiedene Bilder — je nach Tageszeit — angezeigt. Dreizig Minuten um den Zeitpunkt des Sonnenauf– und Untergangs wird dieser wiedergespiegelt, sowie wenn Tag oder Nacht ist. Natürlich wird nicht einfach plump zu einer bestimmten Uhrzeit ein Bild angezeigt, sondern es wird vom Standort Hamburg der aktuelle Sonnenstand berechnet, so dass die Bilder im Sommer zu anderen Uhrzeiten erscheinen, als im Winter. Also, diese Bilder sieht man nun hier öfter.

Sonnenuntergang

Sonnenuntergang

Nacht

Nacht

Sonnenaufgang

Sonnenaufgang

Tag

Tag

Hanging Monk
Beam me up!