Tuesday, December 29, 2009

New Year Resolution

2009 is drawing to an end, and we are entering 2010. What are we expected to see in the new year?

I used to draw up a new year resolution, but overturned this initiative a few years ago, arguing new year is just an arbitrary and artificial marker for time which serves no real purpose in terms of motivation and life planning.

Now I plan to restore my initiative, and draw a new year resolution.

Have a family. But my dilemma is the girl I love is playing hide-and-seek with me, while the girl who loves me isn't really the one I want to have family with. Sometimes that is life. :(

Sunday, December 27, 2009

Tired

I spent Christmas at home, and for some reason I have been feeling tired. Tired of the life I am living. I mean, the life of wake up -> go to work -> go home is tiring. I start to feel bored.

What I have in mind to go back to nature. Get a small farm that is close to water. I can choose to farm my own food and can avoid all the bombardment from the TV, radio, and the vehicles on the road. This could mean I am overwhelmed for the mean while, but I don't know how long I would like to live away from the modern society. It could be 1 week, or it could be longer. I don't know.

I have more and more urge to go back to my hometown...

Friday, December 25, 2009

Greetings

Merry Christmas to all of my readers :)

Saturday, December 19, 2009

Week in Review

This is a quiet Saturday evening. I just came back from a friend's birthday celebration. Not wanting to lingering outside for long, I just headed back home, and got myself a can of beer along the way.

Now, cozy as I am, in front of the PC powered by my trusted OpenSolaris, I am trying to comb through thoughts that ran through my mind in the past few days. I will list the most important things first:

  • I have been missing mak alot, for no apparent reason. It seems time doesn't dilute the memory, damn. But this time I am powerless, as I have no more way to reach her, and she no longer gives me any more chances. So here I am. Like a fish on a parched land, under the hot sun.
  • Been dabbling in functional programming by following the legendary SICP (yes, the full text and all course videos are online, free). Therefore I am again picking up the Scheme programming language (a dialect of Lisp, if you wanna know). I am aware there are a lot of newer languages out there like OCaml, F#, Clojure, or Haskell, however I think programming languages are tools, and as long as we understand the paradigm, concepts, and fundamentals, tools are often secondary. The beauty of Scheme is its simplicity and relatively small size. In fact, its latest specs R6RS, has merely 90 pages.

Monday, December 14, 2009

Week in Retrospect

The past week I was quite busy, and proudly I could announce the following:

On my OpenSolaris, I have successfully compiled and run Qt4.6.0, PLT-4.2.3, and NTFS-3g. I am still thinking if I want to spend the time to write up some guides. I think I need some requests to motivate myself. If you need a guide on compiling the above packages, please drop me a note. I will try my best to help.

I miss that girl (again).

Sunday, December 06, 2009

Lazy Sunday Noon

I just had my weekly badminton game this morning. I have been lazing around since after lunch.

Today is a little humid, there was a brief drizzle a few hours ago. Sun has been shy for most of the day. Here it goes again, my laundry is gonna take days to dry.

Cuppa has been relatively quiet and busy these few days. My regular blog readers most probably will know why: I am busy tinkering with OpenSolaris. My latest project is to get Qt 4.6 compiled. The process is not straightforward and still work-in-progress. For now what I can share is SunStudio 12 cannot compile Qt cleanly. More specifically, the Sun compiler obviously doesn't like the C++ codes in Qt which are quite gcc-biased. After some thoughts, I decided to bite the bullet and get gcc 4.3.4 and friends in my box. After that, things aren't very pretty as well. So far I have patched a few bugs in 'configure' and few Makefiles. The compilation is still running at the background now.

Hmm, how should I end this blog post? Put one extra period? I think this makes sense.

.

Now I start understand why you can both hate and love someone at the same time... ;)

Saturday, November 28, 2009

Pool Mirrored

I just bought another drive for my trusted OpenSolaris box to create a mirror for my data.

The command to create the pool is deceptively simple:


pfexec zpool attach poolname original_drive new_drive

To get the name of the pool and the original drive name:

pfexec zpool status

How about the name of the new drive? The only way I can think of is:

pfexec format

Comparing the outputs of the above commands will let you find the name of the new drive.

Example:
cuppa@opensolaris:/datapool$ pfexec format
Searching for disks...done


AVAILABLE DISK SELECTIONS:
0. c7t0d0
/pci@0,0/pci1458,b002@11/disk@0,0
1. c7t2d0
/pci@0,0/pci1458,b002@11/disk@2,0
2. c7t4d0
/pci@0,0/pci1458,b002@11/disk@4,0
Specify disk (enter its number):
Next we will check the status of my existing pools:


cuppa@opensolaris:~$ pfexec zpool status
pool: datapool
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
datapool ONLINE 0 0 0
c7t0d0 ONLINE 0 0 0

errors: No known data errors

pool: rpool
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
rpool ONLINE 0 0 0
c7t2d0s0 ONLINE 0 0 0

errors: No known data errors
cuppa@opensolaris:~$
Comparing the two outputs, it shows the device 'c7t4d0' is not used and therefore the new drive.

Adding it as mirror is straightforward:

pfexec zpool attach datapool c7t0d0 c7td4d0

Final product:

cuppa@opensolaris:~$ pfexec zpool status datapool
pool: datapool
state: ONLINE
scrub: none requested
config:

NAME STATE READ WRITE CKSUM
datapool ONLINE 0 0 0
mirror ONLINE 0 0 0
c7t0d0 ONLINE 0 0 0
c7t4d0 ONLINE 0 0 0

errors: No known data errors
cuppa@opensolaris:~$




WARNING: If you got the order of drive names wrong, you risk overwriting all your data!!! Be careful.

Friday, November 27, 2009

On Compiling OCaml

I just finished compiled OCaml from source on Opensolaris (2009.06), the latest version at this time of writing is 3.11.1.

The steps are straight-forward except one catch: The build is dependent on gcc and gnu make. In fact the default 'make' program that comes with Solaris won't work.

Solution is simple: go to www.blastwave.org and download the relevant packages. Just follow their instructions and you should be fine. :)

On an unrelated note, I miss her again but don't have anyway to contact her anymore... :(

FreeBSD 8 is Out

Production-grade FreeBSD 8 is released, and I have found FreeBSD more and more attractive as the OS of choice for my home server (as compared to OpenSolaris). Slashdot has a comprehensive coverage for it here with reviews, upgrade instructions, and screenshots.

So far I have not seen much development in OpenSolaris: the latest snv_128 snapshot cannot even boot on my amd64 system, so i am stuck with the 2009.06 of OS.

FreeBSD has added some interesting features, and ZFS is one of them. Unfortunately FreeBSD only supports up to version 13 of the ZFS, while my data is stored in version 14 format and this is an issue. Any slight mistake in migration will see all my data gone, which is something I hate to see happening.

I am still considering the relative merits of migrating to FreeBSD, the adding of more and more GNU tools and greater Linux compatibility has made this Unix quite a strong contender as desktop OS.

On the other hand, my current OpenSolaris setup is working properly as a file and general purpose server. I have spent more and more time using it as opposed to my Windoze machine nowadays. So I have to give OpenSolaris due credit for its stability and performance.

BTW, there are movements to put Debian on the FreeBSD and OpenSolaris kernel, though these two ports don't seem to have much development nowadays.

Saturday, November 21, 2009

Thoughts of the day

