Happy New Year 2020

Yes, yes I know it is already April. The year 2020 has proven challenging not only to some of us but all of us globally. I hope everyone is staying safe with their loved ones.

Server Updates

I recently had to move this blog to a new server because:

  • The old server was an OpenVZ instance and it is not straightforward to upgrade the outdated OS, Ubuntu 14.04 which has reached the end of standard support.
  • Since Ubuntu 14.04 has reached the end of support, it was impossible to upgrade PHP. It was running PHP 5.5.9.
  • Since WordPress 5.4 requires at least PHP 5.6, it was impossible to upgrade from WordPress 5.1.4
  • The old hosting company decided to increase the hosting price by €20, which is not a small amount for a slow OpenVZ instance.

So I decided to move on to another hosting provider, this time I will have control over my own kernel and will be charged pay-per-use.

It has a smaller spec but different virtualization technology. The new server is on Ubuntu 18.04.4 with PHP 7.4.5.

Improvements I made on the new server are:

  • Use certbot on all hosted domains so that communication between Cloudflare and my server is always valid HTTPS
  • The site is now 100% HTTPS via Cloudflare. It can be served directly via HTTPS too.
  • All scripts are now pushed using Ansible
  • Git based updates for projects such as the automated prayer times

Many things have changed as well, such as better responsive themes and more robust plugins.

Historically, this blog was started in 2005 on WordPress version 1.5 and has moved through 5 different hosting providers.

Personal Update

Since my last post, I have moved through 6 different jobs. Time flies.

I am also older now so I don’t really have much energy to rant, but expect more mixed ramblings from me from time to time 😉

In Malaysia, the country has been in the Movement Control Order (MCO) for more than a month now and it is certainly a significant change in lifestyle.

Let’s hope that COVID-19 goes away as soon as possible so that we can live “the new normal”.

Until the next post, stay safe people, wherever you are.

WordPress 2.5.1

I was really reluctant to upgrade my WordPress version because I have so many custom plugins to create many widgets. I was just afraid that they might break and I have to spend a lot of time to repair them. My colleague Shahrulazlan has been trying to get me to upgrade my installation for a while now

However today after a few hours of learning Linux HA I need some WordPress to ease my mind.

Upgrading this blog on my development copy is a breeze. I have to admit I had to upload 3 times because of some MAC encoding problems. For some reason after checking in the files to subversion and doing an export, the files are all encoded in MAC encoding. And the result was catastrophic.

The final result is beautiful. I really love the new UI and features such as permalink editing while in write mode, and version checking for plugins. I have yet to test the auto-update feature, though.

No regrets. If you are still using 2.2 or 2.3 series do consider an upgrade. You’re missing a lot.

This upgrade also provide an opportunity for me to test my plugins. I am happy to announce that they both work well on 2.5.1.

WordPress 2.2.1 Upgrade

I have just finished upgrading this blog and 6 others maintained (not owned) by me. The transition from 2.2 to 2.2.1 is generally very smooth, as there’s no database changes involved. I simply uploaded only the changed files as listed here.

I am rushed to upgrade to 2.2.1 since there is a lot of security bugs in 2.2, and seeing some blogs have been brutally cracked, I promised myself to steal some time to upgrade during this weekend. A very recent attack was on HongKiat.com, a full time blogger in Malaysia.

So please don’t wait, upgrade immediately!

Other than that, notice anything else missing from this blog?

WP-Cache and GoDaddy Hosting

I have several blogs hosted on GoDaddy servers.

If your WordPress blog is hosted on GoDaddy hosting, do not use the WP-Cache plugin or your site will intermittently produce Error 500 (Internal Server Error). I can’t spot the error even when I enable the error logs – there seems to be none!

I’ve heard similar complaints from other GoDaddy hosting users. One thing I am sure about is that the problem is not because of the combination of WP-Cache and WordPress 2.1.3 as I have blogs hosted elsewhere that works fine with this combination.

I guess I will have to dig deeper… when I can find the time! Anyway the server speed and stability so far is good without WP-Cache – which is what we want to achieve by caching the pages. Hopefully the blogs do not overload the server anytime soon.

New Header and Footer

I’ve just updated the header and footer for this site. At first I only changed the image but then the night scene was not quite suitable for the default header colors. So I decided to play around with Photoshop and make some color adjustments.

The header image was taken last weekend, when we went to the lake that separates Cyberjaya and Putrajaya to try some night shots after returning from the Community Club. We have been wanting to go there for a while and with a tripod in hand we got some pretty good shots. It’s about time we utilize the DSLR!

Here’s a bigger photo (click for a bigger image):

Wawasan Bridge Putrajaya at night

Migration Complete

This site has once again moved. Now nobody can say to me that I have not tried to support the Malaysian hosting industry. I tried, and I don’t like it.

All of the other sites hosted on the previous server has also been migrated here. Hopefully this would be a better home. It would be slower for Malaysia visitors to visit, but at least it’s because of distant and not because of overloaded server resources! Monitoring for this server showed 100% uptime. Hopefully it will stay that way.

Bye, Exabytes

It has become worst since these last few days. Mails are missing, and site is not accessible many times. I’ve set up server monitoring at host-tracker.com and I receive on average 6 downtime alerts per day, with monitoring triggered every 30 minutes.

