$ cat /dev/brain > /dev/blog

Life is written in chapters but the table of contents is missing.


22 Jan

HDM Stuttgart: Die Langsamen werden verlassen


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

Wordpress on lighttpd: Rewrite rules with WP Super Cache and WPtouch


Screenshot blog.jeanpierre.de (WPtouch)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:

  1. Download the latest version of the rewrite.lua script from my github project site.
  2. 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.
  3. Update your lighttpd config file for the host running Wordpress and include this command:
    magnet.attract-physical-path-to = ( server.document-root + "/rewrite.lua" )1
  4. 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.

  1. This requires ModMagnet being set up for your lighttpd server. Follow the previous link if you need help installing it. []

20 Nov

Partnerschaft.de grast sinnfrei Twitter-Feeds ab


Ein Google Alert (… ja, ich lasse nach meiner selbst googlen, denn ich will ja wissen, wo ich überall auftauche…) trug heute was Erstaunliches in meine Inbox:

Screenshot Google Alert

Moment… “Jean Pierre Wenzel aus Grub”? WTF?

Ein bisschen Surfen im Google Cache brachte dann das hier zum Vorschein:

Screenshot partnerschaft.de

Da möchte Partnerschaft.de wohl die eigene Link-Farm mit mehr Content füllen… Schade nur, dass das thematisch mal überhaupt gar nicht passt — es sei denn, wir ziehen alle schnell um oder gehen Partnerschaften mit unserem Boot-Loader ein… :)

P.S. Da die Frage gleich aufkam: Die hinreichende Schöpfungshöhe ist bei Tweets wohl nicht erreicht, daher sieht die urheberrechtliche Handhabe eher mau aus, sollte jemand sich durch die Verwendung seiner Tweets auf den Schlips getreten fühlen.


19 Nov

Build freetz on CentOS


Recently, I needed to build a newer version of the famous alternative software for AVM Fritz!Box routers: freetz (the main goal was to enable access to a NAS connected through a dynamic cable or DSL line using OpenVPN).

The only Linux machine I could access at that time was a virtual machine running CentOS 5.4, but it served its purpose very well.

Before you can build your own freetz image in CentOS, you’ll need to install the following RPM packages (if they are not already present on your machine) using yum (as root user):

yum install subversion gcc gcc-c++ binutils autoconf automake libtool make bzip2 ncurses-devel zlib-devel flex bison patch texinfo dos2unix unix2dos gettext expat pkgconfig perl ruby gawk python libusb-devel unzip

Now you can get the current freetz sources (see their download website for more details) and start building your own Fritz!Box image.


26 Apr

Fehlermeldungen mit Humor


Ich liebe ja humorvolle Fehlermeldungen:

mount: wrong fs type, bad option, bad superblock on /dev/scd0,
missing codepage or helper program, or other error
Manchmal liefert das Syslog wertvolle Informationen – versuchen
Sie dmesg | tail oder so

(Quelle: mount, Ubuntu 8.04 LTS)

Geholfen hat’s leider nichts, scheinbar wird das Dateisystem auf der verwendeten DVD-RAM nicht korrekt erzeugt. mkudffs läuft zwar ohne Fehler durch, aber das Dateisystem kann ich dann trotzdem nicht einhängen. Vermutlich ist dann doch einfach die Scheibe defekt. Da es sich um ein off-site System handelt, kann ich aber leider nicht mal eben nachschauen. Das muss dann wohl bis morgen warten.


18 Nov

New spam record


As I described in a previous post when talking about spam countermeasures on one of our servers, misbehaving mail senders are locked down using fail2ban for a certain amount of time.

Today, we got two new records in our internal spammer high score:

Banned services with Fail2Ban:                          Bans:Unbans
Exim4:                                                  [243:241]
202.109.98.37 (chipolbrok.com.cn)                       9:10
122.55.96.50 (122.55.96.50.pldt.net)                    7:8

