Attempting To Try Out Mindquarry

March 10th, 2007

I've been interested in Mindquarry for a while now, so when they finally released a version you could download I headed straight over and grabbed a copy. Sadly, the copy I grabbed, advertised as for OS X, is actually a generic package for which there are no installation instructions. The instructions that are provided for installing Mindquarry all talk about executing ./bin/mindquarry - which would be good if there were a ./bin in the generic package.

Not to be deterred, I set up a Linux installation (Debian testing) in a VM and grabbed the Linux bundle. It has a ./bin directory and executing ./bin/mindquarry says it's starting mindquarry which is good. I can't find an open port anywhere on the system to actually use the system but I can start it up and shut it down again successfully. The logs by the way are empty.

So attempt number 3, probably should read the entire installation guide and follow every step. Install and configure apache, subversion, mod_perl, mod_dav etc. I swear I followed every instruction to the letter. Now I still don't know where the heck Mindquarry is running but when I go to http://localhost/ (or using the DNS name or any other way I can think of to get to the server) instead of the Apache 2 "It Works" page, I get a 403 Forbidden. The logs of course are still empty, except for Apache's endless drone in the logs showing that it is in fact forbidden for me to access my own web server.

There's probably a very simple explanation for all this, but without anything actually printing to the logs I've got no chance of finding it. I really want this software to work, it sounds really cool, it sounds like something that could really help out a new team that's about to start, but this is ridiculous! Can we please, please do just a few simple things that should avoid these kinds of problems:

  1. Include the installation requirements, specifically tailored for the particular package, in the package itself. The Windows package should only contain Windows installation instructions, the Linux one only Linux instructions etc.
  2. Include even a brief note on where the heck the server is going to be running when I start it. A getting started guide would be better, but I'll settle for a simple port number.
  3. Write something to the logs. If there's a permissions problem and you can't write to the logs, write to the console when the server starts up. The logs should tell me whether or not the server started successfully at the bare minimum. If it does start it should tell me what ports it's listening on or what URLs it thinks I should use.

I saw somewhere (I think it was the installation guide) that there will eventually be prebuilt packages for various systems - I guess I'll just have to wait for those.

Auto-Updating Systems via Subversion

March 8th, 2007

One technique that I've started to use a lot around the different systems here is to store everything in subversion. It's a pretty commonly recommended technique and the nicest benefit is that if your changes don't do what you wanted you can easily roll back to an earlier version.

I've found though, that my favorite benefit is that it makes it easy to set up automatic updates for systems. Generally I just add an 'svn update' as the first step in running the appropriate system. When that's not suitable, a simple cron job does the job just as well. For our cruise control server we actually have a "config" project which builds every 30 minutes and all it does is update cruise control's config files.

When you're dealing with windows servers remote log-ins can be difficult and even UNIX servers are annoying to SSH into across the pacific so being able to edit files locally and have them deploy automatically is a real time saver.

Java HTTP Caching Libraries?

March 8th, 2007

So I need to improve out caching support and I really don't want to got through all the pain myself if I can avoid it. Does anyone know of an existing library that just handles client-side caching with the appropriate If-None-Match and If-Not-Modified headers etc. We already have libraries for doing the actually HTTP stuff, I really just need something that knows how to store things on disk and tell me what headers to use to make the request conditional. Oh and we're an applet so small and without dynamic loading or configuration files would be ideal.

It seems to me that all the advice on caching around the web focuses on the server-side and assumes the only that that would ever do client-side caching is an existing browser. Not overly helpful.

Redemption 101 Movie Premiere

March 6th, 2007

For those who are interested in science fiction, particularly the home-brew, long-tail kind, you probably want to check out the premiere of Redemption 101. It's an added bonus if you are looking for an opportunity to poke fun at me - I feature as Klang the less than brilliant Aldaran pilot.

The premiere will be at the Schonell Theatre, St Lucia on March 24th. Drinks in the foyer start at 6:30 with the red carpet parade at 7pm. Tickets are $14 ($7 concession) and you can order them online from the Redemption 101 website (contact details for offline orders are there too). You can also preorder your copy of the DVD which will be released at the premiere. 

Klang And The Bishop

Klang and The Bishop kick back at the local bar after a long night shooting.

VMWare Upgrades And Multiple Network Cards

March 6th, 2007

If you happen to be running a VMWare Server instance on a machine with multiple network cards, make sure that when you upgrade you reconfigure which network cards your VMs should use, otherwise you may find that despite the fact that the network interface in the VM is up you have no network access. It usually reports "No route to host" or "Destination Host Unreachable". Sadly, VMWare doesn't seem to be too bright about how it picks network interfaces and will sometimes pick one that isn't connected to anything.

Oh well, it's only the second time I've wasted hours to discover this. Hopefully the next time I run into this problem, this entry will turn up in Google and remind me of why.