Friday, October 29, 2010

Slán go Foill (Goodbye)

This weekend will be another of saying goodbye. I'll be saying goodbye to my maternal grandparents, at least for a while, and I've to say a final goodbye to Lucie.

My grandparent's are two wonderful people. My grandad is an elderly doctor, who has wonderful stories of his many years driving around the wilds of Donegal, tending patients and looking after families that lived in very rural areas. He would tell of the interesting families, the characters he would meet and generally paint a picture of a people who made a living on some of the most difficult land in Ireland, against some of the most depressing weather, and always had a smile for a friendly face. He is a tall man, much taller than me. Age has bent him over, but in my mind, he is the proud gentleman doctor I knew from my childhood. He is a proud man. But in him, pride does not seem out of place. My childhood is peppered with times spent in his living room, listening to him talk. Or seeing him sneak a sweet, for he loves sweets. Yet, even in his sneaking of a sweet, he did so with an degree of poise that I could not imagine in anyone else. When he spoke, his voice demanded respect and yet soothed too. I won't claim that he is without flaw, for without a doubt, he is a flawed man. But now is not the time to dwell on them. He is a great man, a man I respect, love, and admire and a man I will miss.

My grandmother is a most wonderful woman. She is always welcoming, to a fault, if that is possible. She too is trained as a doctor, from the same university that I received my degree. In traditional fashion, she stayed at home and raised their family. That might seem as if I am selling her short, but to know her family is to know that she not only did a fine job, but that she was a fine mother. She is the finest partner than my grandfather could have. I have many fond memories of times spent in her company. She always had a story to tell, and it was never mean spirited gossip, but always a good humoured tale of life. She is a lady, truly gentle, kind and loving, but also fair and by no means, a pushover. Age too has taken a little of the wind out of her sails, but she is and always has been, one of the strongest, finest, people I know. I will miss her so too.

Finally, I come to an honorary member of my family, Lucie. Lucie was our dog, a west highland terrier. She was a puppy when we took her home and she change and enriched our lives from that day forward. I was still in secondary school then and she was such a lovely dog. She was very tolerant, very loving and incredibly empathic. I'd come home from school and she'd sense my mood and either come tearing down the stairs to say hello with a level of exuberance that warmed my heart and made me happy to be home, or else just leave me be, to get through my mood and be ready to be loved. She was a friend who knew when to be there and when to give you the space you needed and did so without a word and with incredible precision.

I remember one time, I was sitting exams and I was glad that the days exams were over. I came home, threw my bag off my shoulder and slumped into a chair. Well, that day, she had been a little slow out of the starting blocks, but she came flying down the stairs, into the sitting room and jumped up, and sailed right over the chair I was sitting on. Then after she gathered herself, she jumped up on my lap, tail still wagging, saying hello in a way that made me feel loved and happy with life.

As is not unusual for dogs, she also had a fear of loud noises. As is seemingly customary for Ireland at this time of year (the weeks coming up to Halloween), people will set off fireworks at fairly random times. This would leave Lucie shaking in a corner and there is little we could do. But, not just fireworks set her off, any loud noise could turn her legs to jelly and leave her shaking for a few minutes. MS, my brother, has a race car and the very first time he started it up, she darted under a table and pushed herself into a corner, against the wall. Nothing we would do would calm her down. As time went by, she started using under my bed as her refuge of choice. Even in times when she wasn't scared, but just didn't want to go out, or such. For such a hardy breed, she hated the rain and the cold. She loved to be warm, lying on a beanbag with people around.

There were so many good times, so many moments of happiness and fun. She was so incredibly gentle (okay, except when taking food from your hand) and so easy to live with.

