Stuck Dog

Behind my house there are currently 3 dogs, owned by my neighbors. There used to be only one, but the other 2 have just been added to the family. I think they are renovating their fence or something, because the fences are torn open at the wall side behind the house.

Every now and then there seems to be a massive commotion going on and I have always thought that the dogs are fighting with each other. But today I realized that it was actually because one of the dog is stuck in between the fence. It’s funny but I feel sorry for the little guy at the same time.

This video was taken after it got tired trying to get loose. I wished I thought of taking a video before that and you can really see how the poor thing struggled.

Why I Set Up VPN On DD-WRT On My Router

Everyday I receive a massive number of emails from many sources and half of them are valid (i.e. not spams). And at certain times I receive huge attachments from friends with pictures or other things. With a normal Streamyx ADSL connection this is fine, but when it gets hiccups my email retrieval process normally gets interrupted in the middle (timed out). 90% of the time my Thunderbird go nuts and corrupted its own “state” database. This means that it “forgets” which message it has downloaded and which has not.

This will not be a big problem if I set my email client to “delete from server” each time but I set it to “leave on server” as an online backup. I know I know I am a freak. Because of this, the next time it retrieves, my email client will download every message from my Inbox (which is in the thousands because I still keep my emails since 1997). This is insane.

I needed a more robust solution and as a Linux geek I used fetchmail to download my emails to a local server and set it to “leave on server”. From my observation, it does not have the same corrupting effect as Thunderbird when a timeout occurs. Good, one problem solved. Next, I set my Thunderbird to retrieve email from the local server which is faster than a speeding bullet. OK, I exaggerated. I set it to “delete from server” where the server is the local server. Good, another problem solved.

Now I have my emails intact regardless of what the connection condition is.

But… when I am on the road I have a problem to retrieve my emails. I heard someone is shouting, “why the hell don’t you just use the webmail?”. When it comes to email, I think I have Obsessive Compulsive Disorder. Except for GMail, I will need my Thunderbird to compose my emails.

This is when I realized that I can do something about it. I enabled a simple VPN server on my Linksys WRT54G router which I have flashed with DD-WRT. Here’s a complete guide that I followed:

I have never regretted since, but I do have to make sure that the connection to my home is stable enough. But please be warned that this will only work if the connection you are using allows PPTP pass through.

There you go, a story of someone having email OCD. What’s your excuse?

Oh BTW I also have a PAC (Proxy Auto Configuration) setting on my browsers so when there is a connection to the Squid box at home (the VPN is connected), it’ll utilize the cache. 😛

Do You Own An MP3 Player?

MP3 players today are as common as a discman or walkman used to be. Back then we have to carry a bigger pouch to pack in our CDs or cassettes, and each of them usually can carry only about 17 songs – and that was already considered many.

Today, with a device the size of a cigarette lighter and sometimes smaller you can pack hundreds of song and you can barely feel the weight. It’s the miraculous mp3 player. They come in all sort of shapes and colors a confused toddler just might think it is candy 😉

I have been toying with the idea of owning a good one (maybe an iPod?), with gigabytes of space to store my songs but until today even after spending much more on other devices I still never bought one myself. I only own a 512MB Creative Zen Neeon that I got for free last year.

What about you, what mp3 player do you currently use and what’s your dream device?

Four Months Later

Right, I have been occupied with so many things lately that I neglected this blog. September 2007 is one of the months this year with very low post count 🙁

Being subscribed to the Got Heroes forum, I received an exciting reminder this morning: Heroes Season 2 is going to start today! Chapter 1 of Season 2 is going to be aired tonight in the US, and that means I shall be able to watch it tomorrow! Chapter 1 is titled “Four Months Later”.

I am really looking forward to it, are you?

Potret Mistik

Tonight while doing some coding work, I turned on the TV and the satellite decoder was tuned to Astro Kirana. Since it is an old movie that I have never watched before, I decided to go along just to see what it is all about. As a matter of fact, I started writing this post at the last moment of the movie.

The movie is titled “Potret Mistik”, a production by Metrowealth Movies production and directed by A. Razak Mohaideen.

