[No Comment] Schule
SQL ist einfach zu einfach wenn man es schon kann … also muss man sich beschäftigen, wenn man fertig ist mit den Aufgaben …
Ubuntu (Gnome) -> Terminal -> Vollbild -> Profil-Farben auf “Grün auf Schwarz” gestellt ->
$ cat /dev/urandom -> Bildschirm kippen
Das gleiche auf dem Zweiten Rechner. Ergebnis:
[PHP] PHP 5.3 Release
Heute steht nach langem Warten endlich die neue PHP-Version 5.3 in den Startlöchern und wartet auf den Release, der im Laufe des Tages erfolgen wird.
Ganz besonders freue ich mich auf die Namespaces, Late Static Binding und Lambda/Closures. Ich warte nur auf den Startschuss um das neue Apache-Modul zu kompilieren und die neuen Funktionen auszuprobieren. *gespannt*
Ich hoffe mal, dass meine Projekt noch mit PHP 5.3 laufen, habe da aber eher wenig Bedenken …
[Links] 28.06.2009
So, ich muss auch mal anfangen meine Links hier zu sammeln, sonst verbummel ich den Kram immer
- Nettuts – Viele Tutorials und Artikel über PHP, Ruby, MySQL, CM Systeme uvm.
- Google Chart API – Die Chart API von Google
- Colorschemedesigner.com – Sehr nützlicher Farbschemator
- FireDiff – Den Überblick über HTML- und CSS-Änderungen im Firebug behalten
[Gewinnspiel] Gewinne das neue iPhone 3GS von sevenmac

Eben durch Lukas draufgestoßen:
Das Apple Magazin sevenmac, welches nun seit einem Jahr online ist und seither mehr als 1.500 Artikel verfasst hat, veranstaltet ein Gewinnspiel für Blogger. Zu Gewinnen gibt es das neue iPhone 3GS sobald dieses auf dem Markt kommt.
Der Gewinner wird in einem Live-Stream ermittelt und bekannt gegeben – inkl. Blog-URL. Das ist mal PR!
Sevenmac hat seit seinem Release eine große Mac Community aufgebaut, in der sich Apple-begeisterte täglich über alles austauschen können, was ihnen auf dem Herzen liegt.
Es existieren zwar bisher nur Gerüchte über das neue Apple-Produkt, jedoch geht man davon aus, dass das neue iPhone mit einer verbessertes Kamera ausgestattet sein wird. Die Auflösung von 3,2 Megapixel wird erwartet. Auch eine Front-Side-Kamera für Videotelefonie und einen FM-Transmitter soll das 3GS mit sich bringen. Die Leistungsstarke CPU und bis zu 32 GB Speichern sind weitere Highlights. Wir dürfen uns freuen!
Wer auch an diesem Gewinnspiel teilnehmen möchte, findet hier weitere Infos. Viel Glück!
[No Comment] Die Deutsche Pseudo-Demokratie
Unfassbar. Das wars dann mit Artikel 5 unserer Grundgesetze. Wer braucht schon Grundgesetze? Wer braucht schon Demokratie?
Diese Traueranzeige trifft es meiner Ansicht nach ganz gut:
Die Verabschiedung des Zensur-Gesetzes hat mein Vertrauen in die Politik und die große Koalition fast restlos ausgelöscht.
Mir fehlen die Worte … Meine Stimme für die nächste Wahl sollte damit feststehen.
Die Petitionen und allen anderen Versuche, die Erlassung des Zensur-Gesetzes zu verhinden, wurden ignoriert. Das ist keine Demokratie …
Wer übrigens sehen möchte, welcher Abgeordnete welches Votum abgegeben hat, kann das hier erfahren.
[Symfony] sfDoctrine meldet “Couldn’t locate driver named mysql”
Was tun, wenn das sfDoctrine-Plugin bei dem Task build-sql folgende Meldung zurückgibt?
Couldn’t locate driver named mysql
Die Meldung entsteht, wenn dem sfDoctrine-Plugin das PDO nicht zur Verfügung steht. Einfach in der php.ini (für die CLI, nicht für den apache!) “pdo_mysql” aktivieren
Unter Debian befindet sich die Datei unter “/etc/php5/cli/php.ini“. Zumindest bei mir *g*
[Linux] Saubere LAMPP Installation

