Taking Nicola to swimming club tonight we were talking about memories of her Nan and that reminded me of my Nan. Two things immediately sprung to mind, the first was going to Nan's for lunch.
She'd always lay on a huge spread of food, filling a table that to a 6 year old as as big as I was (so, I imagine, about 1.5m diameter?). It had fresh bloomer bread thick cut and spread with real butter (at home we had margarine so it was always a treat). New potatoes that always tasted unique (I later discovered, it was the salt. Nan always added lots of salt whereas mum didn't, which is why it always tasted so different at Nan's). Fine bone china bowls with pastel colour flower patterns spring to mind, though not in any detail. Runner beans and peas, fresh from Granddad's flower bed. Happy days of childhood.
I then remembered the 'Mars Milk'. I guess I was staying at Nan and Granddad's for a weekend. We'd gone shopping and I asked if we could buy the 'Mars Milk'. I didn't understand what Nan was trying to tell me at the time, that the Mars chocolate bar was an advert for Mars and the milk was normal milk. I liked it enough to ask for it again though. Several years later, and Mars flavoured milk appeared on the supermarket shelves.
I don't claim that any of the above is of interest to anyone but me, but the memories are wonderfully tasty in my mind.
I treated myself to a rails training course last weekend (with Well House Consultants, rather good, I'll write about it if I get around to it). Immediately I start to create my first ruby app and I forget all the sqltypes I can use in my Model and where to look them up. As I think I'll be looking them up quite a lot, I've put them here on my blog for my later reference
:primary_key,
:string,
:text,
:integer,
:float,
:decimal,
:datetime,
:timestamp
:time,
:date,
:binary,
:boolean.
Options that I can use in my migration
I must remember to specify the decimal precision I need!
:precision [1..63], :scale [0..30]. Otherwise Mysql Default is (10,0).
* :limit - Requests a maximum column length. This is number of characters for :string and :text columns and number of bytes for :binary and :integer columns.
* :default - The column's default value. Use nil for NULL.
* :null - Allows or disallows NULL values in the column. This option could have been named :null_allowed.
* :precision - Specifies the precision for a :decimal column.
* :scale - Specifies the scale for a :decimal column.
These came from: http://api.rubyonrails.org/classes/ActiveRecord/ConnectionAdapters/TableDefinition.html
I've been meaning to write about this for a while. Many people we send images files to don't know how to view beyond the first page of a multi page tiff file in Windows XP (probably Vista, I haven't tried).

If you open a multi page tif using 'Windows Picture and Fax viewer' (the default unless another program you've installed has taken over as your preferred tiff viewer) you get an extra little drop down box at the bottom of your screen, that allows you to choose which page you'd like to view. When you go to print, you're shown a preview of each page and can choose (by tick box) which pages you'd like to print.
Our fax to email scanner creates these multipage tiff's.
An old friend on facebook asked if anyone still had the Kent Challenge Team (KCT) promotional video so Rhonda found our copy and we've uploaded it. Happy memories flood back :-)
In June 2004 we went on holiday to Australia. The photos were shared on my web site, crafted hand coded pages in the days before I used movable-type to blog. One day, I may move them into the main blog but for now they still live in their own little folder at http://www.steveroot.co.uk/australia/. Amongst the requisite family holiday photos is an aerial photo of Sydney taken from a helicopter flight.
This is 'Deco by Night', an image created by visual designer Albert Keifer. If you look really closely you can see our holiday picture in that image.... no I struggled too. The nice chap emailed a series of images to show me...
So here's our original holiday photo. The city of Sydney, it's wide blue river, Opera House, distinctive bridge and some of the email Albert sent asking if he could use the image.
I am an illustrator, visualiser and I was approached yesterday to enter in this contest. I had the shape lying around and started working on rendering it from different angles and see how I could build an atmosphere. I was coming to a stage where I felt it needed some nice atmospheric background city to put this monumental shape in its correct feel of 'being very big and aloft'.
So I started a Google Image search on birds eye view and that's how I came across your Sydney image. It immediately struck a chord and I went on to integrate it into the picture. I did not want recogniseable features since this is supposed to be a futuristich 'somewhere' place and a landmark building like the opera house would immediately distract from that and root it back to a well known place. That's why I started to do a quick manipulation (which is also part of what I do for a living) and that's how this image ended up the way it is now.
I asked nicely if I could post it on my blog (OK, it's taken almost 2 years for me to post, but I've finally got to it!) so he emailed me some of the interim images to show how the steps used to crate the image.
Click on the images to see them full size, you'll probably need to do that to see the detail of the changes
![]()
The first image is 'the-beach' which is used for the skyline and low sun.
The second image is 'the-city-base-added', click and see the full size image and you can see how it's been flipped, cropped and laid on top of the first image.
![]()
In the third image 'city-remodeled' you can see how Sydney has been transformed into a generic city, losing the landmarks of the harbour bridge and opera house.
Finally, the computer generated image of futuristic chrome petal shapes is the top layer.
So I may have been quieter than usual over the summer, but the blog still goes on. What visitors are reading though has changed since last year when this post gave the top 4 posts. Now they are:
1. Useful Windows Shortcut key to show Desktop is still number - This was written for XP but the shortcut works in Vista too.
2. Margins and Markups - what the difference is and how to calculate them.
3. Red mushroom with white spots - a photo I took while walking
4. BBC iPlayer and it's built in Kontiki software - though I must make a new entry about this, as the iPlayer has moved on since 2 years ago. We're now watching iplayer via our Ninendo Wii! Nicola used it to watch Gavin and Stacey for the first time to see the kitchen I designed (it's the maple one, in the house set in Essex).
5. Welcome to the Christmas Party season - a review of our 2007 works christmas party.
Happy new year everyone!
It may be apparent I've not been typing a lot lately. Well, I have, just not in the blog. Having caught up with work and other real life fun things I'm hoping to post several entries that are overdue. Before I do that, some suitable geek humour that had me in fits of laughter (good job I'm the only one in the office).

from: http://xkcd.com/149/
(funnier for me perhaps, 'cause sudo refers to the 'root' user.... hey, it's geek humour, it'll mean nothing to 99% of the population so you'll not be perfectly normal not to understand it)
Brother Dave decided to go on a cycling holiday, from Oslo in Norway to Copenhagen in Sweden. His Nokia phone has built in GPS and with a little software from http://www.mapmytracks.com/ and a not inexpensive data contract with O2 (mostly needed so we can pester him with work email while he travels) we're able to watch where he cycles in real time. You too can see him cycle slowly up hills on a scrolling map the wizz down the other side.
To find out where he is now, or where his last section finished, follow this link: http://www.mapmytracks.com/explore/author/davidjroot/latest , or visit his blog for anything else he uploads (he's going to try and geotag his photos.....).
Special thanks to the developers of mapmytracks.com, it wasn't possible to link directly to the latest route yesterday so I sent an email asking for it to be added to the wish list. Less than 12 hours later and they've added it already!
Brother Dave decided to go on a cycling holiday, from Oslo in Norway to Copenhagen in Sweden. His Nokia phone has built in GPS and with a little software from http://www.mapmytracks.com/ and a not inexpensive data contract with O2 (mostly needed so we can pester him with work email while he travels) we're able to watch where he cycles in real time. You too can see him cycle slowly up hills on a scrolling map the wizz down the other side.
To find out where he is now, or where his last section finished, follow this link: http://www.mapmytracks.com/explore/author/davidjroot/latest , or visit his blog for anything else he uploads (he's going to try and geotag his photos.....).
Special thanks to the developers of mapmytracks.com, it wasn't possible to link directly to the latest route yesterday so I sent an email asking for it to be added to the wish list. Less than 12 hours later and they've added it already!
This is so I don't forget, it took me a while to not find the answer via google, guess the solution successfully, and then read the solution by chance while looking at something else.
I use googlemail (actually, google apps but let's not get pedantic).
I have a friend with several email addresses, (work, other, home, other, other).
Recently she asked for emails not to go her work address (unless they're really urgent).
When I use gmail to write an email just to her, it's easy to choose which address it's going too (and I know roughly which address is most appropriate at the time), but I have a contact group set up with her in it and those emails were always going to her work address.
There was no option when creating the group to choose which of her email addresses should be used by default. The address being used (work) was also the address that came up first when composing a message and including her specifically.
I guessed that this apparent default email address was the first contact address I'd entered for her and when I checked it was showing on the top of the gmail list of addresses for her contact record. I replaced the top of list email address with the prefered 'other' address, added the work address to the bottom of the contact list. Created a new email and using the contact group and gmail used the 'other' address' instead of her work address.
I later read 'googlemail defaults to using the first email address of a contact....'
This is a note for my future self, because something tells me I'll come across the same problem again....
The old server ran Colfusion MX 6.01, the new server is running Open Bluedragon, the near equivalent to Coldfusion 7 or 8. (Colfusion MX6.01 doesn't work properly with Apache 2, or more recent linux operating systems and I couldn't justify the upgrade cost to the latest version of coldfusion. My next big project will be to rewrite the Roots web site into an open source language though as Open Bluedragon runs coldfusion code and is open source, I might be able to develop rather than re-write from scratch, anyway, enough of that background).
Things change between program versions and to my horror I found the shopping cart wasn't working yesterday. The blame lies with me, I didn't properly test and I should have spotted it before the server move. Hey ho, 3 hours to debug and fix, and the problem was with
<cfset this = val(evaluate(listgetat(
form.FIELDNAMES, listcontains(
form.FIELDNAMES,"_ID_"))))>
The Fieldnames are coming out as all lowercase, and the original code was written to handle the form.FIELDNAMES returning all uppercase.
If i've a bottle of white wine at home, I'll open it and have a glass to celebrate my satisfaction :-)
Googlemail is down :( Looks like they think they'll be an hour. At times like this I think 'if only there wasn't so much spam I'd still have my email on my own server, that's working fine". Then I remember, I'm pretty sure the googlemail server uptime is higher than my server, and seeing as I haven't had to spend any time updating this, that and t'other software to make gmail work, I should be patient and wait for my gmail to return to service.
I've just moved the blog to the new server. More on that later. I've been very slow on posting things lately, perhaps once this task is off the to do list I'll make a little more time.
If you're in Medway on Friday evening, 17th July, please consider going to to this event organised by some friends of mine.
Thanks everyone!
- - - -
Concert programme first proof .pdf
Dear Steve,
Only a week to go until the big event which promises to be the biggest of its kind ever seen in Medway.
As you know, our group of volunteers, attached to the Rotary club of Medway, is aiming to raise funds to ‘End Polio Now’ once and for all.
It’s still infecting hundreds of children and adults in some parts of the world and its presence is still here in Medway; among the audience next Friday night will be local people who know first hand how the disease affects patients.
We need your help, so please let me know how many tickets you want and whether I should post them to you or leave them at the reception at Dickens World.
Looking forward to seeing you there!
Best wishes
Clive Lawrence
Rotary Club of Medway
PS And if you know anyone else who might be interested in supporting the campaign, please point them in my direction!
DATE: FRIDAY 17 JULY
TIME: 7.30pm
WHERE: BRITANNIA THEATRE, DICKENS WORLD, CHATHAM MARITIME ME4 4LL
COST: £10 PER TICKET
CHEQUES: ‘ROTARY CLUB OF MEDWAY’
ADDRESS: c/o 1 SOUTH AVENUE GILLINGHAM ME8 6EG
The afternoon of the first day was my turn to volunteer. There was no pressure to volunteer but no good reason no to. There were two perks of volunteering, the first was an orange cap with the Birmingham convention badge upon it (Believe me, it's a perk, one American asked wher eto buy them from) and the second was meeting Rotarians from all over the world as I gave out the goody bags.
One of the noticable traights of Rotarians is their age, most Rotarians are over 60, many over 50. Being the only male volunteer that looked youthful (now I'm the grand old age of 33). Immediately I was given the job of moving boxes full of goody bags from the back store into the distribution area. Having moved all those in fairly quick time, I had to get bags from the 'container'. No problem I thought, these boxes are easy to move and they told me there was a pallet truck - just like being at work really. Well, not quite. All the bags that were boxed had already been moved in, all the remaining were loose. Some small attempt at bundling them had been made, strapping them in groups of 20, but most of these fell apart if not when carried when the whole pile would collapse. Still, there was no point moaning about it and another Rotarian, Colin, who came from Scotland was helping too, so we had a good chat about the differences in our clubs and the projects we're involved in.
Giving out the bags, we had one returned from an Australian lady who (rather appropriately as she said herself) had been given an incorrectly printed bag. All the text and logos were printed upside down! So, I gave her another and suggested she tell all the local media back home how we Brits had made merry fun with her by giving her the misprinted bag, and that they can use it as an excuse to recruit more people into the great environment Rotary is. She went away happy. Rotary really is as much about fun and fellowship as "Doing Good Things".
The next post will be about the Opening Ceremony that was held this morning but that will have to wait until later. Shortly we leave for the Medieval Spectacular at Warwick Castle.