In no particular order....
  • As you might see my previous blog entry, it consists only two dots with a counter there. Weird as it is, I got two blank emails last few days and it really again perturbed my supposedly peaceful life. I still miss her. sigh...
  • The interviews went quite well and I think after two more sessions next week, I should be able to secure the job. I can't divulge which company and what it does. Though its products are madly popular and fashionable these days [hint hint]
  • Watched 2012 just now, and am amused at the scene where the government assured the people the worst is over just hours before the country got hit upside down. Amusingly, in our real world, aren't there some governments said the recession is over and the worst has past? Hmmm.... :)

Thursday, November 12, 2009

.

.

==
count = 2

Tuesday, November 10, 2009

Engineering or Not?

Updated Nov 11:
The news just broke Ericsson will spend less on its R&D, therefore shut its UK site by next year and whatever remains will be relocated to "lower cost-base countries"

This is totally not surprising because Ericsson is for-profit and has shareholders to report to. Those shareholders care only their return of investment, nothing else. This kind of stuff happens at UK now, and it will soon happen in Singapore.

Hence what should engineers do NOW? I will say we should have more breadth in more fields, especially business. Nowadays everything centrals around money, and often times, a profitable tech product is not necessarily solid technically, examples abound: IP (The one in the TCP/IP suite), NTSC standard, and yes, the MS Windows as when it first appeared.

"Stay hungry, stay foolish" -- Steve Jobs
============
Nowadays my usual topic with Mr. Snail will be about the prospect of engineering in Singapore, and despite I tried my best to be optimistic, the future of engineering here still doesn't seem so bright.

A few days ago I grew curious and searched google on this topic, and found a few discussion threads with hundreds of replies from former and current engineers, all venting fumes on more or less what I and Mr. Snail talked about.

Here are two of the threads I found: one, two.

If you don't have the time to plow through them, here is the gist (all currency in SG$):

  • Engineering pay is pathetic in Singapore, with fresh grads starting around $2.7K (manufacturing) or $3.5K(R&D). The money seems much better in finance and banking, which can go around $5.5K for fresh grads while five digit salaries are very common in banks.
  • One person even boasted an annual salary of $300K + stock options doing sales
  • A lot of engineers want to exit engineering and jump ship
  • Those who remain in engineering are damn bitter
Some people reasoned banks only employ a few people for trading but rack in millions, ergo each of them can get a significant amount of money after dividing the loot. While in engineering, there are a lot of overheads (RnD, raw materials, factory spaces, machinery, etc.) and the profits are divided thinly among number of staff. Therefore banking is the best occupation in terms of benefits and money.

But what I don't understand is: what those bankers do are NOT adding values to the economy, there is no real outputs and basically banks are just fucking with other people's money and grow things from nothing! What are the contributions of the financial sector and banks nowadays? except charging some exorbitant fees on basic banking transactions, giving meager interests on our savings but charging an arm and a leg for the loans. When the loans go bad, poof, they are written off and the government will use OUR money to bail those banks out.

No wonder everybody wants to be banker.

If you really wanna enter the banking sectors, I was told these two websites are compulsory readings:

Mark Joshi
E. Derman

Thursday, November 05, 2009

Ten Meaningful Quotes

These quotes are from the net, and I don't know who the original author is. The translations are to my best effort, certainly there could be better ones and you are welcome to help out. :)

第一句话:如果我们之间有1000步的距离,你只要跨出第1步,我就会朝你的方向走其余的999步。
[First Quote]: If there are 1000 steps between us, as long as you take the first one, I am willing to walk the remaining steps towards you.

第二句话:通常愿意留下来跟你争吵的人,才是真正爱你的人。

[Second Quote]: Usually the one who stays back to argue with you is the one who truly loves you.

第三句话:付出真心,才会得到真心,却也可能伤得彻底;保持距离,就能保护自己,却也注定永远寂寞。

[Third Quote]: Give out your heart, only then you will get one from others, but you could hurt thoroughly in the process; keeping a distance with others can protect yourself, but it also means you are destined to eternal solitude.

第四句话:有时候,不是对方不在乎你,而是你把对方看得太重。

[Fourth Quote]: Sometimes it is not the other person doesn't care about you, it is you who put too much attention on that person.

第五句话:朋友就是把你看透了还能喜欢你的人。

[Fifth Quote]: A friend is someone who knows you thoroughly but still chooses to like you.

第六句话:就算是believe,中间也藏了一个lie。

[Sixth Quote]: Even the word 'believe' has an 'lie' embedded within

第七句话:真正的好朋友,并不是在一起就有聊不完的话题,而是在一起,就算不说话也不会感到尴尬。

[Seventh Quote]: Real good friends don't have to have infinite amount of topics to talk about; but instead, when they are together, they won't feel awkward for not talking.

第八句话:没有一百分的另一半,只有五十分的两个人。

[Eighth Quote]: There is no 100% perfect partner, only two 50% persons

第九句话:为你的难过而快乐的,不是善人;为你的快乐而快乐的,是朋友;为你的难过而难过的,就是那些该放进心里的人。

[Ninth Quote]: Those who feel happy over your sorrow are not kind souls; those who are happy over your happiness are your friends; those who feel your sadness are those whom you should put inside your heart

第十句话:冷漠,有时候并不是无情,只是一种避免被伤害的工具。

[Tenth Quote]: Indifference, sometimes doesn't mean lack of emotions, it just serves as a tool to avoid injury.

这十句话很有意思,也很有深度,值得认真去思考,也许会有意想不到的收获。但请记住:没有绝对正确的话,不要过于迷信某一两句话,要结合具体情况进行具体的分析,没有自已的思考与判断,好话也会害死人。

These ten quotes have quite profound meanings and deserve some extra thoughts. But please note: There is no absolute truth, use your own discretion on these advices.

Friday, October 30, 2009

I am Back

Phew, after two weeks, I am back to scene. In fact, I just got down from the flight only a few hours ago. However I am very much sleepless, though I got up at 4am this morning to catch the plane.

Again the reason is silly: I got a blank email again before my departure. However this time I have no way to contact her. Therefore whatever I can do, I do it here at my blog.

Good nite...

Friday, October 16, 2009

Cuppa is Away

I will be away for sometime and be back in early November. See ya. :)

Tuesday, October 13, 2009

When Discrimination Kicks In...

This morning I saw my college friend online. He is an Asian now working in US and I told him nowadays most engineering jobs are gravitating to China because China has both the market and eco-systems for engineering.

He made a remark of "hoping to see no angmo in China". 'Angmo' is a derogatory term in Chinese, referring to Caucasians/Westerners. He said nowadays China is strong and (relatively) rich, so he doesn't want to see Westerners to 'snatch' the wealth away.

His remark left me in silence for sometime. I was quite shocked. To me, the western country that I am most familiar is US, and I had spent some of my happiest and saddest moments there. On top of that, the college that I attended gave me decent education and adequate exposure to the world. Though some people will argue that the foreign students did pay a hefty out-of-state tuition fee and therefore are entitled to the education, I beg to differ. The value that I got out is far far higher than the tuition fees I threw in, and I was glad I was educated in such fine university. To that end, I highly appreciate the opportunities given to me, though I am neither a Caucasian nor an American.

My stand on foreigners working in China is: it is a good use of human capital, and as long as the processes are fair and transparent, there is nothing wrong for somebody to earn a living in other countries. I really dislike people who cry discrimination at the slightest hint of difference in treatment, but with such deep-seated belief in protectionism.

Monday, October 12, 2009

On Blogging

