Thursday, 30 April 2009

Website stuff

This morning I checked my email and The Web Squeeze and then did some work on my website. I also went in the garden for a bit to see if I could take any insect photos, but although it was cloudy and windy, it was quite warm so all the insects were too active and kept moving about and flying away.

After lunch I went on Animal Crossing, then checked my email and The Web Squeeze again.

I did some more work on my website, just making some stuff work with jQuery. I found out that you can pass parameters to listener functions with jQuery by using bind. e.g. Before I was doing this:
//Add the ajax subcats lookup function to the category select box. We have to use call otherwise 'this' refers to the window rather than the select.
$('#category1').change( (function(depth){return function(){, depth);}})(2) );

function addSubCatList(depth)
//do stuff

But using bind directly I can do this:
$('#category1').bind( 'change', {'depth': 2}, addSubCatList );

function addSubCatList(e)
var depth =;
//do stuff
So, a lot easier to read and write.

In the evening I watched Lost and The Super Mario Bros. Super Show with Moc and L.

Breakfast: Strawberry jam toast sandwich; cup o' tea.
Lunch: Barvarian smoked ham with iceberg lettuce sandwich; ½ Barvarian smoked ham with iceberg lettuce and mayonnaise sandwich; 2x small clementines; slice of Genoa cake; Fox's triple; cup o' tea.
Dinner: Chicken & mushroom in white wine sauce pie; green beans; potatoes; carrots; gravy. Pudding was a slice of Genoa cake. Coffee.

Wednesday, 29 April 2009

DVD drive not working properly

This morning I went out in the garden and found a fly infected with Entomophthora muscae, so I took some photos of it.

After that I tried installing something on my PC, but it wouldn't read the DVD, and also lists my DVD drive as 'DVD RW Drive (H:) Virtual DVD-RAM Drive'. If I put a Music CD in, it would read it okay, but when I put the install DVD in the drive, it would just lock up Vista. After some googling I tried deleting some registry entries about Lower and Upper Filters, but it still wouldn't work. I tried the DVD in Mac's comp, which is also Vista, and it worked okay. So there must be something funny about my DVD drive that it can't read it.

I tidied up my room a bit, and went through my pile of paper I had left to look at when I got a minute, and luckily(?) I had left it too long so I didn't actually have to do anything with them other than put them in the recycling and file a few bits.

In the afternoon I did some website work. I also got an email from Raxco offering 25% off PerfectDisk 10. After doing some googling, it seemed to get nothing but praise, so I decided to purchase a copy of it. They charge an extra £5 or £6 for a years worth of free upgrades, which I thought was a bit cheeky as you normally get updates included for free when you buy software. In total it cost about £25.

Personally I much prefer software with free lifetime updates. It also means that you don't have to worry about only purchasing the software when you actually need it, and so of course the company selling it can get your money earlier (and so earn interest on it) than if you only purchased the software when you really need it. Also they can charge a bit more.

In the evening I watched 'Kiss Kiss Bang Bang' with Moc, and then did some more website stuff.

The weather today a mixture of cloud and sun, mainly sunny I would say.

Breakfast: Lime marmalade toast sandwich; cup o' tea.
Lunch: Roma ham with iceberg lettuce sandwich; banana; Fox's triple; about ¼ easter egg; cup o' tea.
Dinner: Spaghetti; tomato sauce stuff; stir fry vegetables; meatballs; ground black pepper. Pudding was a Muller fruit corner. Coffee.
Supper: Dark chocolate digestive; nice; cup o' tea.

Tuesday, 28 April 2009

Upgrade to Ubuntu 9.04 broke PHPMyAdmin

This morning I was going to do some more work on my photo website, but when I loaded up Ubuntu it said there was an update available to the latest version of Ubuntu. So I installed that, which took ages. While it was installing I checked Juza Nature Forum and the WEX forums.

After Ubuntu had finished updating itself, I found there was a permissions problem with phpMyAdmin. So I did sudo chown -R webapps:webapps /usr/share/phpmyadmin/, which fixed that problem. But now phpMyAdmin was just a blank page. I googled for this, and it seems it can be caused by lots of different things. One of the suggestions was to make sure you have in your php.ini file.

I checked whether my main php.ini file had that line in it. It didn't, so I added it and restarted apache sudo /etc/init.d/apache2 restart, but phpMyAdmin was still just a blank page. Lots of people suggested changing stuff in the phpMyAdmin config, but there are lots of different config files, e.g. various different files in /usr/share/phpmyadmin and subfolders, /var/lib/phpmyadmin, /etc/phpmyadmin. I chowned /etc/phpmyadmin to webapps as well, but phpMyadmin was still an empty page.

I restarted, but still got a blank page from phpMyAdmin. So I tried reinstalling phpMyAdmin using the synaptic package manager, and I restarted after doing this as well, but still got a blank page from phpMyAdmin.

After that I read about sudo dpkg-reconfigure phpmyadmin. So I tried that, it did give an error message but looked like it worked okay:

dpkg-reconfigure phpmyadmin
dbconfig-common: writing config to /etc/dbconfig-common/phpmyadmin.conf
*** WARNING: ucf was run from a maintainer script that uses debconf, but
the script did not pass --debconf-ok to ucf. The maintainer
script should be fixed to not stop debconf before calling ucf,
and pass it this parameter. For now, ucf will revert to using
old-style, non-debconf prompting. Ugh!

Please inform the package maintainer about this problem.
Replacing config file /etc/phpmyadmin/config-db.php with new version
granting access to database phpmyadmin for phpmyadmin@localhost: success.
verifying access for phpmyadmin@localhost: success.
creating database phpmyadmin: success.
verifying database phpmyadmin exists: success.
populating database via sql... done.
dbconfig-common: flushing administrative password

But I still got an empty page when loading phpMyadmin. Then I read that you can go to http://localhost/phpmyadmin/setup to configure phpMyAdmin.

I tried that, and got a user/password prompt. After filling it in, I got an Internal Server Error 500. It suggested to check the Server error logs, so I found where they were saved and had a look. It had an error about already being loaded, so I changed my php.ini file back to what it was before and deleted all the messages in the error log so it would only have any new ones. Unfortunately I still got the 500 Internal Server Error when trying to access phpMyAdmin/setup, but now no errors were being logged at all, so I couldn't tell what was causing the error.

The and htpasswd.setup files in etc/phpmyadmin both didn't allow access to 'Others', so I changed them to 'read' permission for Others. Now phpMyAdmin/setup would continually ask me for a password.

Edit 2009-05-13: Thanks to Eng. R. Baba for contacting me and saying that you must grant 644 on /etc/phpmyadmin/config-db.php in order to allow "Others" read it, and this fixes the problem.

I deleted the contents of /etc/phpmyadmin/apache.conf and that would now let me get into the phpMyAdminSetup page! Of course, deleting the contents of that file makes phpMyAdmin not very secure, but I don't really care about that in my dev. environment, I just want it to work!

Now, on the phpMyAdminSetup page I was greeted with a whole lotta errors goin' on. I chowned /var/lib/phpmyadmin to webapps, and that cleared the errors. After going through the setup options (there didn't seem to be much to do other than change the connection method from tcp/ip to socket as I had chosen socket when running dpkg-reconfigure phpmyadmin. I went to the phpMyAdmin index page, and it wasn't blank!! I logged in using the username and password I had chosen when running dpkg-reconfigure phpmyadmin, and was greeted with a blank page. D'oh!

I edited the index.php page, and added an echo in there to see where the code was going wrong (if it echoes your statement, then you know the script is exiting further down). It printed my text on the screen, and when I viewed source, it looked like all the page was actually there, just not being rendered by FF. Previously when I'd viewed source on the blank pages it would always be empty.

So I removed my echo and now the page worked properly. Weird. Anyway, I was just glad it was working. Only problem was, none of my databases were showing up. I thought I must need to edit the mysql tables to add my databases and users back in there. Unfortunately I didn't have a backup of what the mysql tables looked like, so I thought I'd have to manually edit them - annoying and tedious. I tried to login as root, but got an error that it wasn't valid or something.

After lots of googling and changing various things I was no closer to being able to login as root. I also found that if I tried to login as root, and then login as the phpmyadmin user, it would also reject the phpmyadmin user, and I would need to clear cookies to be able to login.

So I just changed the phpmyadmin to have the same privileges as root (had to do this in terminal). mysql

When I did that, I could now see all my databases, but still couldn't create new databases or add users. I messed about trying to fix this for a while until I eventually realised that I needed to restart mysql. After doing that, everything seems fine so far.

I also have another problem caused by the upgrade though, PCMan File Manager would no longer open files. If I doubled click or right click on a file and try to open in gedit with it, it will show gedit being open in the bottom pane for a second, but never show the actual gedit window.

Gedit from nautilus works fine, though to edit most files I now have to use terminal, type sudo gedit , and then drag the file from Nautilus to the terminal to be able to edit it. Annoying. I guess I could just do sudo nautilus.

The weather today was cloudy most of the day, with a bit of sun in the afternoon and rain in the evening.

Breakfast: Lime marmalade toast sandwich; cup o' tea.
Lunch: Roma style ham with iceberg lettuce sandwich; banana; Fox's triple; about a vulgar fraction one third of an easter egg; cup o' tea.
Dinner: Cheese and ham quiche; baked beans; mashed potato. Pudding was Rhubarb crumble with froxen cream. Coffee.

Monday, 27 April 2009


This morning I vacuumed my room, then tried to do some more work on my custom XMP File Info panel. Michael Steidl gave me a nice explanation of how the "LocationCreated" and "LocationShown" properties are meant to work in XMP, so I thought I would fix my code to get them working correctly.

