Experienced Noobs

I was asked to help conduct a job-interview last week. The candidate claimed to have some direct experience in embedded software programming. Unfortunately, the candidate met me. I only focused on asking the candidate questions about things that the candidate had direct experience working in.

Firstly, the candidate claimed to have written software for a variety of processors – almost a dozen of them. However, what the candidate failed to mention was that they all belonged to the same architecture – ARM. This is a slight-of-hand trick. Unless the interviewer knew his stuff, he would not know the variety in the ARM eco-system. But this stretching of the truth is fine with me – because at least the candidate had some experience writing software for one of the world’s most popular processor.

However, what I could not forgive was that the candidate did not know the thing that sets the ARM7TDMI processor apart from its predecessors – the introduction of the Thumb instruction set. The candidate claimed to have worked closely with the ARM7TDMI. Since the candidate failed to know the architecture, this limits the ability of the candidate to do embedded software programming. In order to do embedded programming well, the programmer needs to know the quirks of the hardware architecture and exploit it to their advantage.

Secondly, the candidate claimed to have helped solve some problem with their current project, dealing with null pointers. So, I asked the candidate how they found out the problem was the problem. Turns out that the candidate used the technique that I dub – random bandaging – trying random things until something works and then claim that the problem is solved, without understanding the under-lying cause. That is a problem that I have with my apprentice as well, but it is fine because we can always ask for proof and train our staff to investigate things.

However, what I couldn’t forgive was that the candidate – when asked what a null pointer was – looked at us incredulously and claimed that a null pointer was a pointer to a random memory location! Sigh. I thought that the name of the pointer should be a dead give-away. If the candidate had mentioned that it was a pointer to the null or zero memory address, I would have given half a mark. If the candidate could tell me that it is architecture specific and is just defined as an invalid memory address location, I would have given full marks. But it most certainly does not point to a random location – and that is a failed understanding of what a pointer is.

Thirdly, I wanted to test that the candidate could actually write code and understand how the code works. So, I got the candidate to write a simple for-loop that counts from 0-99. Thankfully, the candidate got this right. Then, I asked the candidate what would happen if I compiled the code as it is. The candidate didn’t know what would happen – the code block would be optimised away by the compiler because it does not do anything. That was still fine. Then, I asked the candidate to output the numbers on screen. The candidate used printf to do it.

So, I asked the candidate when is printf not supposed to be used. Surprisingly, the candidate said that it should not be used in interrupt routines. I was seriously impressed! Then, I pressed the candidate for why it should not be used and the candidate said that it was slow. Again I was impressed! Finally, I asked the candidate to think of any reason – even one – why it was slow but the candidate could not think of even one. Then, the candidate confessed to have only read the information online and did not actually know the reason why. Fair enough.

To me, at the very least, the candidate had a bit of working knowledge but I would still classify the candidate as quite a noob when it comes to embedded programming. Experienced nonetheless though – but still a noob.

Let me add – knowing the right answers to the questions is easy. Knowing why is the difficult part.

Dumb Plagiarism

There’s this article from MIT that claims that, “Now educators at MIT have shown that homework copying is associated with greatly decreased learning — and have developed changes in instructional format that reduced copying by a factor of four in certain physics classes at MIT.”

Now, that triggered a thought in me because – I have rarely done homework in my entire life and have largely survived on copying work off my friends at the last minute. I think that the piece of research makes one major assumption – that people learn by doing homework. The motivations for the copying need to be investigated as well.

Personally, I only copied homework because I was too sien to bother with the homework. Most of my life, I was ahead of my peers and the homework wasn’t adding to any of my learning. In fact, I do most of my learning outside of an academic setting, primarily through practice. I have learned enough to earn my way to a PhD in a field that I have never attended any formal classes for.

While it can be considered a little unethical to copy homework, there is no choice for me except to do that because the homework is usually compulsory – it is often included as a percentage of the final grade. I do not understand why homework has to be made compulsory since it does not add any value to learning at all. I care about learning, not homework.

