I’ve had my iPhone for a few days now, though Orange haven’t got their colourful arses in gear to supply me with the PAK code required to get my old number working yet. Looks like they’re sticking to the “allow seven working days” mantra, whilst also sticking two fingers up to me. There must be a line in their systems software that says “wait 5 days” before then actually sending out the letter I need. But I digress.

The Calendar app on iPhone has a major flaw. If you’re part way through entering a new event to the calendar and a call comes in, it simply discards all the data you’d entered. When you next open Calendar it implacably stares back at you with your events neatly listed, but no memory of what you were busy entering before you were interrupted. The same is true when you press the home button, perhaps to flick to Mail in order to get a piece of information that you wanted to add into your calendar entry. Actually this is how I discovered the problem, since I don’t get many calls. This is a disaster and violates a prime iPhone app programming law: reinstate things how the user left them.
Here’s a close up shot of what I think is a Small Magpie Moth drying out its wings after recently emerging. Taken on a compact camera, with reasonable results. Below it is the earlier shot of it with wings still somewhat furled and slowly opening out, which is photographically rather poorer having not had any exposure compensation set.

SmallMagpieMoth 7551
SmallMagpieMothCurled 7552

Email apps generally have ‘Reply’ and ‘Reply to all’ as options for responding. But I crave an extra option: Reply to all as CCs. This would put the original sender on the To line and all of the original To recipients as CCs (except me obviously).

This contrasts with the usual reply all behaviour which puts all original To recipients on the To line, which is often not what I want, even though they were all on the To line of the original. Maybe I’m just strange.

I got an iPhone 3G S this morning – I couldn't hold out any longer, though I fear I'll be a martyr to its bulk in my pocket and its thirst for juice. I was very pleasantly surprised to pull the power adapter from the box and find it's actually smaller than most UK plugs! It is literally just a fairly small plug with a USB port on the bottom. Here it is on the right, alongside a picture of the comparatively vast two piece 3G version that my wife has.

IPhonePowerAdapters 7402  IPhonePowerAdapters 7403

If you can't beat 'em...

[Posted from my iPhone with the free TypePad app, picture taken by the iPhone itself.]
We recently spent a very nice 24 hours in Helsinki, Finland before crossing the strait to Tallinn, Estonia. Helsinki is quite a modern city and its delights are subtle. We very nearly didn't go to the Church in the Rock, having failed to realise that it's one of the top tourist attractions. You wouldn't know it from the humble location in the middle of a rather nondescript residential area.

 

HelsinkiChurchRock3 7398

 

Built in the late 1960s the church is sunk into the bedrock with just a domed roof poking above the natural lie of the land. It's really not much to look at from the outside, but internally it's a symphony of modernist concrete, rough-hewn stone, glass, wood and polished copper. It really speaks craftsmanship and slightly old fashioned Scandinavian design. It also has fantastic acoustics – there was a woman playing a grand piano as we wandered around, which just set it all off perfectly.

 

HelsinkiChurchRock2 7397
HelsinkiChurchRock1 7396
This is a decidedly exotic beer. In fact you may struggle to identify it as beer at all if presented a glass of it. To look at, it's a deep, ever so slightly cloudy colour that can only really be described as 'raspberry'. Which isn't surprising because that's what's in it – 30% of it in fact.

It tastes like finely sparkling raspberry juice with a slightly tart/sour beery edge. Those non-fruit flavours are the Belgian Lambic beer – fermented with yeasts that simply drift in on the air and give Lambics their characteristic sourness – just like sourdough bread in principle. Some Lambics can be face-puckeringly sour, but this has so much sweet fruit that it's tempered to just a cheeky edge that's enough to make it interesting. At only 2.5% alcohol by volume and with so much fruit, it's got to be almost good for you! Ones probably enough at one sitting though, before moving onto something a bit more normal.

LindemansFramboise 7214

Say you've got a Ramaze web application quite happily running at http://foo.com/ but you want to have the whole app running at http://foo.com/myapp/. It's not unusual to want to do this, for various reasons, and it's relatively easy to arrange by setting a single piece of Ramaze config.

The exact way to do this depends on the version of Ramaze you're using, as the options system changed between the 2009.03 and 2009.04 gem versions. Here's the syntax for Ramaze version 2009.03 and previous:

Ramaze::Global.prefix = '/myapp'

And here's the syntax for Ramaze 2009.04 and later, which requires setting the prefix for links (as before) and a routing rule for stripping it off incoming requests (since it no longer does it automatically):

app_prefix = '/myapp'

Ramaze.options.prefix = app_prefix

Ramaze::Route[ /^#{app_prefix}(.*)$/ ] = '%s'

The prefix will be automatically added onto the front of all URLs created by Ramaze's built-in URL and link creator methods (R, Rs and A from the link helper). It will also be stripped off the front of all incoming requests by the dispatcher (for Ramaze 2009.03) or by the routing rule (for later versions). So your own application code doesn't need to be aware that it's running with a prefix at all, unless you create absolute URLs via means other than the link helper methods. In that case you will need to use Ramaze::Global.prefix or Ramaze.options.prefix in your own link construction code to get them right.

One thing which might catch you out is forgetting to put the forward slash on the front of the prefix. If you set the prefix to 'myapp' it won't work – it has to be '/myapp'.

Update: Note that static files (those in your public directory) are not affected by any of the above changes. Furthermore, chances are that you refer to them with absolute paths from your HTML anyway – e.g. for images, CSS, JavaScript. So further thought will be required to handle these.

Apple have finally patched up some serious security holes in their Java distributions with Mac OS X. I had a problem when trying to install it, getting the simple message The update "Java for OS X 10.5 Update 4" can't be installed almost immediately after pressing the Install button (it didn't even start downloading). I'd just freshly started up my Mac and the browser wasn't running (it specifically instructs you to quit all browsers) so that wasn't the problem.
JavaUpdate4Fail 
Repairing permissions on my startup disk with Disk Utility then restarting seemed to fix it and allow the installation to proceed. Now I have 1.6.0_13 successfully installed.

Update: Exactly the same experience on my PowerMac G5 (original attempt was on an Intel MacBook). Same problem, same solution. Could it be because I've previously used the Java Preferences app to switch between JVM versions (like you're supposed to)? It's just about conceivable that the way the prefs app performs the switching leaves permissions a bit messed up as far as the installer is concerned, but none of the permissions it claimed to have fixed looked to be related in any way. Maybe it was more the restart that helped. Certainly just fixing permissions alone was not enough.
From Wales via the supermarket shelf, this beer is a revelation. You're not going to remember it for any particularly unusual flavour – but for its perfect balance and all round loveliness. It's a classic summery golden ale, not too strong at 4.7% but with enough might to assert itself and a really clean, not too bitter taste. I could have drunk it all evening, but I only had the one bottle. The can of Greene King IPA I had after it only highlighted just how good the Brains was.

BrainsSAGold 7003