Friday, January 30, 2009

Why Software Usability is Important

Software is meant to be usable to all people, and not just for people who knows their operating environment intimately. Good, usable software prompts for rapid adoption, which means writing good usable software is inherently good business.

This is especially inherent in the geeky *nix world, where software usability is something that is more overlooked than not. Let's cite the simple example of checking for software authenticity such as in Linux where there is a command line tool called 'md5sum' that allows you perform authentication of your files using a well known algorithm called md5 checksum. Funnily, its usability may strike general users as surprising, or simply unintuitive.

Assuming that you have downloaded an archive as well as it's md5 checksum to verify it's authenticity:

-rw-r--r-- 10596439 2008-12-07 14:22 example-archive.tar.gz
-rw-r--r-- 57 2009-01-29 12:20 example-archive.tar.gz.md5


If you pass md5 sum on the command line with the example archive, you'll get something like this:

% md5sum example-archive.tar.gz
1d0f7455e5dd5e79f0b678f558552b54 example-archive.tar.gz


The tedious way to visually inspect the file is obviously to compare it with 'example-archive.tar.gz.md5', or maybe to use 'diff' to perform a comparison.

But reading through the 'man' pages, it indicates that you're able to check the file downloaded with the MD5 using the --check | -c parameter, but doesn't give a usage case.

Given the ambiguity, you might have tried:

% md5sum -c example-archive.tar.gz
md5sum: example-archive.tar.gz: no properly formatted MD5 checksum lines found


Maybe I was just plain dumb in my understanding, but obviously if I passed the same file with the .md5 extension, it will have indicated success:

% md5sum -c example-archive.tar.gz.md5
example-archive.tar.gz: OK


The main confusion stems from the fact that the 'man' page did not indicate what kind of a file that I have to pass using the -c argument, but worse, did not indicate that it's a different file that I have to pass in order to get it to work! (Read the man page yourself)

The simple fix in this case will be for the software to look for a file with an .md5 extension, where the program verifies the result automatically.

Even so, I think the ideal case will have to be that the checking/verification should really be transparent to the user without having to know it exists at all.

All these improvements does simply imply more work for the programmer, in which is why software development is often a laborious, thankless job.

Whenever you do it right, the user will never know; do it wrong, and you'll have tons of angry users directing their wrath at you. ;)
Thursday, January 29, 2009

Ways of Solving the Slow Gem Install Problem

I've written previously on how slow gem install was, which has been causing me much annoyance. But the tradeoff of having ease of installation for all the useful libraries that Ruby offers is just too hard to not fall back to using Ruby Gems again.

There are a few ways of solving the issue, which depends on which version of Rubygems you are using. Find this out by issuing the following command:


% gem -v

If you are using gem version < 1.2.0

The best way of solving this problem in this case is to install the gem directly from source, thereby bypassing the database load problem, e.g. getting stuck at this message for a long, long time:


% gem install curb
Bulk updating Gem source index for: http://gems.rubyforge.org/

For example, I wanted to install Ruby's version of libCurl called 'curb', to which the way in installing it while avoiding the database load by downloading the gem and installing it locally:


% wget http://rubyforge.org/frs/download.php/23825/curb-0.1.4.gem
% gem install --local curb-0.1.4.gem
Building native extensions. This could take a while...
Successfully installed curb-0.1.4
1 gem installed
Installing ri documentation for curb-0.1.4...
Installing RDoc documentation for curb-0.1.4...

That should take you less than 30 seconds, as opposed to 30 minutes if you waited for the silly gem database to load.

Use gem version = 1.2.0

The other way of solving this problem, is to use gem version 1.2.0. It has taken away the unnecessary function for the database to load, and goes straight into the task of installing the gem. To upgrade your ruby gem to the latest version, download it locally and give it an upgrade:


% wget http://rubyforge.org/frs/download.php/38844/rubygems-update-1.2.0.gem
% gem install rubygems-update-1.2.0.gem
Successfully installed rubygems-update-1.2.0
1 gem installed
% update_rubygems

