John’s Adventures

Archive for November 2007

Thank You Sparkie

My dad has had a cat named Sparkie for the last five years, since just after my mother died. Sparkie’s been his constant companion and given him purpose, routine and been someone to talk to who never talks back (only meowing back which is much nicer) for all that time.

We’ve had a few cats over the years but Sparkie was originally brought up on a farm before my dad got him from the cat protection league so was a bit of a wildie, fighting off the local cats, bringing in mice from time to time and jumping up on every surface in the house. Whereas my dad’s getting on a bit Sparkie’s always been full of youthful exuberance in the way that only a young cat is, which I’m sure has been good for my dad. I took the following picture of him a couple of weeks ago when I was home and he was just his usual lovely, entertaining self and being very friendly:

My Dad’s cat Sparkie

Unfortunately a few days ago little Sparkie died. Cut down in the prime of his life at the age of around 8 it all happened very quickly in the end. It’s such a shame as he was a wonderful cat with a fantastic personality and he did my dad no end of good - I don’t know how my dad would have coped over that last few years without him. But the real shame is that I could never thank him for being there for my dad when he needed him because he was a cat and wouldn’t have understood the positive impact he had - he was just being himself. So thank you Sparkie, you will be sorely missed.

Something Tasty You Probably Don’t Know About Me

Some spices ready for cookingIt tends to surprise most people but actually - and I’m only saying this because I’ve been told, not because I have a sky-high ego - I’m not a bad cook.

This isn’t the result of any form of training or any skill that’s been passed down from generation to generation in my family and it’s definitely not as a result of me spending years trying to perfect the art. No, I have a tried and tested technique that pretty much never fails. It goes something like this:

  1. Always follow the recipe exactly.
  2. Never deviate from the recipe.
  3. Stick to the simple stuff John, you’re not a chef and you never will be.

I don’t cook that often (my good lady does most of that since I’m too lazy) but when I do I try to do a decent job of it. For example, we had some friends round on Saturday night and this was the menu:

Starter

Seared scallops with black pudding served with
sweet red onion sauce and pesto

Main Course

My mother’s classic prawn pathia served with
long grain and wild rice

Dessert

Home made apple crumble (made by my good
lady who didn’t want to feel left out)

Followed by coffee from El Salvador (mmmm, nice)

Our guests agreed that the whole meal was delicious. I was genuinely thrilled to see everyone clear their plates and go on about how delicious it was. But frankly I don’t take any credit for things like that - it’s the person who wrote the recipe that did the work, I just followed it to the letter and didn’t get imaginative. If the recipe demands 100g of dessicated coconut, that’s exactly what I’ll add. If it says to sear the scallops for a minute or so until it’s golden on each side, that’s exactly what I’ll do. Any time that I deviate from a recipe with thoughts like “I’m sure another dash of cinnamon will make it better” or “ach, that’s way too much sugar, I’m not putting all that in there” or “yeah, this meringue’s fluffy enough - I don’t need to do all that whisking” then I’m always proven to have been wrong.

While my friend Stuart was beating me at squash for the umpteenth time a few years ago he told me the key was to “play the percentages”. I never did learn to do that with squash but with cooking that’s exactly what I do. Pick something pretty simple, follow the recipe, don’t get creative and while I’ll never create a masterpiece, I can knock a pretty decent meal together. So when I hear people say that they can’t cook - I know they’re just not trying hard enough and they’re not doing what the recipe says. If I can cook then anybody can!

John’s Background Switcher 3.2 Goes Live!

John’s Background SwitcherAs my good lady will tell you, most of my evenings and weekends over the past couple of months have been taken up working on the next version of John’s Background Switcher and at long last I’ve drawn a line under it and released it. You can download it at the usual place.

I’ve really enjoyed working on this version for several reasons. Firstly - as I mentioned before - I’ve been using FogBugz to its full potential to manage the development process, the specifications, every piece of work I’ve done, emails to and from users with suggestions or problems, and the discussion forum functionality to manage beta testing. FogBugz is a joy to work with, has made my life infinitely easier and the quality of this version of JBS has been helped greatly by it.