I am not the first one among my friends to write blogs, and for now, I am one of the very few who still continue writing. YC has dropped and shut his blog down, FS's last post was in 2007, and the Soothsayer also seems to be MIA.

However I write blog not because I want to out-last my friends, neither do I want to earn money (i.e. no ads), nor to prove anything to anybody.

I can't explain why I continue either.

Sunday, October 11, 2009

Work, work, and work

A few days ago a head hunter called me. She claimed she represented her client, a US MNC which wants to establish an RnD center in Singapore. She said my profile matches her criteria and asked if I am interested.

As you may know I am not a big fan of MNC, but, the phrase 'establishing an RnD center' caught my attention, so I just said yeah, it sounds cool and she promised to furnish me more info.

For the mean while, I am just daydreaming away. Family, family, and family. Where is that girl....? These two days I have been sentimental. Here I dedicated the following song to her, though I know she won't understand most of the lyrics..., but..., when has she ever cared to understand me....?

p/s: Please note this artist is blind, that explains his occasional weird facial expression...

Don't Want to Close My Eyes...

Thursday, October 08, 2009

Where is the money?

The world's real-estate and stock markets are bullish, which leads many economists and politicians to announce economic recovery is on track!!

But is it really so? Take Singapore as example, even though the government housings are controlled by regulations (for example, only married couples are eligible to purchase, and each household is only entitled to one unit, etc), the price is shooting up. These housings are commonly called HDB flats, where Housing Development Board is the body that governs the sales and constructions of them.

Nowadays, for a modest unit of 4-room flat, with built-up area of around 1000 sq. ft. buyers will have to dole out S$20k to S$50k of cash (this is called Cash over Valuation, CoV) to the seller, on top of the valuation which will be around S$450K. So the 20% down-payment, CoV and renovation costs will easy add up to S$100K, and we are not yet including the S$300K loan that will burden the poor couple for the next 20-30 years. I just wonder when do people in Singapore are so rich to the extent they can snap up flats just like it is free? Or there are some unseen hands interfere with the market? No one knows.

The next thing that intrigues me is the bullish sentiment in the stock markets. Take US stock market for example, with unemployment rate of close to 10%, what are the fundamentals that can support the rising prices? Where are all the money come from? There must exist some sources and I can only think of four: entities (business or people) in US, entities outside of US, non-US government(s), and US government.

Think about it. :)

Sunday, October 04, 2009

The Story of C, C++, and D

As programming languages evolves, we have seen the introduction of C++ over C. But wait, is 'evolve' the correct word to describe C++?

Choice of programming language has always been a pseudo-religious topic, proponents for language X will use only one and only one language i.e. X and the rest are either 'toy languages', or complain incessantly for the lack of features A, B, or C that exist for that particular language.

Case in point: C vs. C++, as recently someone in reddit asked about the merit of C++ in embedded systems. The result is predictable, soon the thread has been flooded with 400+ of comments, and it looks like 80% of people prefer C. C++ can only take a back seat with labels like 'obscure syntax', 'inefficient', etc. Though there are thoughtful responses, overall the discussion gives an impression a lot of language zealots who support C, never actually spend enough time to really learn C++ properly. What I mean is C++ was designed with specific design goals and problem domains in mind. If you treat C++ as a C with strong type-checking, then you (and presumably the C++ compiler) won't be too happy in the long run.

To make the matter even more fun, here comes the D language: some random reader has complimented this language on reddit and solicited for opinions. Again, language fanboys are up in arms, defend their beloved {c, c++, java, python, perl, whatever} and make their best shots to shoot down D. Personally I view D with reservations as it is still in a state of flux. Investing time and resource in an experimental language is pretty risky, let alone D is in a rather awkward position of having 2 'standard' libraries (Phobos and Tango) and two versions: D 1.0 is so-called the stable branch while D 2.0 is experimental.

For a beginner like me, I am confused. Since D 2.0 is different from the core D 1.0 language, to me learning D 1.0 doesn't really worth my time and energy. On the other hand, D 2.0 is still under development, and the best strategy is to sit and wait until there is a stable D language spec.

Ah, but don't forget C++ is also undergoing some major uplifting: the C++0x is not yet formally approved yet, therefore the 'x' denotes the year where this new spec is being approved. A lot of people think it would be 2010, so it will be C++010, or C++0xA in hex. However, C++0x so far only adds features and it doesn't have any major change that will affect the current C++ code bases.

Now, back to the question: if I want a programming language that is relatively stable and usable for my jobs on hand, what language should I turn to?

Too bad, I can only go for C. Therefore, I declare C++ sucks! D sucks! :P haha

Tuesday, September 29, 2009

Random Thoughts

