# Welcome

Obviously, there’s not much to see here, but you’re welcome to consume every single bit of information anyway. There is, though, some stuff that accumulated over time.

I recently completed my Bachelor degree in physics at the Technical University of Berlin (Bachelor thesis) and followed suit with a Masters in Applied Maths. While my main focus is obviously on physics (and/or maths), I also take some interest in history as well as computer science.

I’ve been involved in Nightfall, a MUD from about 2005 and contributed a fair bit of code from summer 2006 through 2013. A more recent project of mine is Concattan, a command-line application designed to sync contacts from org-contacts to the Nokia N9.

I carry an organ donor card with me and don’t see any problems with (i.e. consent to) donating any of my organs after my death.

If you are by any chance interested in getting to know me or have a specific question I might be able to answer or are just trying to contact me for reasons unknown to mankind, feel free to do so.

## Contact details

Please find my contact details on a separate page, namely here. There is also a page about my GPG usage and a signed message regarding my OTR keys.

Have a nice day,
Claudius

## News

#### October 20th, 2013

Based on my earlier waz2pid script to import OpenWhatsapp messages from the N9 into Pidgin, I built skype2pid to do the very same from Skype.

#### July 21st, 2013

So I apparently graduated (in absence) yesterday. Yay! ☺

#### July 7th, 2013

harcal is a small utility for the N9 that deletes all calendars matching a specific naming scheme, then creates a new one and reads an .ics file into it. I use it with the files in /contrib to sync my org-mode calendar to the phone. A ready-made .deb also exists.

#### July 6th, 2013

Windows 8 has arrived at my doorstep. And so it begins…

#### July 5th, 2013

After managing to install Open WhatsApp on my phone (thanks Coderus!), I wrote a small script to sync the messages to Pidgin’s logs.

#### June 13th, 2013

I made a PDF file with the rendering of the lower and upper case Roman letters in my LaTeX maths enviroment using the default rendering, \mathrm, \mathsf, \mathbb, \mathcal and \mathfrak. The type used is URW Garamond, IIRC I used sx to script the rendering.

#### May 25th, 2013

As we all know, a#\ b.\@c@[IPv6:2001:4dd0:fc8c::1] is a perfectly valid email address and my local Postfix(es?) don’t fail to deliver email to this address. Outlook.com, on the other hand, thinks differently:

[10:22:28] SMTP> RCPT TO:<a#\ b.\@c@[IPv6:2001:4dd0:fc8c::1]>
[10:22:28] SMTP< 501 5.5.4 Invalid Email address


In comparison, Google happily accepts that:

[10:27:30] SMTP> RCPT TO:<a#\ b.\@c@[IPv6:2001:4dd0:fc8c::1]>
[10:27:30] SMTP< 250 2.1.5 Ok


yet fails later and informs me thereof:

Subject: Delivery Status Notification (Failure)
Date: Sat, 25 May 2013 09:23:11 +0000

Delivery to the following recipient failed permanently:

a# b.@c@[ipv6:2001:4dd0:fc8c::1]


cf. RFC 3696 Section 3 regarding valid local parts and RFC 2821 Section 4.1.2 - 4.1.3 regarding IPv6 literals as domain parts. Why do I have the sudden urge to use this email address everywhere? (Also cf. the discussion on validation of addresses on HN.)

#### March 17th, 2013

buildbuilddep takes the name of packages on the command line and uses  equivs-build  to create meta packages depending on the build dependencies of the command line arguments. This way, it is possible to conveniently install such dependencies and mark them as automatically installed to have them removed upon removal of the meta package. Usage as follows:

$buildbuilddep gmrun Built package gmrun-build-dep_0.9.2-2.1_amd64.deb available in current directory. # dpkg -i gmrun-build-dep_0.9.2-2.1_amd64.deb -- installs, but lacks dependencies -- # apt-get install -f -- installs dependencies -- # do_stuff() # apt-get --auto-remove remove gmrun-build-dep -- removes everything again  This script also motivated me to fix up syntax highlighting in gitweb – at the moment, my shell scripts aren’t really recognised because they don’t end in .sh. However, the following adjustment to /usr/lib/cgi-bin/gitweb.cgi (or whatever else you copied wherever else) helps: --- index.cgi 2013-03-17 18:40:51.263713028 +0100 +++ /usr/lib/cgi-bin/gitweb.cgi 2011-09-21 19:36:04.000000000 +0200 @@ -3354,3 +3354,3 @@$basename =~ /\.([^.]*)$/; - my$ext = $1 or return 'sh' unless basename($file_name, 'in') eq 'README';
+	my $ext =$1 or return undef;
return $highlight_ext{$ext}


