Category Archives: General


Something’s wrong with my blog and I’m trying to debug it with my hosting company. I’ve lost the latest 5 blog posts, but I have backups. I’ll only restore them when I’m sure the system is properly setup, though! Apologies again if you come from a link and find it missing – I’ll repost the updated links to where I posted them before.

My Social Attitude


Political Values




These scores indicate that you are a progressive; this is the political profile one might associate with a university professor. It appears that you are skeptical towards religion, and have a pragmatic attitude towards humanity in general.

Your attitudes towards economics appear socialist, and combined with your social attitudes this creates the picture of someone who would generally be described as left-wing.

To round out the picture you appear to be, political preference aside, a pragmatist with many strong opinions.

This concludes our analysis; we hope you found your results accurate, useful, and interesting.

Unlike many other political tests found on the Internet which base themselves on untested (and usually ideologically motivated) ideas, this inventory is adapted from Hans Eysenck’s own political inventory which was developed after extensive empirical investigations in the 20th Century.

Introducing Glaring Notebook: Pressed For Words

7 years, 8 months and 18 days after, I finally change my blog skin again, this time not at all even to a new blog skin but to a new blog system!

I coded my previous blog engine from scratch, and used the ideas as a base to build the blogs – having cool widget-insertion features like <BlogFriends /> and <BlogCalendar /> for your skins, and Xanga-style following, and Livejournal-inspired history navigation. Or at least that’s how I remember it. Many famous Malaysian bloggers started on URLs like – wouldn’t you like to know who? is now defunct, but the true stories are beyond my earshot.

Anyway, what brought about this change, to WordPress? Well, my blog was no longer accessible, with a HTTP 500 (and previously I’d find the hosting company to be not very helpful – but then I understand well why a HTTP 500’s detailed error isn’t shown publicly.) So I downloaded the MDB (Microsoft Access file) and used MDB Viewer Plus to export the tables to CSV files.

My blog entries and titles had commas, so you could tell there would be a problem splitting the text. Fortunately, as I am a Grammar Nazi, I tend to type spaces after commas, so I could replace the “, ” with intermediate text e.g. “@@@@@” and then split the CSV file, then replacing it back.

The decision for WordPress was simple – the most plugins and the most ubiquitous blog system. I needed to get the fuss out and had no time for the kind of Content Management Systems where you’d have to build parts yourself. I had no time to code myself. Heck, my blog was down for a week and nobody cared to ask.

So then there were a few ways to get the CSV in – an outdated plugin, or convert the CSV to RSS, and then import. However, I found the most native would be WordPress’ own Import and Export functions. It would export a WXR (WordPress eXtended RSS) file with an XML extension, including blog entries, comments, authors, categories and the like.

I then made a simple Android app (I tend to write utilities in my mostly-used language, whichever is convenient) to read the blog entry and blog comment CSVs and write them out as a WXR file. I should’ve validated the XML earlier and saved many hours trying to figure out what was wrong when it would not import my custom WXR file!

And so, you’ll see my blog posts and comments mostly carried over, intact, with redirects for /default.asp?id=### going to /?p=###. The older blog entries reference /oldlinks.asp but heck with that, and there are some mislinks, but I’ll see what I can sort out when I have the time. I pulled an all-nighter and only finished importing at 2pm so I won’t be working on this for a while.

I also ported the old subpages (Guestbook, Jokes, Modified Lyrics, Plugin Player Models, Quotes) as posts with those categories. Thus my main navigation has been downsized to categories. I can’t seem to hack the dates though, so Plugin Player Models and Quotes are within the first page of entries for now.

Maybe someday I’ll put something in an About Me on a widget on the right. A *gasp* Facebook widget or Twitter feed or Instagram feed?

I also hacked the Twenty Twelve theme that came default with WordPress. Blog entry fonts are 125% scaled and there is a familiar tint in the background. Oh, and the theme promises mobile layouts, and you get RSS as WordPress gives you. ShaolinTiger, this is for you, more than 6 years after the Nikon D3 debuted (I think I said I’d implement RSS when Nikon comes out with a full-frame digital SLR.)

I still do this, though, because it is my preferred way of archiving and being all historian, especially with the music scene. If you want your pictures immediately, we could always come to a agreeable stipend – otherwise for those on a budget of zero, you can wait.

Quick And Textual

I’ve been super busy, but here’s a quick textual update on my good self:

I got myself the Sony Alpha 99 on the 23rd of October 2012, and I’ve been enjoying it. It’s just as the specifications are, as expected, not really exceeding expectations, but the dynamic range and ISO performance exceed the previous champion of high ISO amongst the Alphas, the Sony Alpha 900 (at least, according to DxO Labs, and I agree with their ratings.) I haven’t gotten around to doing a side-by-side comparison in terms of ISO and dynamic range, though. I’d be comfortable shooting at ISO6400, for sure.

I helped organize a photo exhibition on the 17th of November 2012 for the Rakan KL Day. Rakan KL is a people’s movement for the heritage preservation of Kuala Lumpur. I also exhibited photos, but pictures of that will come later – I did say this was a textual blog post, didn’t I?

I dropped by a pharmacist for my usual dose of topical steroid cream and she suggested that what I had was in fact topical steroid withdrawal, and tried to sell me some non-steroid alternative. I was skeptical and bought nothing from her, but I went home and looked it up – so perhaps I was having that, instead of classic atopic dermatitis! I had eczema during my childhood, which explains why I am fair and don’t play sports – I could not go out in the sun much or I’d sweat, scratch, and bleed. This went away thankfully at the age of 12, only to reappear after a prescription of insecticide lotion (for bed bugs) that triggered eczema again. I had thus been a regular to the Dermatology Department of the Kuala Lumpur General Hospital, where I’d pay RM5 per visit, and the ever-changing, rotating dermatologist would prescribe steroids. Hydrocortisone for the face, and something stronger for the rest. These would run out, and I’d have clear skin within 4 days, but after 2 weeks, the flares would come back, and I’d go visit the pharmacist. I found cheaper Malaysian variations of bethamethasone-17-valerate, but at some point some pharmacist gave me Dermovate, which was the “Superhigh Potency I” clobetasol, but I did not know it then. Needless to say my body got lazy to make its own cortisol/steroids to fight inflammation, so it became dependent on steroids.

I got a bit of ‘roid rage upon calculating that I’d been on steroids for 15 months and the hospital didn’t bother that I’d been on it so long, so I quit steroids cold turkey one 10th of November 2012 ago. The flare is there, and it’s taking its own sweet time, but I do find that getting a lot of sleep, like 12 hours, really helps reduce the inflammation. The problem then is the itching and scratching and scarring that comes with it, with the risk of infection. Some days my skin flakes like crazy, which is a good sign, as it means the skin is healing. The flare will clear eventually, and I’ll have a period of clear skin before the next flare, and this flaring is expected to continue from 10-30% of the time I was on steroids, which means I should bear with it for 5 months. Doable, I guess. Also, each subsequent flare gets weaker and shorter, but the first one’s not over yet.

I’ve been a pescetarian for 14 days, from 20th November 2012 onwards. This means I’m a half-assed vegetarian who eats fish. This was done in hopes of getting the first flare out of the way, reducing all possible histamine intake. Those 14 days did not include today, where I broke it to subside a case of gastritis and all fish options nearby would take too long. Geez I thought I was supposed to be immortal with such a diet!

It’s The End Of The World, Boom!

The occasional theater goer such as myself would often delight in plays that unravel slowly and fill the audience in with clues to what is happening. A good play surprises the audience by having them assume something and then break that assumption later.

boom, written by Peter Sinn Nachtrieb, is such a play. Add a lot of humor, and you have this, a very entertaining piece! It’s about Jules (Jon Chew), an archetypal nerdy marine biologist who posts an ad on Craigslist – “sex to change the course of the world”. This ad lures Jo (Sharon Lam), a feisty, sex-charged journalism student with a sailor’s mouth. Comets hit the planet, destroying everything and everyone except them (and a fishtank) because they are safe in a bunker.

What is there left to do, but to re-populate the human race?

Easier said than done, since these two are polar opposites, and Jules is possibly gay due to his “non-random erections on exposure to members of the same sex”. Jon is hilarious in his role here, as an absorbed scientist, much like Sheldon Cooper of The Big Bang Theory.

There is moderate wit and punnery, a lot of cursing (to comedic effect) and there are sexual scenes. This is where theater uses self-censorship to build mystery and a puzzle (as opposed to TV or cinema where a lot more is laid out to the viewer… and censorship is applied externally.)

BB Ostella Adam plays Barbara, a narrator who breaks the fourth wall by talking to the audience, and provides very subtle clues as the play progresses. She often defuses the tension by pausing the scene and saying something random, with great comedic effect.