I’ve seen people writing about my plugin said “if you can’t access the site, try again later“. And my AdSense stats reveals that very little impression made meaning that many people are having problems to access this site, and 4 others I have set up in this server.

Accessing this site is slow, very slow. I have to do something about it now.

As I have SSH access to the server, I can see so many cron jobs that have been running for a few days, not finishing its job. One thing about Exabytes’ servers is that they have a lot of features and allow people to do things that many overseas hosting company does not allow you to do. That’s a good thing except that when a user do something stupid, there’s nobody to look over the problem.

Well, the Engineers are fast when you report something, and they are doing a good job in reactive work. But I don’t see any proactive work being done. Once I reported that the MySQL server is taking a lot of load and freezing and asked them to check which user is doing this (even if it is myself), so that it can be prevented in the future. All they can say is that the MySQL server is now running fine.

Even though it is not downtime, it is certainly close to one. The server load sometimes goes as high as 34 (this is not percentage, this is a 1 minute average load on a UNIX machine – number of process fighting over CPU resources).

pangkorload.jpg

And I don’t think they are going to do anything about it. I am not sure how many domains are hosted on this particluar server but I am guessing there are a lot. I checked PHP’s max_execution time using CLI and it is set to 30 seconds. So why does the ones running from cron did not die?

Continue reading Bye, Exabytes

Moment of Silence

It has been quite a while I have the chance to update this blog. February is the busiest month ever for myself, and I still have a week to go until it all ends.

I have not been sleeping well since I am on 24×7 standby and holding a pager. Indeed, life is hard. I even dozed off at my desk with my home PC, my home laptop, and my work laptop. Luckily the VPN connection is working quite okay otherwise I would have to drive to the office every time I get paged.

It’s not that I am complaining or anything, just to let you know what happened to this blog. Actually you can see the pattern – from 40 posts in December 2006, the number decreased to 26 in January 2007. And this month I am not even sure I can pass the 10 post milestone.

I think after February I am going to claim all the time-off I can get due to out of office hour work, and finish up many pending tasks.

Until next time, see you guys around.

On Duty

For the next couple of weeks I may not be able to write so much, due to the fact that I am on 24×7 standby duty at work. This only happens like every 3 months, so I am OK with it.

On another development I have received quite a number of invitations for interviews by referral and immediate employments. Too many junctions ahead, and I have to clear up my head to think and make the best choice for the future. The highest paying company does not mean the best place to work in.

Move Complete

This site has been moved to another hosting server. Some of you might have received an error message from the old server, if your DNS has not been made aware of the server change and still have the old IP address. Sorry for any inconveniences. This is normal for any DNS change.

Additionally, WordPress have been upgraded to 2.0.6

Update: Since my previous hosting uses MySQL 4.0 and the new server uses MySQL 4.1 there seems to be some kind of confusion. Many UTF-8 characters such as the ” character were displayed as ? instead. I spotted this problem when receiving errors from FeedBurner.

A dirty quick fix is to open up /wp-includes/wp-db.php and look for these:

function wpdb($dbuser, $dbpassword, $dbname, $dbhost) {
$this->dbh = @mysql_connect($dbhost, $dbuser, $dbpassword);
if (!$this->dbh) {

And add an additional line:

function wpdb($dbuser, $dbpassword, $dbname, $dbhost) {
$this->dbh = @mysql_connect($dbhost, $dbuser, $dbpassword);
$this->query("SET NAMES 'utf8'");
if (!$this->dbh) {

I am sure WordPress guys will not agree with this quick hack 😉

This is due to how MySQL 5.0 handles collations.

I found the fix here: http://blog.jtam.org/…

Happy Holidays

I would like to wish everyone a very Happy Holidays. Be safe.

I will be away for the weekend, to a galaxy far far away. Just kidding. I am going to Pahang for my wife’s business. It’s not a vacation as I have to spend my time in the hotel room working on a development project. I promised to deliver it right after Christmas, so basically I have no choice or I will be shot if I don’t finish it.

I am unsure whether we’ll have Internet access at the hotels, as we will be staying in normal hotels – all 5 star hotels are fully booked for the weekend! 🙁

Enjoy your time.

New Theme

I love WordPress. Frankly I was bored with the previous gray theme, as it made the site looks neutral and dull. After stumbling upon a few blogs using this fantastic 3-column theme, I decided to give it a try.

To my surprise the theme supports widgets, and I took a couple of minutes to transfer all of my sidebar items to widgets. The theme is very customizable and migration was a breeze. The theme is called Subtle, created by Glued Ideas. Too bad I don’t have any design talents like Ikram Zidane. Pretty amazing talent that guy have, undeniably.

The one and only change I had to make on the code is to add StumbleUpon links on home.php and single.php

It took me like 30 minutes to update the whole site, including the configuration items to suit the new look and feel. 🙂

By the way the header image was taken last weekend, when I was in a cab from the LCCT to Cyberjaya.

Moving Soon

This site will be soon moved to another server due to my expiring account with the current hosting company. In due course, you will not be able to access this site. At that time you may want to open up a command prompt, and as the TMNET customer support always mentioned, flush your DNS cache by typing in this command:

ipconfig /flushdns

And all will be well.

The new home will be cozy, with bigger disk space and bandwidth. So far the support is fine too.