Euan Ritchie's playground


Search this site

Quote of the moment

To affirm that the Sun is at the centre of the universe and only rotates on its axis without going from east to west, is a very dangerous attitude and one calculated not only to arouse all Scholastic philosophers and theologians but also to injure our holy faith by contradicting the Scriptures
Cardinal Robert Bellarmino.
Login More quotes… Euan Ritchie All my rantings…

Latest rant

Monkeys and maths

Another thing that annoys me is silly references to monkeys, typewriters and Shakespear.

If you give an infinite number of monkeys typewriters they will never produce Hamlet.

Because they're all monkeys and will all make the same stupid mashing errors repeatedly. They will not each try a different combination of keys and will not methodically attempt different combinations. They will, if they do anything with a typewriter, all do the same silly monkey thing.

Random rant

Screw the man!

I've just learned something quite interesting - in Auckland there's recently been a big contest between bus drivers and their employers over pay.

The bus drivers, who's income has fallen some 35% in real terms in the last twenty years (I'm told) have decided to press for a healthy increase. Unsurprisingly management is begging poverty in refusing.

The company in question boasts that they aim to return 20% profits to shareholders. Times are pretty good if you can manage that.

Times aren't so good. Apparently the increase the staff want adds up to about $4 million per annum. Shareholders got some $32 million last year, a return of 18%. So staff demands represent (assumming no other changes in income or productivity) 2% of shareholds profit, returning some 16% to shareholders. 16% is still a good return for doing nothing but putting up cash in a well proven and trodden market.

So management, who sees their duty to be returning as much profit as possible for their shareholders and who think 20% is reasonable is supported by the facts - they aren't returning the profit they want so they can't afford more expenses.

