Wednesday, 31 December 2008

Day 9 - another visit to Blizzard Beach

Not too much to report today as we just had a slow start to get to Blizzard Beach by its 10am opening time before spending the whole day there until it closed at 5pm.

Good things about Florida (in no particular order)
  1. The weather
  2. Blue Diamond Wasabi and Soy roasted almonds
  3. Cheap petrol (29 pence/litre)
  4. Disney
  5. Minimum speed limit on Interstates
  6. Did I mention the weather?
  7. Right turn on red
  8. Overtaking on the inside
Bad things
  1. Annoying sales tax
  2. 4 way junctions

Tuesday, 30 December 2008

Day 8 - back to Animal Kingdom and an evening at Hollywood studios

Another early start sees us back to Animal Kingdom to get on the African Safari where we board a truck to see just about all of the major African animals in a very clever landscape. Then followed the Lion King show, a pretty cool 30 minute show and lunch in the Rainforest Cafe.

Following an afternoon back at the Apartment pool, we decide to head back into the Hollywood studios park for the evening Fantasmia show, and unfortunately have our first experience of bad Disney organization. Lots of un-organized queuing and a 15 minute late start.

click image to see pictures

Monday, 29 December 2008

Day 7 - back to Epcot

Time to get back to The Epcot Centre to try and finish off the bits we couldn't get to the first time around. The real highlight for me was Mission: Space, a simulated space flight to Mars. The simulator/ride was the best yet with loads of G forces, probably a bit too much for Dylan! I also really enjoyed the "Universe of Energy", presented/narrated by Ellen DeGeneres and also the huge aquarium tanks with sharks, rays, dolphins and turtles. A ride we missed again was "Soarin'", a hang gliding simulation that had a 160 minute queue and first fastpass ticket of about 9pm when we got to it.

We managed to finish up about our normal time allowing time to have a swim in the pool before tea.

Thinking about the 70-80 degrees temperature in winter, I wonder if I could swap the UKs climate, but of course give up our long summer evenings, I think it probably always gets dark by about 8pm at the latest here.

Sunday, 28 December 2008

Day 6 - Kennedy Space Centre

An early start to get on the road for the 60 minute drive to the east coast and Kennedy Space Centre. We are almost first in the queue and get a good start on the bus tour that visits Gantry 39, The Saturn V facility and the International Space Station centre. The Saturn V part is the best with good stuff about the Apollo missions and the impressive Saturn V rocket itself.

We see a fair bit of wildlife on the bus, including 'Gators, Bald Eagles an Armadillo and some vultures.

Overall the trip is interesting but, in my opinion, slightly disappointing considering the high entrance fee.

Saturday, 27 December 2008

Day 5 - Disney Magic Kingdom

Not too much of an early start today, and we were rewarded with probably the most crowded day so far. The entrance to the park starts with the usual $12 parking and "tram" ride, but then an extra step is either the mono-rail or ferry across the lake. We took the mono-rail and were rewarded with the sight of a 'gator swimming below us.

The Magic Kingdom is the most "Disney" of the Disney parks with Mickey, Minnie and Donald in great abundance. The park is also aimed at younger children although there are some rides for older ones such as Space Mountain and Thunder Mountain. We managed to get on Space Mountain, but left it too late to get sensibly timed Fast-passes for anything else of substance, so spent more time that usual wandering around and exploring the sights and scenes. We did manage to see some shows and also went on a Pirates of the Caribbean ride. We also held out the "parade" at 15:30 which was quite an experience, although personally one is probably enough.

We still managed to get back to the apartment for a twilight swim in the pool while it was still about 75 degrees!

Friday, 26 December 2008

Day 4 - Blizzard Beach

Christmas Day! Very strange. At least the kids managed to hold out until 05:30!

After a fairly slow start it's off to Blizzard Beach which is surprisingly quiet. This is a great resort for the kids to have fun and the parents to try and chill out. In spite of that, still pretty tiring and we managed to stay until closing time at 17:30.