It is one of the dumbest movie that I have ever watched, and I am thankful I didn’t go watch it at the cinemas when it was released in 2005. The movie is filled with dumb and repetitive dialogs, and the chasing scenes are really dull and not exciting. What I am looking for is the thrill and suspense on what will appear in the next screen, not an old schizophrenic maid who chases people with a butcher knife. I mean, come on… the artist who were chased is a strong guy and he can at any time run faster than the old lady. It’s a different thing if you can really feel his fear, though. Most of the time in the movie, I was laughing and didn’t really see the point. I didn’t know what the director wanted me to feel – sorry? scared? amused?

I am one of the supporters of the Malaysian movie industry but these type of movie really make me think twice before booking another ticket for a Malaysian movie. Of course, I like all of the movies made by Yasmin Ahmad. I am starting to feel that my better half is right for not wanting to go along with me when I wanted to watch a Malaysian movie.

Among other movies that I still haven’t watch:

  • Waris Jari Hantu
  • Jangan Pandang Belakang

What about you? What do you think of Malaysian movies in general?

Google AdSense Allowed Sites

Have your publisher ID ever been used in other sites than yours, without your knowledge? I have never experienced the same problem but I guess some prominent publishers must’ve experienced this.

AdSense now have an Allowed Sites feature where you can specify on which sites your publisher ID will be considered active.

This is indeed a very useful feature, especially if someone decides to use your publisher ID with bad intentions such as to get your account suspended!

Read more about it in Inside AdSense: Allowed and clear.


To create your Allowed Sites list today, visit your AdSense Setup tab, click the Allowed Sites sub-tab, and choose the radio button for Only allow certain sites to show ads for my account. You’ll then be able to enter allowed URLs for all your sites. Make sure to keep your list up to date when you add your code to new sites, too.

So if you decide not to use it, no change is necessary!

Spam or Not Spam

While monitoring some of the servers I am maintaining today, a user forwarded me an amusing email message:

Received: from [] by via HTTP; Mon, 03 Sep 2007 07:01:19 BST
Date: Mon, 3 Sep 2007 07:01:19 +0100 (BST)
From: hairiehasnie <[email protected]>
Subject: Dear XXXX,
To: XXXX XXXX <[email protected]>
MIME-Version: 1.0
Content-Type: multipart/alternative; boundary=”0-1107947314-1188799279=:79252″
Content-Transfer-Encoding: 8bit
Message-ID: <[email protected]>

Content-Type: text/plain; charset=iso-8859-1
Content-Transfer-Encoding: 8bit

I use a good spam filter, and you probably do the same.
I have whitelisted you and that means that I will receive all the emails you send to me.
I would appreciate it if you would whitelist my email address: [email protected] in your spam filter.

If you don’t have a spam filter, I can recommend SPAMfighter. It is a highly effective free spam filter for Outlook and Outlook Express.

You can get the free SPAMfighter here:

I hope that you will whitelist me, so we can continue to communicate safely via email in the future.

Best regards


This email is amusing because:

  1. It promotes a spam filter for Outlook, but this email is sent from Yahoo! Webmail
  2. The URL inside the email is neither phishing nor a referral URL

So I guess this hairiehasnie guy has nothing better to do. Who else has received this message? I am pretty sure it was not sent only to my user! 😉 And yes, I put his email clearly here on purpose. Let there be SPAM in his email. After all he has SPAMfighter! 😀

Photography As Passion

Do you photograph? I have owned a Nikon D50 DSLR for about a year now, and also a Sony T30 for casual shots. It is indeed an expensive hobby as many people would put it once they see my camera. But this hobby can be converted to a source of income, and that is what I like about it. I haven’t reach that level yet though.

Nikon D300

The Sony T30 is classified as a prosumer or a point and click camera, while the Nikon D50 is a DSLR. Nikon D50 is the most affordable DSLR at the moment I bought it, but even now that D40 and D40x has been released I was thankful that I got my D50 on time before it was taken off production. The D40 models are not preferable in the sense that it does not have a built in auto-focus motor and if you use lenses that don’t have built in auto-focus motor you’ll have to manually focus each time. One great example of such lens is the AF Nikkor 50mm f/1.8D.

Even though the Sony T30 have more megapixel (7.2 to be exact), shots from the Nikon D50 (6 megapixel) seems to be much much better. This is actually very normal as there is a huge difference in the size of sensor and lens between those two. And with a DSLR you can tweak the settings any way you like which can result in a very good result, or an ugly one 😉 Trust me, when you have been learning and shooting with a DSLR you can feel the freedom and satisfaction after you process the results in your favorite “darkroom” software.

