Skip to main content


Showing posts from April, 2008

My excuse for why I didn't blog much in March...

The goal from the beginning for this blog was to write a post a week, that's the incentive that kicks me each week nagging me to write a post even though sometimes I don't want to. I've seen a number of blogs simply fade into the past after a month or two once the initial novelty has worn off - writing informative well-versed (I hope!) posts is a difficult thing to do in one's free time.

I managed the grand total of one post in March but I did have a valid excuse: I had the "new job search" machine on full throttle and was spending every evening pouring over JobServe and variousjob blog sites. If I wasn't searching for jobs on the internet then I was either preparing for face-to-face interviews or being telephone interviewed and I just didn't have the bandwidth to blog as well.

I'm pleased to say that I accepted a new development position a few weeks ago and so I'm finally leaving the mobile telecoms industry after ten years (wow, I've on…

Ever wanted to test your website on every version of Internet Explorer (IE)?

If you develop websites then you will be well aware of the browser incompatibilities that cause a whole world of pain when you are trying to get something to look the same in all browsers.

Normally you will be testing against IE 6 or 7, Firefox and Safari. Due to IE 7 introducing a load of new behaviour you would also want to test it on IE 6 but you can't have two different versions of IE installed on any one PC. You could turn to a number of virtualised Windows instances with different versions of IE installed but that sounds like a lot of work to me ;-)

What if you could install a simple program and then have the following versions of IE available?: Internet Explorer 3.0
Internet Explorer 4.01
Internet Explorer 5.01
Internet Explorer 5.5
Internet Explorer 6.0
Here you go then: MultipleIEs

A blog post about installing multiple versions of IE on your PC by TredoSoft was the source of my information and it's got a lot more information about how it works and what doesn't.


How to control another PC without a KVM using Synergy

If you sometimes have your laptop next to your desktop PC you might find that you are hopping from one keyboard/mouse/trackpoint to the other. After a while this gets a little uncomfortable so wouldn't it be cool if you could use your desktop PC's mouse and keyboard on your laptop? Synergy is one such utility, this is how the Synergy team describe it:Synergy lets you easily share a single mouse and keyboard between multiple computers with different operating systems without special hardware. It's intended for users with multiple computers on their desk since each system uses its own display.Download Synergy from sourceforge and install it as normal on both you desktop PC (the server) and your laptop (the client). On your desktop PC, start Synergy (Start -> Programs -> Synergy -> Synergy) you will be presented with the following screen:

Click "Share this computer's keyboard and mouse (server)" then click "Configure..." to set up the layout…

My all new Ruby Database Script Runner - now with Objects!

Back in December I blogged about how to access ActiveRecord & Migrations outside of Ruby on Rails. It was a little to scriptish for my liking so I've refactored it in a couple of classes instead.

Before you had to copy the code to a new file and add your database migration inside the method. I've now broken this up into a DatabaseScript class that extends ActiveRecord's Migration and has the guts of how and where to run any database commands and then any number of script classes that do the actual work.

The classes that you write on a day to day basis are now similar in style to the standard Rails Migrations:require 'database_script'

class UniqueScriptName < DatabaseScript
# your migration code goes here
endFor example I want to update my_table and set all the updated column for all rows to be true:require 'database_script'

class UpdateMyTable < DatabaseScript
execute('update my_table set updated …