I see this as a potential issue with one of my nephews too. He is barely four and his teachers are already complaining about his behaviour. When they try to get him to repeat things after them, he refuses to parrot because he already knows the stuff and doesn’t see the value in parroting. He turns around and surprises them weeks later by demonstrating what he learned, without towing the line. The teachers need to understand that he learns things very quickly and absorbs knowledge on-the-fly like a sponge.

I think that the study actually shows a weakness in our pedagogic methodologies. Some people need homework in order to work through the steps for further clarity. Some people need homework in order to learn through repetition. Some people do not need homework because it bores them thoroughly.

Maybe we should consider different modes of learning and not try to force homework down everyone’s throats.

Skilled Migration

According to our National Economic Action Council (NEAC), we are losing too many Malaysians as our skilled workforce migrates out of the country and we are unable to attract nor retain our skilled labour. I don’t know whether to laugh or to cry.

Various programmes to attract skilled talent have been introduced in the past but they have achieved very little in concrete terms. The result is a shortage of dynamic talent needed to push Malaysia into higher value added activities.

That is not the only problem – trying to attract skilled talent. Don’t they know that there are plenty of skilled talent within the country who are forced to leave because of idiotic policies put in place to stifle their growth. It’s not just the policies but also the people put in charge of organisations are usually not that skilled and too kiasi to try to do the right thing.

I personally know several PhDs in various technical fields who are now working in random areas totally irrelevant to their interest or skills. I am one of them and I have tried fighting my way against the system – goodness knows I’ve tried all the way – to no avail. People in power to fix things do not even want to see me. So, I am already taking measures to fix the problem myself – before I end up rotting and dying in service to my nation.

Constraints include cumbersome immigration and incentive policies which discourage recruitment of foreign expertise along with restrictive practices of professional associations which restrict foreigners from working in Malaysia, it says.

I think I know one such professional association, which practices protectionism for its own community. Personally, I think that protectionism is dumb. You only end up sand-boxing yourself to your own However, this is a smaller problem than it is trying to retain our own people. You see, if we are unable to retain our own talent, they will leave and bring all their bitterness and anger with them.

Who do you think foreign talents will speak to before deciding to immigrate into our country – their Malaysian colleagues and friends who have left the country. Obviously, our talent who have left in a cloud of darkness would not paint a pretty picture of our country’s work environment.

Personally, my frustrations have come to a head and I just need to vent. I have already come up with my own solution to my own problems. I fully intend to do something about it and I just hope that things will ultimately turn out alright, even if I have to bludgeon a few heads along the way.

I am who I am.

Measures of Success

A friend of mine, who happens to be the same age as I am, mentioned that most of her compatriots who graduated alongside her have reached some manner of success while she was still struggling on her own. This got me thinking about my own situation. I would have to agree with her on one part that is – I am still trying to find my way to success and that it is a long way away.

However, it got another part of me thinking about what I have already achieved in the last 30 years – the unique experiences that I have gained and the lives that I have touched along the way. If I ever say that I am a failure, that would be a lie. There are plenty of people out there who would be happy to trade places with me (although it could just be a case of the grass is greener…). However, to say that I am satisfied with what I already have today, would also be a lie.

I think that I would have to frame the situation this way. Many people would probably consider me a success and some people would consider me on the way to greater success. However, I consider myself an abject failure and there are reasons for this – because I have never achieved anything of significance nor hit any of my targets in life. Never. Not once. This could be a symptom of a larger problem.

Honestly, I am not trying to gloat.

One of the targets that I set myself when I was 15 was to be a millionaire by the time I was 21. Obviously that has not come true. However, in the pursuit of that target, I released my first commercial software product at the age of 17, which ended up being shown at the ministry level in front of the DGs and used by a government school for a while. I learned a lot of important life and business lessons through that one single experience which lasted several years of my life of trying to push a commercial product into market single-handedly.

In school, I have never ever been able to hit the results that I aimed for and have regularly failed to impress anyone. In fact, I can still remember the expression I got from my teachers when I went to collect my SPM results – it was as if I had let down the entire school. However, in pursuit of education excellence, I earned my way to a PhD at one of the top universities in the world. Working through blood, sweat and tears, taught me a lot of important lessons on strength and tenacity.

Maybe, just maybe this is the reason why I still have the drive to risk my dreams wherever they may take me. I still need to prove to myself that I can do it.

