WebDesign – WebDev – WebTools & Multimedia
21 Jan 08
Das zweite Theme, welches ich vollständig ins Deutsch übersetzt und meinen Vorstellungen angepasst habe, ist das dezente Template “Internet” von Solucija, welches von EGO nach WordPress portiert wurde. Das Theme habe ich weiter entwickelt und habe ihm eine dynamische Sidebar spendiert. Die Navigationsleiste ändert sich in Abhängigkeit vom Inhalt: Bei den Seiten mit Loops (mehreren Beiträgen) zeigt die Sidebar, wo man sich gerade befindet und die Tags-Wolke, bei einzelnen Beiträgen zeigt die Navigationsleiste die Optionen des Eintrages, die dynamischen Bookmarks “AddThis” und relative Beiträge (siehe Abb.).
14 Jan 08
Mein erstes Theme, welches ich nach dem Kennenlernen des WordPress installiert und angepasst habe, war das schöne Theme Intense von Sadish Bala. Er hat dieses Theme ebenfalls auf der Basis von Intense Simplicity Template erstellt. Mich hat am Anfang das Plugin für rotierende Header-Bilder fasziniert. Beim Laden einer Seite wird ein anderes Header-Hintergrund-Bild geladen. Mit der Zeit habe ich mich mit der Template-Programmierung befasst und habe das Theme mehr und mehr verändert und eigenen Vorstellungen angepasst. Das Ergebnis ist dieses dezent gehaltene Theme (siehe Abb.).
9 Jan 08
Nun kann ich über von mir kürzlich erworbene Grafikkarte GECUBE RADEON RV670PRO O/C Edition (X-Turbo III) GC-XHD3850PG3-E3 berichten.
Mit der Leistung der GraKa bin ich momentan sehr zufrieden. Ich habe allerdings nicht ganz aufgepasst, dass die GeCube-Karte im 2D-Betrieb den GPU- und Speichertakt NICHT runter schaltet, was nach der Spezifikation von AMD geschehen sollte; die laufen also bei meiner Karte konstant mit 730/900 MHz. Na ja, ein paar Watt Strom mehr oder weniger, darauf kommt es (noch) nicht an – den Stromverbrauch des Rechners habe ich allerdings noch nicht gemessen :-\. Mann kann auch den GPU- und Speichertakt manuell (z. B. mit RivaTuner) kleiner einstellen.
Der Kühler der GeCube-Karte ist monströs, die Kupfer-Platte liegt auch über dem Speicher (Siehe Review bei techPoerUp! oder HARTWARE.NET-Review der 3870er – beide haben den gleichen Kühler). Der 80mm große Lüfter dreht im Ruhestand leise, mit einem kaum wahrnehmbaren klirrenden Geräusch. Im 3D-Betrieb geht der Lüfter allerdings zum Turbo über; ich kann leider momentan noch mit keinem Tool die Drehzahl des Lüfters auslesen. Das Lüftergeräusch unter Last ist für meinen Geschmack also etwas zu laut. Na ja gut, im Spielgeschehen merkt man das Lüftergeräusch nicht sonderlich.
Die Leistung der Karte reicht für alle neuen Spieltitel mit maximalen Details und 4xAA und 16xAF in 1280×1024-Auflösung (abgesehen vom hardware-hungrigen Crysis). Ich denke und hoffe, dass AMD/ATI künftig mit Treiberoptimierung noch etwas mehr Leistung aus dem RV670 herausholen kann. Zukunftssicher ist er mit DirectX 10.1, Shader 4.1 und PCIe 2.0 ellemal.
Ich werde noch mit RivaTuner am Takt und Lüfterdrehzahl herumprobieren – stay tuned …
20 Dez 07
Ich brauche zum Aufrüst-Set noch eine Grafik-Karte: Ich bin noch unentschieden, ob nVidia oder AMD/ATI bei mir das Duell gewinnt. Der frisch gebackene Chip mit der Bezeichnung 8800 GT (G92) von nVidia ist in aller Munde, nVidia kommt laut Zeitschrift mit der Fertigung kaum nach; AMD schickt die neue HD38×0-Reihe (RV670) ins Rennen und hat dabei gegenüber 8800 GT, was zumindest Spiele-Leistung betrifft, etwas Nachsehen. Wobei ich sagen muss, dass die einschlägigen Zeitschriften hauptsächlich das neu erschienene DirectX 10 Spiel „Crysis“ als Messlatte nehmen. Vielleicht (oder hoffentlich) kann ATI die Situation mit neueren (optimierten) Treibern ausbessern. Na gut, zugegebenermaßen liegt sie auch bei 3D-Benchmarks etwas zurück (s. z.B. Review von PowerColor HD3850 Xtreme bei Technic3D oder von GeCube Radeon HD 3870 X-Turbo III bei Hartware). Vielleicht war der Zeitdruck zum Weihnachtsgeschäft einfach zu groß, vielleicht auch nicht. Es wäre schön, wenn der Rückstand von AMD gegenüber nVidia an der Soft- und nicht an der Hardware liegen würde, denn das Preis-/Leistungs-Verhältnis ist bei AMD auf jeden Fall besser und der Stromverbrauch niedriger.
Vielleicht fällt meine Wahl doch etwas moderater aus und ich komme sogar mit passiver Kühlung aus?
Oder darf es etwas mehr in Form einer GeForde 8800 GTS 512 (s. Review bei Computerbase) sein, die als Nachfolger der 8800 GTS von nVidia vorgestellt wurde.
Auf jeden Fall recherchiere ich weiter, stay tuned …
Nachtrag am 30.12.07:
Mein jetziger Favorit: GC-XHD3870XTG4-E3
20 Dez 07
Mit diesem Beitrag öffne ich hier eine neue Rubrik “Computer” und möchte über meine Erfahrungen mit dem Upgrade und Tuning meines Rechners berichten.
Gestern habe ich unsere bereits leere Weihnachtsgeldkasse überzogen und einen Aufrüst-Bausatz für einen Multimedia Silent PC bei der E-Bay ersteigert. Wie so oft hat mich die Qual der Wahl bei der Auswahl der Komponenten gequält, dass ich sie nicht mehr aushalten konnte. Die Preise für die Hardware purzeln während des Weihnachtsgeschäftes, die Industrie wirbt mit den neuen Produkten wie nie zu zuvor, Intel und AMD und nVidia und AMD führen einen harten Wettbewerb, bei welchem AMD sich schwer tut und schon ums Überleben kämpft. Obwohl ich mit AMD mitleid habe, habe ich mich für ein Intel-Platform entschieden – das Preis-/Leistungs-Verhältnis und vor allem die Leistung bleibt für mich ausschlaggebend; und mit der Leistung kommt AMD (leider) nicht ganz hin, wo Intel bereits steht.
Wie man der Beschreibung der Auktionsware entnehmen kann, besteht das von mir ersteigerte System aus dem ASUS P5W DH Deluxe (s. Berichte bei Alternate, Reviews bei Hartware) Motherboard. Das erste Recherchieren über das Mainboard bei Ciao! hat macht mir etwas Sorgen gemacht (hätte ich vor dem Kauf machen sollen
), bei Alternate war wieder etwas beruhigt; mal sehen, welches BIOS das Board hat und wie es sich in der Praxis verhält.
Dazu kommt der Intel Core 2 Duo (s. Bericht bei Ciao!). Ich weiß noch nicht, ob der Prozessor noch genügend Reserven für die Zukunft – mal schauen, ob Overclocking was bringt, wobei die Hauptplatine dafür nicht ganz geeignet sein soll. Ein paar MHz sollten aber schon möglich sein. Wieviel mehr Leistung gegenüber der Verlustleisutng (Wärmeabgabe) dabei steht, wird sich zeigen.
Das Gehäuse ist ist schon ein paar Jährchen alt, aber was soll’s, Hauptsache es ist stabil gebaut und hat gute Schallisolierung.
Ich bleib gespannt, Fortsetzung folgt …
19 Dez 07
Ich bin auf einen interessanten Kurzfilm aufmerksam geworden: Sehbehinderte und blinde Computer- und Internet-User – ein Kurzfilm zur Barrierefreiheit (Accessibility) der Universität Bern, Institut für Medizinische Lehre www.usability.unibe.ch. Der Videofilm kann von diesem Blog-Beitrag heruntergeladen werden. Sehr interessant zu sehen, wie ein Sehbehinderter und ein Blinder sich einen Zugang zu Informationen auf Internet-Seiten mit entsprechender Software/Hardware verschaffen und über ihre Erfahrungen berichten.
Ein Resume aus dem Videofilm, soweit ich schwiz-Deutsch verstehen konnte
1) Was macht eine Internetseite für Sehbehinderte gut zugänglich?
1) Was ist wichtig für einen Blinden, der mit einem Screen Reader ausgestattet ist?
Selbstverständlich sind hier nicht alle Anforderungen an eine barrierefreie Internet-Site oder Software genannt, es sind eher die Mindestanforderungen. Die beiden Betroffenen haben die Anforderungen als wünschenswert bezeichnet, wobei für öffentliche Einrichtungen BITV seit 31.12.2005 rechtsverbindlich ist. In der Praxis sieht es leider mit der Umsetzung sehr mager aus – man braucht nur ein paar Internet-Auftritte der öffentlichen Einrichtungen “anschauen”. Ich hoffe für uns alle, dass die Situation sich in dieser Hinsicht bessern und ändern wird.
11 Dez 07
Es gibt einige Beispiel-Funktionen für die fehlende Methode getElementsByClassName im JavaScript DOM-Modell.
Das schöne bei dieser Funktion: Sie durchsucht nicht die ganze Seite nach der angegeben CSS-Klasse, sondern nur in den angegebenen Tags (im Beispiel in div und span). Die Funktion liefert ein Array mit Objekten zurück, die die angegebene Klasse enthalten; auch die, bei welchen die Klasse mit anderen Klassen kombiniert ist (z.B. <div class="erste zweite">).
function getElementsByClassName( myName ) {
var tags = ["div", "span"];
var result = [];
var searchExpression = new RegExp( "\\b" + myName + "\\b" );
for (var i = 0; i < tags.length; i++ ) {
var objects = document.getElementsByTagName( tags[ i ] );
for (var j = 0; j < objects.length; j++ )
if ( objects[ j ].className.match( searchExpression ) )
result.push( objects[ j ] );
}
return result;
}
2 Dez 07
Vor kurzer Zeit habe ich mich auf die Suche nach einem Plugin für WordPress gemacht, welches Quellcode-Ausschnitte in HTML, CSS, PHP, JavaScript etc. ähnlich einem Editor (wie z.B. PSPad) auf einer HTML-Seite präsentieren kann, d.h. den Quelltext als HTML automatisch farbig hervorheben kann, mit anderen (englischen) Worten: Syntax Highlighting als JavaScript-/PHP-Plugin für WordPress. Nach kurzem Recherchieren bin ich auf zwei gute JavaScript-Plugins gestoßen: syntaxhighlighter und highlight.js. Ich habe beide ausprobiert und mich für das zweite entschieden – warum, versuche ich weiter unten darzustellen. Die Entscheidung ist mir nicht leicht gefallen, denn beide haben in meinen Augen ihre Vor- und Nachteile. Aber Eins nach dem Anderen.
Syntaxhighlighter ist ein leicht zu integrierendes JavaScript-Plugin. Es besteht auch die Möglichkeit, Highlight-Skripts nur für ausgewählte Sprachen zu laden, um so die Ladezeit der Seite nicht unnötig überbelasten. Für das Einbinden des Plugins sind im Header sind folgende Zeilen einzubinden:
<link rel="stylesheet" type="text/css" href=".../SyntaxHighlighter.css" />
<script type="text/javascript" src=".../shCore.js"></script>
<script type="text/javascript" src=".../shBrushCss.js"></script>
<script type="text/javascript" src=".../shBrushHtml.js"></script>
<script type="text/javascript" src=".../shBrushJScript.js"></script>
<script type="text/javascript" src=".../shBrushPhp.js"></script>
Im Footer vor dem </body>-Tag sind noch folgende Zeilen einzutragen:
<script type="text/javascript">
dp.SyntaxHighlighter.ClipboardSwf = '.../clipboard.swf';
dp.SyntaxHighlighter.HighlightAll('code');
</script>
Drei Punkte (“…“) im Pfad sollen entsprechend dem Ablageort der Dateien auf dem Webserver angepasst werden.
Und das war’s schon im Prinzip – das Ergebnis sieht optisch ansprechend aus. Das ist aber noch nicht alles, denn die Anzeige lässt sich konfigurieren. Mit den Optionen, welche im Attribut “class” nach dem Doppelpunkt eingetragen werden, lassen sich z.B. die Zeilennummern oder der Header abschalten (siehe Abb.).
Der obige HTML-Code in der Abbildung sieht so aus:
<pre name="code" class="php">
// IP-Adresse des Clients
$cl_ip = $_SERVER['REMOTE_ADDR'];
echo $cl_ip; //--> z. B. 79.16.164.82
</pre>
Der untere HTML-Code in der Abbildung sieht so aus:
<pre name="code" class="php:nocontrols">
// IP-Netzmaske des Clients
$cl_sub = substr($cl_ip, 0, strrpos($cl_ip,"."));
echo $cl_sub; //--> z. B. 79.16.164
</pre>
Die Spitzeklammern! im Code sollten natürlich mit der HTML-Codierung < und > umgewandelt werden. Dafür gibt es diverse WP-Plugins wie z.B. Decoder Button.
Es stehen folgende Optionen zur Verfügung:
Fazit: Syntaxhighlighter besticht mit seinen Konfigurationsmöglichkeiten und scheint für mich persönlich einen Tick schneller zu sein als highlight.js. Doch das Attribut “name” im <pre>-Tag wird vom XHTML-Validator angemekert, was nicht so schön ist. Außerdem bietet syntaxhighlighter nicht so viele Layout-Möglichkeiten mit CSS wie highlight.js. Ansonsten ist ein gutes Plugin für jede Site, die sich mit Quellcode befasst.
highlight.js hat mich mehr überzeugt, wobei ich die CSS-Layout-Möglichkeiten noch nicht intensiv ausprobiert habe. Trotz einer nach meinem Empfinden längeren Ladezeit wirkt das Layout dezenter ohne unnötige Dinge. Der Vorteil von highlight.js wäre zudem, dass das Skript die Sprache des Quellcodes automatisch erkennen soll.
Das Einbinden der Skripte und des Style Sheets ist im Header einfach zu bewerkstelligen:
<link rel="stylesheet" type="text/css" href=".../highlight.css" />
<script type="text/javascript" src=".../highlight.js"></script>
Im Footer wird der Aufruf der Funktion eingebunden:
<script type="text/javascript">initHighlightingOnLoad("css", "html", "js", "php", "xml");</script>
Bei highlight.js enspricht zudem die für den HTML-Code verwendete Semantik der klassischen Struktur:
<pre><code>
</code></pre>
Die Abbildung zeigt nun das Ergebnis mit highlight.js, der obige Quellcode sieht dann so aus (wobei die Spitzeklammern genauso umgewandelt werden müssen, damit der Quellcode der Seite valide bleibt):
<pre><code class="php">
// IP-Adresse des Clients
$cl_ip = $_SERVER['REMOTE_ADDR'];
echo $cl_ip; //--> z. B. 79.16.164.82
</code></pre>
Fazit: Ich habe mich für highlight.js entschieden, wobei ich mich natürlich später auch für Syntaxhighlighter umentscheiden könnte. Valides XHTML und flexibles Layout sind z.Z. für mich ausschlaggebend. Nur die Geschwindigkeit von highlight.js lässt zu wünschen übrig.
27 Nov 07

