Clean up Windows Update files

Finally Microsoft has released a patch (automatically installed on most machines) to clean up left-over Windows Update files.

The process needs to be triggered manually: from the drive's properties, select "Disk Cleanup" and then "Clean up system files" in the upcoming dialogue. The item called "Windows Update Cleanup" may list several gigabytes of files to clean up.

Enjoy the regained space on your system drive!

When I grow up...

...or rather, when I quit my full-time office job:
The majority of these I have done more or less actively in the past and would really enjoy taking up again.
  • Shop in real shops, instead of just supermarkets
  • Get to know Berlin by day, specifically the nice cafés in my area that close at 6-7pm.
  • Lunch time concert at Philharmonie!
  • Listen to music while working
  • Do some open source
  • Bake bread
  • Eat home-cooked food instead of eating out every day
  • Process films and make enlargements
  • Exercise more
  • Play piano more

Sternfahrt 2013

Wenn ich die Avus entlangfahre
Bei völliger Ruhe
Mit vereinzelter Raggae-Musik

Werde ich melancholisch und denke
Wie schrecklich Autos
Die Welt verändern

Germany's industrial lobbyism kills people

It's always depressing to see how successfully industrial lobbyism influences a country that regards itself as a democracy.

Sure, Germany doesn't have much to commend itself apart from its economy. People wouldn't come to live here for the food, well-paid jobs or, heaven forbid, its hospitality. So the economy is important enough to be foremost on politician's mind.

As one consequence, it has proved impossible to enforce the EU-wide smoking ban in Germany. All restaurants, cafés and pubs have smoking rooms for indoor smoking, and smoking is allowed by default in all outdoor areas. This means that spending time at a beer garden invariably means breathing in cold cigarette smoke instead of the scent of nature that you're supposedly enjoying. Likewise, public buildings such as train stations always offer lots of opportunities for smokers, frequently merely demarcated by a line on the ground which does not prevent everybody on the platform from being affected by the smoke.

In addition to the fact that living a smoke-free life is not an option in Germany, another effect is that the result intended by the EU legislation cannot be achieved in this country. In order to move people to reduce or give up smoking you need strong disincentives, and this includes drastically reducing the time in a person's life when smoking is possible. With all its loopholes, Germany's legislation ensures there aren't any such disincentives.

Another vitally important industry for Germany are its car manufacturers. So of course they can take tremendous influence through lobbying institutions like the ADAC.

A great success of this lobbying is the way cycle lanes are designed in German cities, particularly Berlin: there are as many accident-prone intersections of cycle and motor vehicle lanes at each junction as possible. According to German highway code, a cyclist going straight across an intersection has priority over motor traffic taking a right turn. However, the straight-running cycle lane is placed to the right of the right-turning vehicle lane, so each time a driver misjudges the speed of an approaching cyclist or doesn't see them, a potentially fatal accident will happen.

Even more ridiculously, roundabouts are implemented in an analogous way with a cycle path running around the outside of the entire roundabout! As a result, a cyclist who wishes to remain in the roundabout has to cross the lane of traffic leaving the roundabout at each intersection. Because the highway code gives them priority, cars wanting to leave the roundabout have to wait until the cyclist passes, backing up the traffic currently in the roundabout. This is exactly the situation that roundabouts are designed to prevent by giving the traffic in the roundabout priority over vehicles entering the roundabout. But this design is turned entirely on its head by providing a cycle lane in a place that stops the circulating traffic.

It's easy to see that industrial lobbyism does not account for people's lives, and if politicians regard the industrial economy as important enough neither do they. We will never know how many people's lives are lost due to the inability to reduce passive-smoking, and how many cyclists get crushed on roads and intersections specifically designed to get them into the way of motor traffic.

But it is ironic that Germans are adamant about being a civilised, cycle-friendly nation while at the same time being the most law-abiding society who follow rules imposed on them without questioning their benefit, even if they're put in place to cause other people's death.

Using RaspBMC 1.0 (Frodo) with bluetooth keyboard

Without having checked whether each step was actually necessary, this is how I got a Bluetooth keyboard working with RaspBMC 1.0 (Frodo). Mostly based on this installation and this setup.