In no particular order:
  • Apple plans to refurbish its new line of iMac and Mac products, so whomever buys Mac products now is not really smart, because you will get a much better machine with the same price a few weeks later.
  • Learning SQL and UI using C++ now. Quite interesting and start to understand why UI guys prefer WYSIWYG interfaces. I am using Qt 2.3, honestly, it sucks. Ok, to be fair, QT 2.3 is _old_ and is from 2005. I have used Qt 4.5 and it feels quite predictable and sane. Ah thanks 2009
  • I miss my cat :(
  • More and more people are getting married. Hmm...

Thursday, September 24, 2009

Quotable Quote

Marriage Is Finding Someone Special That You Want To Annoy For The Rest Of Your Life



The instance I saw this there was exactly one and only one person emerged at my mind. I smiled but later wanted to cry. It is not likely I can annoy her anymore, I can't even find her.... :(

Friday, September 18, 2009

No Plain Water

Recently I had a very unpleasant dining experience at the Indonesian restaurant Rice Table at Orchard. The price is not cheap (around S$30/head for dinner) and I have a lot of reservations for its food and service quality.

I went there with 10 other friends for dinner. Two of us ordered warm water because we had throat problems, while the others ordered juice or soft drinks. When we asked for refill of the warm water, the waiter told us its their restaurant's policy not to serve plain water, and serving us the warm water was a 'mistake' apparently made by another waiter, but they said mineral water is for sale at $2 per bottle. After arguing to and fro with the waiter and his manager, we were going nowhere. Fuming, we talked among ourselves of not patronizing this place anymore. Then after like 10 minutes, the same manager came with a jug of warm water, apologized for 'the mistake', and sheepishly refilled the glasses. Why didn't they just refill the glasses swiftly until damages were done by pissing off so many potential customers?

I always don't understand what these people are thinking. They just want to squeeze $2 more from the customers? I feel serving plain water is a basic courtesy from an eatery. Just like you have chairs for customers to sit, despite the fact you can still eat while standing.

I highly not recommending places that charge for plain water and chairs.

Wednesday, September 16, 2009

Sleepless

Not sure why I am sleepless, usually I have gone to bed this time. I just browsed facebook, nothing much there. Don't think I can read any technical stuff at the moment, though I have been tinkering with the Qt tool kit these few days, and this tool kit is where C++ really shines.

Some people argue that you can implement the same thing in C with even better performance, but C lacks a lot of features like classes, data type checking and support for object-oriented programming. Using C in this case is just awkward. I also came across a installation wizard written in Python using Qt4 binding, and hey, it is neat and actually quite easy (enjoyable I would say, if you will pardon me describing reading script files can be joyful) to read, compared to scripts written in bash or perl.

More on this next time I guess...

Thursday, September 10, 2009

Some Thoughts

  • Yesterday it was an auspicious day for Chinese, because it was 09/09/09, and '9' in mandarin rhythms with the word 'lasting', and not surprisingly, many people had their wedding ceremonies or registered for marriage. To me that was just yet another day and putting any labels on the passage of time is entirely arbitrary and artificial. Having say that, I don't deny a hypocrite I am, I am thinking 2010 marks ten years of my knowing her. Does 10/10/10 sound romantic and geeky, as it can be interpreted either as decimal, binary, and hex?
  • I took bus yesterday and the TV in the bus was showing a drama series. In the drama, a guy was proposing to a woman he admired, knelt down, hands with bouquets of roses and a huge diamond ring. The woman just said in a very firm tone: "We can't develop further, because my heart still lives in the past." She loved a man long long time ago, and she refused to let go of the memory. Though usually I would just ignore this kind of drama series, what she said did ring a bell in me... I still live in a relationship that has lasted for 10 years, though there is NO relationship per se. I am living in my perfect dream world, with everything imagined by myself (and some years-old memory fragments), but i know much better than anybody what I am up to. I just can't help....
  • With a glass of Somerton 2007 merlot in hand, I am in blogging mode. The wine is so nice while drinking in quiet environment. I have turned off my handphone, and a while ago my gf sent me an IM asking "do you love me?", I ignored the question with a sense of guilt at heart. She is innocent in this case, but my attention is not on her tonight. I am thinking the other girl.. whom I have missed for ten years, ten fucking years. I just don't understand why she doesn't try to talk to me if she is still interested? I admit I was quite rude when she called me while we were still in college, but I did that entirely unintentionally, I thought she was my office-mate's wife, who always called him every night. The last phone call I got was when I was in Intel, and I still remember she put Shakira's song at the voice mail. So much for family, great.

Sunday, September 06, 2009

Random Things over a Week

It is nearly the end of Sunday and tomorrow is the start of another work week (technical Sunday is the start of a week, but it doesn't feel so). Some random thoughts:

  • An ex-colleague contacted me for job prospects in Singapore. It seems he has been unemployed for almost one year. He claims he is doing free-lancing now, but from the way he talked, he was desperate. I am in good terms with him, but I am not so sure what to say to my manager as this guy is a typical engineer with weird temper and attitude. Still figuring how to help him...
  • I got back from yet another movie with gf just now. It was a Singapore-made movie "Where Got Ghost", though it is advertised as a Chinese movie, but inside 80% of the conversations are in Hokkien (a Chinese dialect) and the rest is mixtures of Chinese, English, and Cantonese. This movie to be frank is only suitable for people residing in Singapore and the furthest it can go will be Malaysia where the people also understand the context and culture. Other than these two places, the audiences will have a really hard time to understand what the story is about, let alone catching those Singaporean jokes. Here is  a 'derivative' product from this movie, and see if you find it funny or not (I do).
  •  I slowly will set up a technical blog for all the technical stuff to showcase for potential employers and investors. This cuppa chai site will be solely for posts related to my thoughts and daily routines.
  • Sometimes you will miss someone for no reasons. I hate myself. 

Thursday, September 03, 2009

Should I should I (Part 2)

Though these days most of my blog posts are about my personal stuff and I grumbled like an old man, I did have an (engineer's) life, listed below.

  • Opera 10 debutted a couple days ago and it seems sexy. You must heard about Opera, right? No, you mean you don't know there is a browser as good as Opera? Then click on the link and go take a look. The size is comparatively small (~10MB) and installations were painless for my Windoze and Linux machines. The most important thing for me is this is the first time I can finally see the blogspot interface being rendered correctly with no missing features.
  • Snow leopard is out. Apple has pushed the new OS X ahead of Windows 7  to steal the show. From the user point of view, there aren't many new features, but internally,  changes aplenty(e.g. moving a major portion of the kernel to 64bit). These changes not necessarily are crucial or useful to most of the users _now_, but these are obviously plan-ahead that will serve as a more liberating foundation for OS X in the future. John Siracusa from Ars Technica has done an extensive, excellent review which covers many topics, include the user interface, kernel internals, compilers, and multi-threading on the big cat. It is an interesting read if you are into technical stuff (if you think my blog is interesting, then you will like that article). The link is here.
  • After reading what Snow Leopard is capable to do, it is extremely tempting for me to get a Mac to play with. So, again, my question this time is: Should I get a Mac? :P

Going back on some softer subject, just now my gf called and told me her female friend has already talked about wedding, despite she and her boy friend only know each other for less than 2 months. As usual, my gf asked me why we were so 'slow'. Well, proposing for wedding isn't hard, the key is you need both persons to say 'I do'... Right place, right time,  wrong person....


Monday, August 31, 2009

People U Love The Most

Just now I was chatting with gf, she claimed she knows me well. She listed things like what I like to drink, where I like to go, etc. to prove her point.

One of the items was: "ppl u love the most - ur parents". I smiled but said nothing. Her answer is not wrong, and practically it is correct. "Whatever..." I heard myself said.

Good nite.

Tuesday, August 25, 2009

Life as It Is

Just got back from a movie session with gf, and she hinted about marriage. Evidently she is looking forward to having a family in Singapore, as she starts to search for whole HDB unit for rent. I looked at her pretty face, and thought this is actually not a bad idea also. Life gotta move on. Heh. :)

Saturday, August 22, 2009

Friday Night, Cheers

The blogger interface today looks slightly better, though there are still some glitches here and there, it is much more usable now.

With a can of Guinness stout beside me, I am still sleepless. There are questions in my mind that I need answers:

- There are problems with audio at work, the platform can't play music files reliably, the source codes involve I2C, DMA and I2S. A precursory look seems the softirq setting in DMA is fucked. I gotta look into the components one by one on Monday.

- How to tell whether my OpenSolaris is running the 64-bit kernel on my new, shiny Athlon II X2 240 processor? There is nothing shown by 'uname -a', except the following:

SunOS opensolaris 5.11 snv_111b i86pc i386 i86pc Solaris

- I somehow miss mak, but I have no plan to contact her, mainly it serves no point. A relationship is bilateral. A dreamer I am, I am thinking maybe one day she will work in Singapore, and hey, maybe we can buy a flat in Singapore and have our own family. Hahaha. =)

Wednesday, August 19, 2009

Blogspot is Weird

Blogspot is weird, the blogging interface is messed up and a lot of features are not available. I can only write some simple paragraphs for now.

Anyway, thanks for reading :)

Friday, August 14, 2009

Should I? Should I?

I just attended an interview with IBM. Nothing much, just an ordinary interview, with ordinary questions.

That position is on test automation, to be based in Singapore and is almost exactly like the job I had back in Intel: automation system, perl, multi-sites, multi components on the system, regular meetings with the north American counterparts, and all the politics you can get from a big company and multi-site projects.

Since I have a lot of relevant experiences for this position, it won't be much problem for me to secure this job.

Truth be told, I am quite happy with my current job, though I know too well this ibm job will give me a chance to go to Austin for a month-long training... At least, I will be in the same country as mak, even just for a short while. Throughout the interview, I was struggling within myself, should I take this job to go Austin? should I....? But what could I do if I was in Austin, what could WE do even if I could see her? Getting married? All in all, we are out of touch completely for close to 10 years... But I still miss her, for some unknown reasons, maybe it was the scent of her hair, maybe it was because I like her naivete to try to help Africa, or maybe I am a hopeless silly guy...

At the end of interview I told the interviewers I would think long and hard about this position, thanked them, and left.

On my way home, my mind was filled by questions: should I? should I...?

Sunday, August 09, 2009

