...making Linux just a little more fun!

<-- prev | next -->

IT's Enough To Make You Go Crazy

By Pete Savage

I was warned by several people not to write this article whilst angry, for fear of it turning into a scroll of unspeakable darkness, conjured by a crazed homo sapiens wielding a typewriter. Dark materials such as these tend not to get published in a fine monthly such as the Linux Gazette. I decided from the outset that I would not to mention any names in this article. Not only to protect the identity of the incompetent and the blazingly stupid, but also to avoid the multitudes of replies standing up for company x, y or z. I suppose in some ways you could ask the question, why are you writing this article then? The answer? It just feels right, something I have to do. For too long I've been idly wittering on to people I meet about my love of open source software and the Linux OS, much to their disgust usually. Now is the time to stand up and be counted. Below is a summary of a particularly bad week, supporting common proprietary software.

And so the crazed homo-sapien began to type...

Earlier in the week I turned up at work and noticed a user's machine was running particularly slow. At first I considered the user's choice of OS as the limiting factor, but it was more than that. We're not talking "let's make a cup of coffee and go gossip by the photocopier" slow, more the kind of slow that causes a user to grow a beard - independent of their gender. I sat down and clicked my little rodent friend, only to be greeted by a barrage of web browser windows, offering me the latest in pharmaceutical developments at a fraction of the retail price. My credit card stayed firmly in its protective sheath and I resisted the temptation to shave more weight off my already skinny frame. You can already guess the issue that was at hand... SPYWARE and tonnes of it. The machine seemed to be sporting its own division of MI5, MI6, and CTU, along with a few KGB agents thrown in for good measure. I turned to the world wide web to download a well known anti-spyware product, clicked the download button, and wham, I was stopped quicker than a nitro equipped Ferrari F50.

The page you have requested is not accessible at this time.
The content group "Marijuana" has been filtered.

"For crying out loud," I screamed. I could tell this was going to be the beginning of a very long week. Our Internet systems are externally controlled and whilst I understand the reason for a good web filtering system, I do not believe that the company involved had started trading in illicit products. My heart sank.

I thought the next day would yield better luck. Perhaps I shouldn't have been so hasty. I had set a backup going using the OS's supplied archiving software at the end of last week. Having had little time on Monday to go and check its completion, I found a few spare minutes early on Tuesday whilst my brain was still actually firing neurons. I checked the report... data transferred: 3,995,363,231 Bytes. Seemed reasonable enough, not like I was going to sit down and count them. Elapsed time... 126 Days, 14 Hours, 6 Minutes, 23 Seconds. Excuse me?

Unless certain companies have now started incorporating space-time continuum shifting algorithms into their backup software, there was something seriously wrong. I mean, I'm not even sure how this would even work - although I have a few working theories.

  1. My software is trying to impress me.
    "Oh man I was so pooped Mr Network Manager, I squeezed 126 Days work into just 72 hours. Am I good or what? Go on, gimme that RAM upgrade you keep giving the Penguins."
    Verdict - I know this OS well. Not possible.
  2. We are backing up data close to light speed.
    Owing to the well know time dilation effect, maybe it's possible that the backup job was running in a different frame of reference to the rest of the machine.
    Verdict - Not feasible.
  3. We travel back in time and archive the data before it's even been created.
    "Yes that's right ladies and gentlemen, the new Backup 5000 will archive your work before you've even done it."
    Verdict - Begs the question, do I even need to bother doing the work in the first place. Can't I just restore it from the backup on the day it's due?
  4. There is a bug.
    Someone has screwed up what should be a relatively simple task. Something so simple, it was achieved, according to the Guinness Book of Records, over 500 hundred years ago: A working clock.

I learnt to tell the time at a fairly early age. Not as early as some of those super boff infants, who can point to the big and little hand at the age of 3, but simple time concepts, for example elapsed time, weren't exactly rocket science. It begs the question: if some programmers can't even tell the time, can we really entrust them with the safety and security of our collection of nuclear missiles? It does, however, explain the Y2K problem quite nicely. I can see the conversation now:

Person A: "So what do you do for a living?"
Person B: "I'm a programmer, I make computers do things."
Person A: "So you must be good at maths then?"
Person B: "If there's a sum I can't do, I haven't met it yet."
Person A: "What's 1999 + 1?"
Person B: "There are numbers after 1999? Bugger!"