Lucie had problems though. She was a thoroughbred and if it was on the list of illnesses that westies suffer from, she got it. Bad skin, arthritis, and so on. We did what we could to medicate and care for her, but we knew that in the end, her life was just going to become day after day of pain. We could not wish that on anyone, let alone our special friend, our companion, our dog. When it was clear that what she had was not going to get better, and that if we let it go any further she would be in constant discomfort, we took her one last time to see the vet. She seemed relaxed that day. Almost happy. But, it was so hard to see her as she struggled to breathe properly. And we held her as she took her final breath. The life drained from her and we had lost a truly special friend. It still brings tears to my eyes to think of it. We have lost so much, but she gave us so many good time and left so many memories. She was truly a good dog.

The story of Lucie is never complete without saying something about Tammy. She's our other dog. We got her a couple of years after we got Lucie. She was a "rescue" dog that Mam (how we refer to my mother) and HS (my sister) picked out from the local pound. She had lived a hard life before we got her. This was obvious by how very scared she was of men. It took a long time for her to relax and trust the men in my family. At first, she used to lose bladder control whenever a man would approach her. Then it only happened when it was a strange man, and she has reached a comfortable stage where she is still wary of strangers, but generally friendly. She is happy to be around small numbers of people, but is much more likely to go to her safe place than to just stay a long time with a gathering of people. Of course, she has been just as much a part of our life as Lucie was.

That is a picture of HS holding Lucie in the last few days of Lucie's far too short a life.

Mam and HS with Lucie and Tammy.

Anyway, the reason for all the above is to give you a picture of the friend to whom I have to say my last goodbye. You see, Lucie really loved certain places. But one of those places is a beach on the Atlantic coast of Ireland called Killahoey. It's a beautiful beach in Donegal, with soft golden sands, rolling dunes, and stunning scenery. It was a special place for her, and we feel that it is the right place to scatter her remains.

Killahoey will be around for a long time, hopefully longer than me, and while I might only get to go there once every few years, I shall always keep Lucie in mind when I do and say hello to a dear lost friend when I visit that most beautiful of beaches.