My OpenSolaris is Up

Just a quick update I have my desktop running after getting it an Athlon II and a Gigabyte MA785GM-US2H motherboard. Yes, everything seems working for OpenSolaris 06.2009 and I will resume my technical blogging soon.

I got a blank email this morning, and it is my most familiar foreign object. Hmm....

Thursday, August 06, 2009

Random Thoughts

I just implemented a Linux system call feature to toggle a gpio pin. There are other ways to accomplish that, I just want to revise about system calls implementation.

All these days I do on and off think about mak. This is damn weird and silly.

Rumor has it that Apple is going to introduce tablet PC. Oooh, hope it is not the exploding one like some iPods do...

Singapore is damn crowded and today it is hazy. Bad air quality

I am very tired now.

Tuesday, August 04, 2009

The Advent of Chiwan

Chiwan (pronounced as Caiwan, rhythms with 'shine one') is a new term that caught a lot of attention world wide. This term, coined by a newspaper in South Korea, refers to the combination of China and Taiwan, and hence the name 'Chiwan'. Some people refer it as 'Chaiwan', however since there is a district in Hong Kong is called 'Chaiwan', I think Chiwan is a better term.

Taiwan and China were not cooperating much last time due to different political stances, but the Mah government represents a new set of faces towards the communist country. Ties are getting warmer and a few trade pacts were signed. For one Taiwan has accumulated a lot of technical know-hows after decades of experiences designing high-tech gadgets for big names like Apple and IBM. China has a vast eager market and almost unlimited supply of cheap labors. The effect of the brawn of China married with the brain of Taiwan has sent chill down to splines of all the major economies. South Korea is among the first to feel the impact from this strategic alliances as it sees its export dropped.

I am typing this blog as an engineer in Singapore, and I am looking at the new dynamics with interest. What I am pretty sure is Singapore will be hit by Chiwan eventually. As the pool of engineering talent dries up because of lower pay, companies will have to move to places where the talents are.

While I was typing this post, there is news about Seagate to shut down all the operations in Singapore and lay off as many as 8000 workers.

I will say this is just the start of the economy crisis...

Sunday, July 26, 2009

How to Send Binary File to Serial Port Under Linux

Recently I need to send a binary file to a device connected to the serial port of my PC. Under windows I can use the 'send binary file' in teraterm, how about under minicom?

The solution is simple, if your serial port is COM1:

cat [filename] > /dev/ttyS0

Or if you are using some kind of USB to serial converter:

cat [filename] > /dev/ttyUSB0

Note: The number could differ depending on your system configuration, it could be /dev/ttyUSB4 for example. To check what is the number, do a 'ls -l /dev/ttyUSB*'

Sunday, July 12, 2009

The Dead Wood Syndrome

When a tree grows big enough, some branches will stop functioning, and they become dead wood. Similarly, when a company grows to a certain size, some people will stop contributing positively, and literally, they are also becoming dead wood.

For a company, the problem doesn't stop at the productivity lost from the dead wood employees. Due to the nature of dead wood, they will sap energy and productivity away from those good employees. 'Good employees' in this context refers to productive and contributing people in a company. Eventually the good ones will either feel overloaded or frustrated because of the under-appreciation from the management. In one way or another, they can and will find a better place to work .

What runs parallel with this is Gresham's Law: bad money drives out good.

I am witnessing the exact problem now in my company. The incompetent people are driving out a good engineer. This makes me to rethink my career path...

Saturday, July 11, 2009

Love Story

Recently my colleague told me there is a song which is a hit called "Love Story" by Taylor Swift. He knows that because his daughters like it very very much.

The music video looks nice, mainly because Taylor is pretty. Lyrics-wise I have nothing much to talk about because it is the standard stuff. Nevertheless, it is still worth a look if you have nothing much to do.


Saturday, July 04, 2009

Wishing Myself A Happy Birthday

Just come home from a drinking session with colleagues, however today I really had no mood to drink. It is July 4. For all these years, I never forget this day....

I like this song, its title is: wishing myself a Happy Birthday... Hope you like it...



Sunday, June 28, 2009

Change of Status

Have not blogged for almost a month now, the reason is I have resumed dating and now in a relationship, although it is not very stable yet, but nevertheless it is a relationship.

I keep on thinking to write something meaningful on my blog, however I am quite exhausted recently to think anything too much too deep.

Since I have started talking about relationship, let me elaborate.

A 'relationship' connotes a status change, and usually it is associated with two people in love. In my case, there are a few non-trivial questions to be answered, among those will be "what is love?", and "is this better than being alone?"

So far what I can conclude getting someone who loves me more no doubt is selfish, but it is much easier than to love someone who sends only blank emails. My current girl can't make me laugh, but she also won't make me cry.

I am so tired.

Sunday, May 31, 2009

Always better with windows?

Asus and Microsoft think so, after launching a campaign "It's Better With Windows". Link here.

I feel so glad I didn't buy Asus laptops.

Wednesday, May 06, 2009

Farewell To Fravia

I doubt many people will know who Fravia is, he is one of the finest hackers I am aware of. Note the term 'hacker' here carries no derogatory meaning, in fact it's a compliment.

He wrote a pile of essays in 90's on reverse-engineering. To some idiots he was a cracker who did nothing but wanted to steal software, but his essays convey much more than just cracking and getting software free. His thoughts on freedom of information, how people are zombie-lized by TV, and the view on information have influenced me fundamentally. I have to agree it was his prowess that I really look up to and eventually driven me to engineering

I learned that he passed away on May 3, 2009 and he left a final page on his webpage here.

Saturday, May 02, 2009

The No No-Script Saga

I was a user of the firefox add-on No-Script for sometime, until I found it updated itself too frequently (about once per week), was too intrusive for web surfing, and was not very useful (i.e. blocks everything blindly). I removed this add-on about 3 months ago.

Then I came across this news about its frequency of updating is tied to ad-revenue (after every update it will open a 'change log' fully loaded with ads), and its numerous attempts to cripple another ad-blocking add-on, Adblock Plus.

For ad-blocking purpose, my firefox has the following add-ons, which I am quite happy with:

AdBlock Plus
Better Privacy
FlashBlock

I do sympathize the author of No-Script, he has put in tremendous amount of time and resources in the add-on and it is understandable he tries to get some money back from the user base he has had. However he used the wrong approach, which breaks the trust and very well will kill No-Script.

Saturday, April 25, 2009

Useful tool for MSN live messenger

I use MSN Live messenger quite regularly at home and I really don't like the advertisements flashed at the bottom of the messenger panel, they are way too distracting.

A quick google search has revealed a tool called A-Patch. This is a small and simple Windows utility and it has a few additional options on top of disabling the ads.

A nice tool :)

Thursday, April 16, 2009

Do You Still Dare to Use Command Prompt?

Recently a student in Boston College got into trouble after sending an email to his school's mailing list identifying another student as gay. His computer equipment was seized until now. What I found interesting is, instead of citing libel or defamation, the police uses expertise in computer as probable cause for equipment seizure.

To paraphrase the report, the police paints the student as suspicious partly he is a Computer Science major, and partly because he can navigate non-windows system by using the command prompt.

Hence my dear reader, if you are in the US, you better use M$ windows to avoid raising suspicion from your local law authority. Even you have to use *Nix, remember do NOT open any terminal window. Just stick to the windows manager and you should be fine (for now).

God bless America (Yes, you need it)

Original news article here.

Monday, April 06, 2009

The Fringe Benefits of Failure, and the Importance of Imagination