The staff, who probably don't see it as their dutry to return maximum profits to shareholders think a 2% reduction in profit to 16% is reasonable. And they're right (if they don't see maximising profits at their own expense their duty). So the facts support both positions.

And it becomes a simple matter of competing desires negotiating with their respective strengths.

But really, where the hell do companies get off expecting to be able to deliver 20% in what ought be tightly competitive industries? They should count themselves fortunate to be able to do better than 5%. I'd be well pleased with myself to get it up to 10%. Being in a position to contemplate amounts like 20% is an indictment of the society they're functioning in. I'm all for a freedom to invest ones capital - but the idea that simply doing so entitles one to handsome profits purely off the back of labour where the investment isn't a risk or in innovative technology or service but simply providing backing for a well established service is untenable.

Random rant

Language Irritants #3

I've decided to invest more time in using Ruby than Python, and any new scripting projects that I don't do in JScript or Perl will happen in Ruby.

This isn't because I've become a fan of Ruby. I see good things in Python and Ruby but neither of them impress me terribly much and I still feel ECMAScript is the best scripting language. But ECMAScript isn't cool enough for the kids or more importantly meant and supported for the non-browser scripting environment so I have to choose another.

As no-one has had the good sense to blend the best of ECMAScript, Perl, Python and Ruby I find myself having to select Ruby even though I see more reasons to use Python.

One thing has made up my mind for me - that bloody whitespace nonsense. I find that working in Ruby just happens faster because I don't have to worry about mismatched whitespaces from anything I cut and paste or edit quickly and messily in notepad.

And that's about the only reason.

Random thoughts

Cell phones should receive faxs. Some of the modern screens on phones would be good enough to read them but I'm thinking storing for printing (or transfer to PC) would suffice. Pictures taken could then be sent as faxs.

And when are we going to get Voice-to-text on cell phones? It would be so useful - for updating blogs, sending complex txts or any of a myriad reasons one could want to side-step laborious text input.

Cell phones should record phone calls (I'm guessing some already do). I think of this because of a newspaper article about an emergency call that was mis-handled.

You're not likely to think before hand that any given conversation is going to be important and you might want a record of it, but you may very well think afterwards that it'd be nice to have an accurate record of one.

So I think it'd be a good design choice to record each phone conversation, just record over any previous ones. Have options to save the last one to the side, wipe it if not saved after an hour or two, or demand a decision on saving or wiping at the end of the call or some such.

So Cool

Amazing Javascript demo

Botaira Beach Resort

This years holidays were in Fiji, and I'm creating a page with photo's and videos here about it. Currently I'm editing the material and haven't presented it. Watch this space.

Media Player

Media Player

I recently bought this media player as a present for someone because it's also a digital receiver and will let them watch/record freeview. I tested it and are well impressed - it is superb value for money having many features. It's interface for media browsing is a bit simple and not pretty, but it works and is very responsive.

For the money (USD $150 delivered) it has amazing functionality and I heartily recommend it for the cost concious purchaser. Remebering that if you want to put a hard drive in it that's an extra cost (SATA drivers slot in the side), though it can record to a USB stick if you like.

New phone

Samsung Galaxy S

My new phone, a Samsung Galaxy S has arrived.

Using a VPN for privacy

I'm not paranoid, but I'm also not interested in other people observing my traffic, so I went looking for a VPN to encrypt my traffic with.

There's one that gives anyone 30 minute sessions free at ItsHidden that I sometimes spin up. And I've been using Ivacy for a while. They provide port forwarding as well should you want to operate a server through the VPN.

I use Micronet routers that can maintain VPNs themselves so everyone on the internal network can benefit from it.

A jQuery-UI Datetime picker

My take on a date time picker plugin for jQuery-UI. Developed from work done by Martin Milesich.

Windows Mobile 6 and the Compact Framework

HTC Dual Touch

I've written an application to improve the U.I of my new phone (a HTC Dual Touch) called SlideActions.

It lets users decide on how the phone should behave in locking, hanging up and other options when its slide is opened or closed. And although it's written for my phone the code isn't particularly specific - it may work on others.

But it'll need someone a little clued in to configure it for other phones - I've put notes on what's needed on it's homepage.

Id'ing unrecognised devices

This article helpfully describes how to get info on apparently unsupported installed devices.

To sum it up once you drill down through Device Manager to find the device instance ID (i.e PCI\ VEN_8086 &DEV_266E &SUBSYS_3006103C &REV_03\ 3 &B1BFB68&0 &F2) you can extract a vendor and device ID (in the example, Vendor Id : 8086 and Device Id : 266E).

Then if you go to PCI Database you can find what's required to obtain drivers.

Script to remove Local Folders from Thunderbird

When you use Thunderbird for IMAP accounts it can be annoying having the Local Folders sitting among your accounts.

To get rid of Local Folders you need to edit Thunderbirds prefs.js file for the relevant profile.

I've written a script to make the relevant edits, even if you've already created more accounts than the default.

It's a prettty cheap VBScript thing I just knocked up in a hurry so it isn't very pretty or cross platform (I may swap it out for a Perl version sometime). Just copy it into the directory prefs.js is in and run it.

It automatically creates a backup before over-writing prefs.js. Your prefs.js file will be somewhere like:

'C:\Documents and Settings\username\Application Data\Thunderbird\Profiles\xxxxxxxx.default'

The Lagoonarium

If you know what the lagoonarium is and you want a copy of the video contact me, because I've lost your address.

I stood at Thermopylae with Leonidas

Me and Leonidas

No, really, I really did. And here's the picture to prove it. That's me up on the monument at Thermopylae a few years ago on a trip from England to Istanbul (and most of the way back). I saw 300 last week and, eh, it was okay. The best bits were stylish stagings of the comics panels - but comics transcribed as movies don't have good scripts or dialogue (Sin City also demonstrates this).

The most interesting thing I noticed, given the debates and anger the movie aroused, is the addition of some dialogue: when Leonidas meets Xerxes emissary early in the story he warns the emissary he'll be held responsible for his words as if they were his own - a clear warning that this messenger may be blamed for the message he is about to deliver. This is not in the comic. So the producers demonstrate they know there's something unseemly about Leonidas in this story and attempted to defuse it by inserting language to moderate his character. If they now reply to accusations of producing propaganda with claims to only have been reproducing another work of art in a different medium, without responsibility for the story, they will be lying.

Comet McNaught, the Great Comet of 2007

Great Comet of 2007

Finally the weather cleared up enough for me to get out and have a look at McNaught. About four days after it's peak appearance it's still mighty impressive. Supposedly the second brightest comet ever measured for brightness it covered about 20 degrees of sky. Much more impressive than Halleys or Hyakutake

Took my camera out and made my first astronomical pictures. At first I left it's battery in the charger. And after getting it I took the wrong lens. Oh well, they didn't turn out too badly.

Thunderbird 2

Model of Thunderbird 2

While driving to work today I saw a ~four meter long fibreglass model of Thunderbird 2 parked on the roadside. Très cool!

Some of my videos

Swimming with sharks and a moray in Bora Bora

While snorkeling in Bora Bora I found this moray. He was gorgeously coloured (underwater photography without lights washes colours out a lot).

He was something like six to eight feet long and I remember his eyes as being richly coloured and beautiful flecked with gold.

Ryan and Linda's wedding

A short clip from my camera to test video streaming. I'm quite impressed at how well this comes across from the original just off my happy snappy Canon IXUS.

Bluetooth Headphones

Jabra BT-620s Bluetooth Headphones

I recently bought these Jabra BT-620S headphones.

And I think they work quite well - the sound isn't all that good but I didn't expect it to be (I've got a good stereo for when I want to hear music at it's best). Bluetooth just isn't a good medium for high fidelity music and it would be foolish to expect excellent sound.

I didn't buy with any intention of using the microphone so I offer no opinion on that, but the review I linked to is correct that they can get uncomfortable (not enough for me to mind, but a more sensitive person could get easily irritated).

I approve of their user interface, very well thought out, just pressing the ear pieces does what you need in most contexts.

I also bought Jabras Bluetooth dongle to go with them, but also wanted to make A2DP (the Advanced Bluetooth Audio Profile) work on my Windows XP machine with my existing Bluetooth kit (so I could have these headphones paired with both my laptop and my PC). My cheap Bluetooth dongle I discovered (by looking at it's driver details) was manufactured by CSR, and it happens that Blue Soleil manufacturers Windows drivers that provide A2DP functionality to CSR Bluetooth chips.

I have downloaded and tested the latest Blue Soleil software and it did indeed work with my cheap Bluetooth dongle. Only I can't buy it - because you do that via the applications Help menu and it won't enable 'Buy' for me.

And it seems they offer no option to buy via their wesite (I guess they want to tie your purchase to the applications detection and identification of a particular Bluetooth device). So apparently they don't want me as a customer.

Squeezing table columns together

Sometimes you need a lot of columns in a table, and sometimes the plain language headings are too wide - they push the tables edge off any reasonable sized screen.

It'd be great if you could just rotate the headings a little so the colunms could be thinner. But you can't rotate HTML text (not even using the new Canvas element of modern browsers).

So I created a little code to generate text on the fly as an image, rotated and in the colours one might want.

Single sign On using OpenID

I thought, for the fun of it, and because I'd Stumbled over it, that I'd implement OpenID as identity verification for logging in to this site. How hard could it be, I thought.

I know how these authentication schemes work, and being an open source project I expected there'd be some scripts I could grab and mutilate to my ends. But nope, I could find nothing except the original demo by (the folks responsible for LiveJournal) that suited my purpose (as light-weight as possible) and a crucial part of that is a Perl file whose source I could not view. For some reason the downloadable source file was missing. But I fortuitously found their CVS repository and snagged a copy.

Then I had to make sure I had all the supporting packages. And discovered that Crypt-DH (an essential part of SSH communications) wasn't readily available. But that's just a typical little installation glitch quickly sorted with a few choice searches.

More annoying were substantial changes required to the Perl source because it was originally written to make use of some sort of framework uses and I do not. But hey, what's a little tweaking and debugging among friends?

So now I have a sample of using OpenID to verify identity.

Firefox Extension for Spinning Logo

I like the idea of XUL. A mark up language for web applications (as distinct from HTML which was intended for marking up documents) is a great idea. Unfortunately it's unlikely to be widely adopted by browser publishers, although it's probably worth insisting users install Firefox just for it's XUL abilities when you can (Microsoft's XAML is pretty much the same thing but within the dot.NET framework, so not such a compact or cross platform option).

Anyway, because Firefox is itself a XUL application it can be modified with changes to it's markup. This is how extensions work. And to help out a developer who prepared some pretty animations for Firefox (see this page for a new 'throbber', a.k.a 'busy', animation in Firefox) I packaged this extension to answer the authors request for such a thing (they've since tweaked it and updated it for Firefox 2.0 it seems).