Examining Reality; Speaking the unspeakable – with the help of truth serum

Advertisements

On Giving up...

  • Just Don't: Trying is worth it

Subscribe!

Get new post updates immediately when they come out

Returning home from Malaysia

I’ve just returned from a trip to Malaysia. My maternal grandmother passed away last Monday evening, and so I went up north for my grandmother’s funeral.

I hadn’t seen her in 3 whole years, and then another 6 more years prior to that. I nearly broke down when I found out the news, because I have not had a proper chance to talk to her these two years. It’s the kind of regret you have when people you miss die suddenly while you’re away. You don’t have the chance to talk to them. You miss the experiences you’ve had with them. Most importantly, you miss out on the fantastic stories that person has to tell you.

The stories of hardship during the Japanese occupation of Malaya in 1942. The story about how she met my grandfather. The story on how they decided to live in Sungai Petani and give birth to my mom and my uncles. All the memories she didn’t tell me in person before she passed away: gone.

My mom, uncles and aunt can probably tell me these stories if I ask them, but it just isn’t the same as my grandmother telling me these stories herself.

If there’s anything I’ve learnt from this, it’s the fact that I need to communicate more often. Life is too unpredictable to be embarrassed about expressing myself. Who knows? Something might happen to me, and nobody would ever know the tons of stuff I’ve ever wanted to tell them about, but were too shy to say. I just wish that I’ve talked to my maternal grandmother more often than this.

May she rest in peace.

I’ve recorded the GPS coordinates of my grandmother’s grave, please email me if you would like to visit. It’s at Sungai Pasir, Kedah.

AWARE – the impact on democracy

I cannot say that I truly support what’s going on at AWARE: a hostile take-over of an activist organisation for the welfare of women would, by all rights be none of my business. I’m after all just a guy.

However, as a Singaporean, I’m extremely interested in the developments right now, because of its significance for democracy at work.

The new executive committee of AWARE was legally voted in by a majority at the last annual general meeting, yet there’s a general outcry of discontent by both the old EXCO, as well as many members of the public. Ordinary members of the organisation are saying that they disagree with the way the new committee secured power, and they are coming together to pass a vote of non-confidence in an Extra-Ordinary General Meeting on 2 May 2009.

You can find more information at a website built specially for this: www.we-are-aware.sg

Mr Wang says that the new committee gained power is similar to the PAP’s gerrymandering during elections time. I, like him, also believe that the new committee has come to the plate without a clear agenda, nor even with an indication that they hold the same ideals as AWARE has.

Already, there are certain rumours that the new committee has an anti-alternative lifestyle stance.

Taking over an established organisation in order to further your goals, especially if your own aims are in direct conflict with the organisation’s goals is not only socially reprehensible, but also irresponsible. Whereas they are legally elected in the eyes of the law, their actions have serious repercussions for the organisations themselves — internal strife arises when the opposing factions go to war with each other, and this in-fighting leaves the organisation with no clear direction, just like two horses tugging a cart in two directly opposite directions.

Now what does this do for democracy? I believe that the democratic process allows for the election of officials through a majority vote. However, the true test for all democracies come at times like what AWARE is facing currently: when power-grabbers whom do not have the mandate of the entire organisation manage to seize power. The litmus test is the recovery process. All members of the organisation may rise up and organise an extra-ordinary general meeting in order to pass motions of non-confidence on office holders whom are incompetent, or by a fluke manage to gain power just like in AWARE.

I’m not sure how the process at AWARE will go, but in the political arena, governments must either resign, or gain a new motion of confidence in order to continue holding office after a non-confidence vote has been passed by parliaments. This demonstrates one of the series of checks and balances a healthy democracy has to remove governments that are incompetent, immorally elected, or have ideals inconsistent with the country’s ideals.

The government gains a mandate to govern from its constituents. The mandate can just as easily be revoked by the citizens. This is true people power.

Moralist jerks

Joshua Allan Feng happens to be one father who believes that establishments in Singapore have to ban overnight parties because he’s afraid that the teenage daughter would stay out too late if they were allowed.

What happened to talking to your child about your concerns?

I’m assuming that Joshua has trouble taking his daughter in hand, which is the reason why he feels the need for external intervention — to the extent that other teenagers can’t stay out late and enjoy themselves.