This is the Commencement Address delivered by J.K. Rowling to the Annual Meeting of the Harvard Alumni Association: Here

Steve Jobs delivered a similar talk to Stanford grads in 2005 and what I found amazing is the theme these talks share: both of them emphasize about the importance of failure, and the need to do what one loves.

Here is an excerpt of what Rowling said:

So why do I talk about the benefits of failure? Simply because failure meant a stripping away of the inessential. I stopped pretending to myself that I was anything other than what I was, and began to direct all my energy into finishing the only work that mattered to me. Had I really succeeded at anything else, I might never have found the determination to succeed in the one arena I believed I truly belonged. I was set free, because my greatest fear had been realised, and I was still alive, and I still had a daughter whom I adored, and I had an old typewriter and a big idea. And so rock bottom became the solid foundation on which I rebuilt my life.
Compare this with what Jobs said (the transcript is here):

I'm pretty sure none of this would have happened if I hadn't been fired from Apple. It was awful tasting medicine, but I guess the patient needed it. Sometimes life hits you in the head with a brick. Don't lose faith. I'm convinced that the only thing that kept me going was that I loved what I did. You've got to find what you love. And that is as true for your work as it is for your lovers. Your work is going to fill a large part of your life, and the only way to be truly satisfied is to do what you believe is great work. And the only way to do great work is to love what you do. If you haven't found it yet, keep looking. Don't settle. As with all matters of the heart, you'll know when you find it. And, like any great relationship, it just gets better and better as the years roll on. So keep looking until you find it. Don't settle.

When time is tough, persist, and be yourself.

Thursday, April 02, 2009

What A Software Engineering Company Should Be

A recent blog post by Joel Spolsky talks about job level and pay scale, and Spolsky said he got some of the idea on uniform salary for a particular job level from Construx.

I went to the Construx website. Construx is a company that provides software-engineering consultancy and advices. I didn't delve deep into its business, but I am quite impressed by the technical ladder this company provides to its employees.

The Construx Professional Ladder provides a very good pointer for software engineer at all type of skill levels. What I find valuable is the reading list.

Wednesday, March 25, 2009

Pareto's Law

I need to move house again. During packing, I found out there are quite a lot of stuff that I didn't even manage to unpack from my previous move: 2 pairs of jeans, a few shirts, a stack of unused notebooks (the good old dead-tree ones), and some blank CDs.

This again confirms the Pareto's Law: In 80% of my time, I only use 20% of my stuff. In other words, more than 50% of my things can be thrown away, or better still, need not be bought at the first place.

Late in February I threw away a part of myself after 9 years, well, not exactly the physical self, but more on the memories. I don't see how the relationship is going, I just buried it somewhere, and left.

Friday, March 20, 2009

When Mac OS Fails

A conventional wisdom for IT people, especially those of my age, will be Unix or its derivatives are secure, while Windows is not.

That is why when Apple was pushing for OS X a few years ago, it kept on emphasizing its OS is of BSD-Unix variant, and therefore, more secure.

Things change fast, especially in IT. The most recent security test for browsers showed a fully patched OS X was hacked in seconds. (Relevant news here)

And guess what is the toughest combination of operating system + browser to hack?

  • Firefox + Windows
  • Chrome + Windows
The relevant news article is here. The authors didn't mention anything about browsers running under Linux or Solaris.

Sunday, March 15, 2009

Regulating Genes

I was told the following video creators really know their molecular biology:

Tuesday, March 03, 2009

Blogging or Facebooking?

Recently the frequency of updating my blog has gone down and instead, I spend more and more time on facebook, or "facebooking".

If your network circle is small, there won't be much activities in your facebook page, however, having a big network is not always good either. As your circle gets bigger, it becomes more and more unwieldy to handle. Look, the circle may consist of your acquaintances from primary school, secondary school, college, and all previous and existing companies you have served. I don't know about you, but there are things that I am willing to share with my college friends, but not to my current colleagues. A common denominator for all these groups will boil down to essentially nothing about myself, or just plainly about other people's stuff.

I am thinking the reason why I shift to facebook, and I realize facebook does give me more interactions with my friends, and at the same time, I can just choose not to talk but to look at what others are up to. Moreover, when I say something or do something, I can be relatively sure people will notice, though they may not respond and leave comments, which is fine with me. Blogging so far does not have this kind of 'traffic'.

Does that mean I will abandon my blog? No, I don't think so.

My long time readers may realize I have not blogged about technologies for a long time. The truth is I have been busy working on some Linux hacking and have made some progresses. When the project hits the milestone, I will post some how-to's and do more sharings. Stay tuned. :)

Thursday, February 26, 2009

Advices for Techies

A good article on "Things I wish I 'd been told", written in 90's but still very relevant. The original article is here.

Here are some points that I find useful:

Experiment

Your 20s are a great time to take risks and try new things. So feel free to experiment with different jobs. Your goal should be to learn what types of jobs you’d like to be doing for the next 40 years or so. Trying different jobs is an excellent way to learn.

Avoid Becoming a Manager

While you experiment, however, avoid management positions. It is very easy to become a manager. The technical field is always happy to find a new mid-level manager who is technical competent. And your pay will initially rise much faster than if you stay a techie.

But there’s a serious downside. It is very hard to stay technically competent as a manager. So once you move to management, in about 7 to 15 years, you’ll have no useful technical skills. You just be another technically weak mid-level manager with indifferent business skills (since you don’t have an MBA). When times get tough, companies work very hard to keep their technical staff (and may even offer raises) while they are laying off mid-level managers. And it is a lot harder to find a new job as a manager than as a techie.

Keep Your Skills Current

A common career mistake is to fail to keep your technical skills current. Indeed, as you get older, your set of skills should be continuing to grow. Take the time to learn new programming languages as they become important. Keep track of technology as it changes. The simplest way to do keep current is to join a technical society like ACM or IEEE and read the monthly magazines they send you for interesting ideas. Many conferences have good tutorials, which is another way to keep in touch with progress in the field. Another nice feature of professional societies is that they have a wide range of group insurance plans that can be used to supplement gaps in your employer benefits (especially if, say, you are with a startup).



Saturday, February 21, 2009

Eating Your Dog Food

"Eating one's dog food" (EODF) is a pretty common phrase in the software industry. It means "to use the product that one makes".

For example, if M$ would eat its dog food, then all the computers in M$ offices, barring those for cross-platform testing, should be running Vista. But I suspect number of Windows XP and OS-X will be significant.

I observed not many companies actually eat their own dog food, at least not at all of my previous companies. Even for companies that do, the users are usually not the developers, and feedback either never collected, or blissfully ignored.

Why EODF is important? To understand this, we must first understand humans are selfish, and when something is not related to us personally, we don't really care.

However, if the developers have to reboot their machines every couple of hours, then they will crack their heads to stabilize the software. If the developers' lives are tied to the two-way radios day-in-and-day-out, they will write more maintainable codes, start using UML properly (or just stop using it altogether), hire more competent programmers, and test the software more thoroughly beyond just shouting "TESTING 123" on the radio at left hand, and passed the test when there is sound coming out from the radio at the right.

By enforcing EODF, this will tie the interest of the developers to the products they are developing. I have observed quite a number of products are developed and tested by people who won't be using them as regular users.

EODF should form part of the framework for US banks: First, bonuses are paid in the financial products that one sells, and vested gradually over a ten-year window. Second, impose a hefty fine and allow litigation for product responsibilities like what is in the automobiles or consumer electronics sectors. I believe in this way the Wall Street bankers will think things through before screwing the whole world for their own benefits.