The humor is accessible, and the plot/puzzle factor clever enough for a casual night out. A good play to bring a date to! I don’t know really what else I can say, without spoiling it for the audience, but I’d highly recommend you watch this.

It is no wonder then, that this was America’s most produced play in 2009-2010. The characters still identify themselves as being from states in the US of A (and the Craigslist reference), though even if they localized it, it wouldn’t have made any difference to the story.

Of course, there are other plays about the end of the world – I remember Samuel Beckett’s Endgame – what an overwrought, overserious, draggy play that was.

Anyway! Here’s the official site.

What: boom
Where: Pentas 2, KL Performing Arts Centre
18, 21-25 February 2012 – 8:30pm
19, 26 February 2012 – 3pm
How Much: RM35 (Concession at RM23 for Students, Disabled, TAS cardholders and UNHCR cardholders)
Who: Sharon Lam, Jon Chew, BB Ostella Adam

klpac Box Office: +603 4047 9000
Online Ticketing:

Malays And Rajas

“From this condition it is that none of the Malay rajas ever expose their Malay subjects to disgrace or shame; they never bind them, nor hang them, not give them opprobrious language; for whenever a raja exposes his subjects to disgrace, it is the certain token of the destruction of his country: hence also it is, that none of the Malay race ever engage in rebellion, or turn their faces from their own rajas, even though their conduct be bad, and their proceedings tyrannical.”

From page 26-27, Malay Annals (SAJARAH MELAYU). Explains a lot!

A New Long Post

Sorry for the sporadic posts, I’ve been busy, and pretty exhausted.

However, I did grow a year older, and I am at least tall enough to reach a bear’s armpits!

A problem with wanting to blog textually, is that I really have so much to say that I don’t know where to start, and what to leave out, because it is really a big long story!

Anyway, 2010 has been a very interesting year for me – I changed my employer, finally, after 4 years of interning (during college) and 5.5 years of full-time employment. In the interest of self-preservation and continued employment, I will leave certain details out, which can be gotten in person.

Outsourcing is a very interesting phenomenon. In short, my job was made obsolete, and the team I was in was to sit at the vendor’s office and learn the system. Then we were called back, and I quit and joined the vendor instead.

Oh well, 5 years in the same position doesn’t give significant increments, but I absolutely loved the ex-company and its perks (then). Now when I say ex-company – I mean that I had been paid by the same company, never needing to go for another interview, but the stuff I worked on was always changing.

Also I had this fear that I had become unable to learn anything new – ASP.NET was just too much of a pain in the OS to install (Microsoft, please un-f— your Windows Installer system – it’s still broke on my home Windows 7 installation). Hence, I was doing classic ASP 3.0 for pretty much my run of service! We tried to get our foot in ASP.NET, going for courses held by lousy instructors who just tell you to go to Page 3 of Chapter 4 and do the exercise while the instructor sits there and asks if we have any problems retyping the code from the book into the machine.

But then I was thrown into deep water at the vendor’s office, learning XSL (which I quite fancy, since XPath is full of win) and then I soon found myself teaching other colleagues, who were thrown into the water at the same time I was.

I was smart again!

I could learn again!

Several other incidents led me to decide to leave the company, but I was surprised that I made the decision in 2 days!

The domain was registered on the 18th of August 2000, and the team was formed and I started interning on the 18th of December 2000.

Exactly 10 years later, the domain expired.

That was the same day I had the initial sentiment to move on, although I didn’t know the domain expired until a few days later. What a intergalactic coincidence!

And so, I make my first sweepingly public statement – I am no longer just a classic ASP web programmer! I’m doing XSL, a tiny milligram of PHP (but enough to Tweet as an xAuth user, which I’d say is 1337 enough) and the subject many IT students feared – Java.

Web programming makes you stupid. It’s linear, and when you try to introduce object-oriented and reusable, modular components… you get teammates who don’t get it and write stuff like this:

&lt;select size=1 name=day>
&lt;option value=1 &lt;%if fday=1 then response.write(“selected”)%>>1&lt;/option>
&lt;option value=2 &lt;%if fday=2 then response.write(“selected”)%>>2&lt;/option>
&lt;option value=3 &lt;%if fday=3 then response.write(“selected”)%>>3&lt;/option>
&lt;option value=4 &lt;%if fday=4 then response.write(“selected”)%>>4&lt;/option>
&lt;option value=5 &lt;%if fday=5 then response.write(“selected”)%>>5&lt;/option>
&lt;option value=6 &lt;%if fday=6 then response.write(“selected”)%>>6&lt;/option>
&lt;option value=7 &lt;%if fday=7 then response.write(“selected”)%>>7&lt;/option>
&lt;option value=8 &lt;%if fday=8 then response.write(“selected”)%>>8&lt;/option>
&lt;option value=9 &lt;%if fday=9 then response.write(“selected”)%>>9&lt;/option>
&lt;option value=10 &lt;%if fday=10 then response.write(“selected”)%>>10&lt;/option>

What’s worse is when a teammate defends the practice of excessive forking to avoid accidentally corrupting the source. Except, of course, when you need to patch a security hole, you have to find each fork and patch it, because apparently programmers don’t generally know what SQL Injection is! (Or worse, assuming that just because one .NET component is immune, that you don’t have to sanitize your input and output, or worse, applying the input sanitizing filter to the output and vice versa.)

So where was I, besides getting all worked up about some appalling habits I had to bear with back in the day?

Ah, Java. Reason being that having recently adopted an Android phone, I am also now an Android Developer! It’s not out yet, though I have developed my personal Twitter client just to tweet as Glaring Notebook. No, you don’t need to be a programmer to make your own Twitter vanity plate – I leave that to you to Google. 😉

Java is fantastic! Despite having a very steep learning curve, it is also a very, uh, fascinating language.

So how’s “fragmentation”?

Ah, the only 4-syllable word that iPhone fanboys can pronounce. 😀

It’s only a problem if you don’t know how to write your code to be flexible. I remember the people who would complain that this CSS code would not work in IE. Well they were just making it too complex when simpler CSS would do the trick! I’ve never had to use one of those tags which discriminate browsers.

(I am also a supporter of IE’s logical box model. Padding on the inside doesn’t change box dimensions, it only makes sense!)

That said though, it does have some implications – developing on my HTC Desire on Android 2.2, I didn’t know how much was missing in Android 1.5 until we got a HTC Magic running on Android 1.5. No XPATH? The agony! Performance was slower because it didn’t support Just-In-Time compilation, and it was just slower in spawning new asynchronous threads.

So I had to optimize it for 1.5, which is where I should’ve started in the first place.

This would pose a problem for those developers buying Google Nexus S phones, with Android 2.3, which features concurrent garbage collection (for significantly less lag). So it works fine on a 2.3 device, but will be jerky on a 1.5 device.

Oh, and if the application scrolls jerkily and crashes, it is so totally the programmer’s fault, not the phone’s. I’ve seen smooth, responsive applications in 1.5 – and I look at them in awe and respect.

I’d say that fragmentation is much less of an issue for programmers, than it is for customers, since programmers know how to get around it.

I have another confession to make.

I am on stock Android 2.2 with HTC Sense, South-East Asia version, downloaded from over-the-air. I have not rooted my phone.

I can root and underclock/overclock and do other optimizations, but it will not be reflective of the performance of my application on un-rooted phones, which make the majority. And yes, I will keep the HTC Magic torturously caged by 1.5, instead of the 2.2 that it can update to.

Also, rooting allows access of SQLite and private data to other programs who do not own that data. That’s not something I would like, because I know what I could do with it. 😉

Android 1.5/1.6 is to Android 2.1/2.2/2.3 as what Windows Vista is to Windows 7. A far less glamourous, polished product.

I’ve no idea how to end this blog post, but I’m just mentioning my intent to end this blog post so it doesn’t look like I didn’t copy all the text from Notepad. 😀

Fishy Thoughts

I stood in the lounge, staring at the aquarium.

There lay a fish, asleep, lying on some rocks.

I wondered for a while, whether this aquarium was big enough for these fishes – do they get bored?

As a kid you’re confined to the house mostly. As a domestic pet you might have an even smaller surface area you’re allowed to roam in. Having seen one puppy have a small fencing to itself made me quite sad really, thinking animals should roam free and be allowed the joy of travel as and when they want to!

So kids, if you’re reading your dad’s blog archives, this is why I don’t want pets in the house.

Sure, kids love dogs, but dogs need dog friends too! They got urges, and you’d be glad they don’t put their urges on you.