First I found I didn't have the Programmers Guide of the XMP Toolkit 4.4.2, so I found this, which comes as part of the XMP Toolkit SDK rather than the XMP FileInfo SDK. The XMP Toolkit SDK seems to be for implementing XMP reading and writing in applications you're writing yourself.

I looked at the XMP FileInfo SDK API documentation, and found what looked like the equivalent function, but it was using xmpAccess.setProperty() with a third parameter. I tested it, and sure enough it didn't work, so I posted a question on Adobe's forums about it. I'm not convinced I'll get an answer there though as there seemed to be quite a few unanswered threads.

Since I'm stuck on adding metadata to my images I decided to do a bit of work on the design of the site. In my photoshop mock-up, I had used Cordia New as the font-face for my menu items. So I checked what systems this font was available with. It seems that Cordia New is included with Windows XP and Windows Vista, but not with Mac OSX, and my copy of Linux distro Ubuntu didn't have Cordia New installed either.

I decided to see if I could use Cufón to style the text with the Cordia New font, but before doing this I needed to check the license for Cordia New. Doing some googling on it, it seemed that you needed to purchase a license if you want to use it on a website. Note the page for Cordia New on the Microsoft Typography website says
License Cordia New font for enterprises, web developers, for hardware & software redistribution or server installations

So with Cordia New out of the picture due to licensing restrictions, I had to try and find another font with a similar style. Now according to Cufón, Adobe fonts are okay to embed. So I found a list of Adobe fonts and tried going through my fonts in Illustrator to see what the different fonts look like. Unfortunately most of the fonts I have don't seem to be Adobe ones, and it took a long time to go through them. After getting as far as Charlemagne, with none of the 8 Adobe fonts I had found up to that point looking anything like Cordia New (although I liked the look of Bickham Script Pro).

So I decided to just try using Cordia New for the font, since most people are on windows and so should have the font installed, and see what sans-serif looked like for users without Cordia New.

As you can see below (mouseover the image to see Cordia New), there isn't much difference between Cordia New and the default font my PC chose when the font was set to sans-serif.

Sans-Serif 9pt

As Cordia New needs a different size and weight to sans-serif to appear nearly the same, I decided to just use sans-serif (at least for the moment), rather than detecting if Cordia New is installed with javascript and then changing the font if it is.

The rest of the day I was working on my photo website.

In the evening I also went on Animal Crossing for a bit.

The weather was cloudy all day today and rained most of the day.

Breakfast: Strawberry jam toast sandwich; cup o' tea.
Lunch: Mature cheddar cheese sandwich; clementine; packet of smokey bacon crisps; Fox's triple; cup o' tea; about ⅓ of an easter egg.
Dinner: Ham & mushroom thin & crispy pizza; peas; chips; salt. Pudding was a scone that lil' lad made at school today. Coffee.
Supper: Nice; Dark chocolate digestive; cup o' tea.

Sunday, 26 April 2009

Super Mario Bros Super Show is ulti

This morning I went on animal crossing, then went to church. After church I checked my email and deviant art, then it was dinner time.

After dinner I watched I am legend with Moc and Ben. I thought it was a bit better than The Omega Man, but still only good enough to get a 7/10. I checked Moose Peterson's blog and then went in the garden and took some photos.

After tea I watched 'Star Trek 6 - The Undiscovered Country' with Mac and Ben, went on my comp a bit more, then watched a couple of episodes of The Super Mario Bros Super Show. Unfortunately one of the videos made a really bad squeaking sound as it was being wound, so we didn't watch that one.

The weather today was a mixture of sun and cloud all day.

Breakfast: Strawberry jam toast sandwich; cup o' tea.
Dinner: Chilli con carne; rice; grated cheese; tortilla chips. Pudding was vanilla ice cream; raspberry ripple ice cream; tinned pear half; chocolate sauce. Coffee; Flake; Small chocolate egg; piece of Sainsbury's caramel chocolate.
Lunch: Mature cheddar cheese with iceberg lettuce sandwich; banana; slice of Genoa cake; ½ fake twix; cup o' tea.
Supper: Dark chocolate digestive; Nice; cup o' tea.

Saturday, 25 April 2009

Someone playing toy xylophone rubbishly at 4.45am

I woke up this morning at 4.45am, and the birds were singing loudly (even though I had my windows closed, I could still hear them very easily) and also someone was playing a toy xylophone rubbishly. I assumed it was either Mark (Sarah's boyfriend who is staying here at the mo') playing it or watching a film with it in.

I couldn't get back to sleep so I got up about 5.15am. I went out for a walk while easting breakfast to see where the sun was, I guess probably about 6.15am. The sun looked quite high in the sky already, maybe 20° off the horizon, but the light was still really nice and warm (in colour, not heat). I just walked around the field behind the houses, and it was nice hearing all the birds singing, including a cockrel, pheasant and cuckoo.

Although the sun couldn't have been up long, there were still some insects flying around, though there were also a few flies perching on leaves that looked like they were "asleep". I didn't see anyone walking their dogs or anything, if I did they might have thought I was a bit weird walking around a field with a plate in my hand I had my breakfast on.

When I got home I went in the back garden and looked for insects. I didn't find many, just a couple of flies. One of them was very co-operative though and let me get a lot of shots of him, even though it was after 7am. I think it was because it had come over cloudy before the sun could get on the back garden, so it hadn't warmed up much. So it seems there's not much point getting up early to find insects to shoot, better to just wait for a cloudy day (which we get plenty of).

I copied all the pics to my comp and sorted them, and posted my question about IPTC Photo Metadata 2008 Standards on the IPTC XMP Yahoo Group. It started raining about 9.45am.

I started processing some pics from a walk I went on with Rad, Clare and Shaz earlier in the week, had lunch, then finished processing the pics. I checked Red Bubble and also had to fork out £50 for the latest version of PTGUI as my current license had expired (you get free upgrades for 1 year from when you purchase your license).

After dinner me, Clare, Ben and Moc went to a resevoir. We went straight after dinner, I hadn't had time to have my pudding, so I had to eat it in the car. Must have been skill for anyone if they saw me eating jelly from a pudding bowl in the car as we were driving along. Moc drove. The landscape on the way there and back looked very nice in the warm evening light. There were a few clouds around as well.

At the actual resevoir there were quite a few ducks and geese in the car park, and couple of mallards have ducklings. You could probably stroke them if you wanted to as all the birds let you get quite close to them. We went on a walk around part of the resevoir, then came back as the car park closed at 7pm. It was very windy and cold, and me, Moc and Ben didn't have coats, so we just had to walk really fast to keep warm.

We got home about 7.30pm, and then I did a backup. After that Clare cut my hair, then I went to bed as I was sleepy from waking up so early (it took me quite a while to get to sleep last night as well).

The weather today was sunny first, then cloudy, then rainy, then a mixture of sun and cloud for most of the day.

Breakfast: Strawberry jam toast sandwich; cup o' tea.
Lunch: ½ mature cheddar cheese with iceberg lettuce sandwich made with fresh bread-maker-made bread; slice of fresh bread-maker-made bread with honey; banana; slice of Genoa cake; ½ fake twix; cup o' tea.
Dinner: Leek & herb sausage; Lincolnshire sausage; mashed potato; baked beans; cheese. Pudding was jelly.

Friday, 24 April 2009

More flexing

This morning I was doing some more work on custom XMP File Info panel. I added some fields from the IPTC Photo Metadata 2008 Standard. The specification is a bit strange for a couple of fields though. For both "LocationCreated" and "LocationShown" the specification gives an XMP Value Type of "Bag LocationDetails".

The first thing strange about this is the field being a bag (array). You would think this would just be a single text field, though I suppose it is possible that something could be made in multiple locations, or show multiple locations. However, in this case you would also think that fields like "City" would also be bags, and they're not - just plain text.

The other strange thing is most of the entries that are arrays have XMP Value Types like "Bag Text", i.e. It's an unsorted array that contains text items. However the "LocationCreated" and "LocationShown" fields have an XMP Value Type of "Bag LocationDetails". Also some of the other fields have a strange second value like that. I tried adding xmpType="LocationDetails" to the elements, but when I compiled the panel it gave an error that it wasn't a valid type.

The XMP File Info SDK API notes only lists the following as valid XMPTypes:
  • Text
  • Integer
  • Real
  • Boolean
  • Date
  • Localized

I joined up the IPTC XMP Yahoo group so I could ask about this, but I need to wait for a Moderator to approve my membership before I can post.

In the afternoon I carried on working on my custom XMP File Info panel, but got stuck. So in the evening I posted a question on the sitepoint forums about it, hoping there will be more people with Flex/AS3 experience there than at the web squeeze.

I watched an episode of The Equalizer and checked dpreview, the web squeeze and Andy Rouse's blog.

The weather today was hazy sunshine most of the day, then clouded over about 5pm.

Breakfast: Strawberry jam toast sandwich; cup o' tea.
Lunch: Ham with iceberg lettuce sandwich; 2x small clementines; Aldi or Lidl Twix substitute; cup o' tea.
Dinner: Breaded Fish portion; peas; mashed potato; ground black pepper; ground white pepper; salt; peas. Pudding was Peach yoghurt and a slice of rich fruit cake. Coffee; Kitkat Chunky.

Thursday, 23 April 2009

Giving up on JSON in Flex

This morning I backed up some stuff, and after breakfast had a look in the garden. All the honey that I had put out yesterday had gone, the ants must have been busy all night, and I'm still surprised they managed to eat all of it so quickly.

Then I went on my comp and installed the latest version of the Java JDK. Weirdly it seemed to install itself in addition to the older version I already had installed, and also didn't change the %JAVA_HOME% environment variable. So I changed that to point to the latest version (jdk1.6.0_13) and restarted my PC.