[.. tons of install messages ..]

= Announce: RubyGems Release 1.2.0

Release 1.2.0 adds new features and fixes some bugs.

New features:

* RubyGems no longer performs bulk updates and instead only fetches the gemspec
files it needs. Alternate sources will need to upgrade to RubyGems 1.2 to
allow RubyGems to take advantage of the new metadata updater. If a pre 1.2
remote source is in the sources list, RubyGems will revert to the bulk update
code for compatibility.

[.. more install messages ..]

Yay! From their release notes, the problem has been addressed, but it's only a fix according to the authors.

Not by a sliver of chance am I convinced that they are able to reconcile the problem with their bulk update system, so I will stay with 1.2.0 for a long, long time, thank you very much!
Monday, January 26, 2009

Bad Start to the Week

You know you have a bad start to the week when your freshly shipped computer from the US gets fried because the power supply unit is set to '110V'.


The single 'pop' sound and the fresh smell of a fried PSU has just ruined my day. :(


Does anybody know where do I get a power supply unit with a funny looking connector like this?
Saturday, January 10, 2009

Why You Should Not Marry

First of all, a big Happy New Year to all my readers! I'm glad at least a few cats and dogs (I think I'm meaning to say good friends, but I got confused) are still sticking around and indulging in the agony of reading my puerile, whimsical pieces, but as always, I aim to please.

I think it's apt to start off the year by having a bit of fun and casting off the dark shadows of 2008, by starting with a serious topic like marriage. It is fact that exactly 3.1415965% of my readers are extremely smart, intelligent, handsome and groovy people, which means there is a large number of really thick people out there, so let me save you the trouble from getting pissing mad at me by stating upfront that this is a satirical piece.

It is also rather apt that today is the wedding day of the girl that I had once devoted to two years of my life pursuing, so I'll dedicate this piece to you, I*****, and wish both you and your husband-to-be a happy blissful marriage. Oh, did I forget to mention that I appreciate you for not sending your wedding invites to me, then sending me a really nice email letting me know of your wedding one day before, asking me if I've received your invitation? You must be dying to want me to be at your wedding ceremony, but I haven't received it. Pity that.

Anyhow, let's begin by dissecting little pieces and dismantling the institution of marriage and challenge the myth that marriage is, or should be the 'ultimate goal' coveted by all. Subsequently I shall explain why I believe it to be wrong, immoral, and should be made illegal.

Negatively Stereotyping the Unmarried
When it comes to irritating me, mums certainly know best. Other mums that is. While my mum isn't perfect, we are in perfect understanding not to even harp about the idea of getting married - she knows better. Unfortunately, I do not seem to have that same luxury afforded to me by other mothers. There always seems to be this impetus for married women over a certain age to be nosing into the affairs young men who are of the marrying age. And this habit is not just limited to people I know, even the aunties at the Deli where I get lunch feel it is in their responsibility to take me to task. I don't understand it; is it that they are so consumed in the misery of being bound to their own marriages, that they are so keen on getting me sucked in as well? I shall assume it to be so, and while I'm at it, 'Ha ha!'
That is societal peer pressure in action at its best. Given me, a young, attractive[1], virile man and unmarried, it is a heresy! Society lays down the rules that all productive men and women should ultimately seek the goals of marital bliss.

The same society does not take kindly to the unmarried, the divorced, the widowed, or any other permutations or forms it may present itself. For all other than the married, we are viewed as a liability. Well, thanks for nothing, society! They argue that singles do not do their fair share; in mature economies like Australia and Singapore, childbirth is deemed to patriotic and a form of national service to replenish the dwindling birthrate. Singles are just selfish individuals that take more from society, consume more on frivolous pursuits and give nothing in return. To that effect, they slap us with higher taxes as our penalty. They almost make it sound like we a bunch of slippery conniving snakes, that we will slip out of the diner without paying the bills at every single opportunity.

