Fergus Cooney

Well, in such a place of towering programming intellect I feel that the ordinary "blah, blah" will not suffice so a wee story to impress - or not. ;-)

My proudest achievement is one that has never seen any use. A true computer junkie when I was at college, I used to break into the computer lab at night *1 just so that I could have three terminals and the VAX all to myself. I was hugely interested in algorithms, especially sorting, and I was convinced that there had to be something better than QuickSort; all that moving data around? Wouldn't it be great if the data could b placed directly where they belonged! - surely a method could be found which would sort in O(n) [vs Quicksort's O(n.log n)].

It so happened that I had to take a year off college and went to stay with my Dad in a cottage in the country in Ireland - no computers there, of course. I took with me this obsession and a solution gradually popped *2 out from all the desire and belief and pondering. Over the next three months I worked the method out on paper, wrote the code, ran it by hand and proved it, calculated potential timings, drew graphs - the whole works. I returned to University most excited with my discovery for I now possessed a sorting method that was O(k.n)!! (where k is the length of the data). Pen and paper calculations showed that it could be three and more times faster than Quicksort depending on the data set. True it had the disadvantage of requiring the same amount of memory again, but the speed was undeniable.

Back at college I set about entering and compiling my prototype code and then testing it. Super, super. :-)) [imagination going wild] Then, while browsing in the library one day, I chanced upon that worthy tome of Knuth's which gives plenty of sorting algorithms. He described one of the earliest methods - in fact, invented even before there were even computers - used by the IBM tabulating machines. Lol. [sound of balloon bursting, dreams of instant fame gurgling down the drain]. It wasn't one of the algorithms taught on the course and I'd never heard of it otherwise but there was my 'new' method and it had a name - Radix Sort - and it could indeed be more powerful than Quicksort, though without that algorithm's elegance and intuitive simplicity. Ah well. [big sigh]

... Now, if only I can find that elusive method of compressing random data - I just know it exists! ;-p


Your story reminds me of SchwarzMergeSortAlgorithm?.

Ah, only in the ReinventingTheWheel sense I hope. My implementation worked. Lol, I certainly did enough DryRunning on it.


Currently I play a lot of BackGammon? and HyperGammon? at the (mostly) excellent http://www.VogClub.com [plug, plug :-)]. I've recently joined FIBS (http://www.fibs.com) using the 3DFibs client and was most unimpressed with the signing up procedure.

<rant>

The 3DFibs program puts you into a Telnet session where you have to manually sign-up. For some reason none of my characters were echoed back to me but I just made sure that I typed very carefully. I entered my password which was a combination of two words intermingled with cursor movements and everything was fine. I then asked 3DFibs to log me in and it gave a dialogue box for the password. All well so far but then it claimed that the password was bad. I had to give up on that thinking that I'd typed something wrong but the same thing happened a week later when I created a new login. I eventually realised that the Telnet session was including my cursor movements in the password while the dialog was simply moving the cursor. Bah! On the bright side, though, the discovery meant that I got my initial user name back. :-)
</rant>

Programmingwise I'm very fond of Javascript and .NET (C# and or VB). I was an expert on the Microsoft newsgroup microsoft.public.languages.vb for a while and thoroughly enjoyed it - despite the maddening knowledge that I was effectively working on behalf of Microsoft for nothing! lol. But programming and helping and teaching all at the same time - it's a great buzz. :-DD


Handy tip if you have multiple monitors and want to move your browser windows from one to the other (in the absence of a decent multiple monitor manager).

Create a Favorites\Links shortcut containing the following as the URL:

    Javascript: {.concat(10,10); .concat(0,0); ''.concat(1600,1200)}
where the moveTo() and resizeTo() arguments correspond to the target monitor. (Ensure that you have Links visible on the toolbar for maximum accessibility.) And there's no reason, of course, why you can't have buttons to do half-screen browser windows for side-by-side browsing, etc, etc.

(ps. I use the initial resize to (10, 10) because moving a 1600x1200 browser window takes seconds (on an old Colographics 4 x S3 card, shrug) while moving a tiny one is instantaneous.)

You might want to change the icon to one or more of the monitor icons in C:\WinNT\System32\Shell32.dll (assuming Windows, of course).


CategoryHomePage


EditText of this page (last edited November 15, 2004) or FindPage with title or text search