Wake up to the real world, Joshua. The world doesn’t revolve around you. If you do not want your daughter to stay out late, tell her that. I, for one don’t go to pubs and clubs, because I got kind of creeped out once by people dancing to mirrors in front of them in the semi-darkness, but I do not go around writing letters to newspapers whining about the potential moral decadence caused by people shaking their butts to some reflective glass under gaudy disco lighting.

Similarly, you do not go out and seek a general ban on teenager night-life just because you feel that it is the right thing to do. It follows the same vein of “a man’s meat is another man’s poison”. What works for you doesn’t necessarily mean that it would work for another person. That’s the reason why in this society we have choice.

Let me draw a parallel to Joshua’s behaviour with a classic of modern war history: Hitler didn’t like the Jews, so he ordered the massacre of Jews in the 1940s. Joshua wanted his teenager to stay at home at midnight, so he wants the government to kill off overnight partying for teenagers.

What else can I say? That even this absurd letter can be published in the Straits Times is telling of the newspaper’s quality, as well as the quality of critical thinking among self-righteous jerks out there.

ONE of the best things about living in Singapore is the knowledge that it is a very safe city. Low crime rates have led to us developing a casual take on certain matters. However, as the adage goes: ‘Low crime does not mean no crime’. I sometimes wonder if Singaporeans are basking in a false sense of security, taking their personal and property safety for granted.

What is particularly alarming is the fact that nightspots like Zouk and Play in Tanjong Pagar are organising non-alcoholic parties for teenagers under the legal drinking age of 18. These establishments point to the fact that they are not breaking any laws because they do not serve alcohol at these parties.

However, as a father of a 16-year-old girl, I find it irresponsible for such establishments to encourage teenagers who are yet of a responsible and mature age to engage in a ‘late-night’ lifestyle. These parties may not serve alcohol, but they carry on well into the early morning. My daughter recently attended a party on March 15 that lasted until 4am.

Singapore’s streets are relatively safe, compared to those in other countries. However, as a parent, I cannot help but worry when my teenage daughter is out roaming the streets after a party.

I understand the establishments want to cultivate new business and are not seen to be breaking the law as long as they ensure that no alcohol is served.

However, responsible businesses need to run on a moral obligation to society as well, especially when youth and children are concerned.

I am all for my daughter having a social life. But I want her to be safe, and one of the best ways to be sure of that is for her to come back at a reasonable hour. Parties like the one she went to should end no later than midnight.

Perhaps establishments like Zouk, and even government bodies such as the Ministry of Community Development, Youth and Sports, should look into developing guidelines regulating the conduct of these parties with youth participation. Parents, businesses and the Government should work hand in hand to cultivate healthy and responsible lifestyle habits among youth.

Joshua Allan Feng

Attempting to blog after a sleep-over

It takes me 3 seconds to think up the appropriate word to say in a conversation, and my calf muscles spasmed and stretched like a cramped piece of ham meat. I struggled to get out of the massage chair that I’d been sleeping on, and hopped about in silent pain.

I wasn’t drunk. I barely slept last night.

Sleep-overs aren’t my kind of thing. Everybody knows that I’d sooner fall asleep at 3am sharp rather than stay up for overnight movie marathons. It’s those eye-lids. They feel like lead shutters threatening to slam shut.

Today, I slept over at a friend’s house to do some serious discussion on our project. If at first you thought that school IT projects are terrible on the mind, attempting to write your own project specifications is a recipe for headaches. It makes me wish that somebody would swoop down (preferably some System Development Analyst) and define all our project classes nicely for us.

The trouble isn’t with basic program structures — those are simple enough; but when there isn’t an established data organisational paradigm for an industry which has largely stayed outside the grasp of IT systems, proposing a good one entails lots of eye-power and chocolate-imbibing.

Of course, we can immediately jump in and start coding immediately, but that’s going down the path which might lead eventually to re-factor hell. Changing codes and database structures mid-way through the project is definitely no fun at all. Just thinking about the lost hours of my precious sleep during the coding period is enough motivation for me.

I wish that I can write more, but I realised that I’m probably not making much sense in my current state. And at the same time, our project is strictly hush-hush until after our client has given us the go-ahead to paint the town blue (Red’s too glaring). You see? I’m already not making sense… or am I. Some people are more lucid when they’re tired, and this may be the case in my situation. But I’m going to go ahead and just publish this post immediately. Because, what’s the use of having a blog if you’re not willing to take risks?

[April Fools] SgBlogging to feature mature content

Update: Yeah, it’s fake.

Well, that’s come to that.

