Lack of Expertise

I have recently come across a couple of situations where people have expressed their frustrations at the lack of expertise and skilled workers in Malaysia. I have some thoughts about this issue and I would like to put them down here.

Mismatch of Skills
In one case, I visited a semiconductor foundry (those places that manufacture the electronic chips) and was told that our government had already identified a shortage of local talent and expertise in the areas of integrated circuit design (IC design) at both front-end and back-end work. Since a huge chunk of our GDP comes from the electronics sector, it was important for us to maintain an edge in this industry in order to protect our exports.

This reminds me of a story – about a government scholar who did a PhD in integrated circuit design at one of the premier engineering institutions in the world. However, after returning to Malaysia and reporting for duty, he was not assigned to work in the IC design area at all. He was instead assigned to work in the area of software and then eventually moved to working in information security. One wonders why.

He told me that he was interviewed by a certain director in this area. The director asked my friend a question that was wrong and so my friend (being severely lacking in social skills) ended up correcting the director and pointing out to him that the question was not correct. At first, the director tried to assert that he was right but in the end had to back down and admit his fault.

It was totally understandable that the director then tried to pass my friend away from IC design work and onto software. That is how one of our expertise in the area of integrated circuit design wound up doing software debugging and testing. Unfortunately, it did not turn out to be the last time my friend had a difference of opinion with the director, and his team. That is probably how my friend found himself moved to the information security department to write web applications.

The moral of the story is that my friend did not end up making coffee.

Mismatch of Expectations
Then, we have the situation where we claim to have a lack of skilled labour in Malaysia.

I had a meeting with a director of a certain educational organisation in Malaysia and this issue was raised – on the lack of engineers to meet our country’s demands. I pointed out that we definitely do not have a shortage of engineers because if we did, the laws of supply and demand would dictate that these engineers would be paid highly. Unfortunately, our engineering wages in Malaysia are barely enough to live by.

For some engineers, it is a matter of survival and most end up doing something other than engineering simply because the pay is better elsewhere. However, for those die-hard engineers who want to work in engineering, they also find it difficult to get a job – particularly for those skilled engineers who graduated from one of the top engineering schools in the world.

You see, most local companies would not be interested in hiring my friend who graduated from a top engineering school. Firstly, the local companies would prefer to hire the 75th percentile rather than the 95th percentile because they would make better workers as they would be easier to control manage. Secondly, they would feel that highly skilled engineers would ultimately leave because they would not be paid a commensurate salary. So, it would be in the best interest of the company to hire and train up a good worker who stays.

I agree that both of these are fair reasons. Particularly if our industry does not have the demand for a large number of highly skilled engineers. We tend to outsource to overseas consultants and contractors when we need to hire in certain expertise.

However, if you are unwilling to pay for the best, you will not get them. As the saying goes – if you pay peanuts you get monkeys. A colleauge of mine pointed out to me today that – there is no reason to get a PhD in Malaysia because people here do not recognise the additional training and knowledge that you have gained – even if you do end up getting it from a premier engineering school. I would have to agree.

The moral of this story is that my friend got a good tan at the beach.

PS: I have many friends in engineering from top universities.

Strange Friends

I had dinner with a bunch of Cambridge friends this evening – three of whom were economists and one a biologist. This is the second time that we were meeting up in a week. Some time during dinner, a thought occurred to me – I am mixing with an odd bunch. Odd because I don’t really have much to say.

I once told my colleagues at work that I am a sociable geek – a geek whom can attend parties and engage in small talk, regardless of how much I dislike socialising. However, this does not change the fact that I am a little out of my element with most of my Cambridge friends. This is because most of my Cambridge friends are not from the engineering/computer fields, which is rather surprising.

On the one hand, it is good to know people who think and see things from a different perspective. On the other hand, it is sometimes quite difficult communicating with people who are not used to the exactness and preciseness of technical language. I am not complaining about my friends but rather complaining about the lack of people whom I can share difficult technical conversations with.

In an ideal situation, I would have some friends whom I can share technical conversations with on an even field. However, there is some difficulty in finding such people around. There are just not that many people with my kind of expertise and experiences around. There are plenty of technical people at work, but I spend much of my time teaching and imparting knowledge rather than learning and discussing.