After restarting I tried compc, but still got the same error
Error loading: C:\Program Files\Java\jdk1.6.0_11\jre\bin\server\jvm.dll

Doing some googling I found this post: Flex 3.2 SDK does not work with 64-bit JDK !! So I downloaded the x86 JDK, changed the %JAVA_HOME% environment variable to point at it, restarted my PC, and compc actually ran!

I compiled the JSON package into a swc using the instructions at Adobe Flex - Packaging components, and it created the swc file okay. The panel would compile okay and work with the swc included via the build file, and it didn't complain when I added import com.adobe.serialization.json.JSON; to the mxml file (If the package doesn't exist it will normally complain when you try to compile the panel). However, when I added some code in that uses the JSON package, I got an error
Error #1065: Variable com.adobe.serialization.json::JSON is not defined.

I did some googling on this, but couldn't find anything helpful. I would guess that I didn't compile the swc file that contains the JSON package properly, though I followed the instructions given by Adobe.

So I decided to try and compile the YahooSearchSample Panel that is provided as an example Panel with the XMP FileInfo SDK and see if that would work with the AS3CoreLib. First I tried to compile it without the AS3CoreLib, just to make sure it worked normally first. However, I couldn't get it to compile:
Buildfile: build.xml
[taskdef] Could not load definitions from resource flexTasks.tasks. It could n
ot be found.


[echo] --> Panel 'YahooSearchSamplePanel'

E:\Rusty's docs\my_xmp_schema\XMP-FileInfo-SDK-4.4.2\samples\panels-src\YahooSea
rchSample\build\build.xml:28: Problem: failed to create task or type compc
Cause: The name is undefined.
Action: Check the spelling.
Action: Check that any custom tasks/types have been declared.
Action: Check that any <presetdef>/<macrodef> declarations have taken place.

The Flex location (and so the flexTasks.tasks and flexTasks.jar) were pointing to the correct place, and my panel that I'm working on still compiled without errors, so I don't know why it can't see flexTasks.tasks.

I think I'll give up on JSON in Flex and just try and use xml instead. I think the XMP FileInfo SDK actually has a guide in it on how to save (and load) user settings to an xml file, so hopefully I can just follow that.

In the afternoon I went out for a short walk, and saw a couple of Siamese twin dandelions. Then did some more work on my custom XMP File Info Panel. I found that it was no longer saving any changes made to an element by the actionscript, but it would save if I made the changes by hand. After much messing about changing different bits of code I eventually found that it would only save if the element was a textAreaMRU with a dataProvider and you must also set this.xmpModification = true; after changing the element's text with actionscript. Weird.

After dinner I did more work on my panel and found that setting the text value (using actionscript) of a XMPTextArea element wasn't working. No idea why, but changing it to a normal TextArea made it work (it wasn't writing any XMP values).

The weather today was hazy sunshine most of the day, but then clouded over about 4pm.