Or maybe, as another friend of mine put it – I just need to be happy.

PS: This tune randomly entered my head and got stuck there.

Pornstar Rulez!

Well, not exactly.

However, I heard that our MCA elections ended with Chua Soi Lek winning the position of party president. This got me wondering – someone who has broken our penal code, gotten his act caught on film, came out with a full admission of the act instead of denying it, got himself kicked out of a ministerial position for the act, got turned into a sort of pariah in the party – made the ultimate political comeback to win the party presidency in a coup de grace.

Honestly, my hat is off to him.

Firstly, for being able to last so long in the film before coming at the end. Secondly, for exhibiting a great amount of patience with all his detractors. Thirdly, for engineering his comeback with such pomp. Regardless of everything else that he may have done, I salute him for doing the highly improbable and near impossible.

What I don’t get is, why is he not in jail or something – for breaking the penal code with a full confession. I would think that this was an open and shut case for our police. It should not tax them one bit to park his sorry arse where it belongs.

Unless of course, he plans to push amendments through parliament – to change the bits of the penal code that he broke. I am sure that many people will thank him for it.

Voter Registration

As someone who is actively involved with registering voters in our country, I have some thoughts on what Jagdeep Singh Deo said about automatic voter registration.

  1. Automatic Registration using MyKAD
    “voter registration exercises were outdated as Malaysians now have MyKads that contained all necessary information.”
    This I will need to agree with. We have put in so much information and security into the MyKAD that it does not make sense not to. Our National Registration Department (NRD) has all the necessary information in their database and they already share this with their counterparts in the Elections Commission (EC). All voter registration needs to be done using the exact information in the MyKAD. If we registered a different address than the one on the MyKAD, the registration would actually be rejected by the EC. So, it does not make sense not to just put all the information into the EC database directly. In fact, with the right software in place, all the work of sorting out constituencies will be automated too. It just makes perfect economic sense to do it.
  2. Compulsory Voting
    “In some countries, voting is compulsory and eligible voters who do not vote are penalised.”
    This I cannot agree with. I am a strong believer in personal liberty. We cannot and must never force someone to vote. If that person has no interest in voting and makes no effort in understanding the issues, that person should not be encouraged to vote. Voting should ideally be done by informed voters – people who know enough about issues to form an opinion and then go out to express that opinion at the ballot box. We must never compel someone to vote. It will just ruin the outcome of the votes because these people would end up voting based on some random thing like gender, race, religion and whether or not the candidate wore white on polling day. Garbage-in, garbage-out is the term to describe the outcome of such an election where voters voted randomly.
  3. Reduced Voting Age
    “If we are serious about becoming a truly developed and international class country, we should seriously consider reducing the age of voting eligibility to 18.”
    This is another thing that I cannot agree to simply because, I do not think that we should draw the line at any arbitrary number such as 18. If our criteria is that people should be mature enough to think and decide on issues, then I don’t understand the rationale for picking the number 18 since kids these days are so mature that they can probably tell you the right thing to do at the age of 15 or younger. I think that voting age should be drawn along the lines of – if you are old enough to be affected by the decisions made by silly politicians, you should be allowed to vote. But this would not be practical as babies would fall into this category. So, maybe a more practical solution would be to allow anyone who is old enough to work to vote. Their jobs would be directly affected by the decisions made by politicians and they should have the right to express their grievances.

Anyway, if you have not yet registered to vote, please do so tomorrow. You can request a form from any post office in the country. It is a fairly straight-forward form to fill – you just need to be careful about entering the information exactly as found on your MyKAD. Then, wait about 4-6 months and check your registration status at the SPR website. If you have successfully registered, you will see the information online.

Finally, when it comes time for the general elections, please check online for your exact voting station. There will not be any letter or notice sent out to you officially. Just go online and check for the information. Turn out to vote as your employer cannot deny you the right to cast your vote. In fact, drag your employer along with you!

PS: You can find me at a certain pasar malam every week, shouting and signing up voters on the spot. I am doing it because I see it as a civic duty, personally.

Gaming will Save the World

http://video.ted.com/assets/player/swf/EmbedPlayer.swf

Exploiting the ultimate cloud computer – our fellow human beings!