Pretty good weather in the 80's but a short rain shower in the afternoon.

All exhausted, back to the apartment for tea. Kids probably the tiredest yet.

Thursday, 25 December 2008

Day 3 - Disney Animal Kingdom

An early start today as we suddenly realised that the Animal Kingdom opens at 8am. We didn't quite make it for 8, but early enough to get on a few rides before the crowds really got going.

The Animal Kingdon is the highlight so far even though once again we didn't manage to go around the whole thing deciding to instead have some chill out time back at the pool. We'll head back anther day to do Africa, Discovery Island and Camp Minnie-Mickey.

Highlights were Kali River Rapids where you get a soaking and Expedition Everest, a large and scary roller-coaster that Robyn and I managed 2 trips on thanks to Fast-pass and Dylan's reluctance.

We saw large (Flying F0x) bats, tigers and loads of birds.

Attractions visited:

Dinosaur (ride)
Primeval whirl
Finding Nemo (musical)
Flights on wonder (bird display)
Kali River Rapids
Everest Expedition
Maharajah Jungle Trek

Wednesday, 24 December 2008

Day 2 - Hollywood Studio

We plan a day with an early show start and a return to the apartment for lunch before returning for the evening fireworks etc.

Arriving at the Hollywood studio park after our easiest drive yet, we are before the 9am opening time, but there are still thousands ahead of us. Once inside we decide to head to the Toy Story ride and get funneled into the fast-pass queue, where we eventually get tickets for some 2 hours ahead. Moving on to the very quiet "back-lot" tour, we hit very lucky and all our plans change as we get given Dream Fast Pass special tickets that provide fast-passes to all the major rides in the park. We now decide to make a full day of it to get the best advantage of these special tickets.

Finally get back to the apartment about 5pm and the kids try out the pool while get some more shopping at the local supermarket.

Attractions visited

Backlot tour
Cascade Canyon
Lights, motors, action
Star Tours
Indiana Jones show
Rock 'n' Roll roller-coaster
Prince Caspian
Little Mermaid

Monday, 22 December 2008

Day 1 - Epcot

We do the checking in stuff and take a look at the lovely pool area and, after a quick shop at the very nearby supermarket and breakfast at Dennys (diner), we decide to go to Epcot which is one of the nearer Disney attractions. Once again, although driving is really easy, we seem not to have learnt much about navigating and make a meal of the short journey.

When we finally arrive, it's a slight dissappointment to have to pay $12 to park when we've paid hundreds of pounds for our 14 day passes, but you can't fault the organisation and the sheer scale of everything is simply amazing. We get transferred from the car park to the main park on a road train and quickly get into Epcot. Immediately, the quality and cleanliness is apparent, especially considering the age of the park.

The first area is the modern part with loads of technology exhibits mixed in with the traditional rides. It's Disney's most busy time and the queues are epic, but at least there is the Fast-pass ticket system, where you can get a ticket for 'later-on'. We actually don't bother with this yet and just continue to explore in the sunny, but slightly chilly, weather. (We expected this first day to be un-seasonally cold, and know it's picking up tomorrow).

We manage to get about halfway around the 'world' area before we run out of time and head back to the apartment for tea.

Everyone's pretty tired already and the kids are straight off to sleep.

List of attractions visited

Body parts
Velcro show
Mexican boat ride
Viking boat ride
Chineese acrobats
China film show
Norway filem show
Where's the fire?

Florida for Christmas and New Year - getting there

To do the madness that is air travel we needed to get up at 04:45! We loaded up the car with our luggage and dog to make the first trip to our friends Sarah and
Doug in Hatfield where we dropped off the dog for it's 2 week holiday and picked up Doug who drove us to Heathrow terminal 3. Of course, despite my stress and panicing, we arrive in plenty of time at about 06:35. The American Airlines flight is un-eventful apart from the slightly grumpy old maids who pass as air stewardesses and we land in Miami about 10 hours later at 15:00 local time.