By contrast, my Linux server seems to be able to tell the time quite well. Perhaps it's the collaboration of hundreds of Open Source programmers, who all, like me, were taught that elapsed time needn't be a complicated concept involving time machines. In fact, my backup routine doesn't even inform me of the time taken to perform the process. It doesn't need to. I don't have to acknowledge that it's done its nightly job every morning with the click of an OK button. I stick the tape in, punch a few keys, whisper the words "Go Crazy", and off she goes. That's probably the main difference between the two. I trust my linux server to do its job. I trust the others to need assistance.

Wednesday came and I began to lose all faith and sanity. This one's a tricky one to explain... suffice it to say we have a database storing information and a framework to access it. This was all purchased from a company, along with client access licenses (another great money making idea for the corporate fat cats) at some huge cost. My bosses decided to purchase another module for this framework. What happened next made me angry beyond belief:

I began to Moo [1]. Talk about milking it. Was it just me or did no one else see the gleaming pound/dollar/yen/other (delete whichever is appropriate) sign in the suppliers eyes?

The homo-sapien pauses for a breath and some malt-loafy goodness.

I'm not completely naive. I know some things must be charged for - Open Source food, anyone? I just feel that £7,000 and a further £1,500 a year for support for a module, that's right, folks - a module! - is about as sensible as drinking a vat of hydrochloric acid. One leaves a hole in your pocket, the other leaves a hole in your stomach. Go figure. Take into account also that this is an educational establishment, and you have a recipe for what I would consider severe injustice. Perhaps some of these companies are starting to claim back their future programmers wages already. Couple that with the fact that a developers license costs a mere £20,000 and my brain was just about ready to spread its wings and leave.

I mused for a while about whether there was an Open Source alternative. Google confirmed my suspicions. The problem being, from my experience, people just don't trust open source. According to one particularly uninformed individual I once met, it's evil. I begged to differ, but shortly afterward wished I hadn't. People seem to be scared of Open Source. The fact that the code has been checked by hundreds, if not thousands of programmers, and is available for all to see, is apparently a bad thing. I fail to see why. True, it's not without its problems, but the availability of free, customisable code wins over extortionate, closed source binaries any day. My advice: if you haven't already, try it.

24 hours later and I had decided not to keep track of time again until the weekend. I sat down to debug a particularly nasty CPU hog present on a user's laptop. After trying to ascertain the problem for what seemed like a few millennia, a strange thing happened. I was on my knees. That's right, I was actually begging my machine to show me what was happening. I'd given it the three-fingered salute, and it had thrown back something equally abusive, but I found myself pleading with it to give me some indication of what it was actually doing. The normal RAM bribes did nothing, and I was fresh out of ideas.

I can understand that for a desktop system, usability and nice, pretty, fluffy GUI's are almost mandatory, but there should, somewhere at least, be a method of viewing what's actually going on inside. My mind cut to a day dream. I imagined two monkeys. The first was sitting in front of a monitor with his glasses on, intently reading white text on a black screen whizzing by. He occasionally tapped a key or two and made satisfied "oooh ooh" noises at what he saw. Did I mention he was wearing a Debian tee-shirt and was called Henry? The second monkey sat on top of his monitor. The screen was showing a signal test, the case was off the side of the computer and monkey number two - I decided to call him Monty - was yanking various cards, chips and drives out of his machine, inspecting each one and giving it a gentle lick before throwing them at Henry. Cut to the end of the daydream, just before the credits:

Monty never did solve his problem and was committed to an asylum for the technically insane.

Henry recompiled his kernel that afternoon and went on to run a successful clinic, caring for the technically insane.

At this point in time, I felt a lot like Monty. Tired, lonely, and insane. Would licking my machine help? I quickly shunned the idea and went to lunch, in search of tastier things.

Had I been working at my linux box, I could have gathered all the information I wanted. A quick "top" command and I would have been presented with a list of all processes running on the system, their priorities, CPU Usage, Memory Usage, execution time, and maybe even been asked the question, "Do you want fries with that?" The main point to take away from this experience is that Linux is helpful. I can go as shallow or as deep into a problem as I like. From "It's broken", the kind of response a user normally gives, to performing an "strace -p " command and actually viewing the execution calls as and when they are happening. Granted it may seem more complicated at first, but why be like Monty when you can be like Henry?

