The Best Screw Ever - Get your mind out of the gutter... I'm talking about the Robertson screw, a type of screw I'd never even remotely heard of before moving north to Canada. In the U.S., there were always flat/straight/slotted/(pick your term) screws and Phillips screws (otherwise known as "that's the one with the criss-cross on it, right?) and more recently the Torx screws with their star-like pattern. But the Robertson square head?
So then we buy a house in Ottawa (2 years ago) and find that many things are held in by this screw with a square impression in the head. Huh?
Yes, indeed, a different type of screw. So I went out and bought a new set of Robertson screwdrivers (#1 with a green handle, #2 with a red handle and #3 with a black handle) and the associated bits for my drill.
And after another weekend of doing projects where I was working with various different types of screws, I am so far down the road of being a Robertson convert... I never want to go back! My crusade now is that if I make any changes to the house, I try to do it completely with Robertson screws. Goodbye, slotted... goodbye, Mr. Phillips...
It is such a vastly superior screw! Easy to go in... easy to remove. You can't really strip the heads. Plus, you can put a screw on the end of the screw driver and it will stay there while you hold the screwdriver at all sorts of different angles.... allowing you to work basically with one hand while fastening things together. Simply not possible with a slotted or Philips screwdriver. (Okay, yes, you can get one with a magnetic tip that provides a degree of help, but nothing like what a Robertson can do.)
So what does this have to do with free software? At first glance, nothing, but it actually is yet another illustration that sometimes inferior technology wins. Fascinating story, really... a guy named P.L. Robertson set up his company in Milton, Ontario, in 1908. He had come up with the idea for a better type of fastner - the screw with a square indentation and applied for associated patents, etc. He was successful in Canada and tried to expand overseas in Europe... minor little details like a world war kind of got in the way... and then (according to a History channel documentary) he had a falling out with his European partners.
So then came the critical failure... Henry Ford tried out the Robertson screws and found they could shave off a good two hours from the time to assemble a car. But, being Henry Ford, he wanted to control the entire supply process, so he wanted to license the design from P.L. Robertson and manufacture the screws himself. Freshly burned from his European experience (you might say he got screwed! :-), P.L. Robertson declined... and a few years later this guy named Phillips came along... who had no issue with licensing.
Kind of reminds me of a certain computer company based in Cupertino, California, who had superior technology earlier, but didn't want to license the technology to others... and you know the rest of the story.
Python and Jabber - Was experimenting today with the jabberpy library (that, incidentally, hasn't been updated for quite some time) to write a sample client to communicate with a Jabber server. I found that jabberpy must have been written for python 2.0, but not 2.2. As of 2.2, all strings now have an inherent 'split' method which allows you to do:
parts = message.split('/')
instead of the previous way of doing:
from string import split ... parts = split(message, '/')
Well, in looking at an example in Programming Jabber I found a section where it is trying to get the Jabber ID (JID) without the Resource extension (so 'email@example.com' instead of 'firstname.lastname@example.org/Desktop'). The example did this:
parts = split(prs.getFrom(), '/') who = parts
However, when the script receives its first presence packet, it will die with an error essentially saying there is no split method in the JID class. My first workaround was to do instead the following:
fr = prs.getFrom() who = fr.getNode() + '@' + fr.getDomain()
but then I noticed in the jabber.py doc that the class has a 'getStripped' method that returns the JID without the Resource. So the line becomes the much simpler:
who = prs.getFrom().getStripped()
Works great, now. Pretty cool stuff. I filed a bug for jabber.py over at SourceForge - maybe sometime I'll take a crack at fixing it with a patch.
Netscape 4.7 and SourceForge - Great... so my upgraded SuSE 7.2 system only has Netscape 4.7 on it... (that's all I've installed)... so I go to SourceForge, login, and have Netscape lock up on me! Sheesh... time to go get Mozilla.
Curling in the US - Maybe folks south of the border are finally taking an interest? :-)
Curling - You make the call - Which shot would you choose? I would choose to freeze... but the hit and roll is also attractive. Probably an easier shot. (Hitting is easier than freezing.)