Welcome 2008, Goodbye 2007

A new year is beginning, and I am ending this year with very bad moments. I’ve been sick since last Thursday and even now while writing this post I am still suffering from the remnants of the viral fever.

I feel like a water fountain because since yesterday morning I have been sweating profusely even when I am inside an air-conditioned room. I have been feeling nauseosus most of the time, my body feels like I have been run over by a locomotive, my head feels like a melon which has been smashed again and again in an outdoor party.

This fever is certainly the worst since I can remember. Ponstan is my good friend.

Maybe I have been working too hard? I just hope that the fever will be gone 100% before I start my 7AM shift on Monday! 🙁

Local Ponzi Schemes Sprouting Everywhere

I don’t know about you but since several past weeks I have been receiving emails that claims to make you rich. Almost everyday, yeah. The unique thing about these emails are that they are in Malay, and originating from Malaysia and Singapore.

So far I can easily classify these emails into a few categories:

  • Mobile Wallet – pay as low as RM100 to them, activate your account via SMS and you can sell mobile products such as prepaid reloads. How can you be sure that they will not just take your RM100 and flee?
  • Easy Funds – pay some money, refer friends, and be paid. Ponzi!!!
  • Money pools – participate in a money pool. Pay about RM52 and be in the run for the jackpot of RM60,000+
  • Email Referrals – refer people via email and get paid.
  • Classic Ponzi or Matrix System – nothing special about this one. Everyone knows how a pyramid or matrix system will end.

Almost all of these emails claimed that you can be a millionaire in a couple of months if you join them. Are you kidding me?

One word of advice, it is better if you keep your money for something useful or invest it in a Government certified fund.

I know the Malaysian Securities Commission has been actively blocking many foreign sites for offering fraudulent investment programs, but I wonder how are they going to handle these which are originating from the country itself. Despite of warnings issued by the Government the number of people who fell into these traps are still surprisingly high. And when they realize what actually has happened they will blame the Government. Duh!…

Work Life Balance

I have recently discovered that I am having difficulties to separate work and life. I am always worried about work which is good for my employer, but very bad for my household.

Since I also have sleeping problems, having to work in a shift environment doesn’t make it any easier for me. That’s what has happened to me lately, and that is why there is as much as 20 days gap between posts in this blog. My biggest weakness in blogging is that I need a relaxed mind to write.

I need some good example from other fellow bloggers who have a dayjob, and can still manage to separate work, life, and blogging 🙂


IE7 and document.body.scrollTop

After being nagged by my Windows Automatic Updates for quite some time, I finally decided to give in and just install the IE7 update. I made a mistake by not backing up my IE6 files, or trying to find a method to have IE6 co-exist with IE7.

Anyway, I found that the document.body.scrollTop method to find out how much of the page has been scrolled down doesn’t work anymore. Now I have to use document.documentElement.scrollTop. And since the only difference of IE7 and IE6 is reflected inside a long string in the navigator.appVersion or navigator.appName objects, a little Regular Expression has to be built.

Here is the snip I ended up with, to cater both IE6 and IE7:

  case 'Microsoft Internet Explorer':
    var myregex = /MSIE 7\.0/i;
    var myArray = navigator.appVersion.match(myregex);
    if(myArray.length > 0) scrollY = document.documentElement.scrollTop;
    else scrollY = document.body.scrollTop;
    scrollY = window.pageYOffset;

Anyone found a better solution?

TMNet Decides to Block Port 25

If you’re a Streamyx subscriber and is actively monitoring your Streamyx email you would already be aware that TM is blocking all outgoing connections to port 25 from the dynamic IP users. Simply put, home users with dynamic IP will not be able to use their email clients (i.e. Thunderbird, Outlook, Eudora, Kmail) to send emails via their own mail server.

For example, as a Yahoo! Mail Plus user I use Yahoo! SMTP at smtp.mail.yahoo.com to send my emails. With the blocking enforced, I will no longer be able to send via this server. The same goes to other users who have their own mail server for their own domains. As of the time of writing this email, I see that the blocking is still not enforced:

SMTP Blocking on TMNET

My Thunderbird and sendmail on my Linux box are still happily sending out emails via my SMTP servers / smart hosts.