Of course, that's the easy bit! Immigration is actually not too bad as I'd managed to fill in the reams of paperwork on the plane, but the baggage reclaim is bordering on third-world, with all the cases just dumped in a heap behind one of the conveyor belts, inviting a scrum! Luckily we make a reasonable escape and then head outside to the steaming hot underground car hire shuttle bus pick up area and hence to the car-hire depot to pick up our Pontiac C6.

Now the fun really starts as we've been travelling already for 17 hours and it's about 17:00 as we head north for the drive up to Orlando. We have a map that I'd taken trouble to print off at home and we managed to find the I95 heading north with no trouble, although in retrospect this might have been the wrong choice as maybe the Florida Turnpike runs the whole route, the map I had was not too clear about this. We stop off for a Mucky Macs tea and then manage to somehow miss a turn to get us heading NW to Orlando, so we have to detour slightly. We get there in end, but still manage to make a complete hash of finding our apartement just a few miles away from Disney, I think fatigue, bad maps and large distances are taking their toll.

We finally arrive at about 21:00, some 21 hours after leaving home and manage to get access to our 3rd floor apartment which is pretty super. Huge and well equipped with 2 double en-suite bedrooms, nice lounge and kitchen with three TVs and free internet access, hence this post.

It's still 75 degrees outside, but we manage to crash out, exhausted!

Thursday, 11 December 2008


Due to my amazingly bad typing skills I discovered a new unix command today:

$ ddate
Today is Setting Orange, the 53rd day of The Aftermath in the YOLD 3174

Google leads me to

Learn something new, although maybe not useful, every day.

Monday, 17 November 2008

The most important Agile tool

Having just completed a review of our latest release, a lot of the team complained about the lack of some of the tools and processes that we've become used to in recent times. These shortfalls were mainly due to the fact that we're integrating with a new team but it led me to think about which single tool I'd hate to be without.

The answer is Continuous Integration, we use CruiseControl by the way.

We get a lot of spin-offs for doing this, especially as we're a distributed team, the main one being an implicit communication tool, everyone is using it, so we can all see who's doing what. Other benefits are that we also using several build metrics, so I believe the quality level is kept high, which gives a much warmer feeling, especially when the pressure is on.

Which Agile tool or process would you hate to be without?

Monday, 10 November 2008

Ubuntu and me - the story so far

I've been using Ubuntu in quite a big way for the last 2-4 months and I thought I'd just write down a few points, good and bad.

  1. Speed - massive improvement over Windows for day to day use, especially wireless networking and boot up times. The only bad part is using Firefox to upload photos to flickr which seems to cripple firefox. I have now overcome this by using F-spot photo manager instead.
  2. Viruses - not come across any yet!
  3. VirtualBox - can be used when you really must have Windows
  4. Really cool for a lot of development, especially having the command line so handy.
  1. Suspend and Hibernate seem impossible to get working on either of my HP laptops and believe me, I've tried.
  2. Can't seem to get the microphone working either.
  3. I do miss Outlook
  4. No Livemeeting which can be a pain in a mostly Microsoft company. But Yuuguu is cool for simple sharing.
  5. Screen properties are a bit flakey.
  6. I'd like to share a printer with other Windows machines on my LAN, but I've still to crack getting CUPS to do this for me.

Tuesday, 30 September 2008

Good Interweb customer service

After quite a long break over the Summer, I recently started to use my Phoenix flight sim again. Checking their site I noticed I was quite a few releases behind, so decided to download the updates and upgrade my installation.

Although the installs all went OK, the results were very disappointing, with dodgy shadows and very clunky slow graphics. As the latest release was Beta, I decided to send off an email to the support address, not really expecting much from what is surely a pretty niche product. To my pleasant surprise, I got an almost instant response, and after a fairly lengthly, but rapid, exchange of emails, my issues were resolved with an upgrade to my Nvidia drivers and also Directx.

Thanks guys!

Friday, 4 July 2008

Cedric's coding challenge