I have an eye on the new Nikon D300 that will be released very soon but I don’t think I will get it anytime soon. I need to practice more!

This post is brought to you by

Pidgin 2.1.1 Released

The official Pidgin 2.1.1 has been released, and the official Pidgin Portable 2.1.0 Released.

So since John T. Haller of PortableApps has packaged this, I will stop packaging Pidgin Portable for the public. This is the end of My Version of Pidgin Portable. Hope all who have used it found it useful. I guess the guy who have always accused me of embedding keyloggers will be extremely happy now. LOL.

Tesla Real to Reel

Tesla Real to Reel Player
One of my favorite rock bands have recently (in June) released an album featuring many songs from other bands in late 60s and early 70s – Real to Reel. Visit the Real to Reel site to sample the songs before you buy the album! See the player image I captured above? Reel One can be bought retail, while Reel Two (for now) will be available to concert goers at no extra charges (only pay for the tickets). Reel One’s case comes with a blank slot for Reel Two 😉 Cool huh?

Here’s the track list:

Reel One (sold at retail):

  1. “Space Truckin'” (Deep Purple)
  2. “Walk Away” (James Gang)
  3. “Hand Me Down World” (The Guess Who)
  4. “Bad Reputation” (Thin Lizzy)
  5. Thank You” (Led Zeppelin)
  6. “I’ve Got a Feeling” (The Beatles)
  7. “Day of the Eagle” (Robin Trower)
  8. Ball of Confusion” (Temptations)
  9. “Rock Bottom” (UFO)
  10. “Stealin'” (Uriah Heep)
  11. “Bell Bottom Blues” (Eric Clapton)
  12. “Honky Tonk Women” (The Rolling Stones)
  13. Dear Mr. Fantasy” (Traffic)

Reel Two (available with concert ticket purchase and also available with an issue of Classic Rock in the UK):

  1. “All the Young Dudes” (Mott The Hoople)
  2. “Make It Last” (Montrose)
  3. “Shooting Star” (Bad Company)
  4. “Not Fragile” (Bachman-Turner Overdrive)
  5. “Street Fighting Man” (The Rolling Stones)
  6. “Is It My Body” (Alice Cooper)
  7. “I Want To Take You Higher” (Sly & The Family Stone)
  8. “Do You Feel Like We Do” (Peter Frampton)
  9. “Beer Drinkers and Hellraisers” (ZZ Top)
  10. “Seasons of Wither” (Aerosmith)
  11. “Saturday Night Special” (Lynyrd Skynyrd)
  12. “War Pigs” (Black Sabbath)

Best Buy Bonus Disc (limited CD included with “Real to Reel”, only sold through Best Buy):

  1. “War Pigs” (Black Sabbath)
  2. “Shine Away” (Unplugged)
  3. “Modern Day Cowboy” (Unplugged)
  4. “Paradise” (Unplugged)

Busy Week

I just went through a hectic, but satisfying weekend. Went to Melaka (southern part of Malaysia) to help out in my niece’s engagement ceremony. It was tiring but satisfying. The ceremony ended up well, and I wish them a happy engaged period… until the real wedding day arrives!

Nuffnang Error

Today the site loads very slow, and as I was about to blame the network when I saw this:

Nuffnang Error

It seems that Nuffnang may be currently experiencing some difficulties. Since the ad block loads inline, the whole site waits for it. Oh by the way visitors from outside of Malaysia & Singapore will not see this as it is a geo-targeted block (AdSense is there instead).

And Nuffang site is down as well, with these errors:

Warning: mysql_pconnect() [function.mysql-pconnect]: Lost connection to MySQL server during query in /home/nuffmy/public_html/Connections/nuffnang.php on line 9

Fatal error: Lost connection to MySQL server during query in /home/nuffmy/public_html/Connections/nuffnang.php on line 9

Quick guys! Fix it! 🙂

PHP 5 In CentOS 4.5

Just a short sharing note, for users of CentOS 4.5 who is looking to update PHP to version 5 instead of the default 4.3.9 there is a clean and easy way to upgrade your PHP.

  1. Open up /etc/yum.repos.d/CentOS-Base.repo and look for the section centosplus:

    name=CentOS-$releasever - Plus

  2. Change enabled=0 to enabled=1
  3. Save the file
  4. Run yum update php*