Those two hosts in China and the Phillipines have been behaving most rowdily so far.

And, in addition, I cannot verify that the spam situation improved after one of the major botnet control hosters was taken down. Quite the contrary. We saw a small decrease for a few days but the average number of spam/malware per day that someone is trying to load off at our server has more than doubled compared to the situation two, three weeks ago. :(


08 Nov

Still looking for Adobe Flash Player 9? It’s hard to find.


Adobe FlashAdobe makes a good job of promoting its new version of their Flash Player 10. They seem to have removed almost every single link to the previous version on their website and all old links redirect to the download of version 10.

This might be great if you want to run their latest software, but if for some reason you need a specific older version, you’re gonna be quite upset, e.g., you want Flash on a legacy operating system such as Windows 98/ME, Mac OS X < 10.4, or older Linux/UNIX OSes.

In my case, there is a web site that has been programmed in such a bad way that it is simply broken and unusuable with the latest version of Flash Player 10. I don’t use the service of that website on a daily basis, but I wanted to install Flash Player 9 on top of a Windows installation in a VM.

You can find the installation files for the legacy Flash Player 9 download on Adobe’s TechNote site. Please keep in mind that Adobe may (and surely will) stop releasing any [security] updates for those old versions of Flash.

Of course–after I eventually found the download link and installed the old Flash version–I remembered having a moldy Ubuntu Live DVD somewhere in my drawer… And I bet it has Flash Player 8 or 9 installed…


06 Nov

bash: parameter or environment lists too long


Ouch. I was just trying to delete old log files from the application server in our software development environment…

jpwenzel # rm incomingMessages_member_10.xxx.xxx.xxx_trunk.log.2008-10-*
bash: /usr/linux/bin/rm: The parameter or environment lists are too long.


14 Sep

Hacking the Canon BG-E3 battery grip


When purchasing my Canon Rebel XTI (a.k.a. “Canon EOS 400D” in Europe or “Canon EOS Kiss Digital X” in Asia), I also ordered the Canon battery grip BG-E3. When I was playing with the camera for the first time in a shop I found that (compared to the EOS 20D/30D/40D), the body of the XTi is too small for my hands. Not that I have huge paws, but it just felt too unhandy, especially using some of the heavier lenses, e.g., the Canon EF 100-400mm f/4.5-5.6 L IS USM.

So, when buying the BG-E3, I also got a better grip for the camera — it’s a great enhancement for the handling, not to mention the vertical shutter button and of course (the main reason for a battery grip) extended battery life when using two Canon NB-2LH batteries inside the grip instead of only one in the camera.

Canon BG-E3 battery grip

There is just one problem with that setup: Canon decided to design the battery grip in such a way that it drains bower from both batteries at a time while you’re shooting. On the one hand this means that you can take pictures for a longer period of time but on the other hands you’re still bummed when you run out of battery juice and have to dig through your backpack (you didn’t leave it at home or in the car, did you?) to load a fully charged battery.

My hack to resolve that problem is pretty simple — and I’m sure that I’m not the first one who came up with this idea. I used some masking tape to cover the contacts inside the battery compartment. Masking tape is easier to remove than regular sticky tape, so using it makes this hack easily reversible. On top of the masking tape I placed some regular nonconducting tape.

Hacking the Canon BG-E3 battery grip

After you’re done you can load two batteries in the grip and only one of them is drained during shooting. When you run out of power just open the grip and simply switch both batteries. Continue shooting. Remember to charge the empty battery at the end of your shooting day. This small hack saved my life more than once during our vacation on the island of Sardegna/Italy this summer.

Hacking the Canon BG-E3 battery grip

Another tip: when you’re using the battery grip but only have one battery loaded, place it in the middle slot (as seen on the previous picture), because the camera handling is more well-balanced then. Happy shooting!


31 Jul

Linux: A True Story


Parents: Talk to your Kids about Linux before somebody else does… (xkcd)