Update March 21st, 2013: Florian Ernst helpfully pointed out that this already exists in the form of mk-build-deps in the devscripts package. You would likely rather use that.

#### March 8th, 2013

The package libqt-facebook, normally distributed with the Nokia N9, contains a postrm script that calls ldconfig but normally fails because it cannot write to /etc/ld.so.cache~ (for whatever reason, this phone is weird anyways…). So in order to remove it, you have to manually remove said postrm script. In order not to brick your phone at the next reboot, you should also call ldconfig manually :)

#### March 5th, 2013

A while ago, I asked on debian-user how to display the reason why a given GPG key was revoked. A certain Christopher Head submitted a comment to an otherwise low-quality site called distrofaqs hinting at the use of --export and --list-packets, which I combined in the following abomination:

/def -p1 -w'nf-claudius' -mregexp -h'SEND ^(.+)$' print_input_claudius = /test echo(ftime(strcat("\%Y-\%m-\%d \%H:\%M",{cur_prompt_nfclaudius},{P0}),time()),"",0,"wnf-claudius")%;/send %P0  It basically stores the prompt in a variable and outputs it when new input is added. The main problem is the prompt detection, which obviously strongly depends on your particular MUD. #### April 7th, 2012 using a macro/hook such as /def -p1 -w'nf-claudius' -mregexp -h'SEND ^(.+)$' print_input_claudius = /test echo(ftime(strcat("\%Y-\%m-\%d \%H:\%M Claudius > ",{P0}),time()),"",0,"wnf-claudius")%;/send %P0


you can use TinyFugue’s visual mode and have the input corresponding to the output properly logged. I didn’t figure out how to query the currently set prompt to use that instead of the time (in the first argument of ftime()), but OTOH, printing date and time is probably quite useful, too. Happy mudding & happy Easter! ☺

#### March 10th, 2012

I should probably watch fewer horror/fantasy/whatever films but there are now ‘wencewolves’ in Nightfall (Yes, they infect other NPC/players).

#### March 9th, 2012

Apparently, the BIOS version 1.48 available for my T410s from Lenovo’s website causes some problems for X.org – redrawing large areas of the screen occasionally hangs for one or two seconds. Downgrading to 1.05 proved easily possible and solves the problem.

#### March 6th, 2012

