Monday, June 30, 2008

The Problem with Online Shaming

Quite some time ago, I wrote a post on online shaming, where photographs of people behaving uncivilly in public were posted online. I then wrote that online shaming was a flawed tool, and could be symptomatic of an immature society.

After thinking about the issue intermittently for about a year and a half, I believe I am able to elaborate further on my ideas.

My basic assumption was that the photographers of such pictures, aside from taking photographs of uncivil acts and the corresponding culprits, had not done anything to stop the uncivil acts. If this assumption were true, I would believe that the photographers are in no moral position to shame the culprits behind the uncivil acts.

If one indeed feels that a certain behavior is unjustifiable, it is one's duty to stop the behavior. Conversely, if one does not stop a certain behavior, one is either being inconsistent (by not acting in line with his beliefs), or one does indeed believe that an act is justifiable. In the latter case, there is clearly no moral position to post the photographs, since nothing wrong was committed. In the former case, one would be a form of hypocrite if he were to post the photographs, for by not acting to stop the uncivil behavior, he could be said to be knowingly condoning the same uncivil behavior. Hence, in both cases, one cannot post the photographs without also posting his own photograph for abetting the uncivil act.

To a lesser degree, I also feel that even if the photographer was to participate in stopping the uncivil offender, online shaming is still undesirable. As I mentioned previously, such an act is more retributive than restitutive. It also feels a bit sensationalist, although technically this is not a logical argument but an emotive one.

One final consideration I would like to raise is of 'Asian Mind-your-own-business-ism', or non-confrontationalism. While I can certainly appreciate not having anyone poking their nose into my business, it should be noted that selfish and uncivil people should not benefit from this. Perhaps we should all grow some balls and stop the bad behavior on-site, rather than online.

Monday, June 16, 2008

The Road Not Taken

Any system which promotes only one mode of advancement, is a system in which people are either successes or failures.

Any person who believes that there is only one mode of advancement, is submitting to such a duality, and is walking on a tightrope.

I ask, why ? Why should we all trod on the same path, to be judged by the same criteria ?

A flawed understanding of evolution is that it is the survival of the fittest, whereas it is not. While it is indeed true that climbing upwards enables survival, moving sideways, and seeking new niches, is also an equally valid alternative.

Admittedly, taking the path less travelled is difficult. But I am convinced that it is a better path.


Two roads diverged in a yellow wood,
And sorry I could not travel both
And be one traveler, long I stood
And looked down one as far as I could
To where it bent in the undergrowth;

Then took the other, as just as fair,
And having perhaps the better claim,
Because it was grassy and wanted wear;
Though as for that the passing there
Had worn them really about the same,

And both that morning equally lay
In leaves no step had trodden black.
Oh, I kept the first for another day!
Yet knowing how way leads on to way,
I doubted if I should ever come back.

I shall be telling this with a sigh
Somewhere ages and ages hence:
Two roads diverged in a wood, and I—
I took the one less traveled by,
And that has made all the difference.
Robert Frost, The Road Not Taken

Saturday, June 07, 2008

NUS Matriculation Number Checkdigit

Out of interest (or perhaps, boredom), I decided to reverse-engineer the scheme by which the checkdigit of the NUS matriculation number is generated. After spending a couple of hours intensely studying some matriculation numbers, I finally reversed the scheme.

For the benefit of those who have less knowledge, a checkdigit is (usually) a number or letter appended to a longer number. Like a checksum, the checkdigit allows people who know the algorithm to very quickly discover whether the number is valid (since a randomly generated checkdigit is more likely to be wrong than correct).

In the case of the NUS matriculation number, the checkdigit is the final letter of the matriculation number, for example W in the case of the number u012345W.

Armed with some knowledge of hashing (since most checkdigits are calcuated by basic hash functions), expertise with modulus mathematics, and finally a list of matriculation numbers and their checkdigits, I was able to uncover the scheme, which follows.

Assume the numerical digits of the matriculation number are 0,C1,C2,C3,C4,C5. From this, calculate the checksum value by the formula:
((C1,C2,C3,C4,C5)*(12,10,12,11,6))+12) % 13
where % is the modulus operator. Compare the checksum with the following table:

BAEHJLMNRUWXY
0123456789101112

The above algorithm should be accurate for all matriculation numbers beginning with "u0". Due to a lack of matriculation numbers beginning with other headers, I was unable to determine the offset for those numbers.

The methods for determining the NUS matriculation number checkdigit algorithm can be applied to find, among other things, the checkdigits of any NRIC number. By the way, that problem has already been solved (just wiki NRIC).

*P.S.* I have since updated the scheme to account for new matriculation numbers prefixed with A**.