Family killed by Ninjas – Need money for Karate lessons
Tips
Die Postbank mahnt…
25. Jun
Und zwar mit folgendem:
Bitte beachten Sie deshalb: Mit der Eingabe Ihrer PIN und TAN auf Seiten wie z.B. www.sofortueberweisung.de, www.payment-network.com oder https://etra.t-online.de verstoßen Sie gegen die Besonderen Bedingungen für das Online-Banking.
Davon mal ab, dass ich sowas eh nicht nutzen würde, hat mich überrascht dass auch T-Online darunter fällt. Andererseits gibt es ja giropay, das auch sehr gut funktioniert und eben die Schnittstellen der Online Banking-Portale nutzt. Also warum auf mehrere Pferde setzen?!
chkconfig: Init-Skript für Apache Tomcat
20. Sep
chkconfig und service sind zwei Werkzeuge unter Redhat, die die Runlevel-Verwaltung vereinfachen. Damit chkconfig feststellen kann, für welche Runlevel der betreffende Dienst aktiviert sein soll, muss man Meta-Informationen in den Skript-Header einfügen.
Apache Tomcat bringt in $CATALINE_HOME/bin/jsvc.tar.gz die Quellen eines Verwaltungswerkzeugs für sich mit. Dieses Paket kann man unter Centos 5.2 (installieren der RPMs gcc-c++ und autoconf ist notwendig) folgendermaßen übersetzen:
tar xfz jsvc.tar.gz
cd jsvc-src
./configure –with-java=/usr/java/default
make
cp jsvc ..
Mit dem folgenden Init-Skript kann man nun service und chkconfig für Apache Tomcat nutzen:
#!/bin/sh # # Startup script for the Apache Tomcat servlet container # # chkconfig: 345 55 25 # description: Apache Tomcat servlet container # processname: tomcat # pidfile: /var/run/tomcat/jsvc.pid # config: /opt/apache-tomcat-6.0.20/conf/server.xml JAVA_HOME=/usr/java/default CATALINA_HOME=/opt/apache-tomcat-6.0.20 DAEMON_HOME=/var/run/tomcat TOMCAT_USER=apache # for multi instances adapt those lines. TMP_DIR=/var/tmp PID_FILE=/var/run/tomcat/jsvc.pid CATALINA_OPTS= CLASSPATH=$JAVA_HOME/lib/tools.jar:$CATALINA_HOME/bin/commons-daemon.jar:$CATALINA_HOME/bin/bootstrap.jar prog="Tomcat" # Source function library. . /etc/rc.d/init.d/functions # Source networking configuration. . /etc/sysconfig/network case "$1" in start) # # Start Tomcat # echo -n "Starting $prog: " $CATALINA_HOME/bin/jsvc \ -user $TOMCAT_USER \ -home $JAVA_HOME \ -Dcatalina.home=$CATALINA_HOME \ -Djava.io.tmpdir=$TMP_DIR \ -wait 10 \ -pidfile $PID_FILE \ -outfile $CATALINA_HOME/logs/catalina.out \ -errfile '&1' \ $CATALINA_OPTS \ -cp $CLASSPATH \ org.apache.catalina.startup.Bootstrap # # To get a verbose JVM #-verbose \ # To get a debug of jsvc. #-debug \ if [ $? == 0 ]; then action else action fi ;; stop) # # Stop Tomcat # echo -n "Stopping $prog: " $CATALINA_HOME/bin/jsvc \ -stop \ -pidfile $PID_FILE \ org.apache.catalina.startup.Bootstrap if [ $? == 0 ]; then action else action fi ;; *) echo "Usage tomcat start/stop" exit 1;; esac
Netbeans vs. Eclipse
28. Aug
Ich muss ja zugeben, ich war nie ein großer Fan von Netbeans und habe immer Eclipse vorgezogen. Aber mit der Zeit habe ich das Gefühl, dass Eclipse immer schwächer wird; sei es die unnötig komplizierte Integration von SCM-Plugins oder die immer schwächer werdende WTP (immer mehr Features, aber auch immer mehr Bugs). Auch die lange Reaktionszeit für einige wirklich störende Bugs (z.B. die fehlenden Server-Adapter in Eclipse Ganymede, welche jetzt mit einem Update nachgeschoben wurden) ist wirklich unschön.
Dagegen scheint sich Netbeans langsam zu mausern. Die aktuelle Version bringt nicht nur native Maven-Unterstützung (was ich sehr schätze) mit, sondern auch integrierte SCM-Plugins für SVN/CVS/Mercurial. Außerdem gibt es nun SUN’s Project Kenai direkt aus dem Menü, sodass man seine Opensource-Projekte bei Kenai direkt aus Netbeans heraus verwalten kann. Rein subjektiv finde ich auch, dass die Oberfläche von Netbeans weitaus flotter ist und diese IDE im Vergleich zu Eclipse weniger Speicher verbraucht.
Mein nächstes Projekt wird jedenfalls ganz sicher mit Netbeans geschrieben werden
Unter http://www.certpal.com/blogs/2009/08/your-favorite-java-ide/ gibt es eine Umfrage zur beliebtesten Java-IDE (wenn auch nicht sehr repräsentativ wie ich finde). Bisher liefern sich Eclipse (45%) und Netbeans (47%) ein knappes Rennen.
5 gute Gründe gegen Nachtspeicherheizung
30. Jul
Da ich mich im Moment etwas nach einer neuen Wohnung umschaue, treffe ich häufig auf Wohnungen mit Nachtspeicherheizungen, die für mich aus unten aufgeführten Gründen nicht in Frage kommen:
- Heizen mit Strom ist teuer
- Heizen mit Strom ist umweltschädlich (-er als Gas)
- bei Wetterumschwüngen ist die Wohnung kalt (oder warm)
- durch Verschwelen von Staub und Verwirbelung der Asche kann die Wohung stark verdrecken
- nicht alle Anbieter bieten Nachtstromzähler und -tarife. Ich möchte nicht wieder bei RWE landen.
SEO-friendly URLs in PHP (5) w/o mod_rewrite
08. Jul
I showed Sebastian my little SEO-friendly PHP example, so why shouldn’t I share it with you people?
Many of you know one or more PHP frameworks like Zend, CakePHP or Symfony which provide SEO-friendy URLs via so called routing functions. Routing it is, because there is a centralized object instance, which delegates function calls to the appropiate class. Implementing this is quite easy with PHP 5 which provides autoloading of classes and (due to its typeless language structure) function loading on demand via “string” variables.
Lets start with a simple class named booking:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 | <?php class booking { private $params; function __construct($params) { $this->params = $params; echo 'Constructor of class booking. <br />'; } function sayHello() { echo 'Hello World in class booking. <br />'; echo var_dump($this->params); } } ?> |
The real logic takes place in the class router, which explodes the request uri and resolves the classes/methods we want to call:
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 48 | <?php class router { private $origUrl; private $controller; private $action; private $params; public function __construct($origUrl) { $this->origUrl = $origUrl; $this->extractController(); } private function extractController() { $urlParts = explode('index.php', $this->origUrl); $mvcParts = explode('/', $urlParts[1]); $this->controller = $mvcParts[1]; $this->action = $mvcParts[2]; $this->params = $mvcParts[3]; } public function connect() { $controller = $this->controller; $action = $this->action; $params = $this->params; if (class_exists($controller, true)) { $controllerInstance = new $controller($params); } else { throw new Exception('There was no controller named ' . $controller); } if (method_exists($controllerInstance, $action)) { $controllerInstance->$action(); } else { throw new Exception('There was no action named ' . $action); } } } ?> |
This is our index.php which instantiates the router object:
1 2 3 4 5 6 7 | <?php require_once('config.inc.php'); $router = new router($_SERVER['REQUEST_URI']); $router->connect(); ?> |
And a config.inc.php, which extends our include path for classes and defines the required autoload function:
1 2 3 4 5 6 7 8 9 10 11 12 13 | <?php set_include_path(get_include_path() . PATH_SEPARATOR . dirname(__FILE__) . DIRECTORY_SEPARATOR . 'classes'); function __autoload($class_name) { require_once $class_name . '.php'; } ?> |
A call of index.php/booking/sayHello/123456 will result in the following output:
Constructor of class booking.
Hello World in class booking.
123456
Further explanation needed? Comment please
PS: Attached example files as zip.
PPS: This is no production code!
Pulseaudio unter Linux
26. Jun
PulseAudio ist zwar prinzipiell eine schöne Sache, hat sich aber durch seine problematische Implementierung in den letzten Distributionen nicht grad beliebt gemacht.
Ich nutze im Moment Fedora 11 mit KDE 4 auf dem Thinkpad und habe festgestellt, dass PulseAudio die CPU-Last auf 50-80% steigen lässt und auch die Musik nicht immer unterbrechungsfrei abgespielt wird. Folglich habe ich PulseAudio mit “sudo yum remove pulseaudio” deinstalliert und nutze jetzt Audio ganz “oldschool” über Alsa, was problemlos funktioniert.
Windows 7 RC erschienen und getestet
02. Mai
Nachdem der Windows 7 RC am Donnerstag erschienen ist, hab ich ihn mir natürlich so schnell wie möglich heruntergeladen. Nachdem ich bemerkt hatte, dass mein DVD-Laufwerk nicht im Thinkpad ist, sondern zuhause liegt, habe ich dann nach alternativen Installationsmöglichkeiten gesucht. Und siehe da, es ist tatsächlich möglich das System aus einem Windows XP auf eine unbenutzte Partition zu kopieren und ganz ohne USB-Stick (müsste 4GB groß sein) oder DVD-Laufwerk die Windows 7-Installation durchzuführen.
Nach ein paar Neustarts war dann das nette System recht flott auf der Platte und ich konnte direkt loslegen. Das erste Problem, auf dass ich gestoßen bin, war, dass die Intel-Treiber für meine X3100 im Pre Production-Stadium sind und bei Video-Wiedergabe das System zum Bluescreen geführt haben. Dies habe ich behoben, in dem ich die “alten” Vista 32-Treiber installiert habe, mit gutem Erfolg bisher. Positiv war auch, dass der Fingerabdrucktreiber im Betriebssystem enthalten sind. Die entsprechende Software von UPEK kann man dann per Windows Update installieren und sich fortan mit Fingerabdruck identifizieren. Weiterhin ist eine Software integriert, mit der man die Partition verschlüsseln kann, das find ich auch sehr zu empfehlen.
Alles in allem hat man das Gefühl, dass Microsoft endlich auf die Wünsche der Endkunden eingegangen ist und auch aus den Fehlern von Vista gelernt hat. Wenn sich Windows 7 am Wochenende als relativ stabil erweist, werde ich wohl mein Windows XP von der Platte werfen (ich war ja schon immer ein “Early Adopter”
)
Zum Anschluss noch ein paar Screenshots:
Nachtrag: Der Release Candidat kann übrigens mit dem Beta-Key aktiviert werden.
ShutDownListener in Java
29. Apr
Manchmal ist es in Java vernünftig, eine Art Destruktor zu schreiben, der z.B. permanent geöffnete Datenbank- oder Netzwerkverbindungen beendet. Dies kann man über einen sogenannten ShutdownHook in der Java Virtual Machine realisieren:
Runtime.getRuntime().addShutdownHook(new ShutdownHook());
public class ShutdownHook extends Thread { public void run() { // TODO: Implement } }
Nachtrag: Irgendwie will mein wp-syntax keine Zeilenumbrüche machen.
Kenai.com
28. Apr
Ich habe es glaube ich früher schon mal erwähnt, hier nochmal ein bisschen Werbung:
<snip>
Having gone live back in September of 2008, Project Kenai has exceeded over 6,000 members and has surpassed hosting 400 open source projects (quite an accomplishment).
We currently offer an integrated suite of productivity services for developers to host their open source code or connect with peers of like mind, and will be enabling additional cloud features very soon.
Today’s features include:
* Source Code Management (Subversion, Mercurial, and Git)
* Issue Tracking (Jira and Bugzilla)
* Wiki
* Forums
* Mailing Lists
* Download facility for documents
* Evolving integration with NetBeans
Anyone can join by going to http://kenai.com. And once they join, if parties are ready to start hosting a project, they simply need to send an invitation request with a description of their project to: kenai-admin@sun.com.
</snip>
Sound unter Windows XP mit dem Lenovo Thinkpad R61
04. Apr
Meinen Blog als persönliche Knowledgebase verwendend lasse ich folgenden Tip ab:
Wer Probleme mit der Installation seiner Soundkarte des R61 hat, sollte sich von der Lenovo Support-Seite den Windows XP-Hotfix Q888111 herunterladen.











Letzte Kommentare