Neueste Kommentare

Kategorien

Allgemein (6) Blogtreff (1) Domain (3) Gadget (24) Geld verdienen (13) Google (30) Nachschlag (32) Promotion (22) Recyclable Code (3) Stylemachine (13) Twitter (35) Wordpress (14)

Populär

RSS Feed SEO-Scout Mit RSS-Reader ganz entspannt lesen. Anzahl RSS-Reader SEO-Scout Zum Abonnieren klicke einfach auf den Counter oder den Zeitungsleser.

Vote für Seo-Scout.org!

Blogverzeichnis - Blog Verzeichnis bloggerei.de blogoscoop

Blogger-Treffen Lübeck: Wann das nächste? - E-Mail an frank.pfabigan@gmail.com, Ort » gmap

iPhone OS Update 3.0 verfügbar

Donnerstag, 18. Juni 2009. 09:59 von Frank Pfabigan

Seit gestern abend 18:00 Uhr ist das iPhone OS Update 3.0 verfügbar, mit vielen neuen tollen Funktionen für Apple’s iPhone. Schnell iTunes aufmachen und manuell auf “Update” klicken.


Casino Kommentar Spammer

Freitag, 05. Juni 2009. 17:56 von Frank Pfabigan

Von der IP-Adresse 89.248.160.248 kommen unglaublich viele Kommentar-Spam Einträge mit dem Inhalt “Casino 1244191580″… Der nicht funktionierende Backlink geht zu gogole.com/irgendwas. Weiß jemand, was es damit auf sich hat? Was ist das für ein Spinner/Spammer, der noch nicht mal einen funktionierenden Link hinterlässt, der zu irgendeiner bannerüberladenen, total blinkenden Seite verlinkt?

Ich habe es wie im Falle des Kommentar-Spammers Werner Burczyk gemacht, der hier zigfach irgendwelche ellenlangen Texte als Spam-Kommentar hinterlassen hat: ich habe seine Eltern angerufen.

Nee, das nicht. Aber ich habe den jeweiligen Hoster informiert, daß der Benutzer soundso unter der IP-Adresse soundso Spam verbreitet und daß diese sich bitte darum kümmern sollen, daß das aufhört.

Da in den Wordpress-Kommentaren die IP-Nummer mitgeloggt wird, kann man diese einfach z.B. bei whois.domaintools.com einkippen und hat schon mal einen ersten Anhaltspunkt darüber, woher der Spammer kommt (oder zu kommen scheint).

Alle Hoster haben eine “abuse” E-Mail Adresse, dorthin kann man schreiben, wenn man einen Spammer stoppen möchte. IP-Adresse, Zeit und Inhalt des Spams am besten mitschicken. Die schauen zumindest nach, ob der Spammer wirklich über sie konnektiert ist und wenn ja, schreiten viele tatsächlich zur Tat und geben dem Spammer eine Nackenschelle.

Spammer scheinen echt nichts mit ihrer Zeit anfangen zu können. Das macht mich ein bißchen traurig. Trotzdem gehören die eingesperrt. Oder erschossen. Oder beides. Na, zumindest Kopf ab, wie die Herz-Königin aus Alice im Wunderland oft und gerne ausruft.


Blogger-Treffen in Lübeck?

Sonntag, 31. Mai 2009. 15:53 von Frank Pfabigan

Der Sommer ist ja nun quasi schon da. Man kann vielerorts draußen sitzen, was vor allem die Raucher unter uns (mich eingeschlossen) aufatmen lässt. Sind hier Blogger aus dem Raum Lübeck und Umgebung, die ein live-Treffen in einer noch näher zu bestimmenden Location auf der Altstadt-Insel von Lübeck in Erwägung ziehen?

Anderenorts erfreuen sich solche live-Treffen größerer Beliebtheit. Hier kann man mit “Kollegen” fachsimpeln, Probleme diskutieren, aktuelle Trends unter die Lupe nehmen und vieles mehr. In gemütlicher Runde bei einem Essen und einem Bierchen oder zwei.

Ich selbst bin nicht motorisiert, daher schränkt sich der Radius bitte unbedingt auf Lübeck-Altstadt ein. Klar kann ich auch nach Hamburg fahren, aber es soll auch keinen Aufwand mit sich bringen, zu so einem Blogger-Treffen zu gehen. Es sollen sich lokal Ansässige auf einen Schnack treffen.

Wenn Du dieser Idee nicht abgeneigt bist, hinterlasse doch einen Kommentar mit einem Vorschlag für Ort + Zeit, damit die Diskussion ins Rollen kommt. Ich bin wirklich gespannt, ob und wieviele sich melden. Dass es hier in Lübeck Blogger gibt, weiß ich. Ich höre euch atmen und verfolge Euer Geschriebenes ;-)

Edit 28.06.2009: Blogger-Treffen am 04.07.2009, 15:00 Uhr, Ratskeller Lübeck (draußen)


Google Wave: Die nächste Webrevolution steht an

Sonntag, 31. Mai 2009. 15:20 von Frank Pfabigan

Google Wave bringt mehr Interaktivität ins Web

(Entweder JavaScript ist nicht aktiviert, oder Sie benutzen eine alte Version von Adobe Flash Player. Installieren Sie bitte den aktuellsten Flash Player. )

Web 2.0 sollte vor allem Interaktivität mit den Besuchern auf ansonsten statische (nur zu konsumierende) Websites bringen. Mit diesem neuen Gedanken der “partiellen Mitgestaltung der Inhalte einer Seite durch den Besucher” wurden viele neue, schöne und benutzerfreundliche Anwendungen und Plugins vor vorhandene Blog-/CMS entwickelt und haben sich sehr schnell sehr großer Beliebtheit erfreut.

Mit Google Wave wird nun die darunterliegende technische Plattform, das Web selbst, revolutioniert. Google Wave verfolgt den Ansatz, den viele vorher schon hatten: sogenannte Waves stellen inhaltliche Komponenten dar, die man mit beliebigen, zur Verfügung stehenden Funktionen befüllen kann.

Historischer Abriss

Apple hatte dereinst ein Entwicklungsprogramm, das sog. “Parts” zur Verfügung stellt, in dem einzelne Funktionalitäten von Programmen durch den Benutzer zu “seiner eigenen Anwendung” zusammengeklickt werden konnten. Also z.B. die Bildskalierung von Photoshop in einem Texteditor. Ungeahnte Möglichkeiten und absolute Benutzerfreundlichkeit.

Viele andere Ansätze solcher “Shared Applications” oder wie immer man es nun nennen mag, haben wir kommen und gehen sehen. Das bedeutet aber nicht, daß die Idee an sich schlecht ist (im Gegenteil), die Zeit war anscheinend einfach noch nicht reif dafür. Die Hersteller von Anwendungen haben nicht so richtig “mitgespielt”. Auf deren Seite gab es zum Beispiel Bedenken bezüglich der Lizensierung/Bepreisung Ihrer Programme und dergleichen mehr.

Die Zukunft

Mit Google Wave rollen die Brüder Jens und Lars Rasmussen, denen wir schon die wundervolle Anwendung Google Maps verdanken, die Zukunft ein weiteres mal aus. Diesmal scheint die Zeit reif zu sein, denn das Thema “Google Wave” ist “heiß”. Die Anzahl der Suchergebnisse steigt dramatisch an und Google Wave ist Top-Thema auf sehr vielen Seiten, Foren und Pressemitteilungen.

Google Wave läuft zu 100% im Webbrowser und benötigt prinzipiell keine Browserplugins. Die extrem skalierbare und hochperformante Google API ist die Basis für alle Google Wave Dienste und Anwendungen. Im 1,5 h Video zu Google Wave von der Googlio I/O Konferenz werden eindrucksvolle Beispiele gezeigt, was man mit Google Wave alles anstellen kann.

Ein Basisfeature von Google Wave ist die Synchronisierung von Benutzereingaben: Während ich einen Text eingebe, taucht dieser live auf dem Bildschirm der Empfänger auf. Jeder kennt das von iTalk und anderen Chats, aber in einer Email? Oder einer anderen Anwendung wie z.B. Twitter?

Dokumente können live und in Echtzeit von vielen Benutzern gleichzeitig bearbeitet werden. Ein Blogroboter kann das, worüber ich in einer anderen “Anwendung” geschrieben habe, in meinen Blog übernehmen. Dateien, Videos, Bilder können mit einem Mausklick gesucht und hinzugefügt werden. Just like that.