But no, we pay our dues like another other in society, so why should we bear the burden of such unfair perceptions? If we are such misfits who need to be burned at the stake, should the same apply to those have to suffer the misfortune to be widowed, or when one becomes elderly, infirmed or even the infants, given that they have either yet to contribute to society at all?

Discrimination, in this case for singles, is a whole load of bollocks.

Marriage is an act of (no) faith.
I'm had once or twice when out dining with friends see elderly couples at adjacent tables celebrating their 10th or 20th anniversary, a feat most impressive, albeit bittersweet. It would have been much more impressive if they were celebrating their union of years together without been married.

While such a union is laudable, the idea of the marriage certificate is hypocritical. It is nothing but a mere binding contract that one uses as a recourse. Ironic, given everybody mistakes this contract as a testament of their union. Such is the unglamourous fact that this piece of paper is merely serving as an insurance, a hedge against the event should their marriage end in a breakdown, it will serve as the basis of a settlement. Think about it: if everybody had been so cocksure about the certainty of their togetherness, the idea of marriage is rather passé.

Most people see marriage and singledom as a dichotomy, and often segregating the two as the 'haves' and the 'have nots'. I beg to differ. There is no proof that indicates that coupling without marriage will be any better or worse, and neither does bachelorhood prove to be in the detriment of the individual. The glamourisation of marriage is not unlike the industry of beauty; a small circle of people dictates and propagates the idea to the masses, until it sticks in your head, becoming the dominant meme. And why not? A whole shitload of industries are created in addressing your vanity, like a whole shitload of labour is created from your 10 minutes of ecstasy!

Anyhoo, to all the remaining detractors and fervent supporters of marriage, let me spin it around another way - marriage is just for couples who are weak in their commitments, only seeking to satisfy their own psychological insecurity. I'm sure that hurts! I'm not attesting it as fact, only using it a case why you shouldn't pass summary judgment just because some people don't share your views. Take it as a taste of your own medicine, and learn to leave others be.

The Unrealistic Ideals of Marriage
An article of faith among the men with whom I discussed these issues (and an idea ignored, if not contested, by most of the women I know) was that the hunger for sexual variety was a basic and natural and more or less irresistible impulse. “I haven’t ever seen anyone who doesn’t deliver on every single demand their sexuality makes on them. We make the mistake of thinking some people have a stronger will, they don’t,” says a forward-thinking friend. “There is no more unnatural principle of social organization than sexual exclusivity.

- The Affairs of Men, Philip Weiss
The quote was taken off from an article in the New York magazine, which stirred quite a bit of controversy and condescension. I was quite amused when Philip Weiss got invited to Stephen Colbert's show and got publicly lampooned when Colbert called him a prick or an asshole. I can't remember which was which anymore, as I was already choking with laughter, not to mention that the word got *bleeped* off from TV.

As funny I recalled the segment was, the idea of strict monogamy is one of the key reasons why I think that the institution of marriage is flawed. 'Strict' in every meaning of the word, of not getting bored of sex with the same person, of not have a roving eye, or not having even a hint of desire towards any other woman or man besides your partner.

Fidelity which is more expected of the woman, and to a lesser degree the men, is shaped from the disparity of the differences in sexual urges generalised by gender. Surely such disparity in expectations would not have materialised should reality not be so. Hence there is reason to believe that the tendency to stray varies across individuals, but not necessarily on the gender line. But it is the variances that is important and what we should focus on.

The concept of marriage hence, shoehorns a idealistic, but possibly unattainable common ideal that both genders attempt to adhere. The closer truth may be that the sanctimony of monogamy is only attainable by some, but not others. Certainly unreasonable is the idea that if a man loves you, he shall not have any attraction to any other woman, and ditto for the woman.

A simple thought exercise would have proved my previous point: if I'm attracted to Angelina Jolie (I'm not Brad, you can heave a big sigh of relief!), does it suddenly render all other gorgeous women unattractive?

