Site upgraded to Drupal 8

After two weeks of work I have more or less completed the upgrade of this website from Drupal 7 (D7) to Drupal 8 (D8). Also part of the package is a new theme (the "Nexus" theme) because the old Drupal core theme "Garland" has not been ported over to D8. I'm not as happy with the new theme as I was with "Garland" (for instance, check out how ugly the "

Little Go 1.3.0 released

Little Go 1.3.0 has just been published on the App Store. This is a technical and bugfix release whose focus is on updating the project to the iOS 9.3 SDK, and on fixing an evil ko detection bug that might have been responsible for many bug reports that I have received due to the infamous "The computer played an illegal move." alert. Many thanks to Denis Martynov for helping me with identifying this bug. I promised to release the bugfix

[...] as soon as possible, probably next weekend.
This was in June 2015 - over a year ago :-(

To find out about the changes that are in the release, either read the App Store update notes or hop over to the GitHub release page to see the changelog.

How to hide Fabric API key and build secret in an Open Source project

A mobile app that integrates the Fabric mobile platform and the Crashlytics crash reporting framework requires two things to successfully communicate with the Fabric / Crashlytics server platform:

  • The Fabric API key: This is required at build time so that the build process can upload the debug symbols that later are required to symbolicate crash reports. The API key is also required at runtime so that the app on a customer device can submit crash reports.
  • The Fabric build secret: This is also required for uploading debug symbols at build time.

Whoever knows these two pieces of information can freely interact with the Fabric / Crashlytics server platform on behalf of the app, so obviously you want to restrict knowledge of the information to people who can be trusted. This article shows how to keep API key and build secret private even in an Open Source project like Little Go where, by definition, there is the desire to publish everything.

The Art of Computer Programming

Here's a line of code that I recently sighted when I had to dig through ancient Excel VBA cruft at work:

Falsch = True

For German speakers: The code works because it uses a non-keyword (Falsch) as the variable name. For non-German speakers: "falsch" is German for "false", so the original code can be translated to:

False = True

After a moment of disbelief, I couldn't help but admire the amount of badness that is compressed into this single line of code - there is even a philosophical statement here! It's so fabulous that I consider it to be a real piece of computer programming art!

Between journey 1 and 2: Power Play

As recounted in the description of my first exploration journey, I had travelled in a decently equipped Asp Explorer. For the next journey, though, I wanted to improve some of the modules, most importantly I wanted a class A frame shift drive so that I would be able to make longer hyperspace jumps. To earn the necessary credits, I decided to check out how Power Play works. I decided to join Aisling Duval, partly because of her looks (being in the mid-forties does not prevent me from being juvenile sometimes :-)) but mainly because the actions required from her followers seemed to be the least warlike.

The first journey: Dipping my toes

As mentioned in the conclusion of the previous post, space exploration in Elite: Dangerous has fired my imagination and my space romantic spirit. Abandoning all restraints, I have decided to celebrate my career as a galactic explorer as fully as possible - for my own enjoyment if not for anyone else's - by creating documentaries of each of my trips. Let's see where this leads.

I would like to begin the series with a brief report of my first journey, where I dip my toes into the space-cold waters of the galactic unknown. The goals: Leave the bubble of inhabited space, sniff the galactic wind, maybe find an unclaimed star and try to make it back alive to report the sights. Also, earn a few credits :-)

Elite: Dangerous - First impressions

A few months ago, Elite: Dangerous (or ED for short) came out for the Mac. I immediately bought the game, for old time's sake (I have been playing both the original Elite on the C64 and Frontier on the PC) and because it promised to be a playable game - as opposed to the perpetual alpha status that Star Citizen has been in now for years! After the break, I try to give a few of my first impressions from the time when I started to play the game, together with a summary of what ED means to me now after having played the game for a bit over 3 months.

Little Go 1.2.0 released

Yesterday Little Go 1.2.0 has been published on the App Store. This is a major new feature release that took fully 9 months to complete - in the end the release was dragging out for much longer than intended due to stability issues with the new iPhone 6+ user interface design. Hopefully I nailed all those pesky bugs.

This time I won't bore anyone with a repetition of the changes that are in the release. You can either read the App Store update notes or hop over to the GitHub release page to see the changelog.