Vor einiger Zeit ist mir eine interessante Site über den Weg gelaufen. Die Site ist mit Flash erstellt und in meinen Augen interessant für diejenigen, die gerne ein Live-Stream aus dem Internet hören. Zuhause ist natürlich eine DSL-Flatrate und auf der Arbeit ein Internet-Zugang notwendig. Auf die Urheberrechte möchte ich hier nicht näher eingehen, siehe dazu z.B. den Wiki-Artikel. Die urheberrechtlich geschützte Musik sollte selbstverständlich nicht hochgeladen werden.
Bei Anywhere.FM handelt es sich nicht um einen Live-Stream, sondern um eigene Songs hochladen und über den hauseigenen Player hören. Das ganze bewegt sich natürlich in der grauen Zone, trotzdem finde ich das Konzept gelungen. Man kann die hochgeladene Musik anderer User durchsuchen und hören, Kontakte knüpfen, aber KEINE Songs runterladen. Dies produziert in meinen Augen auch Werbung für die Künstler, deren Musik zum Hören angeboten wird. Beim Click auf das Album-Cover wird man zu Amazon verlinkt, wo näheres zum Album steht. Und es ist KEINE Tausch-Börse wie es gut bekannte für den Austausch von MP3-Dateien und Abmahnungen von sich darauf spezialisierenden Anwälten sind.
Songs kann man direkt mit dem Player oder mit einem Client für Windows bequem hochladen, schnelles Upstream vorausgesetzt. Was ich noch schön finde: Die Songs können mit einer 5-Sterne-Skala bewertet werden. Das benutze ich z.B. fü mich selber, um mir gute Songs zu merken. Das Gute daran – es wird bei Anywhere.FM gespeichert und nicht beim Media-Player auf dem eigenen Rechner.
19 Nov 07
Mit der vordefinierten Variable ‘REMOTE_ADDR’ ist es möglich, die IP-Adresse des entfernten Rechners (des Clients) abzufragen:
// IP-Adresse des Clients
$cl_ip = $_SERVER['REMOTE_ADDR'];
echo $cl_ip; //--> z. B. 79.16.164.82
Wenn Sie die Netzmaske des Clients ermitteln möchten, würde es mit Zeichenketten-Funktionen wie im folgenden Beispiel unten funktionieren:
// IP-Netzmaske des Clients
$cl_sub = substr($cl_ip, 0, strrpos($cl_ip,"."));
echo $cl_sub; //--> z. B. 79.16.164
Für weitere Informationen siehe Vordefinierte Variablen.