Little Go 0.6 released

Despite the original plan to focus on stability, a few things that could also be seen as features have managed to creep into the new beta release of Little Go. Of course, if you ask me I will say that those feature-like things in reality are bugfixes ☺ that were necessary to make Little Go ready for the App Store. Care for an example? A stone is now displayed immediately when you touch the board with your fingertip - a great improvement in my opinion! Also the mess with GTP engine settings has been finally cleared up, and... wait, why am I writing this? Check out the project page and see for yourself...

Little Go 0.5 released

The new beta build 0.5 of Little Go adds handicap and komi selection to the "New game" view, and even more importantly, there is now a proper scoring feature available that calculates an accurate territory score and lets you mark stone groups as dead or alive.

I have decided that the app is now feature complete for the first public release to the App Store. In the next iteration the focus therefore will be on fixing the most glaring issues and running the app through Instruments. I have never used Instruments before, so this will be an interesting experience. Hopefully not too interesting...

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: