MAMPU pioneered OpenOffice adoption for Malaysian Government

Malaysian Administrative Modernisation And Management Planning Unit – MAMPU ( have recently making a bold move by introducing a policy to migrate to the open source productivity suite instead of the current widely used MS Office. The official adoption date will be on the 1st of April 2008 and the agency will also uninstall all copies of Microsoft Office by the end of 2008.

MAMPU Migrates to

Putrajaya, 19th March 2008 – The Malaysian Administrative Modernisation and Management Planning Unit (MAMPU), today officially adopts a policy to migrate to the open source productivity suite. This is in line with the Malaysian Public Sector Open Source Master Plan, which calls for government agencies to reduce costs, increase freedom of choice and interoperability.

From April 1st, MAMPU will start adopting the OpenDocument Format (ODF), standard for all new documents created. ODF the ISO open standard for electronic documents is also the default format for The agency will also uninstall all copies of Microsoft Office by the end of 2008.

To ensure a smooth migration, presently over 80 agency staff have been trained by the Open Source Competency Centre (OSCC). Additional staff will then be trained internally by the IT department, which will also provide support for

More info at

Continue reading “MAMPU pioneered OpenOffice adoption for Malaysian Government”

MyFina – Web-based Personal Financial System

I’m releasing the source code and also live demo version of my application called MyFina.

MyFina is a simple web based personal finance and budgeting program for managing accounts and expenses. The system aimed at those who have little or no financial background to gain control over their money. The system supports multiple numbers of users. In making this software, the developer has attempted to make things as simple as possible, while still retaining enough functions to satisfy most home users.

More info at

This project has been registered at Sourceforge

Krusader – the Winscp alternative in linux

This is the follow-up of my previous posting regarding “Winscp in linux (KDE & Gnome)“. I’ve recently used a tool called Krusader ( This is the application that I found to be the closest match to WinSCP since they both are twin-panel file manager A.K.A orthodox file manager. Krusader have most of the features (maybe more) WinSCP had such as SSH/SCP connectivity, folder comparison and synchronization. Furthermore some of the hotkeys are pretty much alike.

From the official website

Krusader is an advanced twin panel (commander style) file manager for KDE and other desktops in the *nix world, similar to Midnight or Total Commander. It provides all the file management features you could possibly want.

Some screen-shots of Krusader

The application interface

Krusader folder synchronization
Folder compare and synchronization

MyGOSSCON 2007 – Malaysian Government Open Source Software Conference

MyGOSSCON 2007 with the theme “Accelerate Open Source Software Adoption” was held on 6-7th December 2007 at Putrajaya International Convention Center (PICC), Malaysia. This event was initiated by the Malaysian Open Source Competency Center (OSCC), MAMPU with association by the Federation of
Malaysian Manufactures (FMM).

Various government agencies, private organizations and independent personnels participate throughout the event. The event successfully attracts a huge number of crowd who are mostly government employees and also peoples who are interested in Open Source movement.

The event was officially launched by Tan Sri Mohd Sidek Hassan, Chief Secretary to the Malaysian Government. During the event, two new OSCC products were also officially launched

MyWorkSpace – Email Collaboration Suite
MyMeeting -Meeting Management System

More info at

I was involved with the event. It was really really tiresome but overall the event went smoothly. I’ve learned so many things throughout the event. Furthermore, I was one of the speakers during the event with my presentation titled “Virtualisation Facility For The Public Sector”.

Below are some photos taken during the event with courtesy of OSCC

OSCC Product Feature
Some of OSCC’s products featured during the event

One of the most attractive booth during the exhibition

MyGosscon 2007 Officiating Ceremony
The Officiating Ceremony

Me, During Presentation
Me, doing the presentation

The backbone of the event

News coverage on TV3 😉

Creating internal/local Centos 5 repository with rsync

Below is the bash script I use to mirror Centos repository into our local server. Due to storage limitation, we have to be selective and only copies the packages/branches that we need. Currently we only mirror Centos 5 for “os and updates” base packages limited to i386 and x86_64 architecture only.

During the initial intensive downloading when the server is replicating for the first time, I run the script below in cron for every 30 minutes. The script will check whether the previous instance is still running or dead (sometimes we got disconnected). If dead then it will restart and continue the rsync process. Once everything is in place and all needed packages have been downloaded, I modify the cron job to do the job once in every 6 hours to make sure my server is up to date.

The script below is inspired by the script posted here by jlar310

# created by Jalte @

DATE=`/bin/date +%Y-%m-%d`
RSYNC="/bin/nice /usr/bin/rsync --verbose --progress --delete-excluded --stats --archive --partial --timeout=600"
ARCHLIST="i386 x86_64"
BASELIST="os updates"

date >> /var/log/rsynccentos.log

if [ -f "/var/run/" ]; then
   RUNPID=`cat /var/run/`
   if ps -p $RUNPID; then
      echo "Mirror is already running..."
      echo "Mirror is already running..." >> /var/log/rsynccentos.log
      exit 1
      echo "Mirror pid found but process dead, cleaning up"
      rm -f /var/run/
      echo "Mirror pid found but process dead, cleaning up" >> /var/log/rsynccentos.log

   echo "No process Detected"
   echo "No process Detected" >> /var/log/rsynccentos.log


echo $$ > /var/run/

echo -n "Rsync Started at "
echo "Rsync Started " >> /var/log/rsynccentos.log

        if [ -d $DIR ]
         echo "Directory exists."
         echo "Directory does not exist, and will be created."
         mkdir -p $DIR
        $RSYNC $REMOTE $DIR > $OUTFILE 2>&1

echo "`date`" > /var/www/html/mirror/centos-last-updated.log
chown -R apache:apache $LOCAL

Any comments are greatly appreciated

Installing Kolab Groupware Solution + Horde

My team has been assigned with the task to identify suitable email/collaboration suite to be proposed to our customers. We need some basic features such as email (with imap & pop support) calendaring, to do list and mail/groupware clients connection capabilities such as Kontact, Evolution and optionally MS Outlook.

For a start we decided to tryout Kolab Groupware Solution as some their features are suitable for our client’s environment such as using OpenPkg as the installation medium (our clients could use any type of distro), the usage of Postfix, OpenLDAP and Cyrus IMAP as the back end and last but not least the solution utilize Horde as their front end interface.

Below is the simplified installation guide for installing the solution. We are using a fresh installed Centos 5 machine with minimum package installation.

– Make sure SELinux is disabled (use setup)

– Install GCC for compilation process
yum install gcc

– Install GCC (compatibility 3.4) for to resolve gcc conflict
yum install compat-gcc-34

– Making GCC-34 as default gcc tool
mv /usr/bin/gcc /usr/bin/gcc41
ln -sf /usr/bin/gcc34 /usr/bin/gcc

– Create kolab template directory
mkdir /kolab-template
cd /kolab-template

– Download kolab sources
wget -r -l1 -nd --no-parent

– Verify file integrity (optional)
gpg --verify MD5SUMS
md5sum -c MD5SUMS

[Checkpoint #1]

– Create kolab production directory
cp -afv /kolab-template /kolab
cd /kolab

– Make sure that the following names are not in /etc/passwd or /etc/groups,
“kolab” “kolab-r” “kolab-n” if exist delete and run “pwconv”

– Start compilation.
sh obmtool kolab 2>&1 | tee kolab-build.log

*This process takes some time, so it is advisable to use ‘screen’ if your are connected remotely.

– If compilation failed, simply delete/rename the /kolab folder
and restart process at [Checkpoint #1]

– Start installation
/kolab/etc/kolab/kolab_bootstrap -b

– Start the services
/kolab/bin/openpkg rc all start

– Try access (using your web browser)

– Stop kolab services
/kolab/bin/openpkg rc all stop

– Download modified kolab sources (for horde support)
mv obmtool.conf obmtool.conf.bak
wget -r -l1 -nd --no-parent

– Some hacking to the obmtool.conf due to links provided already dead
– Change
– to

– Start re-compilation
sh obmtool kolab 2>&1 | tee kolab-build.log

– Start re-installation
/kolab/etc/kolab/kolab_bootstrap -b

– Re-start the kolab services
/kolab/bin/openpkg rc all start

– Try access (using your web browser)


Continue reading “Installing Kolab Groupware Solution + Horde”

AOL’s Active Virus Shield, the free version of Kaspersky Antivirus

Just to share with you guys,

For those who are looking for antivirus protection for your Windows machine,
you might have heard of Kaspersky Antivirus (KAV) which is arguably the best
and most effective antivirus in the market nowadays.

I’m glad to inform you guys (who did not know yet) that this Kaspersky
antivirus is available for free with the name “Active Virus Shield”. This is
kind of old news but I believe some of us still didn’t aware about this
AOL’s Active Virus Shield

Even though the name is different, it is still KAV in the background and it
should be ways better compared to AVG and AVAST and even other commercial
antiviruses out there. (Yes, I hate norton & mc affee)

You will need to supply your email address in order to receive the activation
key. In the future you might receive a lot of marketing emails from AOL to
that particular email address as part of the agreement terms, so I advise
that you use your secondary email addresses such as yahoo or hotmail.

Additional readings

3D desktop with Beryl on Ubuntu Feisty

I’ve heard a lot of stories about 3D desktop features implemented and widely used in linux nowdays. Lots and lots of people had already install this cool feature and you can find a lots of videos on the net posted by users to show off their cool desktop.

Since I already had a Ubuntu Feisty Fawn 7.04 installed on my PC at home, I decided to tryout this feature and I chose Beryl for this time as it have more than just 3D desktop cube features available. There are more such as windows transparency, blur effect, scale effect and windows animation.

For a start, I launch Synaptic and make sure that the all repositories are available. I’m aware that my Graphic Card Driver (nVidia GeForce4 Ti 4200 AGP) will require proprietary driver so I enabled the ‘restricted’ repository in the Synaptic package management.


Then I search for ‘beryl’. From the list, I selected ‘beryl-ubuntu’ package and mark it for installation.
Synaptic will automatically advised me to install a handfull of other packages that will be required for beryl to work. I marked them all. I also selected ‘beryl-manager’ and ’emerald-themes’ package for installation.



Then I clicked ‘apply’ to proceed with the installation.


Synaptic will download and install those packages


Once finished, I exited Synaptic. To enable 3D acceleration for my video card, I have to install a proprietary driver provided by NVidia. So I launch Ubuntu ‘Restricted Driver Manager’ (System > Administration > Restricted Driver Manager)


Mark the ‘enabled’ checkbox to enable the driver. Confirm the installation when the system prompt for it. The system will automatically install the driver provided that I had already enabled ‘restricted’ repository in my synaptic/apt repository sources previously.




The installation will require the pc to be restarted. Don’t restart the pc just yet. We need to do some extra process.

Open up terminal and run the command below

sudo cp /usr/share/applications/beryl-manager.desktop /etc/xdg/autostart/beryl-manager.desktop

This will make sure beryl will be launched automatically on each session.

Restart PC. Once the Ubuntu is restarted, a new diamond (emerald) icon will appear on the system tray


Right click the icon if you want to customize your beryl setting. For this time I just use the default setting.


So let’s play around. Open up a few windows.

For windows trasparency / blur effect:
Hold ALT key and scroll up/down your mouse


3D Cubic desktops
Hold ALT+CTRL and hit Left or Right key
Hold ALT+CTRL+Left button of your mouse key and move your mouse


Windows Scale Effect
Hit F8 or F9


…Have fun!

Continue reading “3D desktop with Beryl on Ubuntu Feisty”

Ubuntu Feisty on Wubi on WinXP Pro

This time I want to tryout Wubi (Windows based installer for Ubuntu). My objective is to install Ubuntu and create a dual boot system on my existing WinXP machine without having to repartition my hard drive. I’m very fond of virtual machine idea (Vmware, Xen & Microsoft Virtual PC) but so far I found out that there are severe performance hit on my pc at home (AMD Athlon XP 1800 & 256 RAM) whenever I use virtual machine and I finally decided to use dual boot instead.

Extracts from the Wubi website

Wubi is an unofficial Ubuntu installer for Windows users that will bring you into the Linux world with a few clicks. Wubi allows you to install and uninstall Ubuntu as any other application. If you heard about Linux and Ubuntu, if you wanted to try them but you were afraid, this is for you.

I will try to install Ubuntu Feisty 7.04. Firstly I grab the Wubi installer.

Optionally, you can download the Alternate ISO (ubuntu-7.04-alternate-i386.iso) first from ubuntu site or any nearest mirror or even using torrent. Put the iso file in the same folder as the EXE installer. The installer will detect for alternate iso and use it for installation, if not it will download the iso first (600MB++) before starting the installation process.

Launching the EXE installer file and you will be presented with the first installation screen

Fill in your preferred username and password then click setting to customize your installation environment.


Then continue with the installation

You will then need to reboot your pc

During the boot up, a multi-boot option will appear where WinXP listed as the default OS and Ubuntu right after it. Unfortunately in my case once I selected Ubuntu, an error message came out and I cannot boot the Ubuntu at all.


Referring to Ubuntu Forum here and here I managed to overcome the issue.

  • Download contig and use it to defrag the wubi folder (in my case C;\wubi)

    contig -v -s c:\wubi

  • Download the latest grldr file ( provided by ‘bean123’ in this thread. Unzip it and copy glrdr file into your c:\ drive replacing the existing one.
  • Move both c:\wubi\boot and c:\wubi\disks to the root directory of the same drive, c:\boot and c:\disks respectively
  • Edit c:\menu.lst changing all references to directory /wubi/boot to only /boot

    title Ubuntu
    find –set-root –ignore-floppies /boot/grub/menu.lst
    configfile /boot/grub/menu.lst

  • The same goes to c:\boot\grub\menu.lst file

    ## ## End Default Options ##

    title Ubuntu, kernel 2.6.20-15-generic
    find –set-root –ignore-floppies /boot/linux
    kernel /boot/vmlinuz-2.6.20-15-generic find=/boot/linux ro quiet splash
    initrd /boot/initrd.img-2.6.20-15-generic

    title Ubuntu, kernel 2.6.20-15-generic (recovery mode)
    find –set-root –ignore-floppies /boot/linux
    kernel /boot/vmlinuz-2.6.20-15-generic find=/boot/linux ro single
    initrd /boot/initrd.img-2.6.20-15-generic

    title Ubuntu, memtest86+
    find –set-root –ignore-floppies /boot/linux
    kernel /boot/memtest86+.bin


    # This is a divider, added to separate the menu items below from the Debian
    # ones.

    title Ubuntu (Original Kernel)
    find –set-root –ignore-floppies /boot/linux
    kernel /boot/linux find=/boot/linux setup_iso=ubuntu-7.04-alternate-i386.iso quiet splash ro
    initrd /boot/initrd

Restart the pc and select Ubuntu again, and here goes my Ubuntu Feisty….


Continue reading “Ubuntu Feisty on Wubi on WinXP Pro”

Getting Intel PRO/Wireless 3945ABG working on Opensuse 10.2

I’ve been asked to setup 2 IBM Thinkpad RSeries (Lenovo R60) notebooks. One with Ubunty Edgy and another with OpenSuse 10.2. Installation process running smoothly for Ubuntu where everything functioning as it should be. But for OpenSuse 10.2 I found one problem, the wireless adapter did not work.

ifconfig only list lo adapter along with eth0 which is the physical gigabit ethernet adapter.

result for lspci confirmed that the wireless adapter exist.

Intel Corporation PRO/Wireless 3945ABG Network Connection (rev 02) 15:00

I then use lsmod | grep 3945 to find out whether or not the driver was installed.

ipw3945 191520 0
ieee80211 34632 1 ipw3945
firmware_class 14080 2 pcmcia,ipw3945

So the driver is there. After done some googling, I found out that additional ‘non OSS’ packages need to be installed in order for the adapter to work.

So I launch Yast2 (Administration Interface) and select Installation Source to add ‘non-oss’ repository.


Select Add

I add the address below to make ‘non-oss’ packages available for installation
(you can use any other mirror if you want)

Some downloading activities will start. Once finished, the new repository will be listed as one of package source.


Click finish and you will be back to the Yast2 Control center main page.
This time select ‘Software Management’

Search for ‘ipw’. You will find 2 packages


Select both packages Click ‘accept‘ to install them

Packages will be downloaded and installed

After the installation process completed, exit the Software Management interface.

In the Yast2 main interface, select ‘Network Devices’ > ‘Network Card’

Since I’m so used to Ifup/Ifdown command, I select ‘traditional method with ifup’ when asked.


Select the wireless adapter and choose ‘edit’

Specify your network ip or leave it as it is if you have DHCP in your network environment.
Click ‘Next’.

After that you will need to specify your local wireless parameters and finishing the process.
Yast will restart your network services.

To make sure your wireless adapter is working, open terminal, then type ‘ifconfig’ and make sure eth1 is now listed.

If not, run command ‘ipw3945d’ to launch the PRO/Wireless 3945ABG Regulatory Daemon. Use ‘ifup eth1’ to turn on the eth1.

Another useful command is ‘iwlist eth1 scan’ to list out available wireless access-point in your network.

Continue reading “Getting Intel PRO/Wireless 3945ABG working on Opensuse 10.2”