14 Jan 2009, 14:33


Today Qt Software made an very important announcement: They are going to release Qt 4.5 with an additional license option: the LGPL. This means that Qt can be used in closed-source-software (and more restrictive OSS licenses) without paying royalties to Qt Software. This is great news. I hope that now there will be a SWT-Qt binding for eclipse which could improve the speed and responsiveness of eclipse by an order of magnitude (if it’s done right).

This is very, very promising.

11 Jan 2009, 13:50

KDE 4.2beta

It’s been a long time since the last post … Finally I’ve got something to say, again ;)

For some time now I’m using the KDE4.2beta packages for Debian from kde42.debian.net and they work very well. Much better than KDE 4.1 from experimental. Today I tried upgrading my system and the package management tried to remove my whole KDE 4 installation. After some digging around I found out that libstreamanalyser0 held back kdelibs5 from being upgraded and due to unsatisfied dependencies the whole KDE installation was going to be removed. After upgrading libstreamanlyser0 by hand and some other packages, everything is fine again.

25 Dec 2008, 19:39

Brother laser printer on Ubuntu

The Brother laser print are well supported on Ubuntu but unfortunately the drivers are not installed by default. The fastest way to get these printers working on Ubuntu is to install all brother-cups-wrapper-* drivers.

23 Dec 2008, 16:57

Clean up your Linux system

After some time most system get polluted with unnecessary files. This is holds for Windows as well as for Linux and probably also MacOS.

To clean-up your windows system there is plenty of Shareware available. For Linux there are especially two applications which I’d like to recommend:

  • fdupes - search for duplicate files
  • FSlint - search for duplicate files (and consolidate them with hardlinks), installed packages, invalid names and a lot more

26 Nov 2008, 21:30

Auto-generate toString() in Eclipse

Ever wondered why Eclipse provides generators for hashCode() and equals() but not for toString()? I don’t know why, but there is a very handy plugin which will relieve you from this task: JUtils toString.

13 Nov 2008, 22:49

VirtualBox filters ICMP Packets

VirtualBox’s NAT code doesn’t forward ICMP packets. Remember when you try to ping some destination from inside the virtual machine, this won’t work. See here for more information in german.

09 Nov 2008, 23:26

Quantom of Solace

I’ve just seen the latest Bond 007 movie, and it was fun. Not as good as a I expect it to be and a bit short, but it was a worthy successor to the Bond series. Too sad, that there were no interesting technical gadgets like in the other Bond movies. It seems like the movie was more serious and less funny than the precedssors.

05 Nov 2008, 21:56


Funny OSM Map

Sometimes OpenStreetMaps can be quite funny.

05 Nov 2008, 19:24

KDE 4.1.3

Slowly the packages of KDE 4.1.3 arrive in experimental. I’m always desperately waiting for the latest release, because KDE 4.1 still has several small issues and each maintenance release improves the situation a bit. I expect the release announcement in a few days.

Update: There it is. The new release is named “Change”. Where that may come from … ;)

05 Nov 2008, 09:21

Garmin Forerunner on Linux

Recently I’ve got a Forerunner 305 from Garmin and, of course, I don’t want to have to use windows in order to communicate with this device. Fortunately it has been for sale some time now and Garmin seems to document their USB protocol well, so there are several tools which help you with this device.

  • Blacklist garmin_gps. Most tools (gpsbabel, garmin forerunner tools) have trouble with this. Add the following lines to /etc/modprobe.d/blacklist:

# stop loading of garmin_gps to serial module for Garmin USB devices blacklist garmin_gps

  • Install gpsbabel and garmin-forerunner-tools: “apt-get install gpsbabel garmin-forerunner-tools”
  • Set proper permissions on the device node. Create a file named /etc/udev/rules.d/51-garmin.rules with this line in it:

SYSFS{idVendor}==“091e”, SYSFS{idProduct}==“0003”, MODE=“666”

  • You want to import your track to Google Earth? Use garmin_save_runs which gives you a *.gmn file. Then use garmin_gpx on this file to get a gpx file and filnally use gpsbabel to convert the gpx to a kml file like this: gpsbabel -i gpx -f <inputfile>.gpx -o kml -F <outfile>.kml
  • To get a list of time, position and hearth rate use this command: gpsbabel -t -i garmin -f usb:0 -o garmin301 -F <outfile>. See also this post in the ubuntu forums.
  • If usb:0 as input file doesn't work try a negativ number to get a list of recognized devices. If this command fails make sure that the module garmin_gps is NOT loaded.
  • Have a look at Trainingchart and PyTrainer
  • Reading waypoints can be done either by garmin tools or by gpsbabel: gpsbabel -t -i garmin -f usb:0 -o gpx -F <outfile>.gpx
  • Writing Waypoints to the Forerunner is easy as well: gpsbabel -i gpx -f <infile>.gpx -o garmin -F usb:0
  • Entering Waypoints (especially for geocaching): The Forerunner supports entering waypoints on the device. For you it may seem obvious, but it took me a long time to find out that this is possible at all. Just enter the Navigation menu, go to "save waypoint" and move the cursor to the position field. There you can <enter> the new values.
  • Display the current time: In the menus the Forerunner displays the current time. I think you can also display it on the main screen if you customize the layout.

02 Nov 2008, 13:29

MySQL: InnoDB won't shrink

I just found out that the InnoDB Tablespace won’t shrink. I’m shocked! Seriously, that is annoying.

02 Nov 2008, 13:25

DCOP Trouble

DCOP is the former desktop communication (IPC) protokol of KDE before version 4. Several legacy applications still use DCOP, e.g. Amarok. Sometime Amarok told me that the dcopserver was not available. I didn’t care, but soon I found out that amarok kept spamming my .xsession-errors. This flodded my home partition in a few minutes and rendered the desktop unuseable. The solution was to fix DCOP. DCOPserver didn’t start because of stale files in /tmp. I did try to delete the content of /tmp, but rm wouldn’t let me do so because there were stale NFS references. Although I don’t use NFS at all. I didn’t want to waste time on this issue and just re-created the filesystem on my /tmp partition. Now everything is working fine again.

20 Oct 2008, 15:51


Since I got a Fritz!Box as my Home-Router, the good old Linksys WRT54G just lay in the corner and settled dust. Is became aware of OpenWRT a long time ago, but I didn’t take the time to try it out. One reason was that I didn’t want to loose the comfortable web GUI for configuration internet access. Today I finally got the latest release of OpenWRT (Kamikaze 7.09).

The installation of the OpenWRT Firmware was quiete easy. At first I did backup my old router configuration in the Webinterface, then I did an Firmware Upgrade, also from the Webinterface. After the firmware was uploaded the router took about one or two minutes to reboot and did then respond to pings on Note: If you already have a device using the address on the network, you’d better connect the WRT54 directly to your pc.

The documentation for OpenWRT is quite scattered around the wiki. Probably the first page to look at is the page about configuring Kamikaze. One thing that confused me at frist was how I could log in to the router after the upgrade. Since OpenWRT, by default, doesn’t offer a webinterface and I couldn’t find a default password for SSH I was curios how to log in. The solution is fairly simple: Just connect via telnet, set a root password and the log in via SSH. If you want to change the ip address, go to /etc/config/network and change the address of the “br-lan” interface. You should also add a default gateway and an DNS server, in case your router isn’t going to be connected over his wan interface.

19 Oct 2008, 08:31

New Harddrives