Breakfast: Strawberry jam toast sandwich; cup o' tea.
Lunch: 2x cheese on toasts; iceberg lettuce; slice of maderia cake; 2x small clementines; double take (Sainnsbury's kitkat); cup o' tea.
Dinner: Shepherd's pie; gravy; green beans; carrots. Pudding was cherry pie (say in the style of in the Animal Crossing film) with custard. Coffee; Green & Black's Maya Gold.
Supper: Milk chocolate digestive; cup o' tea.

Wednesday, 22 April 2009

More flexing

Today I was just doing more work on my custom XMP metadata File Info panel. I needed to add a way to remove items from a list, but there doesn't seem to be a removeItem() method for the dataProvider. Googling (which is what I spend most of time doing it seems) for it, the suggested solution seemed to be to use removeItemAt(theList.selectedIndex).

However, my list allowed the user to select multiple items, and selectedIndex just seemed to give the last selected item, rather than an arry of all selected items like I would of expected it to. So what I did was to remove the item at selectedIndex while selectedIndex was a number (you can't just check whether it's true, as if the selectedIndex is 0 then it would evaluate to false, even though it's actually the first item in the list.

This worked, but also gave an error about an item with Index -1 not existing. So I just modified my if statement to also check the selectedIndex was 0 or more:
private function removeFilter(event:Event):void
while( !isNaN(filtersUsed.selectedIndex) && filtersUsed.selectedIndex >= 0 )

After getting that working I wanted change one of my List items so it would get its dataProvider info from an external file. I could get the script to see the file when I used the absolute path to the file, but I couldn't get it to work with a relative path. I thought the problem must be that the root of the document was not my panel, but somewhere else, and so the relative path was pointing to somewhere different than where I wanted it to point.

I did lots of googling on on this, and continued trying to work this out after lunch. While I didn't find any way of telling what the path of the document was from the actionscript in the panel, I did find the path just by looking around various directories and putting the file I wanted to refer to in them and see if it worked.

The root directory of the xmp panels (on my machine) was: C:\Program Files (x86)\Common Files\Adobe\XMP\Custom File Info Panels\2.0\bin

After getting the panel to load the file, I wanted the file to contain JSON for the panel to load. I found a nice tutorial on Using JSON with Flex 2 and ActionScript 3, however, when I added the as3corelib.swc to the build.xml file, and compiled the panel, all File Info panels in Bridge were blank.

So I tried the flickr.swc instead of as3corelib.swc, and the panels worked fine. So there must be something in as3corelib.swc that breaks it.

In the article, it said
You can link the project against either the source, or the SWC
So I thought I might be able to link to just the JSON package, and maybe that would work if something else in the as3corelib was breaking it. But the article doesn't say how to link to the source files, and I couldn't find this on google either. I did find how to include an actionscript file, but when I tried this I got a compile error saying "Packages cannot be nested".

So I thought that I should try and compile the JSON .as files into an swc package, and then include that and see if it works. I found a guide on creating an swc file: Adobe Flex - Packaging components, but when I tried to run compc I got a message saying
'compc' is not recognized as an internal or external command, operable program or batch file.

I found out how to add the location of compc to the PATH environment variable, but it still didn't work. Restarted my PC, and it still didn't work. Did lots of googling and couldn't see any reason why it shouldn't work. Then I read a post by someone saying that something had messed up their programs by adding itself to a PATH environment variable for the user, and this meant that the global PATH environment variable was no longer being used for that user.

So I looked at the environment variables again, and I had only added the location of compc under my user's PATH. I added it to the global PATH environment variable, restarted the PC, and now compc would run.

However, compc gave an error message saying
Error loading: C:\Program Files\Java\jdk1.6.0_11\jre\bin\server\jvm.dll
So I looked in C:\Program Files\Java\jdk1.6.0_11\jre\bin\ and couldn't see the jvm.dll file. So I googled for this, but most posts were about the file not being found, even though it existed. I thought I just didn't have the file, and only realised later that I had actually been looking in the wrong location, and did have the file, and the problem was that it wasn't being found even though it exists.

I went in the garden and took some photos for a bit, then it was dinner time.

After dinner I watched an episode of 'The Equalizer', then I went in the garden and took more photos. I had put some honey down earlier, in the hope of attracting some bees/wasps like John K has done, but when I had put it down, it didn't seem to attract anything. Now it was surrounded by ants, eating like pigs at a trough.

In an email from money morning, they had this good graph showing how when Gordon Brown urges the IMF to sell gold it makes the gold price go up:

The weather today was sunny nearly all day, and got a bit cloudy at the end of the day. There was hardly any wind as well.

Breakfast: Pink grapefruit marmalade toast sandwich; cup o' tea.
Lunch: Cheddar cheese with purportedly sweet & crunchy salad but actually just iceberg lettuce sandwich; 2x smallish clementines; slice of Madeira cake; cup o' tea; caramel Rocky.
Dinner: Stir fried vegetables; bolognese sauce; bacon; spaghetti. Pudding was Chocolate mousse that Ben and Shaz made yesterday - very thick and chocolately, yum! Coffee; Flake.
Supper: Packet of prawn cocktail crisps; cup o' tea.

Tuesday, 21 April 2009

Still trying to do Flex/AS3 stuff without knowing Flex/AS3

This morning I was still working on my custom metadata file info panel for Adobe CS4 products.

I decided to try and make a list using a <mx:DataGrid> instead of a <mx:List> as I preferred the way the Datagrid looked (with its headertext for each column), and also its drag and drop functionality.

Unfortunately after getting it working, I found out that it was quite buggy and doesn't display the values correctlt if you have more values than rows:

I ran the CS4 updater, but after updating the DataGrid display was still buggy. I also tried the YahooSearchSamplePanel again, but it still wouldn't work where an image didn't already have a dc:subject element in its xmp block.

I got my lists working so I could copy items from the right list to the left list, but when doing this I also needed to update the XMP element that should hold the data, so the data will get saved when closing the panel.

However, despite searching a bit of the morning and a lit of the afternoon, I couldn't find info on what event fires when the dataProvider for the List element is updated. Most of the info I read was about DataGrids rather than Lists, and it seems the events are to do with when an indivdual item is changed, rather than the actual dataProvider.

I tried the following, none of which would trigger the saveFilters() function when adding an item to the filtersUsed List:

filtersUsed.addEventListener("modelChanged", saveFilters);
filtersUsed.dataProvider.addEventListener("modelChanged", saveFilters);

filtersUsed.addEventListener(CollectionEvent.COLLECTION_CHANGE, saveFilters,false,0,true);
filtersUsed.addEventListener(CollectionEvent.COLLECTION_CHANGE, saveFilters);
filtersUsed.addEventListener(Event.ADDED, saveFilters);
filtersUsed.addEventListener("added", saveFilters);
addEventListener(ListEvent.ITEM_EDIT_END, saveFilters, false, 0)

filtersUsed.addEventListener(DataChangeEvent.DATA_CHANGE, saveFilters);
addEventListener(DataChangeEvent.DATA_CHANGE, saveFilters);
filtersUsed.dataProvider.addEventListener(DataChangeEvent.DATA_CHANGE, saveFilters);
filtersUsed.addEventListener(DataChangeEvent.DATA_CHANGE, saveFilters,false,0,true);
addEventListener(DataChangeEvent.DATA_CHANGE, saveFilters,false,0,true);
filtersUsed.dataProvider.addEventListener(DataChangeEvent.DATA_CHANGE, saveFilters,false,0,true);

And also adding dataChange="saveFilters()" to the filtersUsed List element didn't work either.

I think I have worked a way round it for the moment, though. I have two ways of adding items from the right list to the left list: select the item in the right list and click a button - this fires a function that I can also tell to update the relevant XMP field; and drag and drop the item from the right list to the left list - I just found out there is a dragDrop event, so I can add this to the left column and get it to fire a function to update the relevant XMP field.

After discovering the above I went in the garden for a bit. There didn't seem to be many insects around, though there were quite a few ants on a dandelion. I took some photos of them, but they were constantly moving and also bits of dandelion kept being in front of them.

I did a bit more work on the custom metadata panel, and then found that I couldn't add any event Listeners. After some googling I found a comment at the bottom of this page: Flex Programming Elements / Using Events, which says that any functions called by an Event Listener must have the event as a parameter, otherwise they won't work. I wish I had known that earlier, unfortunately I didn't see it anywhere in Adobe's documentation, or mentioned anywhere else (probably most people assume you already know this), the only place I saw it was this comment.

So, with that in mind, I went back and retested those earlier eventListeners I had tried before to try and listen for when my List's dataProvider is changed. I didn't test all of them, just until I got one to work, which was filtersUsed.dataProvider.addEventListener(CollectionEvent.COLLECTION_CHANGE, saveFilters, false, 0, true);

I checked my email, then it was dinner time. After dinner I watched an episode of 'The Equalizer', then watched 'Omega Man' with Mac and Ben.

Something else I just discovered about making the custom metadata panel - after you update the element with the xmpPath that points to the element you want to write, you must set this.xmpModification = true;, or the modification won't actually be saved.

The weather today was slightly misty early on, and then sunny all day.

Breakfast: Choco hoops; cup o' tea.
Lunch: Smoked peppered ham with mustard sandwich; banana; slice of Madeira cake; Rocky; cup o' tea.
Dinner: Chicken & Asparagus pie; potatoes; mixed veg; gravy. Pudding was 2x small (for a muffin) chocolate muffins. Coffee; A couple of bits of Green & Black's Maya chocolate; a piece of Cadbury's Dairy Milk.

Monday, 20 April 2009

Getting confused by Flex 3/ActionScript 3

This morning I went on a nice walk with Clare, Brian and Shaz, it was really nice and warm and sunny, and there were quite a few flowers out, birds singing etc.

In the afternoon and evening I was working on my XMP panel.

The first trouble I had was I didn't know how access the value of the selected items in my <mx:List> element. The answer was to do listElement.selectedItems, which gives an array and then loop through it.

The second problem was how to add the selectedItems values to the XMP item, which was a bag array. After much messing around I found the answer in the source files for one of the example panels supplied with the XMP Toolkit SDK.

In the YahooSearchExamplePanel, they have the following function:

* Adds the selected search result as a keyword entry to the XMP
private function updateKeyword():void{
//If no former dc:subject entry exists this call makes sure the property exists within the XMP
xmpAccess.setProperty("dc:subject", "", IXMPConst.ARRAY);
//Now one can set a value in a given position.
//Note: It is not possible to set values arbitrarily. If for example 2 Values exist it is only possible to
//set the first, second and third entry.
xmpAccess.setProperty("dc:subject["+(_dataGrid.selectedIndex + 1)+"]", _dataGrid.selectedItem.value);
}catch(e:Error){"A keyword needs to be selected");

So when dealing with arrays, you don't setProperty of the element, but rather the element[arrayIndexValue]. Also note this seems to start from 1, rather than 0.

Now in that code above, note they create the dc:subject element if it doesn't already exist. Only problem is, that this doesn't actually work. If you remove the third parameter of that method call, it will create a blank dc:subject element, and won't set any array elements for it. If you leave in the third parameter, it won't create the dc:subject element and so won't set any array elements for it either. I played around with this for quite a long time, but couldn't get it to work. I guess that it should work, but Adobe haven't actually implemented it. I tested using Adobe's YahooSearchSamplePanel panel, rather than just copy/pasting their code to my own panel, to make sure it wasn't just something in my panel that was breaking it.

So I decided to try and get my <mx:List> element so it would insert its values into a bag array field with the correct xmpPath in the form, then when you close the File Info dialog it will update the field correctly. It took me quite a while to figure out how to access the value of the XMPTextAreaMRU element (which is holding the bag array), but I did work it out eventually - you need to give it an id, then you can do theid.text to get and set its value.

In the evening I also went on Animal Crossing for a bit. Also today, I received some pogs from a Brazillian person that I did a swap with.

The weather today was a bit misty early on, then sunny the rest of the day.

Breakfast: Pink grapefruit marmalade toast sandwich; cup o' tea.
Lunch: 1½ cheese on toasts; sweet & crunchy salad; clementine; Rocky; cup o' tea.
Dinner: Breaded chicken portion; chips; sweet & crunchy salad; tomato ketchup; salt; ground black pepper. Pudding was rhubarb crumble with cream - deelee!! Coffee; Flake.

Sunday, 19 April 2009

Nice warm sunny weather?!?

This morning I went on Animal Crossing, then went to church.

After dinner I tried to take photos of insects in the garden all afternoon as it was nice and sunny. Unfortunately I don't think I got any good pics as they would always run/fly away as soon as I got near them. I did see my first ever jumping spider though.

In the evening I went on the internet, just checked the usual sites.

Breakfast: Bowl of golden nuggets; cup o' tea.
Dinner: Chicken stir fry; rice; soy sauce. Pudding was thin pancakes (were meant to be Crepes, but they weren't crispy, which I think crepes normally are?) with cream and golden syrup. Coffee; KitKat Chunky.
Tea: Smoked peppered ham with mustard and sweet & crunchy salad sandwich; pear; hot cross bun with butter; Rocky; cup o' tea.

Saturday, 18 April 2009

Went on a walk

This morning I went on a walk with McRad.

We got back home at lunch time, then after lunch I processed the pics I'd taken on the walk. After that I synchronised the time on my cameras with my gps, then backed up my pictures.

I got my custom xmp metadata panel that I was working on yesterday working again (I think it was something to do with using hyphens (-) that broke it), then it was dinner time.

After dinner I was doing some work on my custom xmp panel, and also went on Animal Crossing for a bit and saw KK.

Breakfast: Bowl of Golden nuggets; cup o' tea.
After walk snack: Nice; milk chocolate digestive; coffee.
Lunch: Piece of fresh bread-maker-made bread; ½ smoked peppered ham with sweet & crunchy salad sandwich made with fresh bread-maker-made bread; clementine; ½ eccles cake that me and Ben made the other day; Rocky; cup o' tea.
Dinner: 2x delee chilli flavour sausages; mashed potato; baked beans. Pudding was a slice of jam swiss roll with tinned peach slices and custard. Coffee; Small chocolate egg; Crunchie.
Supper: Nice; milk chocolate digestive; hot chocolate milk.

Friday, 17 April 2009

Trying to write a custom XMP File Info panel

This morning I watched 'Me too!' and 'Big Cook, Little Cook' with Ben. In 'Me too!', it was about Dr. Juno. She dropped off her dog at Granny Murray's, and Granny Murray said that some random person who all the characters seemed to know except Dr Juno was having a baby in the hospital today. Granny Murray gave Dr. Juno a paper flower that the children had made so she could wear it to greet the new baby or sumat stupid like that.

When Dr. Juno left, Granny Murray said she'd be thinking of her, and Dr. Juno said she'd also be thinking about herself. All the characters in 'Me too!' say they'll be thinking of themselves, totally self centered.

Also, like all the other characters, Dr Juno didn't know the way to work and said hello to inanimate objects on the way there. At one point she was standing on a street where you could see a road going towards the Hosptial/Gherkin, then later she was on some steps and had forgotten which way to go. Then she ended up back where she was before (or at least somewhere that looked very similar).

When she got to work the nurse bloke talked to her about something, then Bobby came in and her and Dr. Juno were really weird and scared the nurse bloke away. Bobby also had a paper flower from Granny Murray.

After that, it showed Granny Murray, the two kids she was babysitting and the dog going shopping for some baby clothes for the new baby. Raymond was walking along and they saw him just outside the shop they wanted to go on, so they got him to look after the dog while they went in and bought some baby clothes. Weirdly, while they were in the shop a third child joined them.

Then it cut back to Dr Juno at the hospital, and Bobby showed up again and said she'd given her flower to the pregnant woman's husband, and he had gone shopping. Dr Juno sang a song about how she loves her job, and doesn't do any real work, then the nurse bloke popped in and said that the woman was about to give birth, but her husband wasn't there.

Dr Juno didn't know what the husband looked like, except that he must be wearing the paper flower that Bobby gave him, so she decided to start a frantic search for him. First she looked in the hospital, and misappropriated one of the hospital trolleys which she sat on, while the nurse bloke pushed her along. I guess that's standard behaviour at their hospital?

Then she looked in the town, and then in the countryside. I guess she didn't understand that if someone has gone shopping, they're unlikely to be walking about in a field in the countryside. Of course, it probably took her quite a while to get there as well. Then she looked in the hospital again, and found him asleep on a seat. I didn't think that a Doctor's job involved looking for patients' partners rather than looking after the actual patients, but I guess I was wrong.

Granny Murray turned up at the hospital after the birth, with the two children in tow. She said she'd left Dr. Juno's dog outside with Bobby. Then it cut to Granny Murray untying the dog, without the children. When Dr. Juno went back to Granny Murray's, there weren't any children there, so I presume Granny Murray must have left the children at the hospital. Maybe they caught something while they were there, or Dr. Juno ran them over while riding on a trolley?

After watching those programs, I went on Animal Crossing for a bit. Then I went on my comp and installed Lightroom 2.3 to see if I could use it to add custom metadata. It seemed that I couldn't, so I did some googling and eventually found the Lightroom SDK.

After lunch I unpacked the Lightroom SDK and started reading the manual for it. However, it seems that you can't add custom xmp metadata to images, the manual says:

Limitations of custom metadata in this release
In the current implementation, custom metadata defined by a plug-in has these limitations, which will be
addressed in future versions of the Lightroom SDK:
➤ Values stored in custom metadata fields are stored only in Lightroom's database. In the current
release, a plug-in cannot link custom metadata fields to XMP values or save them with the image file.

So I think that probably I will have to use the XMP File Info SDK to make a custom File Info panel for bridge, and the edit the metadata from the File Info dialog, rather than the metadata pane.

Most of the afternoon I spent trying to get Adobe Flex setup so I could make a custom panel. I thought you could get the Flex SDK working with Eclipse, but I think that actually you need a Flex Builder Eclipse plugin, which costs money. There is also an Adobe Flex Builder application, which again you have to pay for.

Eventually I followed the instructions in the Adobe XMP FileInfo SDK Programmer's Guide on how to compile a panel using the Flex SDK, and this seemed to work okay, except that to compile the panel I had to just type ant rather than ant build.xml.

So now I need to work on actually writing the mxml file that is used to compile the panel from. I also checked whether it was possible to write custom tags in exiftool, and it is.

After dinner I carried on trying to get a custom File Info panel to work, I did get one working, but then I changed a lot of stuff in one go and broke it, so I think I'll just start again tomorrow.

Breakfast: Bowl of Golden nuggets; cup o' tea.
Lunch: Pastrami with sweet & crunchy salad sandwich; banana; Rocky; cup o' tea.
Dinner: Battered fish portion; peas; potatoes. Pudding was one of the eccles cakes me and Ben made yesterday, heated up in the oven. Coffee.

Thursday, 16 April 2009

Made some Eccles cakes

This morning I watched 'Me too!' and 'Big Cook, Little Cook'. In Me Too, it was about Micky John, the teacher again. He was 'teaching' his class about mountains, by telling them to draw pictures of mountains, and if they hadn't seen one, just to imagine one. He did have a book on Mountains, but didn't bother showing it to the class at all.

He also collected a load of waste paper and stuck it together into a 'volcano', which looked like a pile of paper stuck together with some red and yellow paper on top.

After watching those I went on Animal Crossing for a bit, then did some website work until lunch. After lunch I finished off what I was doing on my website, and then made some Eccles cakes with Ben.

After that I checked whether adding my custom xmp data in Bridge would work. It did, but I wasn't sure if arrays/bags were working properly.

After dinner I watched Lost, which was about Miles. Then I carried on trying to see if Bridge was storing my bag/array fields as proper bag/arrays or just text.

It seems that if you edit a custom xmp bag field using the metadata pane, then the data is stored as plain text. If you edit the custom xmp bag field from the File Info dialog, then it will save it as a proper bag field. Whichever way you do it first, the data will stay in that format. So if you edit a bag field first using the metadata pane, then edit the same field in the File Info dialog, it will still be saved as a text field, whilst if you edit a bag field first using the File Info dialog, then edit the same field in the metadata pane, it will still be saved as a bag field.

Quite annoying, as I like editing data in the metadata pane rather than the File Info dialog. So far my googling hasn't turned up anyone else mentioning this or any solutions, so I may download a Lightroom demo and see how that manages.

I did a backup, then went to bed.

The weather today was overcast all day and it rained for quite a while.

Breakfast: Bowl of Golden Nuggets; cup o' tea.
Lunch: Mature cheddar cheese with sweet & crunchy salad sandwich made with bakery bread; Honey and banana sandwich made with bakery bread; Rocky; cup o' tea.
Dinner: Lasagne; cauliflower; baked potato; green beans. Pudding was a slice of toffee cheesecake; Cadbury's Twirl; coffee.

Wednesday, 15 April 2009

Taking more flower photos

This morning I played on Animal Crossing for a bit, and Ben went out to Coventry with McRad. After that I watched 'Me too' and 'Big cook, little cook'. In 'Me too!', it was about the train bloke. I think he must be in a relationship with the taxi driver person, as he brought the same kid to Granny Murray as she did, and when he was pushing her on the swing the other day it looked a bit like that. Very weird, since the taxi driver person looks quite a lot older than him, and I'm not even sure if the taxi driver is a woman or a cross dressing bloke.

When he dropped off the child at Granny Murrays, the child gave him a train whistle noise thing. She must have nicked it off Granny Murray, as otherwise the bloke would have kept it at home, or if he had given it to the child to take to Granny Murray's with her, he wouldn't then take it off her when he leaves.

While he was there, Granny Murray offered him an eccles cake, which she had bought from the corner shop. That reminded me how delee eccles cakes are, and I think I should make some.

On the train the bus washing woman was on it (doesn't she ever sleep?) and said she was going to Bill town or sumat to get some bread as the best bakery in the world was there. The bloke made her a cheese toastie, and then she told everyone how delee it was, so he got loads of orders and had to make so many he used up all his bread. The way he served the orders was strange, he made up everyone's orders before serving anyone. So you'd think the ones he made first would have been cold by the time he got round to serving them.

When they arrived at the train's destination, he went out and found the bus woman and the blind bloke and went to the bakery with them to get some more bread. They went back to Riversea Fingle and the bloke had finished his day's work. So either he hardly works any hours, or the trip to wherever it was they went took ages, and it must be hundreds of miles away (bit far to go just for a loaf of bread).

Meanwhile Granny Murray and the children had been making a train cake and some suspiciously bakery looking home-made bread.

In Big Cook, Little Cook, Big Cook Ben was showing off his marble collection. He said his favourite marble was a golden one. He put it on the work-surface while he looked for a duster to polish it with, and while he was doing this Little Cook Small picked it up (and it magically shrunk in size, as things often do when Little Cook Small gets hold of them), and proceeded to boot it.

When Big Cook Ben had found a duster he wondered where his favourite marble had gone. Small said he'd played football with it and lost it, then laughed. Strangely, rather than smashing Small with his fist, Ben just said that he was sure they would find it and laughed as well. I guess it was time for Small to get his own back on Ben after getting covered in fluid food so many times.

Small also told a really great joke:
Q. What's green and sticky?
A. A frog jumping in jelly!

That joke made Ben and Small laugh, though they laugh at just about anything.

After watching CBeebies I took some photos of the Begonia and geranium that normally reside in the kitchen again. The geranium has got quite a few more flowers open now that when I took some photos of it before about a week or so ago.

After lunch I did some work on my website. The weather had turned nice, so I wanted to go outside and eventually did about 4pm, and just took some photos in the back garden.

I did a bit more work on my website, then it was dinner.

After dinner I did some more website work, and also read about Funky DL as I knew he was a UK rapper, but a few of the tracks I've got by him (and I don't have many tracks by him) seem to be Japanese based. Then I was listening to a song with Chali 2na, and I'd forgotten how his voice sounded, so I read a bit about him.

I checked the weekly macro thread on dpreview, which took a long time due to the large amount of great images posted, and then went to bed.

The weather today was stormy overnight with lots of thunder, lightning and driving rain. In the morning it was misty and overcast. In the afternoon it was sunny.

Breakfast: Bowl of Golden Nuggets; cup o' tea.
Lunch: 2x cheese on toasts; sweet & crunchy salad; clementine; Rocky; cup o' tea; Small chocolate bunny; piece of Sainsbury's caramel chocolate.
Dinner: Chicken Korma; rice; Chapati. Pudding was a slice of chocolate swiss roll and creamy vanilla ice cream. Coffee.
Supper: Pink Grapefruit marmalade toast sandwich; cup o' tea.

Tuesday, 14 April 2009


This morning I watched 'Me too!' and 'Big cook, little cook' and did some more work on my photo website.

In 'Me Too!' it was about the bus cleaning woman again. It was windy and she was scared of everything and broke her broom. A large tree branch blew into the bus depot and stopped the door from closing. Must have been very windy. Remembering Granny Murray's saying, she broke the twigs off the branch and tied them round her broken broom handle to make a new broom.

After cleaning up all the leaves with her new broom, the inspector came in, he walked past the camera and gave a thumbs up, he looked like he was either quite pleased or embarassed to be on TV, obviously the director had decided not to let him have any lines though.

In big cook little cook, Big cook Ben was using a broom as horse, and his broom broke too!

After lunch I went on Animal Crossing, then went in the garden for a while and took some photos. I was hoping to see some small bees on the plum blossom, but a lot of the plum blossom was gone and I didn't see any insects on the blossom that was left either. There didn't seem to be any flies on the Salix Caprea or holly bushes either. I did get a few pics of a bug, but it kept moving around and was in the grass (so grass kept getting in between the bug and the lens), so I'm not sure if I got any good pics of it.

I checked my email, then sorted the pics I'd taken today. I did some more work on my website until Dinner time.

After dinner I did more website stuff. I spent a large part of the evening trying to work out why a function that was supposed to fire a function to move a node, then fire the same function again to move another node didn't work, whilst running the same function to move each node manually did work. There were quite a few things wrong with my code that caused this problem, but the main one that stumped me for the longest was that I was using a foreach loop to fire the function that moves the node.

With the way I have written my code, each time a node is moved, you will need to reload any nodes you want to access the details of, as their lft and rgt values will (very likely) have been changed due to the node being moved.
So my original code looked like this:

foreach($children as $key => $child)
moveAsSiblingCat($child, $nodeDetails);
//If we have just moved a child, reload the next child's details and the parent node as their lft and rgt will now have changed
$nodeDetails = getNodeDetails($node);
$children[$key] = getNodeDetails($children[$key]['id']);

However, after much head scratching, echoing and print_ring, I realised that the $child array being passed to the moveAsSiblingCat() function was not being updated. I checked the PHP Manual entry for foreach, and indeed foreach works on a copy of the array, so changing the array items has no effect unless you reference the array. I just changed my code to a for loop and it seems to work fine now:
for($i=0; $child = $children[$i]; $i++)
moveAsSiblingCat($child, $nodeDetails);
//If we have just moved a child, reload the next child's details and the parent node as their lft and rgt will now have changed
$nodeDetails = getNodeDetails($node);
$children[$i+1] = getNodeDetails($children[$i+1]['id']);

After getting that working I did a backup, then went to bed.

The weather today was foggy and overcast in the morning until about 10am, then it was quite sunny and a bit cloudy until about 5pm when it got more cloudy.

Breakfast: Maple & Pecan crunch oat cereal; cup o' tea.
Lunch: Smoked Barvarian ham with sweet & crunchy salad sandwich; a couple of Chilli flavour Doritos; clementine; hot cross bun with butter; cup o' tea.
Dinner: Spaghetti; Bacon and cheese sauce; bacon; mixed veg; ground black pepper. Pudding was ½ banana and an American style chocolate brownie cookie.

Monday, 13 April 2009


This morning I watched 'Me too', 'Louie' (or might be called 'Hey Louie'), and 'Big Cook, Little Cook'.

In Me too it was about the woman (well I think it's a woman, though could be a Dame Edna style bloke) who drives a bright pink taxi. She wanted to give a swing that she had in her garage to Granny Murray, but the string that holds the seat up was broke. So she got Raymond (the train cafe bloke) to fix it for her, then he pushed her on it - very weird and scary.

After that she took the swing apart and reversed over the seat. Why, I don't know. When she ran over the seat, it didn't look like it had done the seat any harm, but when she picked it up, it was magically snapped in two. Also the seat had somehow burst the taxi's tyre. So, remembering what Granny Murray had muttered to her in the morning, she decided that she could use the burst tyre as a seat for the swing.

After putting a new tyre on the taxi and putting the bits of swing and old tyre in the taxi, Mickey John (the useless teacher) came along. He wanted a taxi ride, so the taxi woman said she'd let him have a free ride to where he wanted to go if he'd come to Granny Murray's with her and help put up the swing.

Mickey John put the swing up really weirdly, so the tyre was hanging vertically, and you have to sit with your bum in between the rims of the tyre, and for the little kids, the top part of the tyre was right in front of their faces. So it looked very rubbish and uncomfortable.

After that the Taxi woman came, which was strange since she was supposed to have brought Mickey John there to make the swing. Maybe she took him there and then went away for a bit before coming back. She took her kid away, and then Granny Murray gave an overview of what she and the kids she'd been looking after had been doing all day. It included both napping and sleeping!

In real life after watching TV, I played on Animal Crossing for a bit, then did some work on my website.

After lunch I went in the garden with Mac and Ben and we sorted out the old pond water, which was in a bin. I took a bucket, filled it with pond water from the bin, then poured it onto the garden through a sieve. Then if the sieve had any visible life in it, (which it usually did), I would dip the sieve in the pond so the insects could live in the pond. When it got near the bottom of the old pond water, it took ages to do as you could only pour out a very little bit of water at a time, or you'd just get a sieve full of mud and not be able to see if there was anything living in it.

That took probably a couple of hours, and the sun was actually shining for quite a bit of the time, which made a nice change to the weather we've had the past week.

After that I went on Animal Crossing again for a few minutes to check what furniture and clothes etc. were available and whether I already had them. Then I went on my comp and did a bit more work on my website. I seem (haven't tested extensively) to now have inserting nodes and moving nodes in the hierarchy working, so I decided to edit the functions so they would also update the node paths, which I am storing in a seperate table.

I thought the easiest way to do this would be that when I update the lft and rgt values of the nodes that gain or loose a parent somewhere in the hierarchy, to also update their path at the same time, using a regular expression to add or remove the new node/removed node's name at the appropriate place. e.g. If I had node with path Birds/Thrushes/Turdus, and I wanted to insert 'Songbirds' as a parent of 'Thrushes', then I would do a regex replace to replace 'Thrushes' with 'Songbirds/Thrushes', so the path would then read Birds/Songbirds/Thrushes/Turdus.

However, googling about this, it seems that MySQL doesn't have any regular expression replace functions. You can download some user defined functions that adds regular expression replace capability to MySQL, but it seems you need to compile MySQL with these functions, and since I doubt my webhost has done that, they're not that useful to me.

I think I probably could do the replace just using the plain REPLACE() function, so long as I made sure each path started with a forward slash, it would just be a case of searching for the node name with a forward slash either side of it.

The option I think I will probably go for though, is to just replace the full path, using a query that will create the path from the main table. This is what I was doing first to display the path, before I started storing the path in the database.

I had quite a few pages open in firefox in Ubuntu, so I decided to close down the ones I wasn't using and add the useful ones to my bookmarks (and organise my bookmarks a bit). One of them that I closed, but would like to keep a note of, is MC Hammer and Vanilla Ice doing a concert together.

After dinner I did some more website work, and decided that for the moment I'll probably try NOT storing the paths to nodes in a seperate table, and instead I'll just generate them when requested. It probably won't be as fast, (though updates should be faster), but it will save me quite a bit of time. At the moment I just want to get a working website rather than one that does everything as efficently as possible. I can make it more efficient once it's up and running (hopefully).

In the evening I watched 'Disturbia', which was about Shia LaBeouf spying on his neighbours, voyeur that he is. His mum is Trinity from the Matrix, and I spent most of the film wishing she'd run up the wall and kick Shia in the face, mainly because he's such a lazy slob. The large majority of the movie is boring and probably like Dawson's Creek, not that I've ever watched that. It did get a bit better near the end, but still not that great really, though just enough to make it up to 5/10 rating for me.

I bid on a used Manfrotto 410 Junior Geared Tripod head today, and it ended up going for £134, even though it's £118 brand new from Amazon. I think I might buy it from Amazon actually, since I can get about £40 of Amazon vouchers by redeeming my piggypoints. Someone did get a good deal on ebay though, there was a canon 400/2.8 II (not IS) that was on a buy it now of £1900.

The weather today was overcast in the morning, then sunny the rest of the day.

Breakfast: Bowl of Maple & Pecan crunch oat cereal and multigrain hoops cereal; cup o' tea.
Lunch: Mature Farmhouse Cheddar cheese with crunchy salad sandwich; cherry tomatoes; banana; Cadbury's fudge cakebar; cup o' tea.
Dinner: ⅓ Mozerella thin & crispy pizza; salad; chips; salt. Pudding was some tinned mandarins and a couple of American style chocolate Brownie cookies. Coffee; piece of Ben's Galaxy cookie crumble (or sumat like that) chocolate.
Supper: Dark chocolate digestive; cup o' tea.

Sunday, 12 April 2009

Easter Sunday

This morning we all gave easter eggs/chocolate to each other, and I quickly went on Animal Crossing to see Tom Nook and order a bunny costume as I thought it might be useful for bunny day or whatever it's called on Animal Crossing.

After breakfast I went on my comp for a bit and cut some flowers from the garden to add to the Lenten cross at church.

After church I went on Animal Crossing until lunchtime. In the afternoon I checked Andy Rouse's blog, ebay, my email, pigsback, Moose Peterson's blog, The Luminous Landscape, and the canon lens forum on dpreview (where Juza had posted a photo of himself handholding the Sigma 300-500mm/2.8 lens). I also watched quite a bit of 'The Dam Busters' with Clare and Mac.

After tea I checked The Web Squeeze and went on Animal Crossing and got the full egg set. Wearing my bunny suit didn't seem to make any difference, except make me look stupid. I also finished watching 'The Dam Busters' with Clare and Mac.

The weather was very light rain all day.

Breakfast: Pink grapefruit marmalade toast sandwich; cup o' tea.
Dinner: Roast chicken; roast potatoes cooked in batter like toad in the hole; peas; swede; sweetcorn; gravy. Pudding was apple & cream cheese strudel with cream. Coffee.
Tea: Mature Farmhouse cheddar cheese sandwich; apple; cup o' tea.
Evening snack: Cadbury's Vanilla cake bar; Cadbury's fudge cake bar; Mr Kipling's lemon slice (actually had a different name, but can't remember what); cup o' tea.

Saturday, 11 April 2009

Watched a couple of films

Today I did some more work on my photo website. I also went on Animal Crossing a few times as it was the fishing tourney today, and I won! I also got a song from KK.

In the afternoon I finished watching 'The Ten Commandments' with Mac, Clare and Ben, and in the evening I watched most of 'Tokyo-Ga' with Mac.

The weather was overcast all day and rained a lot of the time.

Breakfast: Hot Cross Bun with butter; cup o' tea.
Lunch: 2x cheese on toasts; crunchy salad; cherry tomatoes; banana; piece of apple pie with custard; cup o' tea.
Dinner: Shepherd's pie; peppery sausage; button mushrooms; baked beans; potatoes. Pudding was Kiwi fruit with Strawberry Whip. Shrewsbury biscuit that Clare & Ben made; Coffee.
Supper: Jordan's Fruity Fibre Muesli; cup o' tea.

Friday, 10 April 2009

Mac gets to watch 'Me Too!'

This morning I watched a few CBeebies programs, and also finished watching 'The Assassination of Jesse James by the Coward Robert Ford' with Mac. In 'Me Too' the market bloke needed help getting to work (he is blind, but as able as any sighted person, I'm sure). On the way he said "hello" to various inanimate objects, including some roadworks.

When he got to the market stall, it was already stocked up. I guess he's lucky no-one decided to steal anything or trash it while he wasn't there. Then Dr. Juno came and bought a couple of carrots, a potato and a piece of ginger from him to make some soup. Mac (who was also watching it today, along with me and Ben, since it's Good Friday), noticed the price of oranges was 45p for one orange. What a Jimmy McTrip off!

Later Dr Juno came back again with a thermos of the soup she'd made, and gave the whole Thermos to the market bloke. Weird. When she asked him if he liked it, he just said how he could taste all the different vegetables in it, so I guess that was his polite way of avoiding saying that he didn't like it.

Then in the afternoon the bloke noticed that the roof of his stall was getting a pool of water in it because it was raining, so he pushed the roof up, and the water went all over him. It was blindingly obvious that was going to happen.

So he went to see the train cafe bloke, who was sorting costumes, and got a costume to wear that had teapots on it - amazing!

Then at some point, there was also a song where it was showing the market, and it was funny as when people noticed they were being filmed, they were like 'AAGH NO!' and turning and walking away from the camera.

Granny Murray and the kids she was babysitting went to an art gallery and did some painting on a large roll of paper on the floor. I was a bit concerned that they didn't have any newspaper or a mat underneath the paper, so any paint that went off the paper would have gone straight onto the art gallery's carpet. Granny Murray did paint a nice picture of a cat though.

After lunch I watched a bit of 'Gerry' with Mac, which was just Matt Damon and Casey Afleck walking up, down and along mountains. I just watched snippets of it while I was waiting for my computer to backup, but it gave me a good feel for the film as it's all basically the same.

I did some work on my website and checked my email and Juza Nature Forum, and also looked at getting some electronic components from Maplin for Ben as they have free delivery until Tuesday.

After dinner I watched the first half of 'The Ten Commandments' with Mac, Ben and Clare. I couldn't help feeling that Charlton Heston would have loved to have had a gun rather than just a stick when fighting off the Amalekite shepherds.

The weather today was sunny for about 20mins in the morning and rainy (on and off, but mainly on) for the rest of the day.

Breakfast: Bowl of Multigrain cereal hoops and Crunchy nut cornflakes; cup o' tea.
Lunch: Mature Farmhouse cheddar with crunchy salad sandwich; apple; hot cross bun with butter; mint twin break; cup o' tea.
Dinner: Battered fish portion; potatoes; peas; salt. Pudding was apple pie with custard and cream. Coffee.
Supper: Dark chocolate digestive; hot chocolate.

Thursday, 9 April 2009

Taking more flower photos

This morning I watched a bit of CBeebies with Ben and took some more flower photos.

In 'Me Too', the Doctor woman (Dr. Juno) was really annoyed that it was the Carnival, but she had to be at work, so she banned anyone at the Hospital from celebrating the Carnival. But eventually she relented, and they had a mini carnival at the Hospital. It was interesting to see that the Ferry Boat band were at the Hospital and also in the real Carnival parade. Maybe there are clones of them?

The train snack bar bloke was also at the Hospital, dressed in carnival garb, but also wearing some upside down buckets with strings through them on his feet. Made him look even more stupid than he does normally. I was hoping Dr. Juno would punch him in the face, but sadly she didn't. He did fall over on the taxi driver woman and hurt her wrist (this wasn't shown), so serves her right for hanging around with him.

Granny Murray, the kids and Dr. Juno's dog (whom I presume Granny Murray gets paid to babysit) went out to the park and then went to see the carnival, which seemed to be shot at a real carnival procession, although as I said earlier, the Ferry Boat Band were part of the procession.

After lunch I finished taking flower photos, then packed all my photo stuff away. I also did a bit of work on my photo website.

After dinner I watched Lost with Mac and Ben, did a little more website stuff, and then watched quite a bit of 'The Assassination of Jesse James by the Coward Robert Ford' with Mac.

The weather today was overcast all day, it was still quite windy and also rained a bit.

Breakfast: Pink grapefruit marmalade toast sandwich; cup o' tea.
Elevenses: Crumpet with fake butter and honey; cup o' tea.
Lunch: Smoked Barvarian ham with crunchy salad sandwich; a couple of cherry tomatoes; a few barbeque flavour crisps; ½ apple; slice of Genoa cake; cup o' tea.
Dinner: Pasta; minced beef; bolognese sauce stuff; parmesan or similar cheese; tomato ketchup; ground black pepper. Pudding was a creamy strawberry yoghurt and a Shrewsbury biscuit that Clare & Ben made.
Supper: Crumpet with fake butter and honey; coffee.

Wednesday, 8 April 2009

Taking photos and cleaning the pond

This morning I watched some more CBeebies with Ben. In 'Me Too' there was a teacher who was hungry and his stomach made a really weird sound, kind of like a sound effect that sounds nothing like a stomach rumbling. Granny Murray conveniently had some bread and cheese wrapped up in cling film that she gave him.

He used a speedboat to get to School, then when the kids came into the classroom he didn't pay any attention to them as he was too busy trying to find bits to make a toy pirate ship with. At lunch time he just went to sleep, and when the kids came back into the classroom he didn't wake up until one of the kids woke him.

Then he 'taught' the kids about shapes by eating his sandwiches. Weirdly he just had bread and cheese for his sandwiches, and didn't have any butter or margarine. He also pulled a workbook off one of the kids while they were still writing in it, and then 'marked' it. To him marking meant just sticking a smiley face sticker in the book, not reading it all. I guess there wouldn't be much point reading it anyway since he didn't let the child finish writing.

While he was 'teaching' at school, Granny Murray and some kids dressed up as pirates and went on a boat.

Also in the morning I tried to set up digital TV on Mac's comp so I could screenshot TV programs like 'Me Too' and then Mac could see the screenshots. I got the DVB stick installed okay, and a trial version of BlazeDTV installed, which found all the TV channels okay. But the BlazeDTV window that contained the actual TV stream wouldn't go on the the TV (the extended desktop). Whenever I moved the window to the TV, it would just go back to the monitor.

I tried setting the TV as the primary monitor, but then BlazeDTV just wouldn't work at all.

I did a little bit of work on my website as well, and I think I have got all the hierarchical structure node insertion functions working now, though I haven't tested them extensively and they still needed to be modified to also update the table that contains the node paths, and to work with AJAX calls.

After lunch I went on Animal Crossing, I couldn't do much as Nooks was closed for remodelling. I think the store might be getting smaller, but will be open for longer hours. It will be interesting to see.

For the rest of the afternoon, and part of the evening, I took photos of a geranium. I also went in the garden for a bit, where Clare and Ben (on Easter holiday) were emptying the pond out. There were quite a few frogs in the pond, which was interesting since I haven't seen any frogs in or around the pond since probably October. There were also some diving beetles and weird little things that I guess were Damselfly nymphs.

The pond is a lot cleaner now, I hope that the life in the pond wasn't eating/relying on the mucky water though.

In the evening I also checked the canon lens forum on dpreview, deviantart and the websqueeze. There was a male pheasant in the back garden so I watched him for a bit as well.

The weather today was a bit cloudy, but mainly sunny. It was very windy again, which made it cold.

Breakfast: Pink grapefruit marmalade toast sandwich; cup o' tea.
Lunch: Eggy bread with bovril; Packet of prawn cocktail flavour crisps; ½ (big) banana; slice of jam and buttercream sponge layer cake; chocolate digestive bar; cup o' tea.
Dinner: Slice of Ham Quiche; potatoes; peas. Pudding was a slice of Genoa cake. Coffee.
Supper: Bowl of crunchy nut cornflakes.

Tuesday, 7 April 2009

CBeebies is funny

Today I was mainly still working on the SQL queries for inserting a new category on my photo website. I did get a bit further with it, hopefully can get that working tomorrow.

Also in the morning I watched 'Me too' with Ben. Granny Murray kept doing giant green fees everywhere, and the woman who cleans the buses even fanned one into her own face, the weirdo! Also Granny Murray took some kids (probably 3-5yrs old) to see the fireworks (at Edinburgh Castle I think) at 11pm, then later they were having a barbeque back at Granny Murray's place, so probably 12am I guess. I'm surprised the kids didn't get sleepy, maybe Granny Murray gave them some of whatever it is she's on to keep them awake.

A dog knocked over some paint and then made dog footprints in red paint around the bus depot and inside a bus, but weirdly the woman who has to clean the buses didn't seem very bothered. She did like dancing with a mop though instead of doing her job. What on earth the bus driver who was driving his bus into the depot thought when he saw her dancing with a mop, I don't know, but I can take a guess. The fireworks display was pretty good though.

After lunch I went on Animal Crossing for a bit, and I also went in the garden later in the afternoon for a bit, though it was very windy and quite cold.

In the evening I watched 'The Black Pirate' with Mac and Ben, and the last episode of season 4 (part 1) of Trashelstar, which was actually good! (It would have made quite a good point to end the series as well I think).

The weather today was cloudy and sunny and windy.

Breakfast: 2x crumpets with I can believe it's nae butter jimmy and honey; cup o' tea.
Lunch: Smoked Barvarian ham with crunchy salad sandwich; a few roast chicken flavour crisps; clementine; slice of jam and buttercream sponge sandwich cake; chocolate digestive bar; cup o' tea.
Dinner: Shepherds pie; broccoli; carrots; tomato ketchup. Pudding was Green's Lemon Meringue cake mix (made up) with spleenvap. Coffee.

Monday, 6 April 2009

Watching CBeebies

This morning I watched Ceebeebies with Ben, vacuumed my room and also did a bit of work on my website, still working on the SQL queries for inserting nodes into a hierarchy. I just don't seem to be able to get my head around how to insert a new node as a parent of an existing node.

One of the TV programs I watched with Ben was called 'Me Too', it was totally skill and had Jane McCarry as 'Granny' Murray, and she was constantly doing weird skill faces. They also had a weird bloke who works on a train and managed to spill a chocolate mousse all over someone's Sari, and a trumpet player who looked like Michael Jackson. Unfortunately since it was on Digital TV, and not on Mac's comp I couldn't do any screenshots.

After lunch I went on Animal Crossing (and bought a silver fishing rod from Nooks), did more work on my website, and also went out in the garden for a bit with Ben and saw quite a few different flies, including a couple of saw flies. I also had to cook dinner for me, Mac and Ben as Clare and Brian were going out.

After dinner I watched an episode of The Equalizer, did a bit more website stuff, and then watched Battlestar Trashlactica with Moc.

Breakfast: Bowl of crunchy nut cornflakes; cup o' tea.
Lunch: 2x cheese on toasts; clementine; chocolate digestive bar; Sainsbury's caramel chocolate; cup o' tea.
Dinner: Nasi Goreng; noodles. Pudding was a big chocolate choc chip cookie. Coffee; Sainsbury's caramel chocolate.
Supper: Hot chocolate with Dooleys; nice biscuit; dark chocolate digestive biscuit.

Sunday, 5 April 2009

I bought a(nother) crown!

This morning I woke up at 7am, then after breakfast went on Animal Crossing. There was a crown in Able Sister's, but it cost a million bells. I only had about 850,000 bells, so that meant I had to try and earn 150,000 bells today so I could purchase the crown (Able Sister's change their stock every day, so I wouldn't be able to buy the crown if I waited until I had got 1 million bells through my normal earnings).

After Church I carried on going on Animal, and also after lunch, until probably about 3.00pm or maybe 3.30pm when I had finally earned enough to buy the crown. I got most of the money from fishing (mainly in the sea) and also got a bit from selling oranges (100 bells ea.) and coconuts (500 bells ea.)

When I had finally got my crown (and bought some stuff from Nooks), I saved and quit Animal Crossing, then went in the garden for a bit. I saw a dung fly eating a fly, I got a couple of photos of it, but then it flew away. I also saw a Weevil on a window sill, so I took some photos of that. There wasn't much else to see in the garden really.

I had a scone, and then me, Ben and Mac watched Super Mario Bros, the defining point of Dennis Hopper's career. When Mario, Luigi, and a bunch of kidnapped girls from Brooklyn are sliding down a frozen pipe on a giant matress, I thought "It can't get much better than this", then it cuts to some goombas sliding down the pipe on another matress behind them - it just got even better!!! The only bad thing about the film is that it doesn't have a sequel. Luigi didn't look much like Luigi either, but that's not too much of a problem.

After that we had tea, then I went on Animal Crossing again and went to the HRA headquarters in the city. I had been awarded room of the month again, for the third month running. This time though, it was basement that was selected rather than my ground floor. The theme this month was 'cuteness', so it seems that the Pave set must be cute. I also did some more fishing, and caught a new fish - a surgeon fish.

Then I went on my comp and sorted the pics I'd taken today.

The weather today was a mixture of cloud and sunshine.

Breakfast: Bowl of Crunhy nut cornflakes; cup o' tea.
After church snack: Dark chocolate digestive; malted milk; coffee.
Dinner: Chilli con carne; rice; grated cheese. Pudding was a mostly frozen vanilla mousse with hardly any raspberry non ripple. Coffee.
Afternoon snack: Scone with I can believe it's not butter and raspberry jam; cup o' tea.
Tea: 2x cheese on toasts; clementine; breakaway; cup o' tea.

Saturday, 4 April 2009

Taking photos and watching films

This morning I woke up after 9am again, and also had a headache. After breakfast I went in the garden, but didn't see any insects. I checked my email and Andy Rouse's blog, then went to bed as my headache was too painful.

After lunch I took some photos in the garden, then went on a walk up the Hill on the way to Lubenham and back with Clare, Brian, Ben and Jon. I took some more photos in the garden, then went on my comp for a bit. I checked my email again and the canon lens forum on dpreview and also did a bit of work on my photo website. I'm still trying to figure out the SQL queries for adding a parent node to the database using the nested sets model for hierarchical data.

After dinner I watched True Lies with Mac, most of it was quite good, but not amazing, but then near the end Arnie fires a missile with bloke on it through a hole he has shot in a building into a helicopter full of bad guys on the other side. Just before he fires the missile, he says to the bloke "You're fired". Totally amazing! It also had a totally skill bloke in it.

After that I watched Snatch Wars, which was really funny.

Breakfast: Bowl of Crunchy nut cornflakes; cup o' tea.
Lunch: Fresh baked bread maker bread with cheese; clementine.
Dinner: 2½ bits of SFC Chicken; salt; potatoes; baked beans. Pudding was quite a bit of posh ice cream; 2x pear halves; 2x trifle sponges; chocolate sauce (I didn't have it all at once as it wouldn't have fit in the bowl). Coffee; Quality Street; Sainsbury's caramel chocolate.
Supper: Dark chocolate digestive; malted milk; cup o' tea.

Friday, 3 April 2009

Trying to take photos of flies

I got up quite late today, after 9am. I checked my email and did a little work on my website, then it was lunch time.

After lunch I played on Animal Crossing, then I went in the garden for a bit. I did a little bit more work on my website, then went in the garden again as the sun had now come out. There were a couple of flies on the variegated Holly, but when I came back outside with my camera, they were gone. I did a little bit more work on my website, and then checked my email again.

I had previously emailed Colchester Camera Repair Service, who are listed as dealing with canon repairs and parts on canon's website, to see if I could get a spare of the ring used to mount the Canon Macro Twin Lite MT-24EX flash heads to the end of the lens. They had replied to me saying
Unfortunately you would need to contact Canon for the part you require as we cannot obtain them

So I contacted Canon through the support form on their website, and they emailed me back to say
I can give you the number of our sales department who may be able to help you. I will also give you the number of one of our repair centres who deal with spare parts and you may be able to purchase one from them.

Our sales department contact number is 0800 121 6341
Our repair centre dealing with spare parts contact number is 01206 843322

The second telephone number they gave is the Colchester Camera Repair Service, so I didn't bother contacting them, since they had already said they couldn't get that part. I phoned up the Canon Sales Department, but they said they only sell items available on Canon's website, not spare parts. They gave me the telephone number for Canon Spare Parts/Repair, 01483 776060.

So I phoned Canon Spare Parts/Repair, but they said they only deal with business equipment like photocopiers, and I should phone Lehmanns on 01782 413611. I didn't bother phoning Lehmanns because 1) If Colchester Camera Repair Service can't get the spare part themselves, I wouldn't have thought Lehmanns could get it either, and 2) I was only curious about whether the part was available and if so, how much it cost.

Probably about 4pm I went in the garden to try and take some photos of flies. Although I stayed out there until about 6pm, I'll be lucky if I got one decent photo. I found the flies liked licking the new leaves that are sprouting on the Goat Willow/Great Sallow bush, but quite often when I grabbed on to the twig they were on, they would fly off.

If I managed to grab the branch they were on without them flying off, quite often by the time I'd find where the fly was in the viewfinder, the fly wasn't there anymore and had flown off. If I did get a co-operative fly, it was still hard to get any shots as they were constantly walking round, and since they would walk to the other side of the bud rather than just walk in a straight line, it meant you would have to let go of the branch then grab it again from a different angle, or else just get a bum shot.

I did find a dung fly who didn't mind me constantly re-grabbing the branch it was on as it moved out of view, and it even walked off the branch onto my hand. Unfortunately I don't really like insects crawling on me, though it was weird because I could see it walking on and licking (yuck!) my hand, but couldn't really feel it.

After dinner I watched Simpsons with Mac and Ben, then I went in the garden to see if I could find any flies that had settled down for the night. I didn't see any, though I did see a bug, so I went back inside and got my camera, but then when I went back in the garden it was gone.

I sorted the photos I took today, did a bit more website stuff, then played on Rez for the PS2 for a bit, which totally vibrated my hands.

The weather today was overcast all morning, then nice and sunny in the afternoon.

Breakfast: Pink grapefruit toast sandwich; cup o' tea.
Lunch: Mature cheddar cheese sandwich; apple; chocolate digestive bar; cup o' tea; a couple of pieces of Cadbury's Dairy Milk Turkish.
Dinner: 2x Salmon & (I got a Mill out the) Dill (and I'm still on the grind) fishcakes; potato; peas; Tomato Ketchup. Pudding was microwave sponge with strawberry jam & custard. Coffee; Sainsbury's caramel chocolate.