Monday, 31 December 2012

Writing and writing

I've been tasked with making a simple calendar booking system for CTH, so I've been working on that the last few days as well as playing on Civ IV a bit.

In Chrome I had open an offer for cheap Canvas prints, but it seems that offer has now ended. This is what the page looked like today:

I also wrote an article for my photo tips website today, though I still need to proof-read it.

Monday, 24 December 2012


Today I was just working on the Christmas video most of the day. I didn't even get started on the 'filming'.

Sunday, 23 December 2012

Listening to Perrey & Kingsley

This morning I updated my pog website, then did some more christmas video modelling work. I went to church, then most of the rest of the day I carried on with the christmas video modelling work.

I have all the people made now, and I did one background today (painted). Billy did two backgrounds, and Clare drew an outline for one background. Hopefully we can get it finished off and start shooting tomorrow. There are still quite a few bits that need to be made though.

This is the factory manager after I had to peel up his body to make his trousers go higher up (and a bit fatter):

Saturday, 22 December 2012


Most of today I was working on models for the Christmas video. I finished off Uncle Sam (but haven't done his hat yet), did the boy's body, St Nick's body, St. Nick's bible, armature for the factory owner, and sculpted the factory owner's head.

This is the cat before it got made into part of Uncle Sam's body.

This is a sculpey bloke before he got his face chopped off to be made into the factory owner's head

Uncle Sam's hands grabbing his shoes

The boy and Uncle Sam are near the front, Santa Marx, Legolas, and St. Nick are near the back

I also went down town to pick up Shaz's christmas present.

Friday, 21 December 2012

Percolating Penguins

This morning I worked on an article for my photo tips website.

In the afternoon I tried to fix one of my websites. Unfortunately the cause of the problem is not obvious, and the errors are not repeatable, so I now need to wait some time to see if the change I made has stopped the errors or not.

I did a bit more website stats checking in Bing webmaster tools. And I recorded 'Mystery' by the Rah Band, which I received on record today, onto my PC.

In the evening I did some sculpey while L played on Civ. I made Legolas' body, and one leg of Uncle Sam. On HFM, Will Challoner had Liz with him, so that was great!

For my birthday I got some new boots from McRad, some chocolates from L, and some chocolates, £10, and a silver cloth from Clare. So they were all good presents (the silver cloth is for making a softbox).

Thursday, 20 December 2012

Google plus is so unorganised

Most of this morning I was trying to record a quick (2 minute) photoshop tutorial video. The first time I recorded no audio was recorded. I made a few checks to make sure that audio was being recorded, and it worked okay (despite not changing any settings) in my short test recordings.

So I tried to record the video again, but the PC became so slow and laggy it was impossible. After doing some more testing, I found that whenever audio recording was enabled in the screen record (MS Expression Encoder), then the PC would become really slow.

I tried a few different things, but couldn't get it working okay, so I posted in the EE forums: Extremely slow and laggy with audio enabled. Then I tried out some other software called Webinaria. This worked reasonably well, but has a max FPS rate of 15fps, and generated a nearly 9GB file (probably would have been 100-300MB in Expression Encoder). After editing the file and exporting it as an MP4, I also found that there was a small skip (in the audio and video) part way through the video.

In the afternoon I tried out the Wray 3¼ in. Supar Series III lens I bought from ebay a week or so ago. I wanted to test it for UV photography, which meant adding a filter to the front. It doesn't have a filter thread, and I didn't have any filter rings small enough to fit it.

I cut up a toilet roll and wrapped this round the outside of the lens, then sellotaped it to act as a collar round the lens. I took a piece of cardboard, then cut a hole out of the middle for the lens to 'see' through. I taped this to the toilet roll collar. Then to use filters, I just held the filter up against the cardboard front.

This meant that the filter threads were pressed up against the cardboard. Without this, the filter glass would have been pressed up against the lens.

The lens is actually quite dirty, despite being described as a Clean lens. Unfortunately the dirt seems to be inside the lens, as well as possibly a scratch. However, optical performance seemed fine. UV performance was similar to my 80mm/5.6 EL-Nikkor, i.e. there was visible focus shift. Here is a UV-Vis diptych:

When viewed at 100%, I noticed that there were a few mites on the flower. Clare reckoned they were probably dust mites. I couldn't find any 'normal' images of dust mites online, they all seem to be electron scanning microscope style photos. According to Wikipedia they are about 0.5mm in size, so this seems about right.

Although they are probably all over the house, in my clothes etc. anyway, I still didn't like actually knowing they were there on the flowers. The flowers were going over anwyay so I threw them away. Now I keep feeling like there are little dust mites crawling all over me.

In the evening I watched an episode of Dai Rangers with Billy (as usual), and did some sculupey. Today I made the body for Santa Marx, which used up most of a packet of red newplast. And I didn't even make him fat.

I also helped out Peter with his computer so he could scan an old photo.

Wednesday, 19 December 2012

Right Ting

Here is a photo from the walk I went on the other day:

There was a giant puddle around one side of the stile, too wide to get across, and no stepping stones in the puddle. Luckily there was a gap between the barbed wire fence and the hedge at one side of the stile before the puddle. So you could carefully climb over the barbed wire, then walk a few feet between the hedge and fence to get to the other side of the stile without getting wet.

And here is a random photo I took without looking when checking the flash was working:

Most of today I was working on a post for my photo website. In the evening I did some sculpey with L.

Tuesday, 18 December 2012


Today I was mostly writing an article for my photo tips website.

In the evening I also made some spiced fruit buns.

While I was waiting for the buns to rise, I checked my email and saw there was a Zeiss 35mm f/1.4 lens on ebay for Canon EF mount. I checked the auction and saw it had finished already. The winning bid was only £205?!?

The lens retails for $1,843.00 on B&H Photo. The seller was from Lithuania, and had no feedback. But even on auctions that look decidedly dodgy (this one just looks slightly dodgy), the ending price would be somewhere near normal value. I wish I'd checked my email earlier, as even if it is a dodgy auction, you'd be double protected by paying by card through paypal.

Sunday, 16 December 2012


Today I was partly doing sculpey / models with L, and partly checking stats / fixing website errors.

I forgot to say a few days ago that the ebay seller I bought the cheap Zeiss lens from did contact me and say it was just a pricing error. They said they would send me a gift though (some cheap photographic accessory I expect). And of course they refunded me. Here is the screenshot I took before I bought mine:

Saturday, 15 December 2012


This morning I was still checking the stats of my sites, looking for errors. I found some quite bad (but non-obvious) errors on one site using Bing Webmaster tools.

One error was that I had left some debug code in one page, so that if the URL wasn't correct, it would print debug info instead of redirecting to the correct URL. The other error was that if you visited the site without www. you would be redirected to www. with the query string appended twice. e.g. visit, you'd be redirected to

I found this was due to how nginx handles rewrites, and my use of the $request_uri variable in the rewrite: rewrite with $request_uri auto appends args.

For quite a bit of the afternoon I did some sculpey / painting. In the evening I did some more, and got all the old Halloween models out from the garage. They were rather cold and on many of them bits of plasticine had broken off. Hopefully by tomorrow they will have warmed up a bit and I can fix them up.

Friday, 14 December 2012

Website error fixing

This morning I was doing more website error fixing. Looking at the server logs I found I had several 499 errors for pages. The errors seemed to be pretty random though. Doing some more research, I found this article: Why does Nginx return 499 errors? That article explains that the code just means the client terminated the connection before the response was complete.

So that got me wondering whether the modification I made the other day to wp_cron to prevent 499 errors was actually necessary. If the client terminates the connection early, but PHP continues processing the request, then the response goes into the ether, that is okay. But if PHP stops processing the request when the connection is terminated, then that would be bad (as it would mean that wordpress cron jobs would never be completed). I posted a question on the wordpress forums asking about this.

In the evening I did some more Christmas video sculpey, just painting St. Nick's crown and a bit of his and Uncle Sam's faces. Painting the crown took most of the evening.

I have now finished going through awstats and my server logs, so tomorrow I need to check Google and Bing Webmaster Tools to see if there are any problems with my sites showing up on there.

Thursday, 13 December 2012

Website fixing

Today I was doing more website error fixing. I found in my error logs another 499 error for wp-cron, even after making those changes about a week or two ago. But only one error, and other POSTs to wp-cron succeeded with 200 reponse code. So I will leave it as it is for the moment, and not switch to a real cron.

I also noticed lots of 302 temporary redirects. These came from requests for wp-comments.php. Looking into this, I found that this is a standard practice to avoid the likelyhood of a form accidentally being re-submitted: Wikipedia - Post/Redirect/Get.

I also had 499 responses to some Google Earth requests for kml. I don't know why they generated a 499 code. When I tested the one of the requested URLs, it worked okay. I actually need to check whether my KML is working properly, that particular request returned a KML with no points. (Of course that is possible, but strange for a user to load dynamic KML then zoom into an area with no markers).

I also posted on the Google Webmaster forums about some issues I was seeing related to bad / incorrect behaviour by google. While doing this I checked a few other threads that were on the forums there. People seemed to be pretty unhelpful, just accusing people of having spammy websites or engaging in webspam tactics, rather than offering any practical advice. Unfortunately most of the issues would really have required someone from Google to reply as to why people's sites had dropped down / out of Google's results.

I was seeing some 206 Partial Content response codes. When I looked into this, it seems that you can request just part of a file. Most of the requests were coming from facebookexternalhit/1.1 (+ This is a facebook bot, but I don't know why it is making 206 partial requests for some files from my website.

Some other requests that generated 206 responses seemed to be from normal browsers, and some were referred from google image search. So long as the browser / facebook bot did request partial content, then I can't see any problem with this. I don't think I can check what (all the headers of) the actual request was though.

Another error I had was that some of my sites were configured to send all .php requests to PHP, without checking whether the file existed first. Solution is to add try_files $uri =404 to the PHP location block.

I had a blog post where I had forgotten to (or didn't think I needed to) make it so that a larger version of an image would open in a lightbox when the link was clicked. (Instead it was just a plain link to the large image). I had a strange error when I checked that the page would work though: Refused to execute a JavaScript script. Source code of script found within request. I had no idea what this meant, but apparently it is just a security feature to prevent XSS attacks: Refused to execute a JavaScript script. Source code of script found within request.

Just refreshing the page got rid of the error.

Wednesday, 12 December 2012


Today I was mostly trying to get Mailpress configured how I want it on my photo tips website.

I also had a bad headache in the morning.

In the evening I did some sculpey for a christmas video. I made a St. Nicholas head and crown.

Oh yes, here are some photos from a couple of weeks ago. I just hand-held the camera and moved it during the exposure:

And another thing, there were quite a few lightning deals on Amazon today that were 0% claimed (in other words no-one thought the lightning deal price meant the product was worth buying). E.g.

£640.60 (7% off)
Canon EOS 550D Digital SLR Double...
0% Claimed

£930.97 (14% off)
Sony NEX6 Interchangeable...
0% Claimed

£549.99 (15% off)
Olympus Pen E-PM2 Compact System...
0% Claimed

£299.99 (20% off)
walimex pro 35mm f/1.4 Lens for...
0% Claimed

The deal for the walimex pro 35mm f/1.4 Lens is actually very good though, it doesn't seem to be any cheaper than that even from ebay. And at least from Amazon you can return it easily if there is any problem, as well as getting a warranty.

I also paid for a Zeiss 15mm lens for £265 on ebay. It is obviously a mis-price, and I don't expect to get it. The seller had about 50 for sale at this price with something like 23 sold already. Most of them sold just to one or two people. They must have been hoping it wasn't a misprice and would like to re-sell them for a 900% profit.

Monday, 10 December 2012

article writing

I spent the last few days (must be about 5 days, or maybe even more) just writing an article for my photo tips website. In the end, the article was so long that I split it into 3 articles (and each of those articles is still quite long).

I also recorded some videos to accompany the article(s), so that added quite a bit of time onto the article production.

Sunday, 2 December 2012

Going to Church

Today I checked the stats for my websites, and noticed a load of 499 Unknown Errors on one of my sites. I couldn't find much info online on 499 errors, so I downloaded the server logs for the site. Looking at the log, I had regular errors such as: - - [25/Dec/2011:06:41:52 +0000] "POST /wp-cron.php?doing_wp_cron HTTP/1.0" 499 0 "-" "WordPress/3.2.1;"

(Yes, that error message is from Christmas Day 2011 - looks like this problem has been around a long time but I'd somehow not noticed it). Doing some googling, I found posts from people about wp-cron using too much memory and killing their sites. I didn't think this was the issue here though.

Then I found this post: WordPress: ошибка 499 wp-cron.php в связке Apache + Nginx. With the wonders of Google Translate, it seems the problem is that when someone requests a page, wordpress will fire the wp-cron function. This makes a request to /wp-cron.php?doing_wp_cron, and immediately severs the connection (so the user doesn't have to wait for the cron job to finish before the page they requested loads). But apparently Nginx sees the connection was severed, and so returns a 499 error. (And the cron job is not done).

In that article they suggest making the timeout 5 seconds, and also to make php sleep for 5 seconds. I think this would mean that any time a user visits a page and a wp-cron job is fired, that the user would have to wait 5 seconds though. Instead I have changed the timeout to 0.1s (from 0.01s) and added a 0.1 sleep. I will have to wait a week or so to see if this works. If not, I will use the other option of disabling wp-cron, and using a real cron to request the wp-cron page every so often.

I also unlocked and rooted my Nexus 7 while waiting for the server logs to download. There seem to be quite a lot of errors in my server logs, so I'm going to have to look into some of them a bit more tomorrow.

Tuesday, 27 November 2012

Building PHP

Most of yesterday and today I have just been trying to get PHP installed. I was getting a build error, but didn't know what was causing it. No-one else seemed to know either.

(The problem was that it was trying to load /lib/, which doesn't exist on my system. It did this even when I told it to look in the folder (not /lib/) where I had installed a copy of libgcrypt.

So I had to keep running configure followed by make, using a slightly different set of configure options each time, until I found the configure option that was causing the make to fail.

Eventually I found that PHP would build okay without --with-xsl=$HOME/apps/libxslt. Sure enough, if I check $HOME/apps/libxslt/lib/, I have the following line:

# Libraries that this one depends upon.

dependency_libs=' /lib/ /home/djeyewater/apps/libxslt/lib/ -L/home/djeyewater/apps/libxml2/lib /home/djeyewater/apps/libxml2/lib/ -ldl -lz -lm'

My guess is that when I built libxslt, Ubuntu included /lib/ But in an update this file must have been removed.

While I was trying to figure out what was causing this error, I also came across another PHP build error: undefined reference to `ldap_parse_result@OPENLDAP_2.4_2'

Some research revealed that this is likely due to conflicting ldap libs. I rebuilt curl with the option --with-ldap-lib=$HOME/apps/openldap/lib, and this seemed to solve the issue.

The strange thing is though, that after configuring CURL, it said something like "with ldap (--enable-ldap / --with-ldap-lib / --with-lber-lib) no". It seems strange that:

  1. It said ldap was not enabled even though I did use the --with-ldap-lib option
  2. That the version of CURL I already had installed contained a reference to ldap, since I would not have configured it with ldap enabled.

I had problems building icu4c as well (needed for internationalization). When I tried to build the latest version (1.5) on Ubuntu, I got the following errors:

   gcc  ...  umutex.c
umutex.c:211:1: error: conflicting types for ‘umtx_lock_50’
umutex.h:208:1: note: previous declaration of ‘umtx_lock_50’ was here
umutex.c: In function ‘umtx_lock_50’:
umutex.c:223:9: warning: implicit declaration of function ‘umtx_init’ [-Wimplicit-function-declaration]
umutex.c: At top level:
umutex.c:248:1: error: conflicting types for ‘umtx_unlock_50’
umutex.h:214:1: note: previous declaration of ‘umtx_unlock_50’ was here
umutex.c:314:1: warning: no previous prototype for ‘umtx_init’ [-Wmissing-prototypes]
umutex.c:314:1: warning: conflicting types for ‘umtx_init’ [enabled by default]
umutex.c:223:9: note: previous implicit declaration of ‘umtx_init’ was here
umutex.c:359:1: warning: no previous prototype for ‘umtx_destroy’ [-Wmissing-prototypes]
*** Failed compilation command follows: ----------------------------------------------------------
gcc -D_REENTRANT -I. -DDEFAULT_ICU_PLUGINS="/home/djeyewater/apps/icu4c-50.1/lib/icu"  -DU_ATTRIBUTE_DEPRECATED= -DU_COMMON_IMPLEMENTATION -O2 -Wall -std=c99 -pedantic -Wshadow -Wpointer-arith -Wmissing-prototypes -Wwrite-strings -c -DPIC -fPIC -o umutex.o umutex.c
--- ( rebuild with "make VERBOSE=1 all" to show all parameters ) --------
make[1]: *** [umutex.o] Error 1
make[1]: Leaving directory `/home/djeyewater/tarballs/icu/source/common'
make: *** [all-recursive] Error 2

So I went back to, which I had previously built successfully (and rebuilt it okay just to check). But when I tried to install it on the webserver (which runs CentOS), I got a few errors about undefined references to __sync_fetch_and_add_4 and __sync_val_compare_and_swap_4, and the build failed.

After some research, and trying various different things, I found that you needed to add CFLAGS="-march=i486" to the configure line, then it would build okay.

The other thing I was doing yesterday and today (while waiting for PHP configures / builds to process) was writing and taking photos for an article for my photo tips website.

Saturday, 24 November 2012


Today I was mostly trying to finish updating my website to HTML, and then getting it working on the webserver. I had quite a few issues, but it seems to be okay now.

In the evening I also processed some of the photos I took on my afternoon walk yesterday:

Friday, 23 November 2012


Most of yesterday I was trying to update wordpress on the dev version of my photo website. The problem was that I was getting strict standards errors because the WP_Widget class has bothe PHP4 and PHP5 style constructors.

Researching this, it seems that an error should be thrown, and this is a bug in PHP. I tried rebuilding PHP a few times, but still got the same error I did last time about not being found.

So I decided to just turn off strict error reporting for the blog for the moment. But this didn't work, and I still got strict standards errors. I thought that the [PATH] and [HOST] directives in my php.ini must not be taking any effect. Looking in the PHP manual, I found a comment by someone else to a similar effect:

This doesn't seem to work with php-fpm.

The values defined under PATH or HOST will become the new master value for all the processes (as if they were redefined).

So, I looked for a different way that I could use different error reporting levels for my different sites. One solution mentioned on a few websites was .user.ini files. But I found these have no effect under php-fpm.

Next I found that you can set PHP_VALUE flags from the php-fpm config. But this can only be set per pool. So you would need to set up a different pool listening on a different socket for each website. This would create too many php processes and use up to much memory to work for me.

Then I found that you can actually set PHP_VALUE flags from nginx:

set $php_value "pcre.backtrack_limit=424242";
set $php_value "$php_value \n pcre.recursion_limit=99999";
fastcgi_param  PHP_VALUE $php_value;

fastcgi_param  PHP_ADMIN_VALUE "open_basedir=/var/www/htdocs";

However, when I tried this I found that the error_reporting level sent by Nginx seemed to be overridden by the error_reporting level set in php.ini.

I then found that you can use variables within php.ini. But the lack of nestable variables makes that not quite so useful.

I thought that in theory I should be able to have a default value in nginx.conf, like

set $php_value "error_reporting=E_ALL|E_STRICT";
and then override it in the website config, like
set $php_value "error_reporting=E_ALL";
And in php.ini remove all error_reporting directives so that the PHP_VALUE is not overridden.

But then I read that the PHP constants are not available outside of PHP, e.g. in httpd.conf. Instead you need to use the bitmask values.

So this morning I ran a test, using different numbers for [PATH] and [HOST] sections in php.ini and location sections in my site's nginx config. Result:

  • PHP_VALUE in nginx config is always overridden by php.ini value.
  • PHP_VALUE for location /path/ does not affect sub folders of /path/ (value set for location / is used for /path/subfolder)
  • Both [HOST] and [PATH] settings in php.ini do work, and don't seem to be overridden by previous or later settings for different [HOST] and [PATH] blocks

So, why was my blog still showing strict errors when I had E_ALL|E_STRICT set for the host, but E_ALL&~E_DEPRECATED set for the blog's path? In the end it turned out to be very simple - From PHP 5.4.0 E_STRICT has been included within E_ALL. I did read this earlier, but it didn't really sink in, and I didn't think to check my PHP version.

So a lot of work for nothing really, though I did learn some new things (can set PHP_VALUEs from nginx, can use variables in php.ini).

In the afternoon I went out and took some photos.

In the evening I listened to Will Challoner (AKA Wilson Channeller AKA Wilbert AKA Wilmington) with Billy while I worked on my kodak jr. bellows camera bit.

Wednesday, 21 November 2012


This morning I started up my IE7 VM that had had loads of errors and taken hours to shutdown before finally crashing yesterday. But it still had delayed write failed error messages today, so it seems all my waiting for it to shutdown properly yesterday was in vain. I should have just force shut it down - it wouldn't have mattered if windows had become corrupted due to shutting down since it was unusable anyway.

So I deleted the VM files, and restored by backup copy. Thankfully the backup seems to be fine, and it is currently installing the Windows updates as I write this.

I spent quite a bit of the day waiting for the IE7 and IE8 VMs to update. Then I did a bit of work on my website, and found a very strange IE7 (or jquery in IE7) bug. I had an element like <dd>Some text</dd>. When I retrieved the value like ('dd').text(), the result would be 'Some text ', with an extra space added onto the end. This messed up my site as I was doing a comparison with the value, obviously expecting the returned value to be 'Some text'. I ended up just applying a trim to the result to remove the extra space in IE.

In the evening I played on Mario Land with Billy for a bit, and bought some custom design T-shirts.

Tuesday, 20 November 2012

Clicking OK on error messages

Today it seems that I mostly clicking 'OK' on error messages. That didn't really take up most of my day, but it seemed like it did.

I wanted to do some more work in moving my website over to HTML5. As part of this, I need to check the changes I'm making don't break the website in different web browsers, such as IE6 and IE7. To check these, I fired up my Windows Virtual Machines that have IE6 and IE7 on them.

Since I hadn't used the VMs for quite a while, they had a load of Windows Updates that needed to be installed. On the IE7 machine though I kept getting "Delayed Write Failed" error messages. Eventually I thought it best to just shut the (virtual) machine down, and try starting it again. But I made the mistake of clicking "Shut down and install updates" instead of "Shut down without installing updates".

It then took several hours for the machine to shut down, during which it regularly spat out "Delayed Write Failed" error messages that had to be dismissed. I didn't want to do a forced shutdown, as the message on the screen said that it may become corrupted if you don't wait for the updates to finish installing.

And when it finally finished the process, it just crashed.

Other things I did today was posting a photo to various websites. I wrote up a recipe and posted it on my recipe blog. I played Super Mario Land on the Super Game Boy on the Super NES with Billy. I sorted through some insect photos and did descriptions for one, then uploaded it.

Monday, 19 November 2012


Today I finally managed to post an update on my photo website blog. Most of the day was spent researching a couple of photos so I could write descriptions for them.

Saturday, 17 November 2012

exposure fusing

The last few days I have just being doing some work on the CTH website, and also trying to process a photo. I have been trying various fusion programs and also photomatix in an attempt to blend two exposures. Unfortunately I haven't been able really to get any to keep good detail in the sky while making the building in the image keep a good level of brightness. They all seem to make the building too dark for my tastes.

The exposure fusion programs I tried seem to offer very little control over how the final image turns out. Moving the sliders from one extreme to another only results in a subtle change to the image at best. Another problem was that there didn't seem to be any way to remove ghosts with these programs.

Wednesday, 14 November 2012

Not drinking soup with a straw

This morning I was looking a bit more at calendar software for the CTH website (something I have been doing a bit over the last few days).

I also wrote up a recipe and posted it on my recipe website.

I found the contact details for the Hotel where I must have left my camera battery and charger. Then I looked up how much the postage would cost for them to send it back to the UK. After much searching I eventually found an online postage calculator here: Ukranian Postal Service Calculator service. Putting the weight in at 500g, I get a price of 159,70 грн. The hotel would likely want to be compensated for having to find the item, wrap it up, take it to the post office, and fill in a customs form as well. I imagine that the total cost would then exceed the cost of buying a new charger and battery from ebay (about £18).

Later in the afternoon I had a bad headache so I went to bed for a bit.

In the evening I was researching descriptions for some photos.

Tuesday, 13 November 2012

A male monarch of a broad inlet of the sea where the land curves inward

Today I was baking, I made a date and walnut loaf, a (camp) coffee and walnut cake, and some almond macaroons. The macaroons didn't come out properly, but the other two look proper. Hopefully the macaroons will still taste nice as well (they spread out and didn't rise as much as they should).

Mauser's new card arrived, so I arranged sending that to him in China as well. I did some other computer stuff as well, and I think that is probably it.

Sunday, 11 November 2012

Lemon Tree

I spent the majority of today still geocoding my holiday photos.

I also made some date biscuits.

Oh yes, most popular song in Ukraine:

Saturday, 10 November 2012

Bah! Grr! Doh!

Today I was still doing geocoding my photos. I didn't get many done today as I had a few days where it seems I had the GPS switched off most of the day (in one case all day). This means I have to geocode them manually using Google Earth and GPS Visualizer for altitude lookup. And that takes quite a long time.

I was going to clean my camera's sensor, and give it a wet clean. There seemed to be one dust spot that would not budge that appeared on the sensor part-way through my holiday. It took me quite a while to find out where I had stored the sensor swabs and cleaning fluid.

When it came to clean the camera, I realised the camera's battery wasn't fully charged. But I couldn't find the charger or other battery. I think I must have left them in the room at the last hotel we stayed at. Doh!

I checked to contact the hotel. They say in their FAQ that all of the hotel’s details, including telephone and email address, are provided in the online booking confirmation, confirmation email and in My But in the My Booking area, it was not possible to get any contact details. I think the contact details must only be available for bookings that have not been completed. And I seem to have deleted the confirmation email.

So I ordered a new battery and charger from ebay. Annoying, but I have to take some photos soon, and I don't want to rely on just having a partly charged battery. Hopefully I can find a business card or something from the hotel with their contact details in amongst all my souvenir paperwork.

Friday, 9 November 2012


Today I was mostly still geocoding my holiday photos. So far I have about half of them done.

My replacement Nexus 7 arrived (my Nexus 7 developed a light brown-yellow mark on the top left of the screen so I phoned Google and arranged for a replacement yesterday). And I sent back the faulty unit today.

In the evening I also started making some Melonpan with Billy, and watched some Cooking with dog videos with him.

Thursday, 8 November 2012


This morning I finished off the file moving operations I was working on yesterday.

With this done, I started work on geocoding my photos. Unfortunately I forgot a quite a few times to switch my GPS on until part-way through the day. So I have quite a bit of work to do with manually geocoding the photos.

Wednesday, 7 November 2012

Copying and comparing

Today I was just was just moving files around to make room for all my new holiday photos. It takes such a long time because I have to move hundreds of GBs, both on my main hard drives, but also the backups. And then I also have to do a binary compare after each operation to make sure no files became corrupted during the move (actually a copy then delete if OK) operation.

In the afternoon I also made some cake.

In the evening I finished making the cake and showed the family my souvenirs.

Tuesday, 6 November 2012

Email backlog dealing

I spent all of today going through my emails. I had over 2000 in total. Most were newsletters etc and I just deleted them. They might have contained interesting and useful information but I don't have time to read them.

Of the ones left I dealt with most of the ones from my non-personal mailboxes. I still have 84 emails left in my personal email to read / deal with.

Thursday, 27 September 2012

NO! I don't want that!

This morning I was updating my websites and emails to say that I'm away. It took a lot longer than I thought it would, mainly because I have a few different websites.

The rest of the day I was getting ready for going on holiday tomorrow, mainly just doing stuff on the Nexus 7.

Tuesday, 25 September 2012

Getting annoyed by wordpress

This morning I was trying to publish the blog post I wrote for my photo website yesterday. I wanted to link to some Amazon and ebay items in the article, so thought I might as well affiliatize the links. This wasn't such a good idea though.

To affiliatize the ebay links, I decided to use my ebay wordpress plugin (since this is quicker to use than generating links through EPN and also automatically serves correct links based on the user's geo location). But, the plugin is still in an alpha stage of development, so I wanted to make sure it worked okay on the development copy of my photo website before I uploaded it to the live copy of my photo website.

Unfortunately when I tried to access the blog of my development site, it came up with a load of PHP errors thrown up by wordpress. I did some googling, and found something that suggested these errors had been fixed in the latest version of wordpress. So I downloaded the latest version of wordpress, then made it XML compatible (replacing named entities with numeric entities). I then tried it out, but was greeted with a number errors, just different errors to what I got before the upgrade.

Again, I searched google for some info on fixing the errors. But the only relevant info I could find was a thread on the wordpress forums. There was one reply where the thread starter was directed to read an article about integrating wordpress with an existing website. This seemed to be irrelevant to the errors, which were due to the wordpress class WP_Widget having two constructor methods (one using the same name as the class, one using __construct).

Eventually I decided to just go back to my previous install of wordpress. I then turned off display_errors in PHP (and restarted PHP). This allowed me to test my post on the dev version of my website okay. (I normally always have display_errors switched on for my dev website since I want to see any errors my code throws up.)

By the time I got that sorted out and the article posted to the live blog, it was well into the afternoon.

I contacted my credit card company to let them know that I was going to be using the card abroad. I also downloaded an MP3 album from Amazon, who had a special offer of downloading one album (from a reasonably big selection - 26 pages) for 99p. I worked out what time train to get to the airport on Friday. I took some photos of Mauser's stuff:

Above is part of Mauser's windowsill, where he has his Lenin bust. Surrounding Lenin are the Chicken Pope, an England Bulldog, Major Armstrong, and a Golliwogg playing a drum. The Bulldog and Golliwogg Mauser won on 2p machines. Major Armstrong is a character from 'Full Metal Alchemist', an anime that Mauser likes.

This photo shows the Scary Monster, which is actually an audio cassette holder. I think inside it has some random tapes, like The Best of William Smith compilation album that I made ages ago.

Above shows the Fly Swat from the Philippines and my C-3PO bag, on top of a pile of DVDs and Blu-rays including Mahabarat. On Mauser's main DVD shelf he has a Belarus flag that he got when he went to the Olympics football in Manchester. And also a Cochem-Mosel flag that Billy got when he visited Deutschland.

This last photo shows Mauser's Bavarian hat that I bought him for his birthday when we visited Bavaria this summer.

In the evening I watched an episode of VR Troopers and a film called Ghengis Blues. The film was about a blind American guy who taught himself to throat sing and then visits Tuva (along with some other people) to join in a Tuvan throat singing competition. Pretty good really.

After that I spent ages trying to fix an ebay wireless flash trigger. I had to try and solder a wire into a hole, but it was very difficult. The problem was that the hole was filled with solder. So you had to push the wire into the solder at the correct position on one side of the circuit board while melting the solder on the other side of the board with the iron. Then pushing the wire against the board, it should go through the hole when the iron melts the solder. Much trickier to get right in practice than it is in theory.

I did eventually get the wire part-way through the hole, and that seemed to be good enough. For the rest of the evening I wrote up this blog post.

Monday, 24 September 2012

Zip zip zip zip zip zip zip It's not a pip

This morning I prepared the panos I processed yesterday for upload. Then I uploaded them. I cleaned the insides of my mouse, then put it back together again. I calibrated my pano head for use with my fisheye lens at 10mm on the 5D2. I did some vacuuming and washing up.

In the afternoon I took photos of some sculpey / plasticine / milliput models:

Kim Jong-eun

David Roberts

David Cameron

Namtsop Tap

Marko Repairs Dol hareubang (made by Mauser)

My first ever sculpey model


Sculpey monster (The original one was much larger, made from a whole sheet of sculpey. But it broke in half when it kissed Mauser. It would have used up a lot of sculpey if it had been cooked anyway.)

Man with a mouth

Cat that eats intestines

Horse, weird thing, and a koala. The horse and koala are both made of left-over milliput when making armatures.
Face, bear, and little bloke. The face and bear are both made of left-over milliput when making armatures. The little bloke is made of left-over bits of coloured sculpey.

The rest of the afternoon and most of the evening I was writing a blog post for my photo website.

Saturday, 22 September 2012

Still planning

Lately I have still been doing Ukraine holiday planning.

One of the things I noticed in my planning using google maps was this building that looks like a paint explosion:

View Larger Map

Above is a live map, or below is a screenshot to preserve the memory for prosterity in case Google update the satellite imagery.

I am pretty sure that this is caused by the building having a very reflective roof, which reflects bright sunlight directly into the satellite's camera. The very bright area causes the sensor pixels in that area to overflow into the surrounding pixels, causing the strange effect you see here. (I can't remember the technical term for this at the moment - sensor or pixel overflow comes to mind, but I'm pretty sure that's not correct).

I also had some strange effects occasionally in Google Earth when dragging a placemark to a folder. The placemark in the Places pane would go all black and weird while dragging it.

I looked at getting some foreign currency today as well. The Post Office website says that it offers Great rates and 0% commission. But their exchange rate for GBP to UAH is 1 GBP = 12.0925 UAH. gives the rate as 1 GBP = 13.2108 UAH. So the Post Office is actually taking around 10% commission. I looked around for other foreign exchange providers, but most don't offer UAH, or have a very similar exchange rate to the Post Office.

I thought that if you used your bank (debit) card to withdraw money abroad, you were given a similarly skewed exchange rate, plus had to pay extra conversion fees. However, after looking into this, I was wrong. Apparently exchange rates on card transactions are set by the card provider (i.e. Visa or Mastercard), not the bank that issued the card. And both Visa and Mastercard offer very competitive rates, just a little bit worse than that quoted by The Mastercard foreign exchange conversion rates page is here: MasterCard Currency Conversion Tool, and the Visa one is at: Visa Exchange Rates.

In the afternoon today I made a cake.

In the evening today I went out to take some photos, and also watched Dai Rangers with Billy and Mauser.