Tuesday, February 17, 2009

The Nothingness

I think there are more than one blog posts of mine bearing this title. Indeed this is how I feel throughout these days.

Days and nights just zip by and all I can remember are 1) I wake up and go to office 2) I go back home from office and ready to sleep

Time flies so fast I barely remember what I have done, well, I did attend a gathering on Valentine's day and had a good time, but it is pretty much of it.

Gee, how should we counter this zombie-like lives???

Thursday, February 12, 2009

Super Genius Wanted

Reddit Programming recently has a job ad that is very interesting. A company in London is looking for Senior Software Developer.

One of the requirements:

It is expected that you will be highly proficient in all industry standard programming languages including (but not limited to): Java, including threading, reflection, classloaders, C & C++, C#, Visual Basic (including VBA and VB.NET), Perl, Python, JavaScript and ActionScript (Flash), J2EE, XML & XLST, SOAP & Web Services, SQL, MySQL, Object-Relational Mapping, HTML, CSS & Web Design, Object-Oriented Design, Most GUI toolkits including Java Swing, Win32, GTK.
The package?
Opportunities exist for the best Developers across the experience spectrum and so the salary on offer ranges from £35,000 to £65,000 depending on your background. There is also a bonus, healthcare and pension scheme.

Please do note the term "highly proficient" and I doubt if anybody can be highly proficient in a handful of programming languages in any given time.

The job ad is here.

Wednesday, February 11, 2009

When Job Calls

I just got an email from JobStreet on firmware/BIOS engineer job opening in Penang. An MNC is starting up in Penang and this is a team lead role.

Reading through the job description (JD), this seems like a typical maintenance job for mature, or soon to be obsolete products. Even though in the JD, it reads "Specify, design, implement, and test software features and capabilities for new and existing embedded computers", do give attention to the keyword "existing embedded computers".

The next paragraph in the JD is interesting and data-packed:
"-Diagnose and debug problems with your product or problems arising when your product interacts or integrates with other NI products"
In fact, this is the real job description: validation engineer, or firmware for testing. On top of that, it also reviews the hiring company is NI. I wonder what kind of new product it will let PG to drive.

The requirements are typical, for example:
-Experience with x86 CPU architecture, BIOS, EFI and ACPI
-Proficient in x86 assembly and C/C++ development and debugging
These aren't bad, however for now I do believe doing things beside x86 will give me more values and a new perspective on embedded devices. There are enough people knowing x86 architecture anyway.

On top of all these, this brings back the memory of odd-hours meetings, and multi-site politics which I had had last time. Especially in this kind of economy, having an office in Asia definitely will make the US folks nervous, which in turn will make getting data and technology transfers difficult. This is somewhere between a rock and a hard place which I myself don't wish to be in. Pass!!

You may say I am lucky to get interview opportunity, but I assure you it is not all about luck:
  • I keep on adding values to myself. I choose what to focus and what not to.
  • I keep an eye on the real world and opportunities. Hiding in MNC may make me feel secure and good, but I could very well wake up the next morning jobless, and the skills I have gotten in MNC are usually useless, too specialized, proprietary, or, all of the above. Example of useless skill will be making of PowerPoint slide for weekly update, this is time-wasting and mind-numbing, but still the managers demand them week after week. Over-specialization is straight-forward: the logical software modules are broken into so many pieces that virtually no one knows what is going on. I am not kidding, this happened in my ex-company where even the principal engineers knew only part of the system (the rest was only known to the counterpart in US...). The last one is also not hard to understand, proprietary stuff has two categories: first is home-brew software which isn't available outside. For example handphone companies have software that can force their phones into certain test modes with additional abilities. The second category is the use of some commercial tools that are not within the budget of smaller companies. Rational Rose, Rational ClearQuest and ClearCase will be good examples of this type of software.
  • I have spent significant amount of time in this trade, it is really about if you are interested in something or not.
I have not much say on luck, so I can only work on what I can control.

Monday, February 09, 2009

The Lesser, The Better

Paul Graham recently wrote an interesting article on the similarity of politics and religion here. In that article, he shared some thought on why these topics will generate much more heated but useless debates than other topics, like mathematics or C programming.

Just imagine how many hours of our precious time are wasted by people who preach a particular religion or political view? Even if you think you are immune from all these nonsenses, have you ever taken a flight in US before? How many hours you were in line to board due to security search ahead?

"To prevent terrorism", you may say. Correct, but what are the main forces behind all the 911 and the Iraq drama? You got it. Religions and politics. I don't mean people should isolate themselves from the world, but we should exercise common-sense and proper reasoning on what being told as the 'truth'.

I don't plan to paraphrase Graham's article. Instead, I want to add that in order for us to stay independent and remain objective, it is useful to be paranoid and skeptical: believe in as few things as possible, and always re-examine things you believe with an open-mind, because things do and will change.

Sunday, February 08, 2009

Advanced Appliance in My Home

C'mon, I know you envy that. ;)

Monday, February 02, 2009

OpenOffice in Malaysia

I know OpenOffice 3.0.1 is out and I want to look for its release notes to see what issues are fixed. I stumbled upon a piece of information which is pretty surprising:

A significant number of Malaysian government bodies are using OpenOffice.

According to this link, there are 130K known OpenOffice installations in the Malaysian government, which translates to an estimated saving of RM12 Million (the report assumes comparable commercial product is RM950 a pop).

Another interesting list is here which shows known OpenOffice deployment in different countries. Look at it, and look at it closely. Can you identify where are friends of US? ;)

New Year, Same Hopes

I am now in Singapore after a long and relaxing holiday back home. Home sweet home, I start to miss it now. :)

As a first article for all of you during this uncertain 2009, India seems to have good news for the world's poor people: a 10-buck laptop. That is right, a laptop for ten US dollar and they (the Indian government, and a few Indian colleges) claim this laptop has 2GB of RAM, WiFi, Ethernet, and even expandable memory. Articles on this news abound, but the following two are interesting (and short). Click here and here.

What sets me wondering is why they stopped at the price, they can go on and claim this laptop is insanely powerful, and even can end world hunger and bring peace to the middle east.

I am quite saddened and disappointed by their humbleness this time.

Wednesday, January 21, 2009

OOP: Chinese New Year

In my first company, when employees were on leave or for some reason not at work, they would set up their email auto responder with a subject line of "OOP: Annual leave" or something like that. The acronym "OOP" stands for "Out Of Plant" was more of a legacy because that company had (and still has) a strong manufacturing background. There are some minor details in life that you will suddenly recall in some unexpected times. :)

I am going back home for Chinese New Year (first day will be on Monday, Jan 26). No promise on blog update, hopefully I can resume in early February.

On an unrelated note, a relationship is a bi-lateral affair. I am hoping for responses beyond blank emails...

Sunday, January 18, 2009

Using Static IP Address With Vista ICS

I have been trying to figure out a way to access Internet via Vista ICS from my OpenSolaris box. Since my OS box is a file server, it doesn't make sense to use a DHCP or else it will get a different IP address upon each boot up which is not convenient.

After some time of experimenting with it, I managed to get the static IP assigned to the OS box, and here are the steps.

