05 Jun
Today I was wondering how/if I could open a Finder window from my current location in Terminal.app.
Turns out, it is pretty easy and straight-forward. From wherever you are in a Terminal window, simply enter
open .
to create a Finder window for your current location, as you see in the following screenshot:

The Mac OS X open command also works using files as a parameter:
open mymovie.avi
will open your favorite OS X movie-playing application (in my case: VLC) to play mymovie.avi.
01 Feb
Seit Tagen versucht sich ein vHost von server4you.de per SSH selten dämlich an unserem Server auszutoben:
Jan 24 13:13:26 sshd[14029]: Invalid user r00t from 85.25.130.167
Jan 24 14:19:35 sshd[14029]: Invalid user r00t from 85.25.130.167
Jan 24 15:27:09 sshd[14029]: Invalid user r00t from 85.25.130.167
[…]
Wenn er es schnell genug hintereinander probiert, dann erwischt ihn fail2ban. Ansonsten darf er sich zu seinem Kollegen von serverloft.eu gesellen, den ich vor ein paar Tagen ebenfalls schon geerdet habe:
# iptables -A INPUT -s 85.25.130.167/32 -j DROP
Bye, bye.
16 Jan
Have a handful of servers you need to perform the same commands on, e.g., keeping their software packages up to date using aptitude:
aptitude update && aptitude safe-upgrade && aptitude clean
So, you’re performing the same procedure on each host: logging in, executing aptitude, logging out… But WAIT! There’s Cluster SSH for you. 
The idea is simple: type in a command into one console and multiplex that input to several remote, i.e., SSH sessions.
For Mac OS X, csshX (also available as homebrew formula) comes in handy as it provides that multiplexing support for Terminal.app.

Open a console in Terminal.app and type in
csshX user1@host1 user2@host2 user3@host3 …
(providing appropriate user@host combinations for your needs, of course).
Then, you enter your commands, e.g., aptitude update into the red control console. As you can see in the screenshot, the keystrokes are the sent to all open shells. Updating a bunch of servers became… a piece of cake. Hooray for the lazy admin!
22 Jan
Da sind sehr interessante Vorträge dabei. Das ganze sogar mit Live-Stream. 
12.30 Uhr
Begrüßung und Einführung ins Thema
Prof. Walter Kriha, Studiengang Medieninformatik der HdM
12.45 Uhr
Wikimedia – Ausmessen des LAMP Stacks mit Werkzeugen,
Studierende des Master-Studiengangs Computer Science and Media der HdM
13.30 Uhr
Externes Monitoring
Heiko Specht, Account Manager Gomez Deutschland
14.45 Uhr
Wer langsam ist wird verlassen – Performance großer Websites, ein Blick hinter die Kulissen von XING
Dr. Johannes Mainusch, Vice President Operations XING
16.00 Uhr
Client-side Optimizations
Jakob Schröter, Master-Studiengangs Computer Science and Media der HdM
16.30 Uhr
Skalierbarkeit, Datenschutz und Geschichte von StudiVZ – Technik und Diskussion
Dennis Bemmann, StudiVZ Gründer
Die Videos der Vorträge wird es später auch auf der HDM-Webseite (Medieninformatik) zum Downloaden geben.
Update: Der Cruiser hat ein paar Details mitgeschrieben.
Update 2: Die Aufzeichnungen sind online und auf der Seite Thementage des Studiengangs Medieninformatik zu finden.
29 Nov
As a few of my readers already know, this weblog is run by a WordPress 2.x installation on a lighttpd web server (on top of a Debian Linux host). I have also installed, among others, the following plugins for WordPress:
- WP Super Cache — Serves a cached HTML version of WordPress pages instead of serving each page as PHP output for every single request. This speeds up loading time and reduces the web server load. A lot!
- WPtouch — When a user is using a mobile device, e.g., an iPhone, iPod touch, Android phone etc., they will see a slightly different layout of this blog, particularly optimized for small screen sizes.
lighttpd does not understand Apache’s RewriteRules that are used for permalinks in WordPress. Therefore, you’ll have to come up with your own set of rewrite rules. Based on the rewrite.lua script initially written by Giovanni Intini, I have come up with a slightly modified version that takes the presence of the WPtouch plugin into account.
To install this script, perform the following steps:
- Download the latest version of the
rewrite.lua script from my github project site.
- Place
rewrite.lua in the root directory of your WordPress installation, i.e., the same directory where you find the WordPress PHP files such as wp-config.php.
- Update your lighttpd config file for the host running WordPress and include this command:
magnet.attract-physical-path-to = ( server.document-root + "/rewrite.lua" )
- Make sure the Mobile device support option of the WP Super Cache plugin is enabled and the Rejected User Agents list is up-to-date. You’ll find those options in the Settings -> WP Super Cache menu of WordPress once WP Super Cache has been activated.
The lighttpd host configuration should now look somewhat similar to this:
$HTTP["host"] == "myblog.com" {
server.document-root = “/srv/www/myblog/wordpress”
accesslog.filename = “/var/log/lighttpd/myblog/access.log"
magnet.attract-physical-path-to = ( server.document-root + “/rewrite.lua” )
}
Restart lighttpd to put the changes in place. Check your error log for any strange entries. Check the WP Super Cache settings of your blog and try to view it from a mobile device or an iPhone simulator, e.g., iPhoney.
Let me know if you’d like to further improve the rewrite.lua code. Just go ahead, clone it from the github repository and start working on it! If you’re interested in writing your own LUA code check out the Programming in Lua book
or the Programming in LUA website.