Recently I’ve got myself two new harddrives. I’ve always sticked to Western Digital in the past, but I didn’t find a good offer this time. I’ve found the HD103UJ from Samsung but at first I hesitated because there were reports of high failure rates, obviously in one of the first charges. In the end I’ve got myself two of these and am pretty happy with them. Transfer speed is ok and they stay really cool. About 36°C after several hours of operation with steady cooling. Since the IBM 307030 I’ve always equipped my HDDs with active cooling.

13 Oct 2008, 21:47

gpg: waiting for lock ...

Recently I did experience a very strange problem related to GnuPG. My mail program, KMail, stopped responding as soon as I did try to open a PGP signed mail or even if I did write a mail. I tracked the problem down to GnuPG. Some long-gone process didn’t release his lock and caused strange troubles.

After removing the locks (pubring.gpg.lock and .#*) it did work fine again.

03 Oct 2008, 10:01

KDE 4.1.2

The latest release of KDE 4.1, 4.1.2, is the second monthly bugfix and perfomance update of KDE. Although not yet officiall announced, the release is already tagged in the KDE SVN and available from Debian experimental. It has brought significat performance improvements and fixed at least one very annoying bug in KWin, which used to crash a every login on my system. Update: It still crashes sometimes, but not always.

27 Sep 2008, 13:39

Can't connect to X!

Whenever I “su” to work as root and start an X application I get thoese “Can’t connect to X!” errors. This happens because the X-Server is run by the respective user. To avoid this problem you can “forward” the Xauthority from the user to root.

Use this snippet in roots .bashrc:

if [ -n “$DISPLAY” ]; then
  export XAUTHORITY=“/home/<username>/.Xauthority”;
  export DISPLAY=”:0.0”;

26 Sep 2008, 18:23

nfs: No such device

I was trying to mount an NFS share but the mount command failed with “nfs: No such device”. First I was a bit confused, but I soon found the reason: The kernel was compiled without NFS (client) support. D’Oh!

Just recompile the kernel with NFS client support and it will (probably) work.

17 Sep 2008, 10:07

GnuPG: Change the keyring location

There are several ways to tell GnuPG a custom keyring location.

  • Move .gnupg and set GNUPGHOME to the new location
  • Move .gnupg and use –homedir=<dir> on every invocation of GnuPG
  • Leave .gnupg, only move the keyring and set path to gpg.conf:
primary-keyring <dir>/pubring.gpg
secret-keyring <dir>/secring.gpg
trustdb-name <dir>/trustdb.gpg
keyring <dir>/pubring.gpg

17 Sep 2008, 08:06

GnuPG: Resource requirements

From time to time I let GnuPG refresh the public keys (–refresh-keys) and to my suprise it took over one hour, using one core at 100% and about 6GB of memory. This is bit too much, isn’t it?

13 Sep 2008, 12:46

MySQL: Replication hints

When you have to handle more queries than your DB is able to handle, if you want to improve reliability or if you don’t want to shut your db down for backups, then you’ll probably look at Replication. For MySQL there is a quite good howto in the official documentation but unfortunately some questions are left open.

First of all you should read the MySQL documentation related to replication. Its well written and contains much important information. If your are setting up exclusive slave nodes, i.e. nodes which only serve as slave and don’t contain data different from the master, you make sure that your slave won’t get corrupted if you set the whole DBMS into read only mode. Just add the line “read_only = 1” to your my.cnf. Put it below the server_id setting.

The MySQL documentation will tell you that you can use your DB dump to set up further slave nodes. That is right, but remember that you need to make a new DB dump as soon as the latest binlog, which was used during the dump, is expired, i.e. deleted/compressed by logrotate. You will get “file binlog.xxx not found” errors in the syslog of the slave if you don’t remember this. How long it takes for the binlog to expire depends on the load on your DB.

When you make a copy/dump of your DB you have basicly two options: Backup raw-table files or use mysqldump. It suggest you use mysqldump with the options lock-table and master data: “mysqldump –lock-tables –master-data –all-databases”. This will add the master-information (only binlog position and offset) to the dump. Don’t forget to set the other master information (host, port, user, pass, …) before you start the slave.

12 Sep 2008, 23:23

Secure Remote Storage with FUSE and encfs+sshfs

When you often the computer you work with and you want to have your important files at hand every time you can either carry them around with you on a USB-Stick - perferable encrypted - or you can keep them on a server somewhere. But you’ll probably want to encrypt them there, too. You never know who comes in posession of the data. Beware of the Stasi2.0! One way to achieve secure remote storage is powered by FUSE. With the help of FUSE, encfs and sshfs you can acomplish this task quiete easily. Just get a kernel with FUSE support and install encfs and sshfs. With the help of encfs you can create an encrypted directory (file-level encryption, no blockdevice, no fixed devices size but visible meta-data) and sshfs lets you put this directory on any server on which you have ssh access. Of course not everybody will have an SSH login to some always-on server, but you can easily combine encfs with other remote-storage FUSE drivers. For example GmailFS and there is probably also some WebDAV FUSE driver.

I did experience some problems with FUSE first. Make sure you are a member of the group fuse or else you will run into trouble. If you don’t use udev you may have to create the node /dev/fuse.

If you are unhappy with the performance/latency of this setup you should try to combine encfs toegehter with the NFS storage features of wua.la. Wua.la has some drawbacks, e.g. I wont trust the encryption, but with encfs this should be pretty safe.

Update: I have just tested this encfs inside Wuala, and it seems to work quite good.

I have hacked a small script that uses pinetry-* to ask for the password for the encrypted volume. Remember that it is only a quick hack.

Update II: There is also a german article on dropbox, which can be used instead of dropbox.

Update: Better use kdialog, see encfs Documentation on that topic.

#!/usr/bin/perl -w
# This script invokes pinetry-qt to ask for the encfs password
# written by Dominik Schulz &lt;lkml@ds.gauner.org&gt;
use IPC::Open2;
local (*READER, *WRITER);
my $pid = open2(\*READER, \*WRITER, "/usr/bin/pinentry-qt");
my $ret;
print WRITER "SETDESC Enter decryption Passwort for encfs:\n";
chomp($ret = &lt;READER&gt;);
print WRITER "SETPROMPT Password:\n";
chomp($ret = &lt;READER&gt;);
print WRITER "GETPIN\n";
chomp($ret = &lt;READER&gt;);
my $continue = 1;
my $pw = "";
while(chomp($ret = &lt;READER&gt;) &amp;&amp; $continue &gt; 0) {
  if($ret =~ /^D.*/) {
    $continue = 0;
    $pw = substr($ret,2);
close READER;
close WRITER;
print "$pw\n";

You can use it in combination with the “–extpass” switch of encfs. For example

encfs --extpass=encfs-pinentry.pl ~/crypt-raw ~/crypt

10 Sep 2008, 12:46

This RRD was created on other architecture

Got trouble moving RRD files (e.g. munin) from one host to the other? Take a look at this: This RRD was created on other architecture

02 Sep 2008, 11:42

CACert Assurer Challenge

I did manage to pass the CACert Assurer Challenge on the first try, Yeah! :)

So if you want CACert assurance in the area of Frankfurt (Main)/Germany contact me and I’m sure we can arrange a meeting. I provide you with 25 Points for the WoT.

01 Sep 2008, 16:15

rsync for replication

If you want to replicate the contents of a computer to another one over unsecure networks you can use rsync in combination with ssh to acomplish this.

rsync –delete -avze ssh user@hostname.domain.tld:/home/user/ /home/user/backup
This command will replicate the content of the remote machine to the local host. In case you want to use the other directon you can use the following command.
rsync –delete -avze ssh /home/user user@hostname.domain.tld:/home/user/backup
In case you need root privileges for replication take a look at pam_access.

Also take a look at the Ubuntu Wiki.

01 Sep 2008, 10:48

Debian lenny successor will be called squeeze

Luk Claes announced on the debian-devel-announce list the name of lennys successor, which will be squeeze, a three-eyed space alien.

Release name ~~~~~~~~~~~~ We will continue to use Toy Story character names for lenny’s successor, which will be called ``squeeze” (three-eyed space alien).

30 Aug 2008, 11:02


Recently OpenStreetMap has got a lot of attention, at least in the german media, and of course everybody was comparing it to Google Maps and people started to compain that OSM is incomplete and will never reach the coverage as it has GMaps, but what I find impressive about OSM is the speed of advancements. Ever since I became aware of OSM, several months ago, I kept watching my hometown (<8000 inhabitants). In the beginning there were only two or three major streets in OSM but as of today nearly all streets, including tiny trails which you won’t find in any other map, were properly mapped.

27 Aug 2008, 14:35

KMail and PGP/MIME (GnuPG)

For some time now I was trying to setup KMail to work with GnuPG but I did always fail. I did RTFM, but apparently not close enough. After I did manage to get it working I did write down my experiences and like to share them with you. The result is a englisch Howto and an german Howto which try to explain how to setup KMail to use GnuPG. Have fun and notify me in case I made an mistake!

25 Aug 2008, 20:13

KDE4.1 - First impressions

After using KDE4.1 for some days I’m quite satisfied. Most of the applications perform very good and are stable. However, there are still several annoying bugs I have to deal with. They prevent me from recommending KDE 4.1 unrestrained to others.

The first bug when I login is that KWin crashes instantly. Sometimes it takes the whole X Server down but most times it just notifies me that it has crashed and is restarted. Then I can continue working. I did try to make a proper bug report, but as soon as I install the debug symbols KDE becomes unuseable at all. I’ll have to investigate this further as I have much interest in getting this bug fixed.

The second most annoying bug regards Dolphin and Konqueror or, the be precise, the metainformation framework (nepomuk or strigi, I’m not sure). As long as the “information” sidebar is enable Dolphin crashes instantly when I move the mouse over some file (not directory) and the backend tries to load the related information. This is super annoying but fortunately there is a simple workaround: just disable the information sidebar :)

But apart from this bugs I have to say: KDE4.1 rocks!

I especially like the new user interface, KWins compositing features, Dolphin (as long as it doesn’t crash) and Kopetes OTR plugin.

There are also some slight difficulties regarding KMail, but I hope these will be adressed until KDE4.2 when KMail is supposed to be based on Akonadi.

25 Aug 2008, 20:01

Linux: Change Groups without leaving current session

Ever wonderd how you could change your current group without ending your current session (i.e. logging out and in again)?

You can use newgrp to achieve this. Simply enter newgrp <desired group> and you’re done. Of course this only works for groups you are a member in or have the group password.

22 Aug 2008, 12:49

Test drive KDE4.1 on Debian Lenny

The Debian KDE Maintainers recently released inofficial Backports of KDE4.1 for Debian Lenny for those who didn’t wan’t to use experimental packages or wait for lenny to become stable. I was waiting for this packages for a long time. Since I’ve used KDE 4.0 at work I did want to use it at home, too. But I did not want to break my system more than absolutly necessary and I didn’t like some of the shortcoming of KDE 4.0, so I had to wait. The 4.1 release looked very promising to me and so I did decide to give it a try. Many people told me not to use KDE 4.1 but I did really like KDE 4 since my first contact. Unfortunately there are known issues with KDE 4.1 and the proprietary Nvidia drivers which I use and the compositing features of KWin only work with TwinView and not Xinerama, so I did prepare myself to some hurdles. I want to give a short report of my experiences on KDE 4.1 on Debian GNU/Linux lenny. Basically I did follow the steps described on the Backports page:

  1. Add “deb http://kde4.debian.net/ lenny main” to the sources.list.
  2. aptitude update Then I did try to “aptitude install kde4”, but as the Backports page states, this didn’t work. So I had to clean up the dependency mess (aptitude -f install) and start with the minimal kde package aptitude install kde4-minimal and then install the modules one by one. At least one of them had unmet dependencies and couldn’t be installed but I hope those will be resolved soon.

When KDE4.1 was finally installed I re-installed kdm by aptitude install kdm and logged in for the first time. The startup took a rather long time - I guess all the initial confguration files were created (or whatever).

I soon realised that the KWin/Nvidia issues were really annoying so I did look for a solution. Fortunately there were already a lot of good hints on this. While trying to fix this I did notice that my Xinerama setup was not supported and I had to switch (back) to TwinView. I don’t remeber why I did use Xinerama instead of TwinView, but I suppose it did just work back then when I set up the two monitor configuration. So as for the performance issues: Depending on the hardware you have, there are a lot of possible bug-fixes. At first you should make sure that you use a recent release of the Nvidia drivers. I did use 177.67 (BETA) from Nvidia and sticked to the tweaks from Nvidia. I put my “nvidia-settings” command in a bash script inside “.kde4/Autostart”.

Below is a list of modifications I made to my xorg.conf. Please note that these are only the modifications I made to the xorg.conf, this is no complete configuration.

After this changes I restarted the X server and made a few small modifications to the KWin settings:

The result? My KDE4.1 desktop, full compositing features enabled, is blazing fast now!

Section "ServerFlags"
Option "Xinerama" "0"
Section "Extensions"
Option "Composite" "Enable"
Section "Device"
Identifier     "nvidia0"
Driver         "nvidia"
Option      "NoLogo" "True"
BusID       "PCI:1:0:0"
Screen      0
Option "HWcursor"
Option "CursorShadow"
Option "CursorShadowAlpha" "32"
Option "CursorShadowXOffset" "3"
Option "CursorShadowYOffset" "3"
Option "AllowGLXWithComposite" "True"
Option "TwinView" "True"
Option "TwinViewOrientation" "LeftOf"
Option "MetaModes" "1280x1024,1280x1024;1280x1024;1024x768,1024x768;800x600,800x600"
Option "SecondMonitorHorizSync" "UseEdidFreqs"
Option "SecondMonitorVertRefresh" "UseEdidFreqs"
Option "RenderAccel" "true"
Option  "UseEvents" "false"
Option "TripleBuffer" "1"
Option "DamageEvents" "1"
Option "BackingStore" "1"
Option "PixmapCacheSize" "70000"
Option "OnDemandVBlankInterrupts" "true"
Section "Screen"
Identifier     "Screen0"
Device         "nvidia0"
Monitor        "monitor0"
DefaultDepth    24
SubSection     "Display"
Depth       24
Modes      "1280x1024" "1024x768" "800x600" "640x480"
Option "AddARGBGLXVisuals" "True"
Option "DisableGLXRootClipping" "True"
Option "PixmapCacheSize" "1000000"
Option "AllowSHMPixmaps" "0"
Option "AddARGBGLXVisuals" "True"

19 Aug 2008, 12:18

Eclipse/SWT - Context Menus on TreeViewers

When trying to create context menus of SWT TreeViewers I didn’t find much documentation on that issue and the snippets I found were quite confusing. Here is an approach that did work out for me. Please note that there are other ways to achieve this as well. public class TreeView extends ViewPart { … public void createPartControl(Composite parent) { … this.initContextMenu(); } private void initContextMenu() { // initalize the context menu MenuManager menuMgr = new MenuManager(“#PopupMenu”); //$NON-NLS-1$ menuMgr.setRemoveAllWhenShown(true); menuMgr.addMenuListener(new IMenuListener() { @Override public void menuAboutToShow(IMenuManager manager) { Action action = new Action() { public void run() { super.run(); // TODO do something } }; action.setText(“Title for Action”); manager.add(newEntry); } }); TreeViewer viewer = this.treeViewer; Menu menu = menuMgr.createContextMenu(viewer.getTree()); viewer.getTree().setMenu(menu); getSite().registerContextMenu(menuMgr, viewer); }

15 Aug 2008, 09:46

Eclipse - Export RCP Products for multiple platforms

When deploying you can export the product for any supported platform if you have installed the RCP delta pack. To download the delta pack go to the eclipse download page and select your desired eclipse release. Then scroll down to the section “Delta Pack” and download it, unzip the package somewhere. Open eclipse, go to “Window -> Preferences -> Plug-in Development” and select “Add …” on the “Plug-ins” Tab. Select the directory where you have unzipped the archive. Now you can close the dialog by clicking Ok and open your .product file where you should “Add Required Plug-ins” on the “Configuration” tab.

07 Aug 2008, 08:20

Arora - a lightweight, cross-plattform WebKit Browser

In case you haven’t heard of it: There is a new browser based on QtWebKit. It is fast, small (less than 10k LOC) und cross-plattform due to QT4.4. You can grab it from the project page on google code. I did compile a package for Debian lenny/AMD64, just in case you don’t want to compile it yourself. Ok, my fault, I did underestimate Debian. Arora is already in the archives. I didn’t even do an “apt-cache search arora” before compiling it … ouch.

22 Jul 2008, 22:12

Terminal-Multiplexer Screen

Screen kann sehr praktisch sein, insbesondere wenn man öfter kritische Arbeiten über instabile SSH Verbindungen abwickelt.

Infos bei der Uni Erlangen und dem LinuxWiki.

21 Jul 2008, 21:26

IPTables - Block selected IPs

Sometimes people seem to think that bruteforcing a random server would a good idea. I don’t agree with them. They just fill up my auth.log and cause several alarm bells to ring. If you use fail2ban, fine, it will handle this for you. If you don’t use it, you could still ban them manually.

If you just want to ban a single source IP - beware of faked sources adresses - until the next reboot of your machine, use this:

iptables -I INPUT -s <sourceip> -j DROP
This reads as follows: Inside the input chain look for the source adress <sourceip> and the jump to chain “DROP”.

If you want to remove this entry you’ll just need to replace the -I in front of INPUT by -D.

21 Jul 2008, 09:03

OpenPGP/GnuPG Key Backup

Thought about Backup recently? What about Key-Backup?

If you happen to use OpenPGP to encrypt your files, you’ll probably want to do a key backup so you can decrypt them later if your OpenPGP installation should get lost. You’ll only need a few simple commands.

gpg -ao mypublic.key –export <keyid>
gpg -ao myprivate.key –export-secret-key <keyid>
This will export (-o) the public (–export) and private keys (–export-secret-key) of the keypair with the id <keyid> to two seperate files in ASCII (Base64) encoding (-a). How you find out the keyid? Use the parameter –list-keys.

17 Jul 2008, 16:15

OpenVPN: Static IP Assignments

OpenVPN is a great VPN solution: Easy to use, flexible and stable. But it lacks documentation. When trying to assign static ip adresses to my VPN clients I felt a bit lost. The solution is to create a directory inside the OpenVPN configuration directory and put the client-dependent configuration snippets there. Lets assume this directory is called “ccd” for “Client Configuration Directory”. Then you need to add the line “client-config-dir ccd” to your server.conf.

Inside the ccd you create one file for each client you want to configure and call the file exactly as the common name from the clients certificate. In this files you can use ordinary OpenVPN configuration statements. For assigning fixed IPs you would use “ipconfig-push 10.8.0.X” if you use the suggested subnet of “”.

30 Jun 2008, 14:10

Eclipse 3.4 Issues

After migrating to the latest Eclipse Release 3.4 aka Ganymede, I had to reinstall the essential plugins. Neither PDT nor Subclipse did work OOTB. For PDT you can follow the instructions from the PDT Wiki and for Subclipse have a look at the mailing list archives.

26 Jun 2008, 19:56


Did you every want to actually improve your favorite distribution? Then go to http://ddtp.debian.net/ddtss/index.cgi/xx and help translating Debian to your language!

26 Jun 2008, 19:14

Firefox 3 keeps switching to offline mode

Since I’ve installed the final release of Firefox 3 on my Debian “lenny” system there is this annoying bug, that Firefox keeps switching to offline mode all the time, i.e. when I close it.

After some searching I found out that there are others who have the same problem and that this is a “feature” related to an application called “Network Manager”. Altough Network Manager is installed - I can’t tell why - I did never use it. So why does Firefox keeps annoying me? I don’t want to click on “File -> Work Offline” everytime I start Firefox to get access to the Internet. If you experience the same problem and wan’t to check if it is NM’s fault then run this command in a terminal and see if you get a result of “3” (which means that NM thinks you are online) or “4” (which means offline).

A developer claimed that setting “toolkit.networkmanager.disable” to true would cause Firefox to stop this behavior, I’ll try it out … Nope, doesn’t work. Only completly removing NetworkManager helps.

26 Jun 2008, 13:24

Eclipse 3.4 - New Features

An interesting Screencast showing some of the new features in Eclipse 3.4 Ganymede can be found at the Screencast Blog.

25 Jun 2008, 13:05

Teamspeak 2 on Linux

Is was trying to get Teamspeak 2 (Client) running on a recent Version of Debian Lenny. The Problem was that, the Kernel was compiled w/o OSS Support. Installing “alsa-oss” solved my problem and Teamspeak ran perfect.

18 Jun 2008, 11:33

RESTlet: Selective Guards

When creating RESTful WebServices using the RESTlet API you may wan’t to create a selective Guard, i.e. a password protection for special HTTP methods only. Perhaps you want to allow all GET requests but require authentification for modifying requests like PUT or POST.

In this case you’ll need to extend the Guard class and overwrite the methods authenticate and authorize. An example implementation would look like this:

public class SelectiveGuard extends Guard {
public ModificationGuard(Context context, ChallengeScheme scheme,
String realm) {
super(context, scheme, realm);
public int authenticate(Request request) {
if (!request.getMethod().equals(Method.GET)) {
return super.authenticate(request);
} else {
return 1;
public boolean authorize(Request request) {
if (request.getMethod().equals(Method.GET)) {
return true;
} else {
return super.authorize(request);

17 Jun 2008, 13:40

Visual Representation of SQL Joins

Coding Horror provides a great visual representation of SQL Joins, just in case you need one.

17 Jun 2008, 12:54

Apache: Force all Visitors to use HTTPS

When using Apache with SSL you may want to force all Visitors to use HTTPS instead of HTTP.

After configuring Apache for SSL you can achieve this by using this VirtualHost definition:

<VirtualHost <your-ip>:80>
RewriteEngine On
RewriteCond %{HTTPS} !=on
RewriteRule ^<strong>(</strong>.*<strong>)</strong> https://%{SERVER_NAME}/$1 [R,L]

You should have the SSL-enabled VirtualHost running on the same IP.

15 Jun 2008, 18:35

Asus Maximus Formula on Linux

Recently I bought the Asus Maximus Formula Mainboard in replacement for my old and unstable Abit AX8. I did this to get rid of the endless trouble a VIA Chipset can bring you. I did have lots of trouble with the VIA Chipset on the AX8. The board itself actually wasn’t so bad, but the chipset definetly is. The most remarkable problem was that my SATA2 hard drives weren’t recognized when connected to the board. I had to limit them to SATA1 for the board to recognize them. This shouldn’t be a problem in theory since SATA1 can transfer about 150MB/s, but after replacing the board I realized that I did waste a lot of performance on the old board. The hard drives perform much better on the new board. The Maximus Formula seems to be targeted at Gamers, but the board has proven to be rock-solid until now. You get lots of overclocking options but for the time being I won’t touch them. System stability is more important to me than raw speed and I don’t play games that often. Running Linux on the board is super easy. Actually it is more easy than running Windows Vista! Before you ask: I use Vista only for playing games that won’t run on Linux.

Asus Maximus Formula

Before buying this board I did some search on the web and found a greate page on Hentges.net which did resolve most of my issues before they became a problem. The page gives you all the information you need to get the board running with linux. Basically you only need to make sure to use the right Kernel version. Anything above 2.6.23 will run for sure. I did use a Debian GNU/Linux testing netinstall image to install the operating system. The stock kernel supports all of the important features of the board out of the box.

If you plan to build your own kernel, you’ll need this modules:

  • “JMicron JMB36x support” (CONFIG_BLK_DEV_JMICRON) for the IDE Controller
  • “Intel Core (2) Duo/Solo temperature sensor” (CONFIG_SENSORS_CORETEMP) for monitoring the CPU, given you have a Core CPU
  • “Winbond W83791D” for some of the sensors
  • “Winbond W83627DHG” for some other sensors
  • “ACPI Processor P-States driver” (CONFIG_X86_ACPI_CPUFREQ) for frequency scaling
  • “SysKonnect Yukon2 support” (CONFIG_SKY2) is you happen to use the on-board NICs
  • “Intel HD Audio” (CONFIG_SND_HDA_INTEL) for the soundcard
If you plan to install Windows Vista from a drive on the IDE Controller you need to dig for the appropriate driver somewhere on the Asus CD. It’s somewhere below “Driver -> … -> Application” or so.

The graphics card, a Geforce 9600 from Gainward, ist running perfectly well with the closed-source driver from nVidia.

12 Jun 2008, 22:43

Buggy Java x86_64?

It looks like Eclipse for Linux x86_64 running on top of an Java for x86_64 is very unstable and crashes from time to time. At least that is what I can gather from my own experience and some reports from the Sun Java Forums. It looks like I have to stay with Java x86 (non-64bit) for a while.

And yes, I’m trying to write more posts in english.

10 Jun 2008, 21:40

ISP E-Mail Server mit Debian etch und exim 4

Nachdem ich schon einige Jahre sehr zufrieden mit exim als Mailserver bin und immer wieder über Berichte von Personen stolpere die arge Probleme mit der Einrichtung ihres Postfix Mailservers haben bin ich zu dem Schluss gekommen, dass es einfach an einem vernünftigen Tutorial zur einrichtung eines ISP-ähnlichen Mailservers mit exim 4 und Dovecot unter Debian etch mangelt. Anhand des erstklassigen Tutorials zu Postfix habe ich mir überlegt welche Kriterien ein gutes Tutorial erfüllen muss und welche Punkte angesprochen werden müssen. Unter dem Titel ISP Email Server mit Exim 4, Dovecot, MySQL und SpamAssassin auf Debian GNU/Linux etch habe ich ein Tutorial zu dem Thema erstellt, das hoffentlich alle Fragen beantwortet. Für jegliche Kritik - bevorzugt konstruktive - bin ich dankbar.

10 Jun 2008, 14:42

Keyword Substitution bei SubVersion

Bei SVN gibt es, wie bei CVS, die Möglichkeit bestimmte Schlüsselwörter in Textdateien automatisch ersetzen zu lassen. Dies sind unter anderem die praktischen Schlüsselwörter $Revision$ für die aktuelle Revisionsnummer der Datei, $Author$ für den Autor sowie $Date$ für das letzte Modifikationsdatum. Dieses Variablen werden immer bei einchecken auf den neusten Stand gebracht. Damit man dieses Feature jedoch nutzen kann muss man es erst über “svn propset svn:keywords “Revision Date Author” filename.ext” aktivieren.

Mehr Informationen im SVN Buch.

10 Jun 2008, 11:33

GoogleEarth: Fehlercode 29

Nachdem ich mein Problem mit Eclipse lösen konnte, bin ich beim starten von Google Earth auf ein neues interessantes Problem gestoßen. Die installierte Version wollte erstmal gar nicht starten. Na gut, schnell die aktuelle Version runtergeladen (4.3) und installiert. Die ist dann auch gestartet aber die Erde wurde nicht angezeigt. Stattdessen ein “Fehlercode: 29”. In den Hilfeseiten von Google findet man dazu im Moment nichts, aber im Ubunutusersforum. Dort gab es auch die Lösung: Den 32-bit DNS-Resolver installieren.

aptitude install lib32nss-mdns

09 Jun 2008, 22:29

Eclipse unter Linux x64

Nach der Migration meines Systems von 32-bit auf einen 64-bit Kernel kam es beim Starten von Eclipse zu einer komischen Fehlermeldung:

libgtk2.0-0: error while loading shared libraries: libgtk-x11-2.0.so.0
Der Grund war einfach, dass ich eine 32-bit Version von Eclipse (SWT) hatte und die natürlich die entsprechenden Libraries nicht gefunden hat. Die Lösung habe ich in einem Debian Bugreport gefunden.

05 Jun 2008, 22:03

ProFTPd offen wie ein Scheunentor

Wie ich gerade lese ist ProFTPd, zumindest mit mod_sql, offen wie ein Scheunentor. Man kann sich mit dem Benutzer “mysql” und dem Passwort “!” einloggen.

30 May 2008, 09:39

Firefox 3 Download Weltrekordversuch

Mozilla versucht zum Release von Firefox 3 einen Weltrekord aufzustellen. Jeder kann bei Spread Firefox mitmachen.

29 May 2008, 14:34

WebServices mit Java6

Eine schnelle, übersichtliche Einführung in WebServices mit Java 6. Sehr zu empfeheln für Einsteiger. Apt muss übrigens im src/ Verzeichnis des Projektes ausgeführt werden. Also etwas so “cd src/; apt -cp . path/to/your/file/in/a/package/File.java” um die Annotationen in File.java zu verarbeiten.

29 May 2008, 14:32

Exim4: Debugging

Um die eigene Exim Konfiguration zu analysieren, insb. um herauszufinden warum bestimme Mails abgewiesen werden, gibt das das nützliche Argument “-bh <ip>” mit dem man exim eine SMTP-Sitzung von der angegebene IP simuliert. “exim4 -bh <ip>” öffnet eine Art Telnet Sitzung auf der man manuell die SMTP Befehle absetzten kann und jede Menge debug Ausgaben zur Fehlersuche bekommt.

Eine einfach Mail schickt man etwas so ab:

EHLO localhost.localdomain
MAIL FROM: user@localhost.localdomain
RCPT TO: user2@localhost.localdomain

19 May 2008, 22:47

IPv6 unter Java abschalten

Das neue, alte Internetprotokoll IPv6 bietet eine Menge Vorteile, aber es kann auch Probleme machen. Vor allem schlechte Third-Party Bibliotheken einsetzt. Unter Java lässt sich IPv6 zum Glück ganz einfach abschalten:


Einfach als VM Argument übergeben und Java wird versuchen den IPv4 Stack zu verwenden.

18 May 2008, 19:11

Heise über IPv6

Heise Online hat in letzter Zeit immer wieder über die Adressknappheit von IPv4 berichtet, aber anstatt mal etwas zu machen und den eigenen Dienst über IPv6 verfügbar zu machen gibts auf ein “ping6 www.heise.de” immer nur ein “unknown host”.

Heise-Artikel zu IPv6:

14 May 2008, 19:11

Debian SSL Super-GAU

Nur für den Fall, dass es jemand noch nicht mitbekommen hat: Debian, sowie alle Derivate wie Ubuntu, hat gerade so etwas wie den Krypto-Super-GAU erlitten. So ziemlich alle privaten Schlüssel die seit dem 17.11.2006 erzeugt wurden sind absolut unbrauchbar und mit einfachsten Mitteln angreifbar.

Einschlägige Quellen empfehlen jedem, Administrator wie Nutzer, die privaten Schlüssel neu zu generieren nachdem die entsprechenden Pakete aktualisiert wurde.

Hier gibts die wichtigsten Links zum Thema grob in der Reihenfolge der Wichtigkeit sortiert:

Tja, ich hoffe, dass die betroffenen Admins schnell handeln, sonst kann sich das zu etwas ähnlichem wie die CodeRed Geschichte entwickeln und dem Ansehen von Linux ernsthaften Schaden zufügen. Meine Systeme sind jedenfalls schon abgesichert.

07 May 2008, 21:52

Gedrehte Tabellen in LaTeX

In LaTeX kann man ganz einfach um 90° gedrehte Tabellen erzeugen.

Einfach \usepackage{rotating} am Anfang einfügen und mit

02 May 2008, 12:12

Amarok Probleme mit SQL-Lite

Amarok scheint in der aktuellen Version (1.4.9) ein Problem mit großen Musiksammlungen und SQL-Lite zu haben. Hier hilft i.d.R. MySQL als Backend zu verwenden. Dann ist die gefühlte Geschwindigkeit von Amarok deutlich besser. Siehe auch Bug #479068.

02 May 2008, 08:00

OSGi: Libraries in Bundles konvertieren

Bei der Entwicklung von OSGi Bundles kann man natürlich auch auf Java Bibliotheken in Form JAR Archiven zurückgreifen. Entweder man bindet sie über den Bundle-Classpath ein oder man konvertiert das JAR Archiv in ein eigenständiges Bundle. Dies geht in Eclipse recht einfach über

Eclipse -> New Project -> Plugin-Development -> Plugin from exisiting JAR-Archives


01 May 2008, 22:22

Firefox 3beta5

Die neue Firefox 3 Beta gefällt mir wirklich gut. Der Browser ist wirklich schnell und “responsive”. Auf jeden Fall besser als ich es erwartet hätte. Die Formularelemente sehen zwar etwas komisch aus, aber das wird sich vielleicht noch ändern.

30 Apr 2008, 22:15

Screenshots unter KDE

Um unter KDE Screenshots anzufertigen gibt es das kleine Hilfsprogramm Ksnapshot. Ist recht hilfreich.

30 Apr 2008, 22:10

Doppelte Einträge im Eclipse Content-Assist

In meiner Eclipse Installation (3.3) unter Linux habe ich seit einiger Zeit das Problem gehabt, dass die Einträge im Content-Assist bzw. der Code-Completion alle doppelt aufgetaucht sind.

Eclipse Content-Assist showing double entries

Der Grund darin lag bei Mylin, das sich bei der Installation irgendwie in die Suggestions eingeklinkt hat.

Eclipse Content-Assist showing each entry only once!

Correcting Eclipse Content-Assist settings

21 Apr 2008, 22:15


xbase03 3D Engine

17 Apr 2008, 21:49

Python: Effiziente String Konkatenation

Wie man in Python effektiv Strings konkateniert.

10 Apr 2008, 14:52

Python Quick Reference

Python 2.3 Quick Reference

09 Apr 2008, 17:14

CSS Naked Day

What happened to the design?

To know more about why styles are disabled on this website [on April the 9th +/- 24h] visit the Annual CSS Naked Day website for more information.

08 Apr 2008, 12:02

Linux Software-RAID reparieren

Nachdem ein Rechner mit Software-RAID eingefroren ist und neu gestartet werden musste gibt der Kernel beim booten folgenden Fehlermeldung aus:

md: created md0 md: bind<sda1> md: bind<sdb1> md: running: <sdb1><sda1> md: kicking non-fresh sdb1 from array! md: unbind<sdb1> md: export_rdev(sdb1) raid1: raid set md0 active with 1 out of 2 mirrors
Das Problem ist, dass einer der Spiegel nicht sauber ausgehängt wurde. Das Problem lässt sich mit mdadm ganz leicht lösen:
/sbin/mdadm /dev/md0 –fail /dev/sdb1 –remove /dev/sdb1

/sbin/mdadm /dev/md0 –add /dev/sdb1

Damit weist man mdadm an die betroffene Partition aus dem RAID-Verbund zu entfernen und anschließend neu aufzunehmen. Daraufhin erfolgt ein Rebuild, während dessen man den PC nicht ausschalten sollte, und dann ist alles wieder in Ordnung.

Den Fortschritt des Rebuilds kann man mit watch cat /proc/mdstat verfolgen.

05 Apr 2008, 09:42

Heaven and Hell

Heaven: the policeman is British, the lover is Italian, the cook is French, the engineer is German and it is all organized by the Swiss.

Hell: the policeman is German, the lover is Swiss, the cook is British, the engineer is French and it is all organized by the Italians.

via Vowe

02 Apr 2008, 14:02

Textdateien schreiben mit Java

Da ich schon wieder in der API nachlesen musste wie ich in Java eigentlich eine Textdatei schreibe und mir nie merken kann welcher *Writer das jetzt ist, halte ich das hier nochmal für die Akten fest:

File target = new File("file.txt");
FileOutputStream fos = new FileOutputStream(target);
OutputStreamWriter osw = new OutputStreamWriter(fos, "UTF-8");
BufferedWriter bw = new BufferedWriter(osw);
/* Ausgabedaten schreiben */

31 Mar 2008, 00:39

Java Codepages

Wenn man mit Java auf String Daten aus DOS zugreifen muss, hilft die Tabelle der unterstützten Encodings auf der Sun Java Seite.

Die DOS-Box benutzt übrigens Cp850.

28 Mar 2008, 14:00

GIMP Hotkeys

Die wichtigsten GIMP Hotkeys auf einen Blick.

28 Mar 2008, 08:00




Freier geht nicht mehr.

27 Mar 2008, 06:00

MySQL for Dummies

For beginners, a useful startup option is –safe-updates (or –i-am-a-dummy, which has the same effect).
Quelle: MySQL Tips

26 Mar 2008, 12:00

Apache 2 mit Deflate/gzip

Eine interessante Anleitung für mod_gzip/deflate unter Apache 2.2+ beim Gentoo Wiki.

26 Mar 2008, 06:00

X.Org mit serieller Maus

Falls man mal in die Verlegenheit kommt unter einem aktuellen X.Org eine serielle - und ich meine nicht USB - Maus betreiben zu müssen sollte man es mal mit “Protocol” “Microsoft” und “Device” “/dev/ttyS0” versuchen.

Section “InputDevice” Identifier “Configured Mouse” Driver “mouse” Option “CorePointer” Option “Device” “/dev/ttyS0” Option “Protocol” “Microsoft” Option “Emulate3Buttons” “true” EndSection

25 Mar 2008, 19:02

South Park Episoden im Internet

Unter South Park Studios gibt es alle bisher veröffentlichten South Park Episoden in voller Länge als Streams. Legal und kostenlos.

20 Mar 2008, 12:00

Autostart unter KDE

Es gibt gewisse Programme die möchte man bei jedem Start von KDE mitladen, z.B. Synergy.

Für die meisten GUI Applikationen ist das unter KDE kein Problem. Einfach beim abmelden offen lassen und sie werden das nächste mal automatisch neu gestartet. Bei Konsolen-Anwendungen sieht das allerdings anders aus. Hier muss man den Autostartordner unter “~/.kde/Autostart” bemühen. Dort einfach ein ausführbares Skript anlegen und es sollte beim nächsten Login automatisch mit gestartet werden.

19 Mar 2008, 20:07

FRITZ!Box Reconnect

Manchmal möchte man vielleicht seine Internetverbindung kurz trennen und wieder aufbauen um z.B. eine neue IP-Adresse zu erhalten. Wenn man eine FRITZ!Box verwendet ist das zumindest nicht über die Oberfläche möglich.

Es gibt verschiedene Methoden. Unter anderem über UPnP, wenn man diese Funktion nicht deaktiviert hat, oder über telnet.

Da ich aus Sicherheitsgründen bei mir die UPnP Fernwartungsfunktionen dekativiert habe, habe ich es heute mal über telnet versucht.

Zunächst muss man den Telnet Dämon starten. Das geht mit einer halbwegs aktuellen Firmware Version über folgende Telefoncodes:

#967 - Telnet anschalten

#968 - Telnet ausschalten

Einfach an einem Telefon eingeben das mit der FRITZ!Box verbunden ist und über die Kommandozeile “telnet fritz.box” aufrufen. Dann noch das Passwort der Weboberfläche eingeben und man ist verbunden.

Um die Verbindung zu trennen ruft man dann

dsld -s

auf um den DSL Dämon zu stoppen und kurz danach


um ihn wieder zu starten.

Fertig, jetzt sollte die FRITZ!Box neu verbunden sein. Ich gebe zu, dass der Weg etwas umständlich ist, aber mir reicht es.

19 Mar 2008, 17:34

Compiz mit Xinerama unter Nvidia Karten

Den composing Window Manager Compiz auf einem Xinerama Setup mit einer Nvidia Karte zum laufen zu bringen ist gar nicht so einfach, da es wohl bei der Verwendung von Xinerama und Composite zu einem Bug kommt der den Einsatz von Compiz verhindert. Wer dennoch nicht auf den zweiten Monitor verzichten will der kann anstelle von Xinerama das TwinView Feature der Nvidia Treiber benutzen. Diese stellen eine Xinerama kompatible Erweiterung da mit der dann auch Composing funktioniert.

Von einer funktionierenden Compiz Konfiguration für einen Monitor ausgehend müssen folgenden Punkte in der xorg.conf geändert bzw. ergänzt werden.

# Xinerama ausschalten
Section "ServerFlags"
Option "Xinerama" "0"
# Composing aktivieren, sollte schon aktiv sein
Section "Extensions"
Option "Composite" "Enable"
Section "Device"
Identifier     "nvidia0"
Driver         "nvidia"
Option      "NoLogo" "True"
# BusID anpassen, siehe lspci
BusID       "PCI:2:0:0"
Screen      0
Option "RenderAccel"
# Die HWcursor und Cursor* Optionen können weggelassen werden
Option "HWcursor"
Option "CursorShadow"
Option "CursorShadowAlpha" "32"
Option "CursorShadowXOffset" "3"
Option "CursorShadowYOffset" "3"
# Falls GLX genutzt werden soll
Option "AllowGLXWithComposite" "True"
# Wichtig: Die TwinView Optionen
Option "TwinView" "True"
# Je nachdem ob der zweite Monitor rechts oder links steht hier LeftOf bzw. RightOf eintragen
Option "TwinViewOrientation" "LeftOf"
# Die MetaModes, jeweils der primäre Monitor und der sekundäre. In den meisten Fällen dürften das identische Paare sein
Option "MetaModes" "1280x1024,1280x1024;1280x1024;1024x768,1024x768;800x600,800x600"
# Falls der zweite Monitor über Edid keine brauchbaren Informationen liefert muss man die Werte von Hand eintragen
Option "SecondMonitorHorizSync" "UseEdidFreqs"
Option "SecondMonitorVertRefresh" "UseEdidFreqs"
Section "Screen"
Identifier     "Screen0"
Device         "nvidia0"
Monitor        "monitor0"
DefaultDepth    24
SubSection     "Display"
Depth       24
Modes      "1280x1024" "1024x768" "800x600" "640x480"
Option "AddARGBGLXVisuals" "True"
Option "DisableGLXRootClipping" "True"

Wenn dann nach einem Neustart des X-Servers alles funktioniert würde ich mir auf jeden Fall CCSM anschauen. Weitere Informationen zu Dual-Head Setups gibts im Gentoo Wiki.

18 Mar 2008, 19:22


Wem bis jetzt noch nicht klar war wie sinnlos die Vorratsdatenspeicherung ist, der kann zur Meinungsbildung noch ein wissenschaftliches Gutachten vom Max-Planck-Institut für Strafrecht heranziehen.

14 Mar 2008, 12:00

FRITZ!Box mit IPv6

Nachdem mir IPv6 schon eine ganze Weile am Herzen liegt weil ich mir damit ein Ende der leidigen NATs und mehr Adressen für SSL-Mass-Hosting verspreche und es auch schon einige Provider mit nativen IPv6 Verbindungen - auch DSL-Provider - gibt, habe ich mal beim Hersteller des wohl bekanntesten Consumer Routers, AVM, nachgefragt wie es eigentlich mit IPv6 Unterstützung für deren Flagschiff, die FRITZ!Box, aussieht.

Wenn ich die Antwort richtig interpretiere ist zwar noch nichts geplant, aber man hat mir versprochen den Vorschlag an den zuständigen “Produktmanager” weiter zu leiten. Was das bedeutet kann ich nicht sagen, aber da es keine Änderungen in der Hardware erfordern würde kann man zumindest darauf hoffen, dass es irgendwann in der nahen Zukunft umgesetzt wird.

13 Mar 2008, 17:02

Google über IPv6

Seit kurzem ist Google unter der Adresse ipv6.google.com bzw. 2001:4860:0:2001::6 auch über IPv6 erreichbar. Yeah!

Wird auch langsam Zeit.

27 Feb 2008, 10:07

TD im Browser

Lust auf eine kleine Runde Tower Defense? Mit Vector TD 2 gibts ein spannendes und anspruchsvolles TD für den Browser.

22 Feb 2008, 12:23

John Cleese's Letter to America

Lange nicht mehr so gelacht. Humor haben sie ja die Engländer.

Insbesondere #10 hat mir gut gefallen:

10. All American cars are hereby banned. They are crap and this is for your own good. When we show you German cars, you will understand what we mean.
John Cleese’s Letter to America

19 Feb 2008, 12:21

James Bond lässt grüßen: Unterwasser-Auto!

Das wäre mal ein Auto für mich, das sQuba.

18 Feb 2008, 19:47

Karten von Europa

Karten von Europa nach verschieden demographischen und sozio-kulturellen Maßstäben gegliedert.

Bei einigen Punkt haben sich allerdings Ungenauigkeiten eing’schlichen. Zum Beispiel hat Lichtenstein nach meinen Informationen ein deutlich höheres BIP als Österreich und die Schweiz, etwa 90000€ pro Kopf.

18 Feb 2008, 17:24


python + contracts + besseres exception handling + .net/mono anbindung” -> http://cobra-language.com/

14 Feb 2008, 13:09

Warum ist Ruby on Rails so langsam?

Ruby on Rails ist die erfolgreiche Kombination einer fantastischen Progammiersprache mit einem genialen Framework. Es gibt aber ein großes Problem: RoR ist manchmal verdammt langsam.

Wer schonmal ein paar PDFs mit RoR erzeugt hat weiß was ich meine. Das ist deutlich, sehr deutlich, langsamer als z.B. PHP oder Java - und die sind selbst nicht die allerschnellsten.

Die Guerrillas von Nimble Method versuchen abhilfe zu schaffen und RoR zu beschleunigen.

14 Feb 2008, 10:08

Warum tauchen meine Bilder nicht in der Bildersuche auf?

Ich hatte eine Weile das Problem, dass meine Bilder nicht in den Bildersuchen von Google, Yahoo, etc. vertreten waren. Das Problem war einfach, dass ich die Bilder zwar sehr Benutzerfreundlich in einen HTML-Container verpackt hatte, aber dass in diesem Container leider gar kein Text stand und die Sumas so keinerlei Keywords zuordnen konnten.

Daher sollte man sich merken, wenn man will, dass die eigenen Bilder gefunden werden, folgende Richlinien zu befolgen:

  • Aussagekräftier Dateiname
  • Alt und Title Attribute des img-Tags ausfüllen
  • Das Bild, am besten in Originalgröße, direkt, d.h. im selben HTML-Container (div, …) wie den Text der sich auf das Bild bezieht zu platzieren
Eigentlich nichts neues, aber manchmal übersieht man auch offensichtliche Dinge.

11 Feb 2008, 19:33

Lokaler Root-Exploit im Linux-Kernel

Im Linux Kernel gibt es aktuell einen lokalen Root-Exploit. Betroffen sind die Versionen 2.6.17- Möglicherweise auch

Hier noch das Debian Security Advisory und den neusten Kernel ( sowie die Meldung bei heise online.

11 Feb 2008, 18:43

Objekte freistellen in GIMP

Fotos sind was feines, aber ganz besonders praktisch sind Bilder deren Objekte freigestellt sind, da man diese Problemlos in eigene Bilder oder Anwendungen übernehmen kann. Um Objekte eines Bildes frei zu stellen gibt es diverse Möglichkeiten und reichlich Anleitungen, insb. für Photoshop. Oftmals sind diese Techniken auch mit GIMP anwendbar, aber für einen Laien wie mich erschließt sich nicht immer die äquivalente GIMP Funktion zu dem Photoshop Pendant. Selbst so manches GIMP Tutorial ist für mich nicht gänzlich verständlich, daher möchte ich hier eine Methode aufzeigen die bei mir gut funktioniert hat. Ich muss noch anmerken, dass ich in Bezug auf Photographie und Bildbearbeitung ein absoluter Laie bin und nehme daher gerne konstruktive Kritik in den Kommentaren entgeben.

Hier die Schritt-für-Schritt Anleitung von Objekten mit GIMP 2.4+. Eine wichtige Vorraussetzung ist, dass das Objekt vor einem möglichst homogenen Hintergrund, am besten weißes Papier, mit gleichmäßiger Ausleuchtung aufgenommen wurde. Bei anderen Szenen empfehle ich eher die Hochpass-Methode oder evtl. auch SIOX/Vordergrundauswahl.

  • Das Bild öffnen
  • Freistellen - Ausgangsbild
  • Den Hintergrund mit dem Zauberstab markieren. Ggf. die Selektion mit den Maskenwerkzeugen und Shift (+) bzw. Strg (-) korrigieren
  • Freistellen - Maskieren
  • Freistellen - Maskieren 2
  • Einen Rechtsklick auf den Hintergrund, “Alphakanal hinzufügen” auswählen
  • Freistellen - Ebenenmaske
  • Noch einen Rechtsklick auf den HG, “Ebenenmaske hinzufügen” und dann “Weiß (volle Deckkraft)” auswählen
  • Freistellen - Ebenenmaske 2
  • Mit dem Füllwerkzeug den Inhalt der Maske schwarz füllen, ggf. von Hand nachbearbeiten.
  • Filter -> Weichzeichnen -> Bewegungsunschärfe mit Weizeichnungsart “Zoom” und 5-10 Einheiten Länge oder Gaußscher Weichzeichner mit 50 Pixel Radius ausführen
  • Freistellen - Gauss
  • Auswahl entfernen
  • Eine neue Ebene einfügen, mit beliebiger Farbe füllen und hinter den HG schieben
  • Freistellen - Endprodukt

08 Feb 2008, 06:00

SVN Repository verschieben

Wer kennt das nicht ™? Da will man mal eben die Domain des SVN Repositorys ändern.

Aber wie sage ich den Arbeitskopien, dass das Repository umgezogen ist?

Dafür gibts zum Glück den “svn switch –relocate” Befehl.

Einfach auf der Befehlszeile

svn switch –relocate alteURL neueURL
aufrufen und schon sind alle entsprechenden Repositorys umgezogen.

In Eclipse gehts ganz einfach über die “SVN Repository Exploring” Perspektive mit dem Befehl “Relocate” im Kontextmenü.

SVN Switch Relocate Eclipse

07 Feb 2008, 23:15

AIM, ICQ und MSN mit Jabber Unterstützung

So wie es aussieht bahnt sich eine breite Unterstützung für Jabber von Seiten der propitären Messenger-Firmen an.

Im Beitrag zu MSN ist zwar nur die Rede von “GTalk”, aber da Google Talk ja vollkommen auf Jabber aufbaut bedeutet das anscheinend eine mögliche Jabber Unterstützung für den MSN Messenger.

Das wäre fast zu schön um wahr zu sein, wenn ich endlich keine Multi-Protkol-Clients mehr bräuchte um mit dem ganzen ICQ Nutzern zu kommunizieren.

07 Feb 2008, 06:00

Poll about Food

the united nations did a poll about food. the only question they asked was: “could you please give your honest opinion about a solution for the shortage of food in the rest of the world?” this poll failed because: - in africa they didn’t know what food was…. - in eastern-europe they didn’t know what honest was…. - in western-europe they didn’t know what shortage was… - in china they didn’t know what opinion was… - in the middle-east they didn’t know what solution was… - in south-america they didn’t know what please was… - and in the usa they didn’t know what “the rest of the world” was…
Quelle [1]

06 Feb 2008, 06:00

htaccess Dateien im Browser erstellen

Auf der Seite .htaccess Editor ist es ganz einfach möglich .htaccess Dateien für den Apache Webserver Online zu erstellen.

05 Feb 2008, 06:00

Oreilly Maker

Cover-Maker für OReilly Books.

04 Feb 2008, 06:00

RCP Tutorial

Eine gute Einführung in Eclipse/RCP Programmierung gibts bei vogella.de