I also took the opportunity to redesign the program icon (you can see the full sized Vista version at the start of this article) which was rather fun. I used a program called RealWorld Icon Editor which made it easy to create a full 3D model of the icon and export it to the various formats I needed. If I had more time I’d have designed all the menu icons using it too but since I didn’t I opted to use some of the graphics created by Mark James in his superb silk icon set. And they’re free too! :)

I’ve fixed loads of bugs and added a host of new features along with as many requests as I could do without compromising the simplicity of JBS. I wrote about my favourite new feature - snapshot scrapbooks - the other day but there are plenty more things in there that make it a lot better. I also added two new photo sources in addition to Flickr and Phanfare - namely smugmug and Google Picasa web albums. As an aside, I particularly like smugmug and suspect I’ll start using it to manage my own photos instead of Flickr.

I spent a lot of time speeding things up. For example the number of people using multiple monitors continues to grow, and if you’re using snapshot scrapbook mode you could end up with around 10 pictures on each screen, so 20 or 30 in total. If all these photos haven’t been downloaded already (and therefore cached) then that could take quite a while - so it goes without saying that they need to be downloaded asynchronously and now they are across all modes. High memory consumption was also an issue with the previous version and I’ve put a lot of work in reducing that problem.

I now digitally sign the application itself as well as the uninstaller (in addition to the installer which I signed in the previous version). This may not mean a lot to most people, but Windows Vista prefers digitally signed apps (for one thing) and it also means that you can be sure that when you install JBS it hasn’t been tampered with by evil forces.

I’d like to take the opportunity to thank the people who helped me by beta testing JBS and providing me with lots of bug reports and very useful feedback. I know you’ve got far more interesting things to do than find bugs in JBS but I really appreciate the help. So thanks guys! It’s made my task a hell of a lot easier knowing that a lot of issues I’d never have found are now fixed so everybody else gets the benefit.

Anyway, there’s a host of cool new features in the new version of JBS so go and give it a try. It’s completely free and if you don’t like it, just uninstall it and it’ll remove every trace of itself from your computer. You can’t lose! :)

Why I Love Groundhog Day

So I was at a birthday party at the weekend and I got talking to this girl about films. She listed a few of her favourites (like The Green Mile, The Shawshank Redemption and some others) and then I mentioned one of my all-time favourites Groundhog Day. She said she’d seen it but hadn’t really thought much about it which I took as an opportunity to spend the next 10 minutes telling her how great a film it is, why it’s such a great film and why it gets better the more times you see it. And now it’s your turn…

Goundhog DayThe basic premise of the film is a rather unsavoury weather man - Phil Connors played masterfully by Bill Murray - finds himself and a film crew in a town called Punxsutawney to report on the tradition that if a groundhog (we call them marmots in Europe) emerges from its lair and sees its shadow then the Winter will last a few weeks longer - otherwise it’s hello Spring! Phil is completely unenthused about the whole thing and is rude, inconsiderate, obnoxious, sexist and a real jerk. He then wakes up the next day to find that it is once again Groundhog day and he’s reliving it. Rather confused he goes through the motions, does his report again and goes to bed. But he wakes up once again on Groundhog day.

What I love about Groundhog Day is that as you watch him stuck living the same day over and over again you feel the same thoughts and feelings as him. First of all you’re wondering “what the hell is going on?”. Then he starts to use it to his advantage to chat up women and pull them. He realises he can do anything he likes without consequence and enjoys that for a while. He takes the time to learn to play the piano and carve ice sculptures, amongst other things. But then he starts to get sick of the whole thing and you feel his pain. Each morning he’s awoken by the song “I got you babe” by Sonny and Cher and after a while you start to hate hearing it yourself - he throws the radio against the wall, breaks it and you know you’d do the same yourself.

So he tries killing himself but just wakes up and the day starts over. He becomes desperate and just wants out - but he’s stuck living the same day over and over again. His producer Rita - played by Andie MacDowell - takes his fancy but while attempting to get her into bed in a single day (she hates him at the start of the day so it’s a tall order), he manages to fall in love with her. The night ends with her slapping him in the face but he can try it again and again and again - or so he thinks. No matter how he tries to perfect the day he just can’t reproduce the spark that made him fall for her and eventually he just gives up.