Kurzum, Google Wave wird das Web und die Art und Weise, wie Menschen miteinander kommunizieren und zusammenarbeiten, revolutionieren. Nämlich: vereinfachen, verbessern. Schneller, höher, weiter. Dabei ist Google Wave nicht auf das Web beschränkt: Die Google API stellt verschiedene “Layer” bereit, damit der Inhalt in (für das Anzeigegerät) angepasster Form auch auf mobile Devices wie z.B. Android, iPhone und vielen anderen angezeigt werden kann.

Ich schlage vor, Du schaust Dir die Videopräsentation zu Google Wave selbst mal an und klickst auch auf den Let me know when it’s ready Button, damit Du automatisch informiert wirst, wenn Google Wave für das “Publikum” bereit ist. Entwickler sollten sich unbedingt die API und die Dokumentation anschauen und anfangen, Anwendungsmöglichkeiten für Google Wave zu entwickeln.

» Video anschauen und mehr über Google Wave erfahren.


Dropcaps mit jQuery

Sonntag, 24. Mai 2009. 22:21 von Frank Pfabigan

Was Dropcaps sind, zeigt das nachfolgende Bild. Zu deutsch ist dies ein “Initial”. Es gibt verschiedene Darstellungsmöglichkeiten für Initialien. Ganz allgemein ist es ein “schmückender Anfangsbuchstabe”, der als erster Buchstabe von Kapiteln oder Abschnitten verwendet wird.

Dropcaps oder auch Initial

Wikipedia hat Abbildungen von historischen, wunscherschön und aberwitzig arbeitsintensiv aufbereiteten Initialen aus verschiedenen alten Dokumenten.

Das gezeigte Beispiel ist ein Screenshot aus einem Kundenprojekt.

Realisiert habe ich das mit jQuery und Hilfe aus dem Internet, mit Google gefunden. Es gibt mehrere Ansätze, Initiale zu realisieren. Im Grunde geht es darum, den Text zu filtern, den ersten Buchstaben “zur Seite zu schieben” und durch ein Bild zu ersetzen, daß das gewünschte Initial (entsprechend dem 1. Buchstaben) zeigt.

Was so einfach klingt, hat mich tatsächlich über 10 h Entwicklungszeit gekostet, bis es stabil, optisch zufriedenstellend und gemäß den Kundenvorgaben funktionierte.

Realisiert wurde es mit der aktuellen jQuery Version 1.3.2. Auf jQuery wird einfach per script-Anweisung im head-Bereich der Datei referenziert:

15
16
17
...
<script type="text/javascript" src="mein/pfad/jquery-1.3.2.min.js"></script>
...

Da die Kundenwebsite vorsieht, daß diese Dropcaps in verschiedenen “Bereichen” der Seite auftauchen können, habe ich mir folgenden Funktionsaufruf zurechtgelegt:

<!-- den sourcecode des dropcaps.js laden, source siehe unten -->
<script type="text/javascript" src="pfad/zum/js-code/dropcaps.js"></script>
20
21
22
23
24
<script type="text/javascript">
$(document).ready(function(){
  dropcaps( "der/pfad/zu/den/bildern/img/", "div-tag (bereich)" );
});
</script>