That’s not to say that I don’t want to do the former, but I have begun to realise that I have an unfulfilled gap in my life. I really need to either adapt, or find another alternative – such as writing a technical blog.

Political Numbness

You know what, I did not realise that anything untoward was happening within our opposition coalition. In fact, even after everyone started making a big fuss about MPs quitting and aligning themselves with the ruling coalition, I still did not feel like anything special was happening. Then it dawned on me – I have become politically numb with all the random sandiwara that happens and am no longer able to respond as expected towards political news.

On one side, people are painting the picture of a crumbling opposition coalition – fraying at the edges after being attacked for so long by so many people. However, I see the very same thing happening with our ruling coalition as well, also fraying at its edges after being worn for so long by so many people. So to me, crumbling political coalitions seem to be the norm in Malaysia.

On the other side, people are screaming like victims – victims of their own devices. They sowed the seeds of political expediency and are now reaping the harvest. I have often harped that our people do not have much of a choice when it comes to electing their representatives. That is why I have been trying to drum into people’s heads that there are four possible outcomes on a ballot sheet with two boxes.

Personally, I see these games as all part of a war of attrition, that all sides will lose in the end.

On a more exciting note, I had to fill up my personal evaluation form today. It was fun filling it up because I got to rate my own performance, which was naturally exemplary. However, I found it vexing that I could not rate my boss. I believe that performance evaluations should go both ways. Otherwise, the bosses would never know if they were a good boss because the people under them have no voice. Any honest evaluation, that is.

Hacking Brains

The power of our brain to just get it.

Bobby McFerrin demonstrates the power of the pentatonic scale, using audience participation, at the event “Notes & Neurons: In Search of the Common Chorus”, from the 2009 World Science Festival, June 12, 2009.

Low Power Software

I am a climate change skeptic.Seems like I am not alone in thinking that power-efficiency is a system issue that includes both hardware and software. A recent article at ACM shows that other leading processor architects are also thinking along the same lines. So, I ask myself what am I going to do about it. Due to recent events, I now find myself with a bit of free time. Therefore, I think that I will put my free time to some work by trying to do some interesting things.

Firstly, I will rework my existing processor into a more power friendly design. What I mean by this is not that I will make it lower in power, but I will try to make some changes to it so that the processor’s power distribution and consumption can be intelligently controlled by software. At the barest minimum, this would mean adding a programmable power and clock manager into the core. It could also potentially include lower power but slower computational units that can be used for less critical operations.

Secondly, I will try to modify Icarus Verilog to output some power information. It would not be possible to output accurate power results because power is highly dependent on manufacturing technology. However, regardless of technology, it could possibly output relative power information. So, I could possibly use it to test out different code paths that produce the same results in a similar time period but with different power profiles.

Thirdly, if I have the resources, I will try to make changes to LLVM to facilitate power information. This will probably take a bit of doing as the LLVM compiler is a pretty complicated piece of software. Using the information garnered from the simulator, I could possibly output relative power measures for different types of code. This will be a good first step towards generating power efficient code. Of course, the ultimate aim would be to have a -Op power-optimised flag that will automagically trade-off speed for lower power.

Fourthly, now this is stretching it, I will try to write a nano-kernel that is power optimised. This may just be as simple as automatically putting the processor to low power mode when the running task is idle and waiting on user input. It may also be as complicated distributing tasks over a bunch of heterogeneous cores taking power considerations into account such as sending less critical tasks to cores running at lower power configurations.

Now, if anyone thinks that this indicates that I have succumbed to being an eco-mentalist – you’re absolutely wrong. I still belong squarely in the skeptic camp. However, I do believe that efficiency is important – actually any engineer can tell you that the whole purpose of engineering is to increase production efficiency. I do believe in being more efficient, not for the purpose of saving the planet, but for the purpose of engineering elegance.

So, let me start this today.

Mildly Autistic?

I just watched this video description of autism. Then it struck me that I do think in some of the ways that she mentioned. For example, when I design a microprocessor, I simulate the entire functioning of the processor inside my head throughout the process – from the pre-design stage through to the debugging stage. I only rely on the software simulation tools to verify that my design works the way that I thought that it would. I don’t use it to find out how my design works.

