Projekte
Hier werde ich einige meiner Projekte vorstellen. Diese Seite befindet sich momentan noch um Aufbau, in den nächsten Tagen werde ich hier die Scripte auch ausführlich dokumentieren und zum Download stellen.
Passwort Generator für Windows
Fast jeder dürfte unter Linux wohl das Tool pwgen kennen. Ein kleines Textbasiertes Programm, welches eine Liste an zufällig generierten Passwörter ausgibt. Unter Windows gibt es ähnliches, leider sind viele Programme enorm komplex aufgebaut. Als Fan von GNU/Win32 hätte ich allerdings auch etwas textbasiertes unter meinem Windows.
Also habe ich mich dazu entschlossen einen kleinen “Klon” zu schreiben – enstanden ist das kleine Tool pwgen.exe. Ein Tool für die CMD, ganz nach dem Look and Feel von GNU/Win32.
Automatische ALSA-Installation
Dieses Script habe ich hauptschächlich aus dem Grund geschrieben, weil ich auf meinen Ubuntu Systemen immer wieder Probleme mit dem Sound hatte.
Nach meiner Erfahrung sind hier in 99% der Fälle die veralteten Ubuntu ALSA-Treiber schuld. Zumindest mir half es immer wieder, ALSA direkt aus dem Quelltext heraus zu installieren.
Da ich dies mittlerweile schon des öfteren machen musste, gibt es nun dieses Script.
Es hohlt sich automatisch Informationen über die aktuellste Version von ALSA, intalliert die nötigen build-essential Pakete, lädt die ALSA-Treiber und Tools herunter und kompiliert diese.
phpIRCBot
Der phpIRCBot ist ein IRC-Bot, der, wie der Name schon sagt, komplett in PHP geschrieben wurde. Technisch gesehen basiert er auf einer mit PHP eröffneten Sockets-Verbindung. Er hat Standardmäßig nur die wichtigsten Funktionen integriert (!say, !join, !part, !quit etc.), kann aber trotzdem simpel erweitert werden. Weiterhin ist eine !php-Eval Funktion integriert, die es erlaubt mit dem Bot Live PHP-Funktionen auszuführen.
Der Bot war ehemals ein Projekt meines alten Coding-Teams (euIRC.net/#lol) aus dem Jahre 2006.
Momentan wird der Bot Codemäßig erneuert. Das Projekt ist in kürze wieder zum Download verfügbar.
WB Google Sitemap
Ein weiteres PHP Script für das Content Managment System WebsiteBaker (getestet mit v2.7). Es generiert dynamisch aus allen verfügbaren Seiten eine Google konforme Sitemap. Diese kann man anschließend bei den Google Webmaster-Tools eintragen lassen. So erfährt Google immer direkt, wann Änderungen auf der Webseite gemacht wurden.
Da das Script ziemlich simpel gehalten ist, gibt es keine automatische Prioritätsliste. Das heißt alles bekommt statisch einen gleichen Rang, was aber bei kleineren Seiten sicherlich kaum eine Rolle spielen sollte.
Wordpress Myvideo Plugin
Hierbei handelt es sich um ein Plugin, mit dem man sehr simpel Flash-Videos von der Webseite myvideo.de einbinden kann.
Realisiert wird das ganze in einer Art BB-Code. Da ich ebenfalls Wert auf die Regeln des W3C lege wurde der Embeded-Code etwas optimiert. Im Gegensatz zum kopierbaren Code von Myvideo.de bleibt der Code des Blogs XHTML Valid.
Das Plugin basiert auf einem ähnlichen, allerdings für Youtube entwickelten Plugin.
qGuestbook Gästebuch
qGuestbook (oder kurz qGB) war wie der Name schon sagt ein Gästebuch. Es wurde komplett in Objektorientierten PHP5 geschrieben. qGB unterstützte als Datenbanken sowohl MySQL, als auch SQLite sowie PostgreSQL.
Dank der speziellen Modul API war es mit qGB möglich Content mittels sogenannten “Actions” zu an jeder Stelle des Codes zu modifizieren. So konnte die komplette Verwaltung der BBCodes, Smilies und Badwords (zensierte Wörter) komplett in externe Projekte ausgelagert werden.
Dank dem Sprachparser und der Template-Engine (welche prinzipiell das System von phpBB2 aufgriff) konnten auch Design und Sprache ausgelagert werden.
Die besonderen Augenmerke waren bei qGuestbook vor allem auf Sicherheit, sauberer Sourcecode und die Skalier- bzw. Erweiterbarkeit gelegt. Leider habe ich nicht mehr die Zeit dieses Projekt weiter zu betreuten. Deshalb existiert es momentan einfach nur noch für Entwickler, die am Code interessiert sind.
Codeschnipsel und Funktionen dürfen ohne weiteres benutzt und in andere Projekte eingebunden werden, sofern sich an die Prinzipien der GNU GPL Lizenz gehalten wird, unter dem das Projekt steht.
Der Sourcecode und alle internen Beta Releases befinden sich auf Google Code Server. Der aktuellste Code kann direkt mit einem SVN-Client ausgecheckt werden. Bei Rückfragen stehe ich natürlich auch jederzeit zur Verfügung.
Zoofire for Linux
Zoofire ist ein Client für den Dienst von Rapidshare.com. Mit Zoofire ist es sehr einfach möglich Dateien auf Rapidshare hoch- oder herunterzuladen, Account-Daten anzusehen oder Logs abzurufen.
Zoofire ist textbasiert und in Bash geschrieben. Benötigt werden nicht mehr als wget und einige Standardtools wie awk o. ä. Für höhere Downloadgeschwindigkeiten werden allerdings auch andere Downloadmethoden, wie aria2c (ein Tool, welches Dateien in mehreren Verbindungen bzw. “Kanälen” gleichzeitig herunterladen kann).
Teile des Codes (vorallem die Upload-Funktionalitäten) benutzen derzeit noch ein Perl API-Backend, welches aber in der nächsten Zeit ebenfalls in Bash portiert werden soll. Zoofire ist vorallem für den Betrieb auf Servern, NAS und Routern geschrieben worden.
qCMS Content Managment
qCMS ist ein weiteres PHP Projekt von mir, und war auch damals eines meiner ersten größeren Projekte überhaupt. qCMS hat mittlerweile schon 4 “große” Versionen hinter sich.
Während in die erste Version lediglich mit fertigen Template-Dateien funktionierte arbeitet qCMS4 nur mehr mit MySQL5 und mittlerweile ebenfalls eine recht mächtige Modul API, mit der es ähnlich wie bei Typo3 möglich ist, aus einem kleinen Script mit Modulen nahezu jedes Erdenkbare System zu bauen.
Als Beispiel enstand so eine Klasse phpBB3_Integration, welche dafür sorgen kann, dass das User Managment von einem installierten phpBB3 verwendet wird. Das ermöglich dann wiederum, dass man Mitgliedern anderen Content aufzeigen kann, als Gästen beispielsweise.
Grundsätzlich ist qCMS4 für Blogs oder kleinere Webseiten gedacht, lässt sich aber wie gesagt auf nahezu jede Situation anpassen.
Seit Version 4 steht auch die SEO-Optimierung an vorderster Stelle. qCMS hat hier ein nettes Prinzip: es lassen sich virtuelle Unterordner erzeugen, welche z. B. Kategorien abgrenzen. Dabei braucht qCMS natürlich keinen Zugriff auf das Dateisystem. Die SEO-Optimierung wurde komplett mit MySQL realisiert.
Als Template Caching Engine wird Smarty (smarty.php.net) verwandt.
Aufgrund fehlender Zeit für die Dokumentation des Scriptes wird es wohl niemals einen offiziellen, öffentlichen Release geben. Gerne gebe ich den Code aber an Interessenten (gern auch als Referenz) heraus.