Hmmm that was a different tangent than what I originally intended. Anyway! Imagine being a fish – you could swim about and sleep wherever you want, whenever you want. Because you have no belongings! There is nothing to take care of. You don’t have to put your stash at home. You have no stash.

Maybe if you were a baby octopus you’d have a coconut shell as a house, but that is temporary.

The only thing you’d need to worry about, is that you are not eaten when you are asleep. I take it that different fishes don’t eat each other despite cohabiting, because fish food just tastes better. It has to, for the survival of the smaller fish!

So is that what being a monk is all about? Having no belongings? All you have is the robe. You have all the time in the world to think about how to solve the world’s problems. Nobody nags you, you don’t have to report to anybody, you don’t have to go to school… you have full control over your mental resources.

Thus, a child born into a monastery has less mental worth than a regular member of society who knows the problems of society and then becomes a monk and gets to thinking how to solve problems full-time. All the kid is good for, is probably martial arts and being a vegetarian chef. What good does that kid do for society when he comes to town and steals our women, charming them with their ponytails and vegetarian ways?


Howdy folks, Albert is back.

No, not the photo-blogging Albert, the original blogging Albert. The wordy one.

Yes I’ve been away – a lot of stuff has been going on. I’ve been doing the night shift; today is the first week and I’m… adjusting. It’s quite fun, the prospect of being able to see the sun when not at work. If only I wasn’t so tired. The idea that I can go visit all these places that are only open during office hours is also quite enthralling. But first things first – daily 8 hours have never become so necessary.

I end up waking at 6pm. Which is, really, like exiting the office at 6pm.

Speaking of which, I am in a different office (again). While my employer and hand that feeds me is the same, the office and colleagues are different – it’s like I got a new job without the hassle of any interviews (and 2-month waiting time!) So I am now closer to home, Solaris Dutamas to be exact. Bukit Jalil was far and had no life anyway, other than its new found function as a bus station.

I’ve also been doing 10am to midnight work hours the past 2 weeks, which explains my online absence and absent-mindedness. Big project that was. My 30-something year old colleague was finding it interesting that she could re-align herself to such long hours, something we only had the vitality for in our college years!

I believe it was C. Loco who told me that once you hit 27 (or was it 26?) you start to think you’re real old and complain about it. I hear myself doing so, and I see older people doing so at a greater extent. So be prepared for some juvenile geriatric speeches the next time I see you acting youthful!

Camera-wise – the Sony NEX-3 and NEX-5 were launched last Friday. Pictures will come once I get some sleep as I’ve just got home. Pricing is RM2699 for the NEX-5 with Sony E 18-55mm F3.5-5.6 OSS (Optical SteadyShot) and the first 150 buyers get a 8GB Memory Stick Pro Duo, 2 years extended warranty and a free training workshop. Prices for other packages are not out yet, unfortunately, until the stock arrives. I know I want the NEX-5, Sony E 16mm F2.8 pancake and LA-EA1 lens adapter.

I would also like to thank Thursday Love, who is writing a book on her (and our) favorite subject! She hooked me up with some movies – one of which is the title of this blog entry (well, it was planned to be, but got renamed) and the others being Kinsey and My Own Private Idaho. Kinsey was interesting – I could relate to the detachment of emotion from science, as I fancy myself a man of science (and can relate to the external view that Dr. Manhattan of Watchmen has.) I dare say it had a much further, better impact and awareness for the GLBT movement than Brokeback Mountain ever did. Honestly, I wasn’t moved by Brokeback Mountain, nor could I understand why they were suddenly humping each other in a tent!

Then there was My Own Private Idaho, with Keanu Reeves actually acting… as a male escort (euphemism used to prevent being on a company’s website filter list.) I’ve always known I looked like Keanu ever since The Matrix, and so I have this symptom where whenever I’ve just watched a Keanu movie, I tend to walk or stand like I’m Keanu and there is a movie camera a few meters away pointed at me. Yes, he had that look even in that movie.


I’ve not cut my hair since the 11th of October 2004. (Credits to smashpOp for taking this picture.)

On the 28th of March 2010, I will cut my hair – all of it. I will go bald!

That would make a 1994 day streak of uncut hair (I did shave though.)

This is for WorldVision Malaysia‘s Operation Botak. Its aim is to raise funds to build a learning resource centre and equip a mobile library; I quote the site:

Over half of Sabah’s population is scattered amongst isolated rural areas. We hope to raise RM100