For ease of naming, I will call the Vista host as 'H', this is the computer with ICS turned on that will connect to the outside world. The client computer that wishes to use ICS we shall call as 'C', and in my case it is running OpenSolaris snv_101b.

  • Make sure both H and C are connected somehow, either wired or wireless is entirely up to you. The bottom line is they must be connected. The most time-wasting mistake is to try troubleshooting a network connectivity at software level while the root-cause is due to unplugged cable(s).
  • There is nothing to configure at H side once ICS is up and running
  • To make sure ICS really works, you may want to enable DHCP at C to see if it can talk to the outside world
  • Once C is working with DHCP, disable the auto configuration by unchecking the "Configure network automatically' box.


  • Set the following parameter

    IP address: 192.168.0. x where x is between 2 and 254, inclusive

    Subnet mask: 255.255.255.0

    Gateway address: 192.168.0.1 (this address is fixed by M$)


  • Check /etc/resolv.conf and make sure the following lines are there:


    domain mshome.net
    nameserver 192.168.0.1



  • Open and edit /etc/nsswitch.conf (root privilege required), search for the following lines:


    hosts: files

    ipnodes: files



    Change the above lines to:

    hosts: files dns

    ipnodes: files dns
Now C should be able to access the Internet normally while having a static private IP. Have fun. :)

Saturday, January 17, 2009

OpenSolaris Kernel Building (Part 1)

Building the kernel for open-source OS is the rite of passage for any self-respecting nerds. I have ample of experience in compiling Linux kernels, for the x86 platform and a couple of ARM platforms, and today I tried my hands on OpenSolaris kernel.

It seems the process is not straight forward, and until now I still can't get it done.

The problem lies in the documentation and the kernel source code don't come in one clean package. The relatively weak package management system also exacerbates the situation as I need to run around to hunt for dependencies. Another issue that I face is the poor documentation, not the lack of it, but there are contradicting documents on Sun's website to the extent I am not sure which document is up-to-date and usable.

After digging through the web and some careful investigations, the following sites seem credible:

I have most of the needed packages in place, and I figure the next thing I need to do is to follow the instructions closely to get my kernel compiled. However I am still very new to Solaris and need more time to figure out the overall system architecture.

Wednesday, January 14, 2009

Work for Things That You Love

My office computer just arrived, and as usual for office computers, it is the usual cheapo: Dell Optiplex 360. What really amazes me is this darn thing doesn't come with reset button, so anything wrong I will have to long-press the power button to shut it down, then hit the button again to start it. What a piece of junk, no wonder Dell's finance in such a mess.

The first thing that I did when I got the machine was to install Ubuntu and all the essential packages that I need and love. However I found out ALL my colleagues are actually doing Linux development under Windows, and they test their work by running Linux under Vmware. My initial reaction went like "What!?!", one of them told me he just hates Linux and Linux just doesn't work for him. The rest of the guys echoed similar sentiments. It is darn odd to be the only guy in the group who likes and enjoys using Linux. (Disclosure: now I am typing this blog under OpenSolaris, and I think OpenSolaris has a bright future). I keep my laptop running Vista not because I like it, but because so far there is no driver for my dual graphic cards and I have no time to develop one.

My colleague's remark keeps me thinking about the meaning of work. How happy can you be when you are working something that you hate? Just like a cook who doesn't enjoy good food and a mechanic who hates driving. All these people are just spending most of their waking hours in unhappiness.

From my experience, when a product is developed by people who don't use it, there will be a lot of problems. My first job was developing and testing of software drivers for network processors. Once there was a very obvious defect in USB, but it passed through the regression tests and system tests. Finally uncovered by a customer. He just questioned my manager "How the hell you guys tested your software?". The reason was simple, the developers only talked about women, handphones, cars, and movies, they didn't like the product and no one ever bothered to do any pet projects with those chips (these chips are actually quite powerful and versatile). The next job was on walkie-talkies, again the developers never actually carried one and used it, and as expected, the product gave a lot of issues after few hours of use.

I am happy after years of struggle, I get paid to do things that I will do anyway when I am free. Although there is deadline hanging on my head, nevertheless I still feel good about going to work every morning when I wake up.

Monday, January 12, 2009

Using Vista as a Router

Cuppa got himself a desktop for development work, and it is not unexpected the OS of choice is OpenSolaris. Mainly for the safe-keeping of the data.

I do aware there are Internet-based storage services like dropbox, however I feel much safer and can sleep better knowing my data just sit by my side, instead of sitting thousand miles in data centers that I don't know.

During the setup of my desktop I learned the importance of utilizing resources that I have. The case in point is only my laptop (running Vista) has wireless capability, while my OpenSolaris box doesn't. Initially I was thinking to get a wireless interface or a wireless-to-wired device. However it is not very efficient and I don't want to shell out more money just to get myself connected. I figured maybe Internet isn't very important, I can download everything using Windows and throw them to the Solaris box. While I stared at my laptop, it dawned to me I could use the Vista laptop just as a bridge. Bingo! part of the solution resolved.

Next, how should I connect those two? I recall I have a switch with my friend, but that means I gotta wait until weekend to get it back. While taking shower, I asked myself why I needed the switch and thought about straight and cross cables. Suddenly the word 'PHY' crossed my mind and I remember for most modern Ethernet PHYs, the types of cable no longer matter. This is one of the advantages of working in small companies where I am exposed to different aspect of engineering, I learned that modern PHYs actually have abilities to detect the cable type and do the swap internally. In fact, you can now just use straight or cross cables where you please. I pulled out a straight cable and paired the two devices up. Now all my computers are networked and I don't have to spend an extra dime, PLUS I have a solid OpenSolaris with the trusted ZFS for all my files.

Friday, January 09, 2009

New Job New Job

I decide to shift my focus on my new job for the mean while as this area seems more exciting.

Indeed this company everyone is playful and my job responsibilities have grown from merely software development to PCB design. I guess this is a good opportunity for me to learn the product development end-to-end. :)

Monday, January 05, 2009

Office Musings

Today was my second day on my new job.

This company is relatively small, with less than 20 people, inclusive of the CEO. Beside the CEO, a finance guy and two administrative assistants, the rest are all MALE engineers. Well, I am used to it.

I didn't have any computer to use for most of the day and I spent quite sometime sitting idly looking around. Looking forward to something to do tomorrow....

What did I have in mind throughout the day? Well, I tried to figure out when I will have a family. Not really desperate, but just can't understand why two people who care for each other will have to be in non-talking-terms for so long. Wait, if in non-talking-term, do they actually care for each other? Dunno...

What things that I should have done but I didn't (barring that nite we had dinner together)? What things I should be doing now, short of flying to her place?

MK, you tell me.

Friday, January 02, 2009

New Year, New Job

Cuppa have changed to a new job, but for now that company shall remain nameless in my blog.

I spoke to my new colleagues and most of them have work experiences ranging from 5 to 20 years.

The guy with 20 years of experience spent the first 16 years in a company renown for products with fruit on it. He told me generally he liked the company, but not the last few years of his stay. I guess it would be in the ballpark of 2003.

When asked, he said the counterparts in US used to be competitive, open, and friendly. However the burst of dotcom bubble, post-911 trauma, and the rush of US companies to outsource operations to Asian countries caused those counterparts to become paranoid about their own job security. They started to politick, back-stab, and withhold vital business information from the Singapore site. Finally that guy was fed up and resigned.

I believe this kind of behaviour will be even more pronounced now. However I don't blame those US people, it is just human nature and I can't deny I may have done that if put into their shoes. What I can do to avoid this type of friction is not to work in a company with multiple sites, and keep moving myself up the value-chain (food chain?)

I guess this will keep me sane in this insane era.