Most women allow these minor transgressions that men harbour towards other women, these harmless little fantasies that they have, but no doubt if they were acting out these fantasies, it will invariably lead to a breakup. But transgressions are transgressions, and infidelity is infidelity, physical or not, something I've learnt from one woman. (I think she's a little psychotic, but surely that has no relevance in this discussion!) Yet, I know of plenty who are willing to assent and forgive these transgressions, and still maintain the same lofty ideals in their minds! It is beyond my amazement to sometimes know of people who cannot see the dissonance between what they say to what they do!

If marriages warrant this strict adherence to faithfulness, than I can so say with absolutely certainly that all marriages are a farce. Then why seek to enforce the unenforceable?

Marriage as an Established Belief

Just because it's established belief doesn't mean it's right. I am sure Galileo would have agreed with me.

Even though society has imposed certain notions on the idea of marriage, it is beyond by the ideas conveyed by the words on the certificate itself, but extended through commonly held beliefs. For example in Singapore, even if you are legally married, the marriage can be annulled if the couple have not gone through the traditional wedding ceremony (at least for the Chinese as I know), as they are not considered officially married until their parents officially acknowledge that to be the case. Even when you are issued with a legal piece of marriage certificate, the cancellation is straightforward. No periods of separation necessary and it's just as if you've not been married before.

Marriage as a tradition is a concept that should be abolished. I'm not saying that the benefits of civil partnership rights should be abolished, but just to untangle it with the unfortunate mess we've created by linking it with this ugly concept called 'marriage'. As romanticised as it may be, that even gay couples covet it, it is nothing but a pretty guise under an ugly beneath of unenforceable obligations pushed on you, not the glorified trophy that many people seem to have associated it with.

Furthermore, marriages should not be tied to religious values at all, and more so not to just one single religion alone, like the Judeo-Christian traditions, which I believe should remain in vogue throughout my lifetime. Should the world de-evolve back into ancient monotheist Europe, not only gay marriages will be outlawed, single parent families and marriages without kids may also risk be outlawed. It just comes back to the same stench of discriminating against other groups in favouring just one.

There is no such thing as a conventional idea to a marriage. Deal with it.

The need for Marriage as a Requisite for Childbirth
It is ever the misconception that you need to get married in order to have children. How did that even come about? Having children is the process of our biology, certainly is not a process of the law! The desire to have children stems outside of the realm of any legal framework. The law is just there to codify it, and not the other way round. If one were to legislate a ban for it, no doubt it will be flouted freely much as how it did during The Prohibition. I don't think we've learnt that it's very much futile to fight against human nature.

Seriously, don't codify the obvious. I hope Nike don't sue me for trademark infringement, but "Just Do It" (if you want to)!

With marriage legislating for procreative sex, it often spells the death for non-procreative sex, either in form or substance (Just ask Raymond). It is not established that humans can always be monogamous creatures, and certainly there are plenty of examples around that points otherwise. For society to strongly advocating marriage to their ideals will cause friction - while many will conform to norms, and control their urges to stray, others cannot (or will not!), leading to sexless marriages, or straying behaviour. If it had to be any other way, divorce lawyers will have gone out of business a long time ago! I think what we need to aim for, is not for the ideal of marriage, but rather that a pluralism of options.

The Intention for Marriage is Good, Just Flawed
Many, and I mean many, are oblivious to the fact that a marriage certificate, is nothing more than just a piece of legal document - a contract with certain obligations that you need to uphold, like the responsibility of having children if you so choose. This is one part that I'm happy to see regulation, even though child-rearing is legislated as an innate human behaviour like monogamy is, it is not my firm belief that I'll even come close on stamping an absolute guarantee upon.

I like the civil aspect of a marriage, but it is just that I want to see it as like any other contract - one that can be drafted by individuals who are willing to enter into it, rather than this ugly one size fits all template that doesn't. I sometimes watch with interest with how the Californian gays are fighting for the same symbolic standing of marriages. I actually thought how gay couples are getting the better deal and actually fighting for something worse! Maybe the it is that the grass is greener on the other side, and they are just green with envy, pardon the pun. To push for the same symbolic standing of marriage that a man and a woman enjoy, is nothing much, really.