And the rest is up to you… when it finishes restart Apache (service httpd restart) and you’ll be up and running with PHP 5.

How to check PHP version on the server?

Use rpm -qa | grep php and you’ll see the list of installed PHP packages. In this case PHP on the server has been upgraded to PHP 5.


Good luck!

WordPress Plugin: Collapsible Archive Widget

Update: 20 January 2010: This plugin has not been tested with WordPress 2.9 and may break because 2.9 has internal changes. I am still trying to find time. Sorry for the Inconvenience.

I have written another simple WordPress plugin that simply display a collapsible archive in the sidebar. You can see it in action in the rightmost sidebar of the main page.

When the sidebar loads, it is in collapsed state and can be expanded by clicking the years. It utilizes simple JavaScript that shows and hides a div containing the monthly links. The purpose of this plugin is to save space on the sidebar especially if you have been blogging for a while. It is an alternative to the combo box (select) provided by the default archive widget.

My request for the plugin to be listed in the WordPress Plugin Directory has been pending for a while so for now it can be downloaded here.

The plugin can now be downloaded here.


  • Widget Title: the title of the widget
  • Show post counts for year: Whether or not to show the post number for each year
  • Show post counts for month: Whether or not to show the post number for each month
  • Abbreviate month names: Check this box to show abbreviation of month names
  • Hide year from month names: Do not print year after month names
  • Use effects: Whether or not to show effects
  • Expand effect: Effect to use when expanding the list
  • Collapse effect: Effect to use when collapsing the list
  • Expand the list by default: Check this box to have the list expanded when loaded
  • Expand current year by default: Check this box to have the current year expanded when loaded
  • Expand current month by default: Check this box to have the current month expanded when loaded
  • Show individual posts: Show posts in the list. This should be used in extra caution; if you have a lot of posts consider disabling it as this will take time to load
  • Use HTML arrows instead of images (► ▼)
  • Show current month in bold: show current month in bold
  • Show a link to plugin page. Thank you for your support! : Display a link to plugin page (this page) as a support method

Current Version: 2.3.1


Copy the file to the wp-content/plugins/widgets directory and activate it in the Plugins page. Then drag and configure it in the Sidebar Widgets page.

Warning: Will only work on widgets enabled blogs.

TODO (these are being considered but there is no guarantee when they are going to be included)

  • Add ability for multiple instances
  • Add ability to work as non-widget
  • Add ability to include / exclude categories
  • Expand previous month rather the current
  • Research the practicality to use CSS / allow CSS options
  • List posts without year and month headers (for blogs with few posts)
  • Do not list the posts that are listed on the main page

Change Log

  • 03-Aug-2007: Initial version
  • 04-Sep-2007: Added ability to select whether to use abbreviations for the month names, and effects!
  • 27-Sep-2007: Fixed javascript include – effects.js added and scriptaculous.js removed (For some reason it worked in 2.2)
  • 10-Nov-2007: Added ability to display posts (with caution), to expand by default, and also added plus and minus signs as expand/collapse buttons
  • 24-Aug-2008: Multiple updates:
    • Enqueue javascripts using WordPress API wp_enqueue_script
    • Validation as XHTML 1.0 Transitional
    • Add option to expand current year and/or month by default
    • REMOVED list type option
    • Added ability to upload own plus and minus images
    • Added ability to display plugin link. If you’d like to support this plugin, having the “powered by” on your blog is the best way; it’s our only promotion or advertising.
  • 25-Aug-2008: Bugfix to not load javascripts when effects is not used
  • 25-Aug-2008: Javascript code factoring and added ability to use HTML arrows
  • 16-Mar-2009: Separated year and month posts counts, added option to hide year after month names, ability to show current month in bold, enabled localized title
  • 17-Mar-2009: Fixed valid XHTML, and highlight (bold) bugfix


The ability to display posts is provided after receiving so many requests for it. This feature is not practical for those with many posts in a month. Enabling it means that there is a lot more data that needs to be received by the browser, not to mention the load on the database. It is, however works very nice for blogs with low post count. Please use at your own risk and remember to test it.


11-Nov-2007: I’d like to thank Meitar Moscovitz who tried his best to provide a patch to display posts in the list. I rewritten some of the code for version 2.1 based on his logic. Thank you!
25-Aug-2008: Thanks to Berny for his idea of re factoring the javascript code and also for providing HTML arrows option.

If you find this plugin useful, feel free to