Blogs

iOS 5 and ad-hoc distribution

Ad-hoc distribution is definitely the way to go to make it easy for beta testers to install an iOS app that is not yet available through Apple's App Store. The answer to this stackoverflow question thoroughly explains how it works.

Today I tried to create a new ad-hoc distribution for my Little Go app, the first after iOS 5 has been released. Very much unexpectedly, the whole process fell flat on its nose due to a combination of code signature and entitlement problems. After a 4 hour battle I now have things working again, and although I am not entirely sure about the exact source of the problem, I thought I would like to write down what I have learned this afternoon.

The final solution, anyway, for those who don't want to read the whole story: Invalidate and then regenerate all provisioning profiles on Apple's iOS Provisioning Portal.

Little Go 0.4 released

After many months of slow but steady development my newest pet project Little Go has now reached a state where I feel confident enough to post a release note on the front page of herzbube.ch. Little Go is an iPhone app that lets you play the game of Go on your favourite smartphone or on your iPad. You can play against another human, or against the computer.

Little Go is still under development and not yet available in Apple's app store, but you can contact me if for some strange reason :-) you are interested in beta-testing. Please refer to the project page for details about which information I need from you, or if you simply want to download the tar ball and look at the source code.

One year of greylisting: A success story!

In September 2009 I started to use greylisting after the spam rate on my main email address had reached an unbelievable 1200 messages per day. Here's the article that describes the event, the reasons why I avoided greylisting for a long time, and why I finally had to give up my resistance.

It is now 15 months later, and I just added an entry to my spam statistics page which makes me a very happy email user! The spam deluge has been reduced to a trickle of merely 36 messages per day, of which almost 95% are correctly recognized as spam by SpamAssassin. If ever there was a success story, greylisting at herzbube.ch is it!

After the break there is a little timeline that might be interesting to read. It is essentially a summary from the statistics page linked above.

Fixing a broken Debian package

Last week I tackled another upgrade of Bugzilla on my Debian server. Unfortunately, I found out the hard way that the package that I tried to install (bugzilla3-3.4.7.0-2) was badly broken - I was left with a half-completed installation that simply would not work. I reported the problem but got no response, so I decided to get to the bottom of this and find out what the trouble is. This is not the story of what I found out, but of how I was finally able to fix the problem.

mkroesti 0.4 released

The main new thing in version 0.4 is that mkroesti is now available as a CGI script. Check out the demo site if you are interested. Visit the project page for more information and to download the tar ball.

Mediawiki happiness

Two good news from the Mediawiki battle front of a "grizzled Debian veteran" :-) Read the whole article if you are interested.

Virtual Host configuration for Bugzilla

Today I found out that there are simpler things than configuring an Apache virtual host for Bugzilla to live in. With a bit of URL rewriting magic, the basics are moderately difficult to solve. What drove me crazy, though, was that the CGI scripts stubbornly generated links to /bugzilla3/skin/[...], instead of just /skin/[...].

One-liners in Python? Not a chance!

When I recently told someone that I often use awk when I write shell scripts, the comment, together with a raised eyebrow, was "So, anyone's still using this?!" I felt a bit old-fashioned, and when today I caught myself writing a one-liner in awk I decided to give Python a chance (yes, I know, there is also Perl, but I never give Perl another chance :-/).

The problem I wanted to solve was splitting a comma-separated list into a whitespace separated list of words that I could use for iteration in the shell. The awk one-liner I came up with after 1 minute was this:

python-aprmd5 0.2 released

You can grab the tar ball from the project page. The main change is that version 0.2 of python-aprmd5 introduces an md5 type for regular MD5 hashing, instead of directly exposing functions in libaprutil. The hashlib module, which is part of the Python Standard Library, uses exactly the same approach (in fact I have copied the idiom from there). A note on the side: I now consider python-aprmd5 to be feature complete, so there won't be much project activity unless there are bugs, or a change in libaprutil breaks python-aprmd5.

Mac OS X processes explained

Discovered today: http://triviaware.com/macprocess/all. Very nice if you have a question about one of those mysterious processes that run on your Mac. Such as: Why is "AirPort Base Station Agent.app" running on my desktop machine, even though that machine is not equipped with Wi-Fi/AirPort and, in fact, there is no AirPort base station in the entire household? Anyway, you can also upload a text file created with ps -A and let the website "