The above is H (Dyani's and my eldest) on Killahoey.

Anyway, time has come for me to say goodbye for now. For those of you with pets, please give them a loving hug and let them know how much they mean to you, for in the end, they have only one life to lead, and they do give you the best of it.

Regards,
Neil

Wednesday, October 27, 2010

Interesting Technology?

Today's blog is going to be about some interesting inventions and technologies. Not necessarily those to do with computers, or even particularly modern ones, but just cool stuff, at least to this engineer's brain.

I remember as a child, my Dad would take me to old car shows (yes, that's where the car bug originated) and the like. This one time, when I was probably only about 6 or 7,  we were looking at an old steam engine. I was mesmerised by the centrifugal governor. I instantly understood how it worked, but it just did its job so well and was such an elegant solution to the problem. I thought it was seriously cool. Now, I guess in hindsight, I was doomed to be an engineer from that day on. It sort of reminds me of a Dilbert clip on the "knack".

Since that time, I've had a sort of interest in simple mechanical devices, things which do their job and do so in an elegant, if not the most efficient way. In more recent years I learned about the Stirling engine. Now, I won't go into the exact operation, but it's simply a form of heat engine which uses the cyclical expansion and contraction of a gas to drive itself. There are many variations on this type of engine, but for me, the most fascinating thing was that it could work without valves and with pretty much anything providing the heat. It reminded me of a device I had learned about a few years earlier, the pulse jet.

The pulse jet is perhaps best known for its use in the V-1 flying bomb. It has a very simple method of operation and while not the most efficient, it certainly is quite an interesting machine.

As an engineer, from time to time, I see these kinds of elegant solutions in computing. I remember when I was shown how to swap the contents of two integer variables without using a temporary third one and I was quite impressed.
So, instead of this:
TEMPVAR:=A;
A:=B;
B:=TEMPVAR;
One can simply use XOR:
A:=A XOR B;
B:=A XOR B;
A:=A XOR B;
It takes a little while to work out why this works, but it is so simple and efficient, especially so when implemented in machine code.

Sometimes I have been guilty of thinking that something wasn't so cool, when under further inspection, it proved to be genius. I remember when I was first learning about the internals of the AlphaServer Operating System. There I was shown that they stored some rather large lists, as linked lists. Now, I knew that a linked list was not the most efficient data type to search. To find the right entry of a sorted list, one had to, on average, traverse half of the list, which for large lists is quite slow. On average, it takes 50 steps to find an entry in a list of size 100. A binary tree would be much quicker for searching. A tree of size 100 will take 9 steps, a tree that takes 50 steps will actually have 1,000,000,000,000,000 entries! So, why were they using the very slow to search list? These lists had a couple of hundred entries in them, so search times were significant. But, these lists were also quite dynamic in nature (lots of adding and removing of entries), which is one area a list can be a bit better than a tree (especially if you are trying to keep the tree in balance and get that very fast searching). When I looked at the actual implementation of the linked list, I realised that it was genius. It had more than one level of linked list, one skipping ahead, way down the list, allowing for very fast traversal of the list indeed.

I know that the linked list still had huge limitations, but for the actual problem it had to solve, it was the better solution. Not only that, but it did something that the XOR method for swapping two variables' values did not do. It provided an easier to understand and implement solution too. You see, as much as I love the above method for swapping two variables' values, I hate that it actually makes the code more difficult to understand. I don't buy into the whole idea that code should be self documenting (comments are vitally important), but I similarly hate seeing code which is almost completely impenetrable. There are times that we've all written such code. I know I have, but I also know that such solutions always make my skin crawl. I think of me in a years time, returning to code which I had trouble wrapping my head around when I first wrote it.

What I'm really trying to say is that for me, the most interesting solutions to engineering problems aren't the ones which are just cool, but those which solve the problem effectively and one can almost instantly understand how it works. I guess, I'll always find the likes of the centrifugal governor to be the most interesting of innovations.

Anyway, I leave you with some words from Isaac Asimov:
The most exciting phrase to hear in science, the one that heralds new discoveries, is not 'Eureka!' (I found it!) but 'That's funny ...'

Monday, October 25, 2010

The Party is Over

Well, the party is over and I enjoyed myself tremendously. I won't go too much into details, but in the end a few people I was hoping would make it didn't, so I'll have to say goodbye to them another time. Other than that, AK's family and a mutual friend of ours (WM) were there and I have to say that they are lovely people, friendly, funny, interesting, and as I found out later on, quite musically talented too.

We had a lovely buffet style meal with some very fine food, including a piece of smoked salmon brought all the way from Canada by me. Though two things did surpass the food; the company and the sing-song afterwards. I caught up with WM, gave him his invite to my wedding, and discussed his work (like myself, he has been known to programme and dabble more than a little in C#). It's always great to get to bounce ideas off of AK and WM as they're both smart guys with interesting perspectives on technology.

The sing-song was a laugh with everyone joining it, including AK's 90+ year old grandmother. The instruments were brought out, the voices primed and the house rang to the throng of merriment. There was a harp, a fiddle, a concertina and a piano and the tunes were anything from traditional Irish ballads to some John Denver with some pop and rock 'n roll thrown in for good measure. It was a laugh and the only sad point was that Dyani (my fiancée) wasn't there. She would have loved it. As would our boys.

Anyway, AK's Mom (MK) put me up for the evening in the spare room and I have to say, this lady's hospitality seemingly knows no bounds. She fed me, provided me with a bed for the night and made sure that I've wanted for nothing. It's a life that I could really get used to. Anyway, soon I shall be on my way back to Dublin, probably leaving Galway for the last time for at least a year, but more likely a lot longer.

Galway's a beautiful place, full of character and characters. It has a sort of permanent party atmosphere; friendly, alive and never dull. I'm sorry to have to move on, but I'll never forget the good times I've had here.

Anyway, I've just learned about an interesting sort of reality-show for software developers called Career Factor. It looks very interesting and could be just what I need to kick start my career in Canada. I'll get a résumé drawn up, fill out the application and record my video. Since today is a bank-holiday here, I think I can afford to spend it getting the application done. It'll be a bit of a laugh if nothing else.

Just before I go, I found an interesting site with some useful skills:
http://www.popularmechanics.com/home/skills/4284709?page=11

Until the next time, Slán,
Neil

Sunday, October 24, 2010

Time to Say Goodbye

Well, I'm off to Galway to a birthday party for a dear friend of mine, AK. Anyway, it's going to be a good chance for me to say goodbye to some of my friends as I'm sure that there are some that I won't see again. This in a way touches me with sadness, and yet it is part of the process of moving on with my life. I do hope that I can stay in touch with a few, but I am very well aware that long-distance relationships are hard at the best of times, so keeping friends that way is never going to be easy.
Anyway, I'd better get going. I'll update with more when I can.

Saturday, October 23, 2010

First Post!

Hi, and welcome to my blog. Those of you who know me know that I have a variety of interests, and this blog should help keep you up to date. For those who are just getting to know me, some of the things you’re likely to find on my blog are the odd musings on technology, cars, films, and daily life. I'll also include some bits and pieces from my personal life as I am currently in the process of moving from Ireland to B.C., Canada to get married after almost 3 years of a long-distance relationship. To top that all off, I’ve just got involved in some work for a start-up company. So, things are busy, to say the least.


You may have noticed that I have of a strange looking car for my profile picture, so without further ado, let me introduce you to my car, Ted. Ted is a small, yellow sports car. More precisely, Ted is a Sylva Striker

and unfortunately has a rather dodgy engine. When working well, Ted is fun to drive, but now his heart lies in bits on a garage bench, awaiting a rebuild. As I've always been one to tinker with things, there is no way that I am going to rebuild Ted to the way he was before. When I'm done, Ted will be a little more fun and hopefully a little more reliable too. In future, I'll tell you more about Ted, why it is ultimately less damaging to the environment than a well known hybrid, and why it is so much fun, especially at very ordinary speeds.

As for my current computer stuff, I have been doing quite a lot of research into network filesystems and ways to make them work better over relatively high-latency networks. Basically, with some of my work, you'll be able to perform file searches and some other types of operations much quicker than is currently the norm. For now, I'm keeping the actual details top-secret, but don't worry, I'll let you know when there is something more interesting to look at.

Oh, on that note, I've been working on modifying a Unix tool called fdupes. It's a nifty little tool for finding duplicate files, but it is lacking in a number of areas. The author and maintainer hadn't been updating it for a long time, so I decided to make some changes of my own. They will make it much faster for large, but differing files, multiple filesystems, and also add a few useful features, such as looking for matches where both files have the same name, minimum file size, maximum file size, and a few other bits and pieces. It's not really a modification though, but more of a re-write, with all of the functionality of the original and much more besides.


Wow, you've gotten this far. So, I'll just finish with a few links to things I enjoy. I find that sometimes xkcd, can be quite funny/insightful/interesting. It misses from time to time, but that's nothing to be ashamed of (even the great Garry Larson didn't always get it right).


There is another site I quite like called b3ta. Some of the stuff that makes it onto that site is very funny indeed, but unfortunately, it can also be a tad inappropriate for work. Actually, on second thought, it's completely inappropriate for work, full of puerile humour and lots of in-jokes. So, it's just on my level :)

I've also been known to use a browser plugin called stumbleupon a bit too. It's a great way to find an interesting site or two. It can also be a huge time-sink, but what's one less hour's sleep?

I find The Register to be a fairly informative technology news site and it tends to have a bit better signal to noise than another of my favourites, Slashdot.org.

On a slightly more personal interest level, I'm into cars and currently live in Ireland, so I have been known to frequent a forum called Octane.ie. It'll be a good way for me to stay in touch with the automotive scene in Ireland while I'm sitting in front of a computer, drinking a hot coffee and watching the snow build up outside the window.

There are plenty of other places on the Net that I visit, some of which I'll out as time goes on.

Anyway, until next time, remember " Programming today is a race between software engineers striving to build bigger and better idiot-proof programs, and the Universe trying to produce bigger and better idiots. So far, the Universe is winning" - Rich Cook.

Regards,
Neil