Here’s the official announcement: MITIGATING SPAM IN TM NETWORK.

They are doing this to prevent spammers from sending emails from dynamic IP addresses. However they do open up an SMTP proxy as an open relay for dynamic IP users. I am unsure and pretty much would like to see the effect of having an open relay in their network.

One particular thing that is bad for everyone is that the final destination will check for IP addresses as they mentioned. But how are they going to make sure that the IP address of the smtp proxy (smtp-proxy.tm.net.my will not be blacklisted?

Certain anti-spam implementations such as SPF does check whether the email is sent from authorized mail servers (technical: MX records), and sending from TMNET’s SMTP relay will make sure that your email will fail the SPF test. Adding it in the SPF authorized list (technical: “v=spf1 a:smtp-proxy.tm.net.my mx:smtp.yourdomain.com”) is an initial idea – but doing this will allow everyone to be “authorized” as one of your domain users 🙁

And of course, you can forget about DomainKeys as the smtp-proxy will break your signature.

As for me, as long as they don’t block port 465 (SMTP over SSL) I will still be happy.

Oh yes by the way this policy is not only used by TMNET. Last week, one of my users who were in a London hotel had the same problem when he tried to connect to port 25 (a mail server in Malta). In the end we added another listening port and it worked fine. If you own a mail server, consider doing the same thing!

So far, how does this policy effect you?

GMail Labels Now With Color

This morning when I logged on to GMail, it was still the same.

However about half an hour ago I was surprised with some weird boxes around the label list. Clicking on them gave me the option to do only one thing: change the colors of my labels. Yay!

As an email organizing freak, I really welcome this feature as it makes my life easier by letting me spot my emails quickly.

Gmail Labels with Color

Have you logged into GMail today?

Google Maps Now With Malaysia Map

Yes I know I know… the title sounds weird. Remember the days when loading Google Maps you can only see the satellite images? Well, if you click on “Map” or “Hybrid”, no useful information was shown.

Those days are now over. I jumped up today at the office when I saw that the Map button now will bring you a much needed detail – road names. Behold! The following is a snapshot of Multimedia University in Cyberjaya where even the small roads inside the university compound are labeled.

Google Map MMU

Even the small street where my home is located has a label now (not shown). How cool is that!?

And if you miss that satellite image, you can always click on Hybrid and you’ll see the satellite image with the road maps on top. Following is a shot of the famous crossroad in the Center of Cyberjaya.

Google Maps Cyberjaya

My US readers… please bear with me while I enjoy this new feature that has just been made available in my country. You obviously had yours some time ago 😉

Turn Off Your Scooter Engine

A few days ago I received a video via email where a little girl was left on a scooter by the father. She accidentally turned the throttle and the scooter shot forward. I found the same video in YouTube:

I really feel sorry for the little girl. It must’ve hurt like hell and she must be traumatized. So if you ever take your children on a scooter remember not to left them alone, and it is better if you turn off the engine and remove the key. She was lucky the scooter did not end up on top of her. The video is not funny at all.

On a side note, please always use helmets! As you can see in the video they don’t have any helmets with/on them.

I promised myself that I will never bring my kid on a motorcycle, with or without helmets.

Checking Limits on OpenVZ / Virtuozzo

Do you use virtual server hosting for your websites? It’s commonly known as VPS. Most hosting companies now uses Virtuozzo, a proprietary operating system virtualization product produced by SWsoft, Inc.

The OpenVZ project is an open source community project supported by SWsoft and is intended to provide access to the code and ultimately for the open source community to test, develop and further the OS virtualization effort.

A couple of months ago when I have not tried OpenVZ, a friend asked me about a problem he is facing with his VPS which is hosting streaming videos and receiving millions of hits per day. He received errors such as:

  • cannot fork
  • Error running script: not enough memory
  • Fork failed

Now that I have deep knowledge in OpenVZ I know what causes the problem. The problem is that his running software and services were using resources more than allocated by the hosting company. If you are using such service, one good way to check is by executing this command:

# cat /proc/user_beancounters

The output would look like this:

   uid  resource           held    maxheld    barrier      limit    failcnt
  101:  kmemsize         473318     927071    2752512    2936012          0
        lockedpages           0          0         32         32          0
        privvmpages        1611      62436       4915       5357         40
        shmpages              1         31       8192       8192          0
        dummy                 0          0          0          0          0
        numproc               9         15         65         65          0
        physpages           887      32985          0 2147483647          0
        vmguarpages           0          0       6144 2147483647          0
        oomguarpages        888      32985       6144 2147483647          0
        numtcpsock            0          4         80         80          0
        numflock              1          3        100        110          0
        numpty                1          1         16         16          0
        numsiginfo            0          3        256        256          0
        tcpsndbuf             0       7856     319488     524288          0
        tcprcvbuf             0      95460     319488     524288          0
        othersockbuf       6660       8880     132096     336896          0
        dgramrcvbuf           0       8364     132096     132096          0
        numothersock          5          8         80         80          0
        dcachesize            0          0    1048576    1097728          0
        numfile             168        399       2048       2048          0
        dummy                 0          0          0          0          0
        dummy                 0          0          0          0          0
        dummy                 0          0          0          0          0
        numiptent            10         10        128        128          0

These info are important because it is most likely that you can’t see what configurations your VPS is running with.

Simple meanings of the columns:

  • resource – name of the resource
  • held – current usage
  • maxheld – max ever used
  • barrier – soft limit of the resource
  • limit – hard limit where the VPS will never use more
  • failcnt – fail count

The most important thing to see is the failcnt column, where in an ideal situation you should see only zeros. In this case, you see that privvmpages have failed 40 times because I on purposely lowered the memory allocated for the VPS and run some programs.

You will never be able to change the resource allocation from within the VPS but at least you know what your problem is and is a good point of discussion with the hosting company.

And oh yes, the values are in 4k blocks which means that if the setting is 4915 the actual value is 19660k (4915 * 4k). Of course this is only applicable for some, and not for countable values such as numpty.

Good luck!

Does PageRank Matter?

As many of us has experienced, Google has finally slapped everyone who has paid links on their site. PageRanks have been stripped off by as much as 2 on most sites. A good example would be this site which has been penalized from PR4 to PR2. I am not complaining, since I never have any good chance to analyze my site to abide by all of Google’s quality guidelines.

This event makes me think on how PageRank really matters for websites. It matters because all of us make it so, by acknowledging the authority of the scheme. Hell, I know I will be happy if my PageRank gets a certain boost.

Google has announced for quite some time now, that they don’t like paid links. This is understandable because this kind of link will effect the PageRank and search results. However this is a critical move for many bloggers who makes money via paid posts where they are not allowed to include the rel="nofollow" tags in the links inside the paid posts. And to make things worst – there is a cyclic dependency: PageRank will be lower for paid bloggers, and paid bloggers are ranked by PageRank.

Being an occasional paid post writer myself I realize that many paid post operators uses and acknowledge the authority of external ranking systems such as PageRank and Alexa. The higher their rank, the better chance they get to grab those high value posts. Alexa is still alright, since it is based purely on traffic but stricter schemes like PageRank is sure a pain for those who have been seriously blogging for money.

And do not forget: advertisers seeking to put paid links on your site will also look at your PageRank! 😉

Once obvious thing for this site is the occasional paid posts, and the sponsored links. For now, I shall only put links from advertisers who agrees to allow the rel="nofollow" tag on their links. This way they will benefit from clicks and not from search engines. When I have the time I think I’ll look into the guidelines and use the Google Webmaster tool to ask for reconsideration.

How about you? How much does PageRank matter to you?

Firebug and Gmail

When I log on to my Gmail today, I received an error bounded by a red box that says “Firebug is known to make Gmail slow unless it is configured correctly”. I didn’t know that!

And as always, Gmail is nice enough to provide a simple workaround.

Firebug is an excellent add-on normally used by web developers so most people will not see this warning at all.

By the way did you notice that there’s a very big improvement in Gmail in terms of UI and also speed?

Paypal to Debit Card, and AdSense to Western Union

In spite of being extremely busy, yesterday I had a chance to glance over some of my daily readings. I am excited to find out that PayPal is now allowing Malaysians to withdraw money to Visa branded debit card.

I need to check with Standard Chartered whether I can use my savings account which is a 2 in 1 account having Visa number and Visa Electron branding. Maybe the fees are lower than using Virtual Money card?

One thing for sure is that there will be no monthly fee, while the withdrawal fee is US$5.00. Just make sure you can really transfer or you’ll suffer paying the return fee. Also needs to be check is whether the local bank will impose any fee on the transfer.

Mininum transfer is US$10.00 and maximum is $US500.00 per day.

Additionally, AdSense publishers can now withdraw money via Western Union.

All you need is the 10 digits MTCN (Money Transfer Control Number) from AdSense and your ID (passport or MyKad). One thing to stress here is that the name from AdSense should match your ID for this to work. LiewCF has written a nice how-to change AdSense Payee Name.

No more bank fees for payout. The maximum payout is US$2,800.

Since I have been earning decent stream from both accounts this is indeed an exciting news for me. For Cyberjaya people – CIMB is the nearest Western Union agent 🙂

Buka Puasa & A Kid

On Thursday a close family friend invited us for buka puasa (break fast). We had a good time talking and enjoying the lovely food. As we were about to return home my better half mentioned Jaya Jusco and the family only little boy aged 2+ heard it and wanted to follow us.

I was worried because I have no experience with kids whatsoever. But we took him anyway with the permission of the parents. The kid name was Imran, and he’s such a nice little boy. At first we thought that he’s like every other kid and cry when the car started moving without his parents.

But he was indeed very serious. So since we made a promise (and it’s no good to break a promise to a kid) we brought him there. In the car he talked so much that he took my worries away. Once arrived he was so happy and as he promised he behaved like a very good boy! Amazing.

And I was happy he enjoyed every ride and machine he tried on (although we only let him play the safe ones). Not to make his parents worry so much, after about 1 hour we decided to bring him back and he didn’t resist much. Back at home he was so happy and jumped here and there it made me feel happy as well.

I actually enjoyed that 1 hour outing. After 4 years of marriage maybe it’s time for a kid? 😉

Busy Times & Work

I have been very busy for the past several weeks and I am expecting that I will be for the coming weeks as well. The reason is mainly that I have just changed my dayjob and this new place is a tough place to work in. Contrary to my previous place, it is so uptight and strict that I just feel so tired when I return home.

Previously, as soon as work ends at 5pm or so I still have the energy to go for a jog, swim, or even hitting a hundred balls at the driving range – and come back home working on some codes. Being able to keep my mind off worrying about the rules, I was productive but I simply can’t do the same thing now. As soon as I arrive home all my energy has drained and the bed is my best ally.

I had multiple offers at the end of September, 3 largest offers came from Mid Valley, Cyberjaya, and Singapore. Considering packages, career advancement, and commuting I chose Cyberjaya. 10 minutes to work is a blessing because I hate wasting my time in the car doing nothing productive. Singapore was an exciting opportunity as well but with all of the preparation that needs to be done I can’t make it a reality. Mid Valley was also promising in terms of career advancement but using the Kepner Tregoe® techniques it failed miserably on the 1 hour+ commute to work in a traffic jam.

WordPress 2.3 Plugin Compatibility

As everyone might have realized by now, WordPress 2.3 has been released. WordPress 2.3 contains many improvements mentioned in the release page, and one of the most critical change is to the database structure where several database has been removed and added. Relations are all different now, so plugin authors: check your plugins!

What I like is the Plugins/Plugin Compatibility/2.3 page in WordPress Codex. The list is by no means complete, but it’s a good start for you to see if the plugins you are using are effected by changes in 2.3.

My two plugins (Random Posts Widget and Collapsible Archive Widget) were also affected by the change, since I couldn’t find the suitable WordPress function to use for some of the things I needed to do. However I’ve fixed them to be compatible with 2.3 while maintaining backward compatibility to the 2.2.x series.

Please be careful when you download a plugin next time, and see the “Requires WordPress Version” and “Compatible up to” fields.

As for me, since I use a lot of custom plugins and also homemade ones, I’ll need to find the right time to upgrade 😉