Für große und kleine Optimierungen werden häufig Caches eingesetzt. Im Bereich Webanwendungen meistens ein File-Cache. Beim ersten Aufruf einer Seite rattert der PHP-Code durch und die erzeugte HTML-Ausgabe wird als Datei gespeichert und ausgegeben. Bei jeder weiteren Anfrage wird dann nur noch auf die Datei zurückgegriffen. Der Gewinn besteht in geringerer Serverbelastung und schnellerer Ausgabe.
Bei meinen Unternehmungen die Datenbankanfragen zu reduzieren, musste ich die Ergebnisse kurzzeitig zwischenspeichern. Ein File-Cache wäre simpler Overkill und ein Datenbank-Cache wäre, nun, dämlich in dem Fall.
Zum Einsatz kommt jetzt eine kleine Klasse, die einfach nur Werte in Variablen speichert und in jedem Scope erreichbar ist. Aufgrund der kurzen Lebensdauer, die nur die Länge einer Seiten-Anfrage hat, heißt die Klasse „RequestCache“.
Read more

Das ist reines HTML und CSS. Es hat so an die vier Stunden gebraucht. Aber ich hätte es selbst in sechs Stunden nicht so gut in Photoshop hinbekommen. Vorlage war dieses Bild.
Demo-Page. Am besten sieht es in Opera 11 aus, ebenfalls noch ziemlich gut in Firefox 3.6 und in Chromium 9[1] erinnert es eher an eine Kunstrichtung.
Read more

Fünf Monate ist es her, da stieg ich um auf Ubuntu. Naja, Dual Boot mit Windows Vista, schließlich erscheint einem so ein erster richtig-eigener Betriebssystemwechsel doch recht abenteuerlich. Es ging – wie auch erwartet – alles gut. Vista habe ich seit Monaten nicht mehr gebootet und da hätte ich auch wirklich keine Lust mehr drauf.
Programme

Software zu finden und zu installieren ist traumhaft simpel. Eine riesige Auswahl erschlägt einen im Software Center und ist mit 1~2 Klicks startklar. Weitere Quellen sind leicht hinzugefügt. Mit der kommenden Ubuntu-Version Natty Narwhal zieht noch eine Reviewfunktion ein, um Software zu bewerten[1].
Read more

Das Problem
Bei mir läuft immer noch der IBus nebenher, da ich gelegentlich auch mal etwas auf Japanisch eintippen möchte[1]. Dummerweise gibt es scheinbar einen Bug[2] zwischen IBus und gewissen Java-Komponenten, wegen dem dann Tastaturereignisse – sprich: Tastendrücke – nicht an die Java-Anwendung weitergereicht werden. Aufgefallen ist mir das bisher in Minecraft.
Bevor ich zur Lösung komme (wer es eilig hat, liest das hier vermutlich ohnehin nicht und scrollt direkt zum Code), ein paar Hinweise. Zum Einen sollte – auch auf Empfehlung von Notch hin[3] – nicht das standardmäßige OpenJDK benutzt werden, sondern Suns JVM. Im Weiteren setze ich auch voraus, dass diese als Default für den Befehl java
gesetzt wurde:
sudo update-java-alternatives -s java-6-sun
Der andere Hinweis ist, IBus aktuell zu halten. Obgleich es bisher nicht zur Behebung des Fehlers beitragen konnte. Wie man stets aktuell bleibt, steht auf der IBus-Projektseite.
Read more