There’s a beautiful scene that you’d miss if you watched it for the first time (I know I did). While trying to woo Rita for the first time he gets in a snowball fight with some kids and they end up falling in the snow together in just such a way that they catch each other’s eye and that’s when he falls for her. In subsequent nights he tries to make that random moment happen again but he just doesn’t fall in the right position and it just never happens again. Phil starts to realise he can’t make things happen just because he wants them to to suit his own ends.

So eventually he resigns himself to being stuck on the same day by revelling in it. He gets to know everybody, manages to synchronise his day so that he can catch a kid who falls out of a tree, replace a flat tyre for some old ladies who break down, perform the Heimlich Maneuver on a man choking in a restaurant and by doing all that becomes a changed me. An old homeless man dies over and over again and Phil tries his best to save him but eventually realises he can’t - he’s not God. In the end Rita falls for the new Phil and he finds tomorrow finally comes.

It’s a brilliant film and has a great deal of subtle undertones that only become apparent the more you watch it. When he goes bowling with some of the locals and tells them that he’s living the same day over and over one of them replies with something like “I know exactly what you mean”. We all drift through the same day over and over again and feel like we’re in Groundhog Day, but Phil broke the cycle by stopping worrying about it and trying to make the best of each day and making those around him happy (even though he only actually had one of them). So if you haven’t seen it then I recommend you sit down and watch it. Laugh along and have Sonny and Cher too - but look beneath the surface and see if it makes you think.

Oh, and if you don’t and you’re ever unlucky enough to talk films with me you’ll get this whole lecture and I’ll keep going on at you until you promise me you’ll watch it. Or maybe you’ll promise me you’ll watch it and mentally cross me off your “speak to again” list - which is probably what that poor girl on Saturday night did!

A Snapshot Scrapbook Of Your Photos

I’m just putting the finishing touches to the new version of John’s Background Switcher (due out in a week or so) and I thought I’d write about one of the cool features I’ve come up with for this version. I’d seen the idea of a photo pile in screen-savers before and thought it would be pretty slick to add it as an option to the mosaic and montage modes the current version supports. A picture paints a thousand words so this is what I came up with:

A Snapshot Scrapbook

I’ll admit right now that I didn’t come up with the name ’snapshot scrapbook’ - that honour goes to John Topley. I’m rubbish at coming up with catchy names (example: John’s Background Switcher) but luckily John isn’t! Anyway, what it does it use the photos you’ve chosen, creates a bunch of snapshots and throws them onto your desktop background in a sort of pseudo-random fashion. The cool thing is that you can choose these photos from your own computer or from a variety of web photo sharing sites including Flickr, Phanfare, smugmug and picasa web albums.

It’s one of these things that as soon as I got the code working and ran it for real the first thought in my head was “Wow!”. My friend Ian pointed it at a collection of photos of his newborn son and to see the pride on his face as an assortment of photos of his smiling son filled his screen warmed my heart. A snapshot scrapbook is cool, but when it’s of your own photos, photos of your loved ones or photos of your favourite animals (cats for example), it becomes something much more. You can judge for yourself in a week or so when it goes live.

From a coding perspective it was quite an interesting challenge actually creating the snapshot scrapbook. If you want it to look random then it’s no use actually laying them out truly randomly - more often than not you end up with half the photos directly on top of each other which looks rubbish. Then there’s the spacing. You want them to be pretty close to each other, sometimes overlapping, but not by too much - and you want them close to the edge of the screen, but not too close. Next you want them at different angles, but not too much of an angle (you don’t want half of them upside down) or all at the same angle. Then there’s how many photos to put on the screen - different people have different resolutions so it has to look right on every possible computer. It’s all a bit hand wavey really but I managed to create an algorithm that seems to do the job nicely. As is usually the case with algorithms, once it’s written it’s only a few lines of code and looks pretty simple - although it was rather tricky to write (you’ll have to trust me on that one)!