SSH into your RaspBMC with username pi and password raspberry.

$ sudo su
# update-rc.d dbus defaults # prevents bluez installation failure
# apt-get install bluez python-gobject # gobject required by bluez-simple-agent

If the installation succeeded, the bluetooth service should be up and running (version bluez-4.99_2 in my case):

# service bluetooth status
[ ok ] bluetooth is running.

Otherwise it can be started with

# service bluetooth start

Put the keyboard into pairing mode and find out its address using

# hcitool scan
Scanning ...
        00:18:00:0A:F7:E3       BTKB-F7E3

With the keyboard still in pairing mode, I then attempted the pairing process with

# bluez-simple-agent hci0 00:18:00:0A:F7:E3
Creating device failed: org.bluez.Error.AlreadyExists: Already Exists

Apparently, the error indicates that the device is already paired (because I had previously used it on my PC), and the remedy is adding an arbitrary 3rd argument to the invocation.

# bluez-simple-agent hci0 00:18:00:0A:F7:E3 a
RequestPinCode (/org/bluez/1981/hci0/dev_00_18_00_0A_F7_E3)
Enter PIN Code: 1234
Release
New device (/org/bluez/1981/hci0/dev_00_18_00_0A_F7_E3)

I first entered the PIN code when prompted and had typed it on the keyboard followed by Enter before the line that says "Release".

I then created the entry to automatically pair the device after it disconnects:

# bluez-test-device trusted 00:18:00:0A:F7:E3 yes

This adds a line containing the device address to the file /var/lib/bluetooth/<adaptor address>/trusts.

Now connect the keyboard and load the necessary uinput module.

# bluez-test-input connect 00:18:00:0A:F7:E3
# modprobe -i uinput
# echo uinput >> /etc/modules

After restarting XBMC, the keyboard worked.

# restart xbmc

PowerPoint XP and 2003 crash on shutdown after Visual Studio 2012 is installed

Like the title says: PowerPoint XP and 2003 crash on shutdown after Visual Studio 2012 is installed.

It turns out that the Team Foundation add-in not only doesn't support these ancient office versions but actually crashes them. PowerPoint 2003 correctly identified the culprit and offered to disable the add-in, which solves the problem, but PowerPoint XP didn't. To disable it manually, import the following into your registry.

Windows Registry Editor Version 5.00

[HKEY_CURRENT_USER\Software\Microsoft\Office\10.0\PowerPoint\Resiliency\DisabledItems]
"448866D6"=hex:01,00,00,00,ca,00,00,00,2e,00,00,00,22,00,63,00,3a,00,5c,00,70,\
  00,72,00,6f,00,67,00,72,00,61,00,6d,00,20,00,66,00,69,00,6c,00,65,00,73,00,\
  5c,00,63,00,6f,00,6d,00,6d,00,6f,00,6e,00,20,00,66,00,69,00,6c,00,65,00,73,\
  00,5c,00,6d,00,69,00,63,00,72,00,6f,00,73,00,6f,00,66,00,74,00,20,00,73,00,\
  68,00,61,00,72,00,65,00,64,00,5c,00,74,00,65,00,61,00,6d,00,20,00,66,00,6f,\
  00,75,00,6e,00,64,00,61,00,74,00,69,00,6f,00,6e,00,20,00,73,00,65,00,72,00,\
  76,00,65,00,72,00,5c,00,31,00,31,00,2e,00,30,00,5c,00,78,00,38,00,36,00,5c,\
  00,74,00,66,00,73,00,6f,00,66,00,66,00,69,00,63,00,65,00,61,00,64,00,64,00,\
  2d,00,69,00,6e,00,2e,00,64,00,6c,00,6c,00,22,00,00,00,74,00,65,00,61,00,6d,\
  00,20,00,66,00,6f,00,75,00,6e,00,64,00,61,00,74,00,69,00,6f,00,6e,00,20,00,\
  61,00,64,00,64,00,2d,00,69,00,6e,00,00,00

The exact value assumes that Visual Studio is installed in the default location in C:\Program Files. If you installed elsewhere, you're going to have to hack the value or simply copy it from the PowerPoint 2003 registry key.