The economy is in the doldrums, and the new server doesn’t pay for itself, you know? Therefore, in order to help pay for the server costs, with effect from today, all SgBlogging blogs will carry a 128 x 50 banner advertisement on their main page.

For a start, a prominent mature content website has bought up one month’s worth of advertising on all SgBlogging blogs. More information will be emailed to you once it is available.

Shifting to Linode

I stuck this blog, alongside with a few other blogs on SgBlogging, on Slicehost one year ago. As a virtual private server (VPS), it’s supposed to be a fast service. It still is now, but I’ve been facing problems getting sites to stay stable on the VPS that we were on.

Apparently, the Apache server software was choking on the file serving part. That’s through no fault of its own, because I installed the entire kitchen sink into the program so that it could serve PHP pages natively, using the mod_php plugin. However, doing so caused each worker process for Apache to be quite plump, which by itself wasn’t a problem. Until you place the whole set-up onto a VPS with only 256 MB RAM.

To make matters worse, the operating system software running on the VPS is a natively 64-bit architectured beast, which fattens up all the processes running on the server a little bit more. It came to a point that the Apache settings had to be severely throttled to curb the number of processes it spawns, which in turn limited the number of pages it could serve at any one point.

Now, if the whole setup were to be serving just this blog (which by itself is quite light on the processor), I wouldn’t have any problem. The problem came because one of the blogs I’m hosting on the same server was littered with PHP includes and required lots of processing power. Approximately 9 times more, to be exact. All those plugins for Wordpress don’t automagically process themselves, you know? So it ended up that the web pages for that blog took a heck of a long time to load, which in turn uses up the available processing power, and deprives the other blogs of their chance to be served.

So I thought, why not try out a lighter server software, to reduce the load on the server? If it was still possible, I could also jump onto a 32-bit architecture for the server itself, so that I can use less RAM! A few months of intense research led me to this serving engine called “nginx”. It consumed barely any RAM in memory, and yet can dish out lots of pages every second. Because it was devoid of the kitchen sink (which for the most part I do not use anyway), it was so lithe and nimble.

However, that meant I wouldn’t be able to run PHP on nginx like I could on Apache. And I needed PHP in order for the server to be able to host Wordpress pages! It’s the classic case of having your cake but not being able to eat it. Fortunately for me, the adventurous nature of the open-source community meant that there were many people whom were in the same dilemma before I did. Which in turn meant that somebody must have already solved the problem.

And my deduction wasn’t wrong. A Google search turned up solutions varying from proxying data from nginx to Apache, to using FastCGI to run the PHP parser. Of course, since I was researching the whole thing in order to avoid Apache in the first place, there’s no prize for guessing what set-up I eventually went with!

Long story short, I purchased a VPS from Linode, and experimented with setting up my own server configuration. It was tough going for me, but thoroughly rewarding. I succeeded on my second try, which is why you’re seeing this post right now.

So why is it so much faster now? First, I made sure that all the blogs on the server had the maximum amount of caching turned on. Especially the bulky Wordpress blog that started it all :) . Next, I made sure that the server we’ve got is located closer to Singapore, since most of the dudes reading the blogs are mostly from Singapore. That meant getting a server in the west coast of the United States. It was in itself a significant improvement over Slicehost, which was situated in St Louis. This reduced the lag from the server to users from Asia.

Another improvement was the usage of a central pool of FastCGI instances to serve the blogs. It’s less secure in that a particular user could write a malicious script to read the contents of another user, but since I know each of the people hosted on this server personally, witch-hunting isn’t exactly hard… if it ever came to that. Doing so has improved the efficiency of the whole set-up.

In the end, I finished my configuration with 200 MB of free RAM left over. It just stood around, with absolutely nothing to do. Linux used that for caches and buffers, essentially making good use for it; but after a day of stress-testing the whole set-up, and finding that it was rock solid, I went ahead… and installed Apache.

Yeah, the kitchen sink. But surprisingly, because Apache is not meant for regular Wordpress parsing, it had less baggage, and the result was that I still had 200 MB of free RAM. I configured Apache as a back-end server, with nginx waiting the tables up in front. This instance of Apache is only concerned with dealing with the SVN service (yeah, nginx couldn’t do it; but that’s the reason why it’s so fast, right?), so I cut the Apache’s settings to the bare minimum.

End result: 200 MB RAM free, a server load of approximately 0.1, and happy blog owners on SgBlogging. Kudos to Linode!