I noticed the small ‘S’ first before noticing the larger letters. My colleagues at work sometimes say that I go crazy over the details. I notice detail and I pay attention to them. I cannot stand wrinkles and I just need to smoothen them out. That is the reason why I pick on so many little things. My colleagues just consider me a perfectionist.

Also, I have some real social problems – I consider myself thoroughly socially inept. Faux pas aplenty. Maybe not so mild then.

Crossing Hurdles

Yatta!I am rarely wrong and I hate being wrong. However, I am only human and I do get things wrong sometimes. I will also accept criticism with an open heart and open mind, if and when I am wrong. When I have done something wrong, I will usually try my best to correct it. It may take me a while to get things right, but I will endeavour to make the necessary changes. It makes me extremely happy when my corrections are acknowledged and found to be satisfactory.

One stage of my life is coming to an end while another stage is just beginning. Things could have gone very bad for me but I am glad that they have turned out fairly well. While I do not regret the path the I have chosen, this journey has been an arduous and long one. I will never recommend it for anyone else, unless they are brave or dumb enough to plunge headlong into the unknown without regards for consequence. Paths are opening up where there were none before.

I have had to make some sacrifices along the way and lost some people in the process. However, I do hope that it will all be worth it when things are finally cut, weighed and measured. I am getting a bit too long winded now. Let me end this by wishing Cecilia all the best and good luck!

PS: I must do something to celebrate – like maybe buy myself a new 50″ television.

HP are Liars Slow

I called up HP today to find out why my Streamyx connection has not yet been upgraded and was told by them that I had to call up Streamyx myself to upgrade my line. What kind of nonsense is this? When I registered and was explained the entire process, I was told that HP would handle everything. Last week when I called up HP to check, they said that it will take a few days to upgrade and I should wait a bit and call up again if it is still not done by this week. And today HP tells me that I need to handle it myself.

WTF?!

I gave the customer service agent a piece of my mind. I do not want to have to pay HP for my Streamyx next month and pay TMNet for my Streamyx as well when I only get 512k! That is making a double payment for a non-service. If that happens, I will need to call up my bank and find out how I can cancel/delay payment for my HP purchase. They have failed to deliver the 1Mbit line that I am supposed to enjoy. They have openly advertised the 1Mbps streamyx package and if they fail to deliver, I am well within my rights to do something about it.

I’m just pissed off today. I hate idiots.

UPDATE@2010-02-24: After chasing them a couple of times today, my speed seems to be up tonight. It’s a bit sporadic but I am consistently getting 1M speeds on speed-test. That is good.

I might have been a bit too harsh calling them idiots. Maybe they were just slow or maybe it’s part of our culture to need to push to get things done.

Adventures in XenServer

Over the weekend, I began to move my home cloud system over from OpenVZ to XenServer. I thought that I should chronicle a few lessons learned here. Some of this information is just not available on the Internet and some of it are my personal opinions about the pros and cons of the two different virtualisation platforms.

Initial Installation
The initial installation for both OpenVZ and XenServer was pretty straight-forward. For XenServer, both the base ISO and Linux additional ISO were needed during installation. Fortunately, they can both be burned on the same CD-RW, one at a time and used one after the other. So, there is no need to use two blank CDs to install it.

However, the two platforms could not be more different when it came to configuring the systems. I was totally lost in XenServer because it is quite different from using a regular Linux system. There were a lot of very new concepts that I had to quickly pick-up. For example, everything needed to be identified by UUID because there is no other easy way to do it. Xen abstracts everything away so that it can be managed automatically without too much user intervention.

Lost in Lenny
I needed to run Debian Lenny as the guest OS for all my cloud servers. In OpenVZ, all that was needed was to download the Lenny template and generate a new server with it. However, the Lenny template on XenServer does not produce a running system but instead, runs a net-install.

At first, I tried to follow the instructions given on the Xen website to download and build a Lenny installation ISO to be used to install Xen. However, it turns out that it is much faster to just do a basic net-install over the Internet than to download and use an installation DVD. So, that was the path I took instead. Since I have a local apt-mirror running, it was a breeze to install and generate a number of different templates.