Following a complaint from Yod that he couldn’t edit files in Nightfall using Emacs anymore after the FTP server was shut down some years ago, I put together a little PHP API to be served via HTTP and building upon an existing web-interface to edit files and a small Python script which acts as a client to said API and presents the data using FUSE. Sadly, there appear to be some race conditions when excessive renaming takes place, barring git from working properly on the exported directory hierarchy. However, Emacs (and grep, find, etc…) work just fine. ☺ Update April 9th: After fixing a few bugs, it now also ‘works’ with Git, although it is terribly slow :(.

#### February 7th, 2012

I did a bit of tidying up my website and its organisation, respectively. Filenames are now more sensible, there are a few more directories and I decided to do a little bit of rewriting with mod_rewrite. Please tell me if any links are still broken ☻ (black smilie because it’s already dark outside at 17:53 😕)

#### December 6th, 2011

A small gnuplot cheat sheet can be found here (PDF).

#### August 21st, 2011

The Fantec MR-35DUS2 which sports a Silicon Image 5744 chip works fine in the RAID1 modus using eSATA if you disable PMP (more details).

#### July 25th, 2011

I used a little C++ program and some magic with Gnumeric to count my keypresses during a more-or-less typical afternoon of mine, the result can be found here (PDF). Roughly 100k keypresses in 10.5 hours yield 2.65 Hz, which is, given that I was only coding a small fraction of the time (for example around 18:30, resulting in 4.3 Hz over a period of 15 minutes), quite surprising ☺ – I obviously still use the trackpoint far too much.

#### June 20th, 2011

You probably know sm, a. k. a. screen-message: It gives you a small input field and prints everything you write in big letters on your monitor. I wanted to do the same for LaTeX, i. e. a script or something that queries you for input and then puts that input on your screen. Sadly, I don’t know Python (nor Perl, gtk or anything alike), therefor, Bash had to come to the rescue. You can find the script here.

#### April 24th, 2011

Since I had to reboot anyways due to the ‘new’ kernel (2.6.38.3, I’ve been running 2.6.37 before), I decided that I might give AppArmor another try, compiled it and also applied these patches (currently not available) to get the compability layer for the userspace tools. I then went on and installed the AMD64 packages for Ubuntu Natty. Although I had to adjust a dependency in libapparmor-perl, these packages seem to work perfectly on Debian Squeeze/Wheezy. I decided to clean up /etc/apparmor.d/ after the installation as I only wanted to confine my web browser Opera. So far, everything seems to work quite well. (Profiles no longer publicly available due to lack of interest in maintenance. Mail me if you want them.)

#### March 29th, 2011

I just returned from a trip to the UK where I visited friends in Bristol and spent a day in London as well. Bristol is a lovely small city (its aquarium has IMAX™ 3D Sharks ;D). At the same time I fail to understand how traffic in London is supposed to work – the tube is helplessly crowded and most of the streets are blocked nearly 24/7. Compared to my visit to London in 2008 I nearly didn’t use the public transport system but walked a lot, i. e. from Victoria to Russel Sq. and from Russel Sq. to Hide Park. While these routes are arguably not the nicest ones I think I saw a fair bit of London and like the city even more now ☺
If you’re looking for a a reasonably good hostel, I can suggest Bristol Backpackers and Generator London, both of which offer free wifi, clean and nice showers, are both located close to the city centre and seem to have good prices. Both of these are also quite loud, esp. in the early (or late?) evening (8pm till about 12pm).

#### Februar 12th, 2011

Sebastian and I ordered our new dedicated server at 1&1 a while ago and I can happily say that it is all set up now. The tunneling VPN now also provides IPv6, there is a little bit more redundancy due to a small virtual server which acts as a fallback for mail, web and the various VPNs. There’s also a redundant jabber server based on ejabberd running and of course a mail and pop3-server ☺
All in all, I’m pretty happy with the new setup, with the service level 1&1 provided us with so far and there’s just one minor glitch: Directly after I transferred a domain to them, they took over the domain’s MX records and, even worse, added ._xmpp-server_-records which practically blocked the jabber server from running for about a day. I’m still not sure what to make of this, esp. since there is no warning whatsoever that something like this could happen.

#### November 30th, 2010

I inserted a little bit of PHP, making this website unavailable between 6am and 8pm. There is no real reason to do so, I just like to make fun of stupid German laws. In the process of doing so, I discovered a forgotten file ed (removed by now, sorry), which gives a short introduction to „ed“, the standard editor, used – for example – in Nightfall.

#### September 18th, 2010

There now exists a version of my keymap for the Linux console. It is accessible here with more information to be found here.

#### September 13th, 2010

I thought about translating this website to German. It would have been all-cool with nice shiny icons depicting the german flag, maybe a seperate subdomain, maybe just seperate HTML files. I even opened a file called index.de.html in Emacs and translated the navigation “bar” you can see up there. Then I decided it wasn’t worth the work – who doesn’t speak English nowadays and isn’t even able to translate the texts here if he absolutely has to?

#### August 29th, 2010

Sebastian Sester finalized my backup “solution” by writing a script in PHP that decides which directories (i. e. snapshots) are to be kept. My three computers (Ares, Hermes & Zeus) now hourly backup themselves if they can establish a connection to Zeus in my home network. I’m using rsync with --link-destination, which means that unchanged files will be hardlinked to the previous version, saving semi-precious space. Sebastian’s script is run daily inside a small wrapper script and deletes the dispensable backups (every backup is kept for the last two days, one per day for the last two months and five per month for the months before that). Kudos to Sebastian! ☺

#### August 22nd, 2010

A small glitch in my keyboard configuration was found – the “middle dot” mapped to AltGr+, was U22C5 (“dot operator”) instead of the usually used U00B7 (“middle dot”).

#### August 2nd, 2010

New insight regarding /etc/network/interfaces allowed me to clean up my network setup on my router – mainly consisting of /etc/rc.local containing the commands needed to set up networking at the time – which resulted in a more stable network. (cf. more notes on said update)

#### June 16th, 2010

I got really bored again and decided to copy XKCD and AbstruseGoose by making my own webcomic. Three lines into a PHP source file I decided to only remember header() and echo, so I did the backend in C++ instead ☺. Go there (not available anymore).

#### May 17th, 2010

I changed my keyboard layout and documented the process of doing so. I now have a 100%-custom layout ☺

#### April 3rd, 2010

I set up some basic documentation on doc.chubig.net where you have access to some basic hints I collected within the last few years. (not available anymore)