There is no tangible value in symbolism - you do not derive any benefit out of it that a civil partnership doesn't cover, but only to have the marriage in name. It riles the religious fanatics of course, given that the idea of marriage followed as a culture in the western world is strictly dictated by the Church, and the Church only.

It's no wonder that the Christians are angry - you might as well get them to rewrite the entire Bible - instead of Adam and Eve, we'll have it as Adam and Ben instead! (Or Ben and Jerry's, mmmmh!) Rather than trying to get the approval from the existing establishment, the homosexuals should start their own religion instead. Let's just call it "Protestant 2.0". Give it a dozen of centuries and you'll have everybody take lapping it up like gospel! Sometimes, it doesn't even have to take long - just look at the Church of Scientology if you know what I mean. Listen queers, if you do take up the idea, know that you've heard it here first from me - and I think Carson Kressley from the 'Queer Eye' will make a great preacher!

If I may pull this argument by the beard a little bit longer, what happens when we start contemplating our relationships with robots? I read that Robert Downey Jr was supposedly caught doing it with a robot in 'Iron Man', which must have been rather funny have I watched the show. And what about aliens? In any shape or form, I'm all in favour of a civil partnership - male, female, transsexual, asexual, carbon, silicon or whatever it's based, as long as all parties involved are consenting.

What the Rich Abhors, The Poor Covets

I don't see why is there is so much keenness on both side of the poor divide to have this argument on marriage: one to retain status quo, the other to alter it. Many of the richest, in some ways wisest(?) people, actively tries to avoid the pitfalls of entering into marriage, but sees it only as a necessary step in gaining social legitimacy. But in defense of it, they utilise a legal construct called a prenuptial agreement, which is a unique American invention. Tycoons, like Donald Trump, meanders through the marriage deathtrap by enacting such prenuptial agreements. (While I'm not an expert, the subject of a prenup has always been a fascination, kindled by a law lecturer I knew who was a real shady, much like like Alan Shore.)

It is just too bad it breaches the dictum of 'going against the spirit of law' in most common law countries, meaning that a prenuptial agreement gets thrown out of the window altogether when challenged in courts - it almost makes sense to be an American should I ever become a gazillionaire!

But at least if you are in Singapore, unlike most English common law countries, there is no legislation for de-facto domestic partnership rights, which does balance things out. You certainly can get all the thrills without the frills in a cohabitation arrangement, but it certainly does mean that your live-in girlfriend can really get pesky with you once she starts hitting the big Three-O!

Abolishing Marriage
I believe that ultimately we should re-institute marriage into a civil partnership. The current laws that confer benefits for a man and woman in marriage, like tax breaks, joint income taxation reliefs, co-shared health insurance benefits, or other various schemes, should be conferred to everybody who wants to be in it. Additional rights, such as having children (not just of your biological own, but even adopted) should be implicit, or made explicit, after justified in means to do so, and maybe after a period of education of the responsibility of having a child.

-----

I've said enough about dissuading you from marrying, do think and ponder about what I've wrote. Don't take it for the truth, but please, be welcomed to! Especially if you happen to be a girl whom I dig, and is planning to marry someone else! :)

In all likelihood of all my musings, maybe one day, I will become the victim of my own ridicule, and be like Charles Darwin, who had once drafted up a list of cons that outweighed the pros when considering marriage, but 'what the hell', he still went for it anyway. But at least for now, it explains why I'm smart, charming, and still single!

But if people really want to, where 'want' (a sneaky word) is as opposed to 'need', I don't see why we shouldn't let them marry anyway. Like how Peter Griffin so succinctly puts it: 'I say we should let them get married and be miserable like the rest of us!'

If you've made it that far after reading all the crapolata, and felt that my points are poignant enough for you to at least do a double take, I shall reward you before I part with what I think is the true essence of partnership. Married or not, you should love your partner as who he or she is - marriage is just the icing on the cake. With or without it, the taste of companionship is just as good (or bad!)

Marry Happy!


[1] Ok, I'll only concede is I'm not that young anymore. Happy?