David's diary: May 2007
Today's promising to be quite a long day, thanks to Katy being up in London for a meeting. Mercifully, house group this week was switched to last night, so at least that means we get the evening to relax! This morning I've already been useful and bought us another gas cylinder for the barbecue, though I was a little taken aback at how much the price had gone up since we last needed one. I keep forgetting we can buy butane on-line for a fair saving, though not quite as significant just for a refill, and hopefully we won't be needing to buy any more new cylinders now. Still worth it over charcoal and firelighters, believe you me!
So I'm getting on quite well with some of the final stages of the product I'm readying for release in the next couple of weeks, but it's that classic 90% of effort going into 10% of the work point, and it can be a bit demoralising. Also, starting a new month for this diary really does highlight the fact that I need to get on with the next version of my content system, having taken five minutes just to create a new page and experiencing the once-a-month bug that the first article edited on a new page gets the wrong date in its metadata. All signs it needs a major rewrite!
For once, Katy's journeying yesterday was without incident, her train arriving back at Farnham station on the dot of 16:55 as scheduled. Given the number of times South West Trains have let Katy down, I'm hardly shouting from the rooftops, but once is better than never at all.
Today I've made more headway with my own project. Monday and Tuesday were wasted a little, as the sign-up wizard I was trying to develop for it hit the rocks somewhat, and yesterday I started again with an altogether simpler model. So after two more days, it's completely rewritten and seems to be working well. As part of this, I've written a completely new "captcha", i.e. visual verification code, and improved the audio alternative for the visually impaired. Ultimately I have no idea whether this project will be a smash hit, or crash and burn, but whatever the outcome I've learnt a lot from developing it that will surely feed back into other things I do.
Of course, we also popped out for a little while this afternoon to do our democratic duty. Local politics here are proving to be quite interesting for once (even making the national news) and I really have no idea what the result will be. What I do know is that I did something that I've never done before, and would certainly never have thought I'd ever do. I'll let you guess.
Well we woke this morning to really quite incredible news, with a local council that was utterly hung at the last elections having swung to an almost complete annihilation by the Conservatives. We certainly couldn't imagine the Liberals having made any gains, but such a complete trouncing really was a surprise. One way or another, we needed a local council with the mandate to actually do something about things like East Street, and by heck I believe we may have one now. Oh, and our friend Sam, standing in a nearby ward, got in - though only by three votes, perhaps one of the narrowest margins in the country, but a win's a win.
Compare these two scenarios:
- One of my clients' websites was hacked a couple of weeks ago, with further research indicating that his was just one of 80 to 90 affected sites on the server in question.
- On demonstrating the new website for our church, I found a bug in the third-party HTML editing software that meant that there was a bit of a quirk when adding images using Internet Explorer.
Now guess which was resolved as a matter of urgency within two hours of me raising the associated support ticket, and which has - several days later - apparently been ignored?
Credit where credit's due, the hosting company involved above has now replied with suitably encouraging and reassuring words. They perhaps skirted around the question of whether they knew about it prior to my support ticket, but the action they said they took sounded reasonable. They just need to sort out their own website now, vanished off the face of the earth ever since one of their sales people said they were down for a five-minute DNS restart...
This highly sociable bank-holiday weekend kicked off with Meryl coming round for lunch - although we had a flying visit from Rachel, Mark and Daniel just before she arrived, so that was a nice chance for everyone to say hello, having known each other only by (good) reputation prior to today. Of course, Meryl visited last Saturday too, but that was quite short notice and we had no time to dish up anything too special. So today we had a barbecue, preparing our own special recipe Moroccan lamb steaks and Mr Sainsbury's special recipe Toulouse sausages, which all went down rather nicely it had to be said. Then, observing a magpie hopping around in the back garden, and digging out my ancient bird book (not that there was any question over identification of Pica pica, let me be quite clear!) Meryl decided she wanted to feed ducks somewhere, so a-duck-feeding we went, near Waverley Abbey. The ducks were all a bit shy and not human-savvy, but the greylag goslings were very sweet and appreciated the attention, though like most parents of small children being offered goodies by strangers, Mummy and Daddy Greylag were a bit disapproving - before joining in themselves..!
And now it's finished, with Darren, Ceryn and co hopefully now safely home after what seemed like a pretty good day here today. The weather was temperamental, but we managed both a bit of a walk and a run-around in the park, and a barbecue (as well as brunch earlier) and I think everyone went home happy and full. None of our visitors this weekend were hard work, but it was still nice to be able to be someone else's guests, having Sunday lunch yesterday round with Si and Bex. Oh well, back to work tomorrow, but not too long to wait until the next bank holiday - though not yet any plans as to how we're going to spend that one!
Phew, I've finally got time-zones nailed in the software I'm writing at the moment. One of those things that really should have been quite easy (at least once I discovered a fundamental short-cut) but ended up being pretty darned difficult and decidedly time-consuming. In the end I have something that is the bastard in-bred offspring of a few different schemes, and that should be easy to update in the unlikely event of my finding a better way in future.
This didn't end up quite as insane as the county/postcode mapping I had to implement a couple of years ago, but not far off... That was particularly bananas since there were many-to-many relationships left, right and centre, so combining the fuzziness of the algorithm with the fuzziness of the systems we were interacting with meant that the functionality ended up all but useless, with the first two letters of a single postcode potentially matching to half the country! At least with time-zones most countries fall within one zone only, and it's generally pretty well documented where the exceptions are. So it was mainly tedious, rather than complicated.
I spent half of yesterday fighting with Outlook's "interesting" IMAP support - consensus seeming to be that Microsoft really don't understand the protocol and would have done better to leave it well alone. I'd been hoping for perhaps about an hour's work, but it turned into four - to add to almost the same again already spent running around in circles. But it was paid work (and I'm being paid well for it) so I can't really grumble - though there is still a little more to be done that hopefully really will be just an hour or so this time... That "little more" probably being retiring Outlook and replacing it with Thunderbird and Lightning - especially since Outlook 2000 seemed particularly unhappy with Windows Vista, richly accusing the IMAP server of being faulty!
But Windows Vista's another thing altogether, and a couple of hours of using a thus-infected laptop was enough to harden my resolve never to touch it voluntarily. And "voluntarily" would include buying a machine with it installed, since we do have a choice in these matters nowadays, believe it or not. The most annoying thing was that Vista had been set up to look like XP, which lulled me into a false sense of security that it would work like XP, and how wrong I was. Having to go to the Accessories menu just to do a "Start | Run"?! Telnet not installed by default?! It was clearly not going to be a happy relationship when the first thing I did was to open Control Panel and I had to issue the three-fingered salute to regain control.
Thankfully, Windows XP is available for a few more months yet, and Ubuntu Linux for example seems to be approaching viability at long last. I intend to get a laptop or UMPC sometime soon (after I've done my tax return, which might attract a rebate!) so we'll just have to see what the options are at that time. Windows Vista is clearly not going to be one of them, however.
A week on, and it's my birthday. My Facebook reports that I am "trying to motivate myself", but I have actually been doing fairly well at that for the last week, hence the lack of activity in this diary perhaps. It's getting to the final few days, hopefully, of development of the big project I've been working on, then it will be time to let it loose on a small subset of the world for a bit of beta testing... But all that effort has meant I've been able to give myself a couple of days off, and although work is never far from my mind, I have been pretty successful in avoiding anything that might be described as actual programming.
Yesterday, then, we went out for the day with Katy's parents, being chauffeured down to Hurst Castle - or at least as close as one can get by conventional means! We caught the little ferry out to the castle, which is a most strange edifice, the mishmash product of several different centuries' recognition of the strategic importance of the shingle spit reaching two-thirds of the way across the Solent. We didn't go into the castle itself, it really not looking too inviting, but we had a good stroll around, climbing the breakwaters and then back to the car (and nearby pub) via the spit itself. The weather wasn't quite as forecast, but thankfully we had our waterproofs, and the seaside is always atmospheric one way or another! The pub was great, and I took the opportunity to treat myself to fish, going for poached salmon with sweet chilli sauce and rice, which was absolutely delicious. The desserts were a bit silly-priced so we decided we'd stop off at the garden centre at Beaulieu, having been impressed there a few weeks previously when we met up with Gavin and Lucy there - and at £1.75 for huge wedges of coffee and walnut cake we were not at all disappointed!
Today was equally temperamental on the weather front, so we weren't too keen to commit to anything too adventurous, so Katy suggested we visited Mercedes-Benz World at Brooklands, then saw what the weather was doing by then. We'd seen a leaflet for the centre a few weeks back and thought it might be a bit of fun, and it was. To some extent it's basically a flagship dealership with some historic exhibits and exhibitions amongst the shamelessly premium-priced modern wheels, but it was certainly good for a couple of hours browsing and dreaming - and all done in a painstakingly-presented but completely down-to-earth way. Every visitor was made to feel special, and (unless they took one look at us and decided we weren't likely customers today) the staff seemed quite happy to let their products from the last century and more "do the talking" rather than be at all intrusive. It had perked up a bit by the time we'd finished there, so we picked up a few bits to eat from the local Tesco and had a bit of a leg-stretch by the Wey Navigation near Ripley.
Almost all over now though, and back to work for both of us tomorrow - but hey, then two more days off again! It's a hard life, isn't it?
Almost over, but not quite, because we had a good old curry out with Jo and Ian in the evening. We'd not seen them for ages anyway, so what better an excuse to partake of the Balti Hut's exquisite banquet! And not to forget Rachel, Mark and Daniel's visit for a barbecue on Saturday, still officially part of my birthday celebrations. Hmm, this at ... no I'm not going to say ... but at this rate I should be getting a week of partying for the big four-0!
Back to work today, and not best motivated. I was still reeling from problems I had on Friday with rolling out a website, when I found that I had been lax in my checking it really was a proper PHP installation on the target server. Nothing I can't work around, and the hosting company has said they'll try and sort it out this week (though they said the same thing several weeks ago about another still-unfixed issue), but it broke my stride, and I need the money that I can only legitimately invoice for once it's all done...
Almost a week on, and last Friday's website roll-out problems have almost been resolved, by good old fashioned working around, rather than actually getting the hosting company to fix their broken server... The hardest part, specifically, is that I am basically rewriting PHP's DOM XML functionality. It's not going to be a full implementation, and I expect there will be areas where its behaviour differs from the original, but it will be good enough and in the absence of the hosting company enabling DOM XML it will just have to do for now. I was most of the way there yesterday, but then a dodgy FTP link blasted my working copy of the XML emulator, but it was no sad loss because it was pretty badly written, and in a couple of hours this morning I have already got something better. But I've hit a bit of a block for now, with what I hope is just about the last function I need to write. It should be simple, but even the few lines that I have written are behaving bizarrely, so I'm taking a breather. In the meantime, the XML emulation is working well enough from an XML-reading point of view that I've been able to roll out a read-only version of the website - and some parts (in particular the calendar) can be updated because they use the database rather than XML.
In other news... We had a good evening out on Tuesday, going along to the South and South West Vineyard celebration in Winchester. We'd not been to the Winchester Vineyard before, but we can see now why the "warehouse worship" concept has such popular appeal. The guest speaker was Brenda Gatlin from Duluth in Minnesota, and she was really inspiring and mercifully was completely unlike how we'd feared she might be - though some of our friends had been on a weekend conference with her, so we'd heard tell she was good. That sort of replaced house group for the week, but a few of us with sufficient remaining energy joined up at Susy's last night for a bit of fellowship and prayer, which was a really powerful time too. Oh, and we got out for a nice walk yesterday lunchtime, popping on our shorts and sandals and taking a picnic up to the Devil's Jumps and inspecting our favourite little pond there. We'd hoped the rhododendrons there would have been in full bloom, but apart from a few bushes they were very much still in bud, so I guess we'll just have to go back in a couple more weeks...
The website roll-out I was doing is now complete, for the time being. I so wanted to do the DOM XML stuff properly, but it simply wasn't to be. PHP 4 is just so downright strange in the way its object references work, and nigh on impossible to debug when they plainly don't. I understand that PHP 5 is considerably more conventional in this regard, but I don't have any experience of it and it's not available on the target server anyway. So I did perhaps the number-one XML processing faux-pas, and implemented the update part of the XML handling on the site using regular expressions. Needless to say, it was all up and running within a couple of hours. I since found a few more bugs affecting the antiquated version of PHP installed (e.g. copying a file on top of itself causes its content to vanish into the void), but after a few tweaks first thing this morning I think everything is more or less happy now.
The weekend was good in an impromptu kind of way. The only bit that was really planned was having our breakfast out on Saturday morning. We'd arranged for Si, Bex and Mali to come for a barbecue on Sunday, but in the end for various reasons (not least the weather forecast) we rescheduled that for a late Saturday lunch. Yummy Moroccan-style wraps and spicy sausages all round! Apart from church in the morning (which was decidedly noisy, being an "all ages service") Sunday was a much quietier day, but for the bank holiday Monday we drove up to my parents for the day. The rain didn't stop all day, so our hopes of getting out for a spring picnic were dashed, but it was nothing that couldn't be enjoyed at the kitchen table all the same. It was also a chance to pick up a bike rack for the car, that Mum had kindly said we could have in advance of our hopefully sorting out some bikes for ourselves in the next few days. Oh, and my big water pistol, for some reason!
Katy's away on business for a couple of days, how shall I cope? With beer, pizza and playing my guitars of course. It's almost like being a bachelor all over again!
I've hit "that point" with the big project I'm working on at the moment. It was really going pretty well all told up until the last few weeks, when I lost my stride a bit thanks to some unwanted hassles, but now it really is looking quite bad. Oh, I'll finish it, and release it, but the code has gone from passable to downright ugly in the last few days. Knowing what I now know about object-oriented PHP, I want to totally rewrite the system, and know that it would make what I am doing at the moment so much simpler, but I simply can't afford to now, overdue by a couple of months already. Quite honestly, I wish this project would just die a death, that a competitor launches something that blows it away, rendering it obsolete before it's even finished. But that's not likely to happen, and it's currently all I've got.