Das $(document).ready( ... wird von jQuery bereitgestellt und stellt sicher, daß der enthaltene Code erst nach dem vollständigen Laden des Dokumentes ausgeführt wird. Hier drin befindet sich der Aufruf der Funktion dropcaps(), dessen Code so aussieht:

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
function dropcaps( picpath, bereich )
{
 
	$("#" + bereich + " p").each( function( index ) {
		var paragraph = this;
		var node = paragraph;
 
		while( node.childNodes.length ) {
			node = node.firstChild;
		}
 
		var text = node.nodeValue;
 
		/* html-source erhalten, da hier links etc. drin liegen koennen */
		var source = $( this ).html( );
		var source = source.slice( 1 );	/* das 1. zeichen wegschmeissen */
 
		var first_letter = text.substr( 0, 1 );
 
		var match = /[a-zA-Z]/.test(first_letter);
 
		if( match ) {
			node.nodeValue = text.slice(1);
 
			$( this ).html( "<span class=\"dropcap-"
				+ first_letter.toLowerCase( )
				+ "\" style=\"background-image: url( " + picpath + "drop-"
				+ first_letter.toLowerCase( )
				+ ".png)\">"
				+ first_letter
				+ "</span>"
				+ source
			);
 
		}
	});
}
 
/* based on these sources:
 * http://www.learningjquery.com/2006/12/multiple-fancy-drop-caps
 * http://northtemple.com/2008/12/02/hot-and-graceful-jquery-dropcaps
 */

Die Quellangaben im Source zeigen an, woher der Quellcode ursprünglich stammt. Prinzipiell habe ich die verschiedenen Ansätze dieser beiden Autoren zu einer neuen Lösung verschmolzen. Da ich mir immer noch kein jQuery Buch gekauft habe (was ich schon sehr lange vorhabe), muß ich mir alles mühsam irgendwo aus dem Internet puhlen.

Es war ein ziemliches Gefummel, den ursprünglichen Text mitsamt enthalten HTML-Tags zu erhalten, denn die Methoden der beiden Autoren hatten das nicht berücksichtigt; somit waren z.B. im Text enthaltene Links plötzlich futsch. Alles in allem also viel Zeit für die Suche nach Lösungen für bestimmte Teilprobleme.

Ich muß mir unbedingt das Buch kaufen ;-)

Man muß natürlich alle Zeichen, die als Initial in Frage kommen könnten, als Bilder aufbereiten. Ist zwar nicht schwierig, aber nimmt auch Zeit in Anspruch. Auch hier steckt der Teufel im Detail: die Buchstaben so einer Schnörkelschrift in einer fixen Punktzahl sind nicht alle gleich groß. Man muß daher auch die Bildgröße einiger-vieler anpassen.

Zusätzlich gibt es durch die zugehörige CSS-Datei eine Möglichkeit der Feinjustage der Initialien:

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
43
44
45
46
47
/* dropcaps */
.dropcap{
    text-indent: 0;
}
.dropcap-a, 
.dropcap-b, 
.dropcap-c, 
.dropcap-d, 
.dropcap-e, 
.dropcap-f, 
.dropcap-g, 
.dropcap-h, 
.dropcap-i, 
.dropcap-j, 
.dropcap-k, 
.dropcap-l, 
.dropcap-m, 
.dropcap-n, 
.dropcap-o, 
.dropcap-p, 
.dropcap-q, 
.dropcap-r, 
.dropcap-s, 
.dropcap-t, 
.dropcap-u, 
.dropcap-v, 
.dropcap-w, 
.dropcap-x, 
.dropcap-y, 
.dropcap-z {
    width: 40px;
    height: 33px;
    display: block;
    text-indent: -5000px;
    float: left;
    margin-top: 3px;
    margin-right: 2px;
    background: transparent top center no-repeat;
}
 
.dropcap-h { width: 50px; }
.dropcap-j { height: 40px; }
.dropcap-k { width: 50px; }
.dropcap-m { width: 55px; }
.dropcap-n { width: 45px; }
.dropcap-p { width: 45px; }
.dropcap-y { width: 40px; height: 40px; }

Wer diesen Code für eigene Projekte nutzen möchte, kann das gerne tun. Ich bitte nur darum, die Quellangaben zu den Vorgängern und zu mir irgendwo im Source mitzuführen.


Sourcecode-Darstellung im Wordpress-Blog

Sonntag, 24. Mai 2009. 21:23 von Frank Pfabigan

Nachdem ich nun sehr lange Zeit die Lösung von Alex Gorbatchev, SyntaxHighlighter, hier laufen hatte, um Sourcecode vernünftig formatiert im Blog anzeigen zu lassen, bin ich nun gerade auf das WP-Plugin wp-syntax umgestiegen, das GESHI implementiert. Dieses ist robuster und anwenderfreundlicher.

  • Robust bedeutet: der WP-Editor zerschiesst einem beim Nachbessern nicht die Formatierung und killt vermeintlich falsche Tags
  • Anwenderfreundlich bedeutet: man muß nicht sämtliche führenden Spitzen-Klammern manuell in ihre HTML-Entities umwandeln

Einfach, schnell, schön, gut: WP-Syntax.