Friday. The last day of the week. Excuse me for stating the obvious but at this stage even the facts seemed to be going astray. Surely, today would be kinder to me.

It didn't start well. Whilst munching on my breakfast, I decided to try to pay my gas bill. Having had little trouble paying it on-line before, I sat down and loaded faithful Firefox. After remembering my stupidly long and arduous authentication credentials [2], I was presented with my balance. I clicked on "Pay" and a feeling of darkness swept over me. I had a premonition that something was about to go horribly wrong; a common feeling in IT. The page cleared itself as it usually does and I waited and waited and waited. I looked under the desk to see if the little gremlins inside the router were flashing their torches at me, they were. I squinted back at the screen searching for the little spinning "loading" logo in the top right corner [3]. To my shock and horror it wasn't spinning. I refreshed the page; Same result. The page had apparently finished loading. How useful, a blank form with which to pay my bill. Do I sound sarcastic? I emailed the company to complain about a distinct lack of functionality, which I must admit I found difficult to describe.

Please describe the nature of the problem: "Nothing (Nuh-fing): A blank screen where a payment form should be."

Upon arriving home I loaded my inbox. I'm not quite sure what I was expecting, but something useful surely.

Dear Sir blah blah
I'm sorry but we currently only support Browser A.  
I suggest you use this to pay your bills in future.
We are thinking of introducing cross compatibility but not at this stage.
 -- Company X

Well shut my mouth. No, seriously, before the abuse just falls out. 100 Million people use the same browser I do! I guess that puts us in the minority, fellow fire-foxians! Excuse the sarcasm. I was immediately aware that the wall, which had previously been vertical and inanimate had started to hurl itself over my head. It took a few seconds to register that it was in fact ME banging MY head against the proverbial wall. This must be some kind of new stupidity warning device. The whole cross-compatibility support issue really bugs me. Why does the rest of the world insist on their own proprietary formats, when Open Source developers have been sharing theirs for years? Many Open Source packages will even read proprietary formats and often write to them too. OpenOffice is a great example. Not only can I work with the .odt format; a nice small file type, but I can also load the more common .doc format, and write to it. Did I mention I can sing a little ditty while I do all this too?

Several paracetamol later, I went up to bed and slept. Oh, did I sleep. I'd earned it. In short, I guess by writing this article I'm hoping some curios non-Linuxian/non-Open Sourcian will read it and think... there's another way? Yes, that's right, kiddies - you don't have be like Monty the monkey, you can solve problems the easy way. The brick wall needn't be your friend. You don't need a large bank balance to make it in life. You can have your cake and eat it. Linux is #1. Oh sheesh, who am I kidding, one monkey can't change the world!


[1] Mooing in an office environment is not generally advised, you tend to get strange looks followed by strange nicknames like Buttercup and Daisy. However, when the person calling you these nicknames is built like a Challenger II tank, you just simply smile and accept your shiny new office nickname. Keeps them from breaking their computers, I guess. Bless.

[2] It always fascinates me the information that companies choose to use for jogging our memory.

Pet's name - Because obviously pets are immortal and never die.
Favorite Colour - Another no-brainer, ask 100 people what 'turquoise' is. A large sea mammal? Generally users will either pick, Red, Green, Yellow, Blue, Black or White. If you get a really intelligent end user, we might get something as adventurous as purple, or sky blue. Heck - while we're at it, why not just go crazy? Here are a list of my favorites:

Favorite brand of hair conditioner.
Favorite insult.
Weight of my spouse in grams.
Cups of coffee consumed from birth till 21/09/2003

Enough!!

[3] It's when you've had a week like this that your brain starts to devolve. Complicated computing terms such as "browser processing indicator" are replaced by "little spinning loading logo", "food" becomes your "life force" and your "computer" becomes your "time-wasting device."

 


[BIO]

Pete has been programming since the age of 10 on an old Atari 800 XE. Though he took an Acoustical Engineering degree from the world-renowned ISVR in Southampton UK, the call of programming brought him back and he has been working as a Web developer ever since. He uses both Linux and Windows platforms. He still lives in the UK, and is currently living happily with his wife.

Copyright © 2005, Pete Savage. Released under the Open Publication license unless otherwise noted in the body of the article. Linux Gazette is not produced, sponsored, or endorsed by its prior host, SSC, Inc.

Published in Issue 121 of Linux Gazette, December 2005

<-- prev | next -->
Tux