LAMPP: Linux Apache, MySQL, Perl and PHP stellt schnell und einfach eine Entwicklungsumgebung für Webentwickler zur Verfügung. Enthalten ist ein Webserver (Apache 2), ein FTP-Server (ProFTP), ein MySQL-Server, PHP & PEAR, phpMyAdmin, Perl, und vieles vieles mehr.
In diesem Beitrag möchte ich euch zeigen, wie man den LAMPP sauber und sicher auf einerm Linux-System aufsetzt und ihn in das System integriert.
Schrit 0: Download
Bevor wir loslegen müssen wir erstmal dar tar-Archiv runterladen. Die aktuelle LAMPP-Version gibts immer auf apache-friends.org
Schritt 1: Entpacken der Dateien
Zuerst entpacken wir das Archiv in der Verzeichnis /opt:/
$ sudo tar xfz xampp-linux-1.7.1.tar.gz -C /opt/
Schritt 2: Der lampp-Befehl
Damit wir LAMPP nicht immer über /opt/lampp/lampp ansprechen müssen, stellen wir eine Verknüpfung her, die den lampp-Befehl zur Verfügung stellt:
$ sudo ln -s /opt/lampp/lampp /usr/bin/lampp
Anschließend kann LAMPP über den Befehl “lampp” gesteuert werden.
Schritt 3: Autostart einrichten
Damit LAMPP bei jedem System-Start ausgeführt wird, müssen wir noch eine Verknüpfung im /etc/init.d/-Verzeichnis anlegen:
$ sudo ln -s /opt/lampp/lampp /etc/rc3.d/S99lampp
Schritt 4: MySQL-Socket verlinken
Nach der Installation von LAMPP haben wir das Problem, dass der Socket, welcher von Symfony und dem mysql-client verwendet wird, nicht dort liegt, wo er erwartet wird. Das Problem lässt sich wie folgt beheben:
$ sudo mkdir -p /var/run/mysqld/ $ sudo ln -s /opt/lampp/var/mysql/mysql.sock /var/run/mysqld/mysqld.sock
Schritt 5: Security
Nach der Installation müssen noch ein paar Security-Anpassungen durchgeführt werden. LAMPP bietet dazu den security-Modus, der dem User eine Reihe von Optionen zur Sicherheits-Optimierung zur Verfügung stellen.
Die Konfiguration ist sehr trivial: Einfach den Befehl
$ sudo lampp security
ausführen und den Anweisungen folgen.
Fertig. Nun kann LAMPP gestartet werden:
$ sudo lampp start
[PHP] Was ist eigentlich … Late Static Binding?

Was Namespaces sind, hat uns Manuel in seinem Beitrag über PHP 5.3 schon sehr gut erklärt, aber was hat es mit dem neuen Feature Late Static Binding auf sich?
Genau das möchte ich euch hier kurz etwas näher bringen.
Sehen wir uns zunächst folgendes Beispiel an:
<?
class ParentClass {
public static function whoAmI() {
echo __CLASS__;
}
public static function foo() {
self::whoAmI();
}
}
class ChildClass extends ParentClass {
public static function whoAmI() {
echo __CLASS__;
}
}
ChildClass::foo(); // Gibt "ParentClass" aus
?>
Da der PHP Interpreter bei statischen Aufrufen die Referenz zur aktuellen Klasse erst beim Kompilieren des Skripts bestimmt, verweisen __CLASS__ und self auf die Klasse, in der sich die entsprechende Methode befindet. Das heißt aus self::whoAmI() wird ParentClass::whoAmI(). Das ist leider ziemlich hinderlich und wurde nun endlich in PHP 5.3 gefixed.
Die Lösung lautet: Late Static Binding oder kurz “lsb“.
[Eclipse] How-To: Eclipse und SVN

So, das ist der letzte Beitrag den ich auch meinem alten Blog übernehme: Eine kurzes How-To wie man SVN unter Eclipse nutzen kann.
Um SVN in Eclipse nutzen zu können, gibt es das Subversive-Plugin. Die Installation ist recht einfach:
Schritt 1:
Im Menü unter “Help” auf “Software Updates” klicken. Es öffnet sich der Dialog zum Verwalten der Updates und Add-ons.
Schritt 2:
Nun den Tab “Available Software” auswählen und rechts auf “Add Site” klicken.
Hier muss
http://www.polarion.org/projects/subversive/download/eclipse/2.0/update-site/
eingetragen werden. Mit einem Klick auf “OK” wird die Location eingetragen.
Das Gleiche Spiel mit der Location
http://download.eclipse.org/technology/subversive/0.7/update-site/
Schritt 3:
Nun unter “Subversive Site” das “Subversive SVN Team Provider Plugin (Incubation)” markieren.
Außerdem wird noch ein Connector benötigt. Diese findet man unter “SVN Connectors Site“.
Hier einfach “Subversive SVN Connectors“, “SVNKit 1.1.7 Implementation (Optional)” und “SVNKit 1.1.7 Implementation (Optional)” markieren.
Schritt 4:
Um die Installation nun durchzuführen, einfach auf “Install …” klicken und den Anweisungen folgen (inkl. Neustart von Eclipse).
Nachdem Eclipse neugestartet wurde steht die View “SVN Repositories zur Verfügung.
Ich hoffe, dass euch dieses kleine How-To geholfen hat.
[SVN] Grundlegende Befehle

Ich möchte hier mal kurz die grundlegenden Befehle von SVN festhalten. Schaden kanns ja nicht
Auschecken ( checkout / co ):
$ svn checkout [Repository] [Ziel-Verzeichnis]
Datei hinzufügen ( add ):
svn add [Datei/Verzeichnis]
Updaten ( update / up ):
svn update [Datei/Verzeichnis]
Bedeutung der Ausgabe:
A: Added
D: Deleted
U: Updated
C: Conflict
G: Merged
Cleaning ( revert ):
Ersetzt die lokale(n) Datei(en) durch die Version aus dem Repository
svn revert [Datei/Verzeichnis]
Löschen ( delete ):
svn delete [Datei]
Projekt erstellen ( import ):
svn import [Dateien/Verzeichnis] [Repository]
Status einer Datei oder mehrerer Dateien anzeigen ( status ):
svn status [Datei]
Dateien einchecken ( commit / ci ):
svn commit [Datei/Verzeichnis]