So, the latest little problem buzzing around is Cedric's coding challenge. I took Raghav's solution as a base, and just simplified it somewhat I think:


import java.util.ArrayList;
import java.util.Arrays;
import java.util.List;

public class CedricCodingChallenge {
public static void main(String[] args) {
CedricCodingChallenge codingChallenge = new CedricCodingChallenge();

int max = 10000;

long startTime = System.currentTimeMillis();
List<String> list = codingChallenge.populateList(1, max);
long endTime = System.currentTimeMillis();

System.out.println(String.format("Size of list: %d", list.size()));
System.out.println(String.format("Biggest jump: %d",
codingChallenge.getBiggestJump(list, max)));
System.out.println(String.format("Total time: %d", endTime - startTime));

private List<String> populateList(int start, int end) {
List<String> whiteList = new ArrayList<String>();
for (int i = start; i < end; i++)
whiteList.add(String.format("%d", i));

for (int i = 0; i <= 9; i++)
whiteList = removeDuplicatesFromWhiteList(whiteList, i);

return whiteList;

private List<String> removeDuplicatesFromWhiteList(List<String> whiteList, int i) {
List<String> result = new ArrayList<String>(whiteList.size());
for (String item: whiteList) {
String c = String.format("%d", i);
int f = item.indexOf(c);
if (f < 0) {
int l = item.lastIndexOf(c);
if (f == l) {
return result;

private int getBiggestJump(List<String> list, int max) {
int result = 0;
int last = 0;
for (String item: list){
int i = Integer.parseInt(item);
int jump = i - last;
if (jump > result)
result = jump;
last = i;
if ((max - last) > result)
result = max - last;
return result;

My solution took 722ms.

Saturday, 28 June 2008


After 45 years on the planet, most of them living near enough to Wimbledon, I finally went to the tennis on Thursday after work. Certainly an experience I'm glad I made the effort for.

But what an effort it was! 90 minutes queuing for about 2 hours tennis on the outside courts.

Isn't Wimbledon just another "Ballet" or "Opera"? Seems like the Centre and No.1 courts are for the "haves" and the "have-nots" make do with the outside courts. The whole place if full of pompousness, loads of uniformed official telling you what you can and can't do and they even give you a "guide to queuing" to make it seems like it's all part of the experience.

Joan A

Just watching a bit of Glastonbury on the TV, I never realised that Joan Armatrading was such a cool guitar player. Also related, and in the news, it turns out that all those rumours about her and Valarie Singleton are just a pack of lies!

Thursday, 24 April 2008

Company car time!

Yes, I know that company cars do not make sense financially but......

I've hankered after one for over 20 years and, now that I've finally become eligible and, having loads of grief with my just out of warranty caravan tug and, with one of the family holidays coming up soon...

It seems like now might be the time to make the switch. Of course it wont arrive in time for the holiday, so hopefully I can get the problems sorted in time.

Thursday, 17 April 2008

Python homework

As part of a 'Python study group' at work, we were given the following challenge:

Exercise 1:

Write a program that processes a list of numbers from 1 to 100. For each number, if the number is a multiple of 3, print “FIZZ”; if the number is a multiple of 5, print “BANG”; otherwise, print the number.

You are *NOT* allowed to use any *IF/ELSE* statements in your code. You can use the list-accessing ternary operator hack, but whilst I’ll accept your homework if you do, you’ll miss out on the prize (alcoholic), which goes to the most concise code (not including whitespace).

Have fun!

Here's my final solution:

for i in range(1, 101):
f = (i % 3 == 0) and "FIZZ" or ""
b = (i % 5 == 0) and f + "BANG" or f + ""
n = (len(b) > 0) and b or i
print n

Wednesday, 12 March 2008

flickr -> photobox transfer

SWMBO asked me if I could help transfer some of our flickr photos to photobox so that she can create and print an album. A quick Google seemed to find a few links for doing it the other way around, so it seemed like time to get knitting some perl!

Flickr has an API and photobox lets you use ftp to upload, so I thought I'd use the perl API to download the 4 sets that my wife had arranged on flickr. Anyway, here's the code with keys etc obscured. Sorry it's pretty rough and my perl is not too hot, but at least it works.

use Flickr::API;
use Data::Dumper;

my $api = new Flickr::API({'key' => 'your_flickr_api_key',
'secret' => 'your flickr_secret'});

my $frob = $api->execute_method('flickr.auth.getFrob', {
'api_key' => 'your_flickr_api_key',
my $f = $frob->{tree}->{children}[1]->{children}[0]->{content};

my $url = $api->request_auth_url("read", $f);
my $cmd = "C:/Progra~1/Mozill~1/firefox.exe \"$url\"";

my $token = $api->execute_method('flickr.auth.getToken', {
'api_key' => 'your_flickr_api_key',
'frob' => $f,

my $t = $token->{tree}->{children}[1]->{children}[1]->{children}[0]->{content};

my $response = $api->execute_method('flickr.photosets.getPhotos', {
'photoset_id' => '72157601397952579',
'auth_token' => $t,

my $ids = $response->{tree}->{children}[1]->{children};

for my $id (@$ids) {
if ($id->{attributes}) {
my $photo_id = $id->{attributes}->{id};
print "$photo_id\n";
my $sizes = $api->execute_method('', {
'api_key' => 'your_flickr_api_key',
'photo_id' => $photo_id,
'auth_token' => $t,

my $s = $sizes->{tree}->{children}[1]->{children};
for my $size (@$s) {
if ($size->{attributes}) {
if ($size->{attributes}->{label} eq "Original") {
my $url = $size->{attributes}->{source};
print "$url\n";
my $c = "wget $url";

Sunday, 9 March 2008

Central heating problems - from bad to worse

I've been working on a bathroom re-fit for the last few weekends. Last weekend, I removed a radiator and replaced it with a heated towel rail. This involved draining the system down. Sad to report that it's never been the same since.

The boiler started making a right old racket, thumping, banging and occasionally venting into the expansion tank. A phone call to a trusty plumber friend, and I'm pretty convinced that there is now some air in the system. Looking back I think this might have been caused by trying not too lose all the water in the system by turning off as many radiators as I could at both ends before draining down.

So this Saturday, I started to investigate.

The boiler is situated in a sort of utility room that links the house with the garage, and in the garage loft above there is a sort of pressure relief valve that I had trouble with last year when it started leaking. I wondered if this was adjusted down too tightly and was not allowing any air to escape, so up I went for a fiddle. DISASTER. The rubber o-ring is perished and, before I know it, the system is pissing out and dripping down into the wall mounted boiler below. A quick panic has me draining down the system again, and rushing off to B&Q to get a new o-ring. Once refitted, all seemed OK, until a couple of hours later I notice that the boiler is not firing at all, the whole system is off and the fuse has blown. To cut a further chapter short, the water from the leak has dripped down into the top of the pump that is sited under the boiler and cause the pump electronics to blow...... pump now f**ked. Another trip to Wickes this time for a new pump. Manged to fit that, but now one of the pump valves has a tiny leak from the screw that turns to isolate the pump. A common problem apparently.

Next weekend I'll be draining the system again to fit new pump valves.

The only good point about this is that the system does seems a lot quieter now.

I'm sure it's on borrowed time as the boiler is over 20 years old. Although I've replaced a boiler in the past, I wont be doing it again, so maybe this summer we ought to get it looked at?

Ubuntu upgrade to 7.10 problems!

I don't use my dual boot Ubuntu that often except that it's wireless network seems far more performant and reliable than that on XP running on the same machine using the same USB wireless adaptor. Irony follows....

I boot into Ubuntu, and like nearly always, it prompts me to do some software upgrades, this time asking me to upgrade the whole OS. Like a fool I accept. About an hour later, it's all done, but no network! Woe is me.

Resort to trusty google, and this pops up! Lug the desktop down to the router to get a network connection, and it all worked fine.

Not good marks for Ubuntu though.

Monday, 3 March 2008

Michael Clayton

Last night I watched "Micheal Clayton", one of 2007s most well received and awarded movies. A couple of things about this made me think.

Firstly, I downloaded the film using BitTorrent, naughty me! However, is there a difference between doing this and watching the film once, and just borrowing the
DVD from a friend, and doing the same. Are both illegal?

Secondly, more directly related to the film, what was all the fuss about? OK, it was a reasonable film, but how does Tilda Swinton get awarded an Oscar
for best supporting actress? It seemed to me she was only on the screen for about 5 minutes in total.

Thursday, 7 February 2008

Fix It Again Tomorrow

Well, after several months of prevaricating, I've finally taken the plunge and ordered a brand new car, well second car anyway, mainly used as a local run-about. It's the first brand new car I ever had, but only a really small and cheap Fiat Panda.

In spite of generally good reviews and great economy and low running costs, I'm slightly nervous of getting a Fiat given their past poor reputation. Only time will tell.

The only colour it comes in at no extra cost is a rather pale yellow. If it was a nice bright yellow, I'd be pleased, but anyway my wife insisted she wants a black one. The extra £360 makes a slight nonsense of getting a rock bottom price, but who am I to argue.

Only 6-8 weeks to wait!

Wednesday, 30 January 2008

Do brains wear out from over-use?

I've noticed recently that I'm always thinking about something. Is this just me? Do other people ever find themselves "just going blank"?

This lead me on to wondering about my brain wearing out. My father suffered from Alzheimers and I wonder if he used to be like me, never seeming to switch off, and his brain wore out.

Something to look forward to anyway, NOT.

Friday, 11 January 2008

Browser caching hell

Started to look at Freeswitch which I may be using over the next few months.

Initially decided to try and build it using cygwin (nasty habit that I must get rid off!), but after installing various packages, gave up after some wierd error about 64 bit integers.

So, switched to Visual Studio to build, which I thought would be dead easy. In a way, it was, once I learned a few very basic things about VS, like looking in the 'output' window to see the build progress, then I hit a problem......

Part of the build uses a vbs script to download and uncompress some dependent packages. I have stripped out the relevant code here, which is sort of interesting in itself, as I think it's really meant as an Ajaxy sort of tool:
Set xml = CreateObject("Microsoft.XMLHTTP")
Set oStream = CreateObject("Adodb.Stream")

xml.Open "GET",

Const adTypeBinary = 1
Const adSaveCreateOverWrite = 2
Const adSaveCreateNotExist = 1

oStream.type = adTypeBinary
oStream.write xml.responseBody
oStream.savetofile "pthreads-w32-2-7-0-release.tar.gz", adSaveCreateOverWrite

The code then used 7za.exe to unpack the gz and then unpack the tar file. This seemed to be where the problem started, as the .gz file seemed to be corrupt and I ended up with a file called [Content], instead of a directory structure.

I must have spent about a whole day investigating this. It was all the more strange because it seemed to work OK on my 'personal' laptop. As I seem to be rambling on, to cut a long story a bit shorter, it turned out to be a caching problem. IE had somehow created a corrupted cached version of the downloaded file and I was always getting the cached copy, instead of a fresh download.

Anyway, luckily it was in a 'downtime' period at work, so no harm done. Back to real work next week.

Ruby on Rails completed

As a follow up to my last post, I finished my experiments with Ruby on Rails. Simple stuff really, a couple of very simple tables with a many-to-many relationship managed using some nifty Ajax drag'n'drop.

Most of the time was spent fathoming out the Ajax stuff to get it to do exactly what I wanted. I had a sort of 'light on' moment when I realised that changing objects around in my [session] could directly update the DB, without doing an explicit 'save'. Pretty cool all round.

Webby stuff still doesn't 'fry my ham', to use a Downeyism and of course I had absolutely no style but that's what all those web designers are for right?