I do not understand why Xen did not ship with a bunch of Debian templates. It ships with a whole bunch of other templates. I managed to generate three templates corresponding to the popular VPS packages offered online – 64MB, 128MB and 256MB. I will try to share my pre-generated templates once I figure out how to get that done.

Size is Relative
I learned that 64MB is not actually 64MB in both OpenVZ and XenServer. Due to the way that these technologies emulate memory, they perform very differently under different circumstances. This is very obvious in low memory configurations. I could barely run any services on a 64MB OpenVZ server but I could run a whole bunch of services on a 64MB Xen server.

After doing some reading, it all comes down to how memory is allocated and committed by each technology. I might be wrong but it turns out that when an application asks for memory on OpenVZ, that memory is reserved for it. However, on Xen that memory is only reserved when the application uses the memory.

Toy Cloud
After my initial toying around, I would have to say that Xen seems more like an enterprise product while OpenVZ is not so much. In the year that I have been using OpenVZ, I managed the guest servers as if they were parts of the host server. However, in Xen, I am forced to treat each guest server as its own server. In fact, technically, the Dom0 and DomU Xen domains are technically peers.

Overall, I am quite happy to say that I have a very good impression of Xen and I will continue to use it for all my future cloud needs.

Penetrating Evidence

Seems that our Malaysian judges are once again at the fore-front of setting dangerous precedents. According to the article in TheStar, proof of penetration is no longer required for charging someone with the act of unnatural sex in Malaysia. That is like saying that penetration is unnecessary to charge someone with rape. All that is needed is witness testimony and forensic evidence that semen was found.

Personally, I think that it is a dangerous precedent to set. There are all manner of ways in which semen samples can be found on a person and none of them require any form of copulation, natural or otherwise. However, I think that the law is quite specific about what it considers as unnatural sex.

377 – Bestiality
Voluntary carnal intercourse with an animal. Penetration is sufficient to constitute the carnal intercourse necessary to the offence described in this section. (Maximum penalty: 20 years imprisonment, liable to fine and whipping)

377A – Carnal intercourse against the order of nature
Sexual connection with another person by the introduction of the penis into the anus or mouth of the other person is said to commit carnal intercourse against the order of nature. Penetration is to be sufficient to constitute the sexual connection necessary to the offence described in this section.

377B – Committing carnal intercourse against the order of nature
Whoever voluntarily commits carnal intercourse against the order of nature shall be subjected to punishment. (Maximum penalty: 20 years imprisonment, liable to fine and whipping)

377C – Committing carnal intercourse against the order of nature without consent
Carnal intercourse against the order of nature on another person without the consent, or against the will, of the other person, or by putting the other person in fear of death or hurt to the person or any other person. (Maximum penalty: 20 years imprisonment, liable to whipping, minimum sentence of 5 years imprisonment)

377CA – Sexual connection by object
Sexual connection with another person by the introduction of any object into the vagina or anus of the other person without the other person’s consent. However, this section does not extend to where the introduction of any object into the vagina or anus of any person if carried out for medical or law enforcement purposes. (Maximum penalty: 20 years imprisonment, liable to whipping and fine)

377D – Gross indecency
Any person who, in public or private, commits, or abets the commission of, or procures or attempts to procure the commission by any person of, any act of gross indecency with another person, shall be punished with imprisonment for a term which may extend to two years. (Maximum penalty: 2 years imprisonment)

377E – Inciting a child to an act of gross indecency
Any person who incites a child under the age of 14 years to any act of gross indecency with him or another person. (Maximum penalty: 5 years imprisonment, liable to whipping)

Seems like the words penetration appeared a lot of times in the penal code. In fact, the law seems to clearly spell out what it means by unnatural sex – putting ones penis into the anus or mouth of another person. Now, unless I am mistaken, there is no way to prove that carnal intercourse happened if medical evidence of penetration is discounted. I am so confused but IANAL.

I think that Anwar has just gotten a figurative one up his arse from the judges.

PS: Turns out that the only people legally allowed to shove things up your ass are people in the medical and law enforcement fields (now, one wonders why cops should be allowed to shove things up your ass). Also, turns out that video evidence of the act is insufficient to take action against known offenders such as Chua Soi Lek who definitely had his penis inside a woman’s mouth at one point.