Wednesday, December 30, 2009

The YoLD is Dead; Long Live the YoLD!

Twas the first day of Christmas 2009 and my true love gave to me... a Linux-ready USB WebCam!menari

First, YoLD = Year of the Linux Desktop. This proclamation has been ringing in my ears since 2004... for some of you, even earlier. I think, collectively, we've come to realize that its an evolution and not a revolution... hence my proclamation:

The YoLD is Dead (2009); Long Live the YoLD (2010)!

Much Thanks and Gratitude to the French for inventing the original. See Wikipedia for details here.

Back to my Christmas gift from my wife. She recalled my frustrations 2 years back in getting a brand-new USB WebCam to work with Linux (openSUSE, SLED, Ubuntu etc). She, a non-IT person, went shopping this Christmas and found a WebCam that explicitly supports Linux! Wow! sembah

And it WORKED! No driver installation/compilation required, true plug and play. Worked with Kopete and also with Skype. It worked on openSUSE 11.2 and SLED 11. Pretty sure it will work on many of the current Linux distributions. The box did say Kernel 2.6.21 & above. Here are a few pictures of the box.

Yes, I'm helping to advertise for this vendor because they deserve my support for their explicit Linux support. senyum

Finally, I credit this Blog entry to my wife. Thanks dear, you're the best! love

Saturday, December 12, 2009

ATI 3D Desktop Effects on SLED 11

This week, I find myself in Colombo, Sri Lanka. This is my first trip to Sri Lanka so its exciting for me to visit new places and people. The event is Novell's India Partner Academy where we see hundreds of partners from Pakistan, India and Sri Lanka converge in Colombo to hear Novell's commitment, roadmaps and sharing of experiences so as to be more effective.

Anyway, I never wrote how to enable 3D Dekstop Effects with ATI graphics card as my personal Thinkpad uses nVidia. However, I had the opportunity to help Henry, our India Partner Executive, setup his Thinkpad T60p (with ATI Mobility FireGL V5250) with 3D Effects. As usual, the 3D Effects are already installed on his SUSE Linux Enterprise Desktop 11. Its the graphics driver that is not 3D capable as Novell does not ship proprietary drivers with the base SLED 11.

Usually, the recommended and easy way is to use YaST Novell Customer Center Configuration. Upon successful registration, you will get an ATI repository setup in your YaST Software Repositories. All you need to do next is to install x11-video-fglrxG01 from YaST Software Management.

However, using the recommended method above failed to work for me for this particular Thinkpad T60p. The drivers installed successfully but X refuse to start and after a few flickers we are left with a blank black screen. Thus, I'm forced to go down the manual path where I download the latest ATI Catalyst driver and compiled a driver.

Here's a brief journal of what I did. NOTE that this is the manual method and should only be used if the recommended/easy/painless method described above does not work. The disadvantage of using this method is that you will need to repeat these steps (recompiling the driver) everytime you upgrade your SLE kernel. Here goes:

1) Go to and select Linux (x86 for 32-bit and x86_64 for 64-bit of SLED 11), followed by FireGL and Mobility FireGL V5000 and click GO. Scroll to the bottom and click to download the ATI Catalyst Proprietary Linux Driver (version 9.3 at the time of this writing).

2) Once downloaded, as root, make the file executable < chmod +x >

3) Next, to list the driver build options (for different Linux Distro) via < ./ --listpkg >. You should see SuSE/SLE11-IA32 amongst the many other SuSE entries.

4) Next, to build the driver for SLED 11, execute < ./ --buildpkg SuSE/SLE11-IA32 > (since the installed SLED 11 is 32-bit)

5) The result is a generated RPM called fglrx_7_4_0_SLE11-8.593-1.i386.rpm. Before you install this RPM, please get to runlevel 3 via the command < init 3 >

6) Install the RPM via < rpm -ivh fglrx_7_4_0_SLE11-8.593-1.i386.rpm >

7) Finally, execute SaX2 tool to configure this puppy via < sax2 -r -m 0=fglrx >

8) With SaX2 configuration completed, go back to runlevel 5 via < init 5 > and enable Desktop Effects via the Computer -> Control Center -> Desktop Effects.
A good brief reference is also available at "ATI Installer HOWTO for SUSE/Novell Users" at

Done. senyum

Tuesday, November 24, 2009

openSUSE 11.2 on EeePC 701: Wifi works!? Voodoo?

Luv openSUSE 11.2 so much, especially the default KDE 4.3 GUI... I find myself staring and admiring at it... this is big for me as I've not stopped and marvel at GUI for quite a while now... senyum ...

That was all the motivation I needed to install it onto my ASUS EeePC 701 (remember the very 1st netbook?) with 4GB SSD and 1GB RAM. Good news is everything works! Well, when I say 'everything', I meant things that matter to me like KDE GUI with compositing (ie 3D eye-candy), Firefox, OpenOffice and other apps, embedded webcam worked on Kopete and .... *drum roll*, Wireless! What's a netbook if wifi doesn't work yeah?

So, why am I so excited that wifi worked out of the box...? Apparently, wifi should not work with the default ath5k driver as its been reported at OpenSUSE on EeePC page and its true... until, by chance, I got it to work... and I'm going to described it here in very non-technical terms as I still have not figured out how/why it worked... hoping readers will have some good input and theories... maybe even a good technical answer. senyum Here goes:

1) Original challenge: Wifi appears to be available, can scan for SSIDs. However, it failed to connect with my home SSID.

2) Plugged in a Ethernet cable on my home network, just to test if physical network connection would work, I am able to surf the web. Hurray!

3) When I unplugged the Ethernet cable, it suddenly is able to automagically connect with my home wifi. While its a step forward, I am still unable to surf the web. However, I am able to ping all IPs in my home network.

4) Added a network route via route add and I can surf the web! So happy.
route add default gw metric 0 dev wlan0 (where is my home internal IP range)

Hope this will help those with the same itch/challenge. Would definitely appreciate your inputs on this behaviour. Thanks in advance.

PS: hwinfo | grep -i atheros returns:
info.vendor = 'Atheros Communications Inc.'
pci.vendor = 'Atheros Communications Inc.'
info.vendor = 'Atheros Communications Inc.'
E: ID_VENDOR_FROM_DATABASE=Atheros Communications
<6>[ 4.942343] Atheros(R) L2 Ethernet Driver - version 2.2.3
<6>[ 4.942355] Copyright (c) 2007 Atheros Corporation.
<6>[ 7.105539] ath5k phy0: Atheros AR2425 chip found (MAC: 0xe2, PHY: 0x70)
Model: "Atheros AR5001 Wireless Network Adapter"
Vendor: pci 0x168c "Atheros Communications Inc."

Monday, November 23, 2009

openSUSE 11.2: Making Flash work on Firefox

Update (23rd Nov 09): Please IGNORE this post (my bad) if you do not have any issues with getting Flash to work on Firefox, in fact, you should not have any issues here... With Thanks to astute readers woro and thuswa (see comments section). I had trouble because I should have used YaST Software Management to install Flash; instead I went and download/install Flash via Adobe's website... because I wasn't thinking and clicked a link to download Flash when visiting on my vanilla Firefox. D'oh! xpasti

Well! I'm back to blogging after 3 months...
senyum ... and all because I've taken ill and quarantined at home for the last 5 days... guess I've run out of things to occupy me... and recall how much I missed blogging... right, moving on... Alons-y!

You've probably heard that openSUSE 11.2 is out and what a fantastic (and concerted effort) launch and what a good all round package for a dot 2 (xx.2) release. I feel very optimistic for the enterprise grade SLED 11 SP1 in 2010. encem

One of the first things I always do with any new openSUSE is to install Adobe Flash Player onto Firefox. Its one of those ubiquitous proprietary software that does not come with a Free and Open Source package of Linux. A quick visit to the download page and got the RPM version (as of this writing, Flash version The default Firefox 3.5.4 will, quite cleverly, attempt to install the rpm via Install Software silently. A restart of Firefox should have Flash up and running right?... (rhetorical)... NO! What an annoying surprise.soal Here's how I got it to work after a little snooping around:

1) The default Firefox directory (/usr/lib/firefox/) does not have the usual /plugins sub-directory. Go ahead and create it, as root user, via:
mkdir /usr/lib/firefox/plugins

2) Now, go to the installed Flash directory (/usr/lib/flash/) and execute the setup script, as root, via:

3) Check that there is a softlink to the flash player lib in /usr/lib/firefox/plugins/ directory

4) Now restart Firefox and to double-check by entering about:plugins in the URL address bar. This will list all plugins on Firefox and you should see an entry (towards the bottom) for Flash.

5) I also noticed that audio does not seem to work. Not sure why but the PCM volume setting is set to zero. Click the Audio Volume icon and choose Mixer and move the PCM volume up. Again, not sure why this is set to zero by default and having installed openSUSE 11.2 on two different systems, I noticed the same behaviour.

Molto Bene! Hope this helps. peace

Monday, July 20, 2009

Converting VMWare image to SLES Xen

UPDATE (22 Jul '09): Ron Terry has uploaded his virt-tools RPM package online at . Hence, with regards to point 4 below in this entry, you could simply download and install the virt-tools-0.1.0-4.1.noarch.rpm and use the sparsify-disk script. Thanks Ron! sembah

I had to conduct a demo of a product that only works on Windows. I could spend time to setup a Windows 2003 environment in Xen and then install the product/s and perform the necessary demo configurations etc... but my colleague have it all setup and ready to rock in a VMWare image... heheheh... let the fun begin! kenyit

PS: Yes, I could simple reboot SLES 11 and use VMWare Server but I had all my other demos in Xen... besides, I really dig the fact that I can have virtualization capabilities using open source software.

1) Using the qemu-img-xen tool in SLES 11, I was able to convert the VMWare VMDK file (single file) into a raw sparse file. If your VMDK is split into multiple files (2GB each - gotta love FAT), you can use vdiskmanager (a VMWare tool) to combined all these little files into a file before using qemu-img-xen.

qemu-img-xen convert demo.vmdk -O raw disk0

That's all there is to it... EASY!... oh... unless of course, you have my luck and the original Windows VM is virtualized on VMWare using SCSI disk drivers. You can take a look at the VMX file to verify. Or you could attempt to boot up the Windows VM in Xen and have it hang with the all so familiar BSOD (Blue Screen of Death). sengihnampakgigi

2) With many Thanks to Mr Ian Blenke and his blog entry, I managed to overcome the "Windows VM using SCSI disk drivers and will not boot up in Xen because the disk is now IDE" challenge. The trick is to simply copy the appropriate IDE drivers and merge additional registry entries into the Windows VM. Next, perform step 1 and that's it! senyum

For Windows 2003, the IDE drivers can be found in C:\WINDOWS\Driver Cache\i386\ I extracted pciide.sys and copied it to C:\WINDOWS\system32\drivers\ directory. Additionally, check and ensure that Atapi.sys, Intelide.sys and Pciidex.sys are also in C:\WINDOWS\system32\drivers\

The additional registry entries and instructions on merging with existing registry can be found at the latter half of the very long page at

3) Optionally, probably a good idea, I downloaded the latest Virtual Machine Driver Pack for Windows from (search term "virtual machine driver pack"). Direct link for this at time of this writing is

Download Windows driver directly into the Windows Xen VM and double-click to install. Done! senyum

I did notice an improvement in overall speed during boot (I/O bound) and when copying files over the network (Network I/O).

4) Finally, I did some spring cleaning within the Windows Xen VM... managed to reclaim 6Gb of hard disk space. Now comes the next labourious bit, I need to re-sparsify the disk so as to translate this disk usage savings onto the physical hard disk drive. With much Thanks to Ron Terry, I managed to do just that by a wonderful script he provided.

Since I did not get his kind permission to put that script up in the public domain, I will describe the process (and commands) in sparsifying the disk.

a) Mount the Xen disk on dom0:

xm block-attach 0 file:/directory/disk0 xvde w
mount /dev/xvde1 /tmp/disk1

b) Use the dd command to fill up the rest of the empty spaces with zeros.

dd if=/dev/zero of=/tmp/disk1/zerofile bs=1M
rm /tmp/disk1/zerofile

c) Unmount and detach the Xen disk from dom0:

umount /tmp/disk1
xm block-detach 0 51776 -f

d) Make a copy of the Xen disk with the cp command and --sparse=always flag:

mv disk disk.tmp
cp -a --sparse=always disk.tmp disk

PS: Please ensure you have 1.5 to 2.0 times the disk image file (disk0) of free hard disk space on your system.

Life is good again. peace

Thursday, July 2, 2009

SUSE Meetup: SLES 11 on IBM System p

I attended the monthly SUSE meetup group here in Singapore last night. The highlight of the evening is a walkthrough and demo of installing SUSE Linux Enterprise Server 11 on IBM System p (POWER) by Mike Veltman, our SUSE meetup lead and our talent from Holland. senyum

Antarius is an authorised IBM Training partner and has a number of IBM System p5 in their training centre. Mike is a SUSE and AIX consultant with Antarius.

Pictures of the very familiar IBM Hardware Management Console (aka HMC) managing a number of LPARs running AIX and SLES 11... and even openSUSE 11.1!! .... which requires a hack and not officially supported... but Mike does it because he can... as usual... kenyit

It was a good turn out despite the change in the usual venue... we had a good mix of geeks/experts from various fields and we had a good time exchanging views and information till 10pm.

Mike educates us with his usual enthusiasm about the design merits of the System p in how it handles virtualization, management and pooling of hardware resources. For those who were early (ahem, me included), he showed how we can dynamically assign virtual CPUs and RAM to a running SLES 11 and it works!

Looking forward to the next meetup.

Monday, June 29, 2009

I was at Computex 2009 too!

Yup, I was there from 3-6 June earlier this month... due to my traveling schedule and procrastination, well... mostly procrastination, I end up posting this "me too" post 2 days before the end of June. senyum

Anyway, I hereby present some SUSE highlights, photos and a video of the event from my perspective:

1) With our close collaboration with Intel on Moblin, we are 1 of 2 software vendors allowed to have a booth on the traditionally hardware vendor ONLY show floor.

2) On display are SUSE Studio (beta) and a whole string of Netbooks from Acer, MSI and ASUS loaded with openSUSE 11.1 with Moblin GUI. Really sweet!

3) I found some time to go up to the 83 or 85th floor on the famous Taipei 101... what a view of the city!

4) Finally, a picture of all the hardworking Novell folks (hackers, managers, sales, marketing) who pulled this first-of-its-kind presence at Computex. Also in the picture are attractive promoters and a dude who was in a Geeko suit.

Speaking of mascots, here is a video of a Computex mascot mixing it up with our SUSE Geeko... looks like we'll need to hire the guy (or gal) in the Computex mascot to our Geeko suit for next year... Enjoy! gelakguling

Saturday, June 27, 2009

Getting caught between China vs Google

Traveling to China for a business trip this week, I found myself caught up between the tug-o-war between China and Google, with China being displeased with the little effort Google makes to filter out porn via certain search words on their site. It also made me realized my dependency for Google services... time for a re-think.

Anyway, I was happily reading my feeds via iGoogle, checking my emails on Gmail and doing lots of searches on Google on Wednesday afternoon (24th June 2009). Things weren't so rosy after dinner as I found that my browser keeps getting connection resent errors to anything related to Google (, and

This went on till Friday morning (26th June 2009) when services were resumed. However, I still could not get onto Blogspot or YouTube. Even now, as I'm sitting in my hotel lobby waiting for my transportation to the international airport, I still do not have access to Blogspot or YouTube. Not that it matters too much since I'm heading home to Singapore in another few hours.

Astute readers will wonder how did I manage to post this entry on my blog while still behind the Great Firewall of China? Its not the most efficient way (from networking and data perspective) but I managed to gain remote-desktop access to my SUSE Linux Enterprise Desktop 11 running on my home PC in Singapore. Here's a link to my previous posts (2008) on the various options for remote desktop access to SLED [Part1 and Part2].

Wednesday, May 20, 2009

The One Talent Manager

Once upon a time, in a land far away, there lived a rich man who had to leave the country on a long journey. Before he left, he summoned his top 3 managers and entrusted them with funds to manage on his behalf.

In accordance to their ability, the rich man gave the first manager 5 Talents. Coincidentally, Talents is the measure of currency in this country and its estimated to be approximately USD$1,000 per Talent. He gave 2 Talents to the second manager and finally, to the third manager, he gave 1 Talent.

The first manager put his 5 Talents to work, through shrewd investments, and gained 5 more. The second manager also put his 2 Talents to work, in various financial instruments, and gained 2 more Talents.

The third manager, the One Talent Manager, decided that it was too risky and took a more conservative approach... especially in times of economic uncertainties, high unemployment and negative market sentiments etc. To safe guard against these dark and trying times, he converted his 1 Talent into gold bars. He then dug a big hole in his backyard and buried the gold bars. He would spend an hour every evening standing in his backyard feeling secure that his employer's fortunes are safe under his care.

Soon, the rich man returned from his journey and summoned his 3 managers to give an account of their activities. The first manager reported that he has generated another 5 Talents from his initial capital and has a total of 10 Talents. The rich man was pleased and gave him 10 more Talents to manage.

The second manager reports that he too has a 100% increase from his initial 2 Talents. The rich man was pleased and gave 4 more Talents for him to manage.

Finally, the third manager (the One Talent Manager), presented 1 Talent worth of gold bars to his employer. He justified his conservative approach to fund management by citing economic uncertainties, fluctuating rates and negative market sentiments. He felt he has not put his employer's fortunes at risk and proudly returns what was given to him.

The rich man took the 1 Talent worth of gold bars and gave it to the first manager and fired the third manager. "The least you could have done is to put this 1 Talent in a bank and earn interest on it. You are lazy and fearful of many things." said the rich man.

The above story is my adaptation... the original story has been handed down many generations for over 2,000 years and can be found here - [Link]

Here are my thoughts on the story of the One Talent Manager:
  • In any time and in any circumstance, inaction through fear is the wrong action to take. Conversely, many actions through a lack of knowledge and wisdom is just a busy schedule with little results... that is another story for another time...

  • If you have an ability, use it and see it grow and increase as you participate and contribute with like-minded individuals. If you choose to withhold, you will loose that ability through inaction.

  • There are many who prefer to hold on to what they have and what had worked for them... its only human to crave safety... however, have we considered the cost of denying new (OSS) trends and opportunities and vehemently and emotionally hold onto the past?

I do not want to be a One Talent Manager. senyum

Friday, May 8, 2009

Windows 7 RC virtualized on Xen

Yep, downloaded a copy of Windows 7 RC and a corresponding product key. Installed and now fully virtualized under SLES 11 Xen... no hacks, no tricks, it just worked... the way I like it. Yeah! senyum

The installation experience for Windows 7 RC is smooth and painless coz it made all my choices for me... how sweet?! siul All I had to do was to tell it to do a fresh install and choose the target disk! hah Of course, post-installation requires me to create a user account and password followed by activating the product with the product key. No fuss, no stress installation for an end user desktop.

The installation experience for SUSE Linux Enterprise Desktop 11 is pretty close too in terms of ease and yet gives me more options at install time to configure the system the way I want it... I welcome the arrival of Windows 7, as iron sharpens iron, it just gets better (progress) as opposed to a monopoly and innovation suffers. senyum

Wednesday, May 6, 2009

Running .NET on Apache2 with Mono on SLES 11

This is a journal on how I setup SLES 11 with Xen and the Mono Extension to demonstrate the capabilities of SLES 11 in hosting .NET applications on Apache2, all on a single machine. senyum

1. Installed SLES 11 on my Lenovo Thinkpad T61p.

2. Install the SLES 11 Xen hypervisor. YaST -> Virtualization -> Install Hypervisor and Tools. Reboot the machine into the SLES 11 Xen-kernel. Configure a local network bridge so that virtual machines and the host can communicate via TCP/IP. For details, see my other entry at

3. Create and install SLES 11 as a new virtual machine (domU) called WebSrv. Install the Apache2 web server (installation pattern: Web and LAMP Server) and the Mono extension (post-installation).

The Mono extension can be downloaded from, select SUSE Linux Enterprise Mono Extension and click Search. Alternatively, the direct link (at the time of this writing) is HERE. Installation of the Mono is fairly straight forward YaST -> Software -> Add-On Products and select the ISO file that has been downloaded.

4. Create and install a Windows virtual machine (domU) called WinDev. I have used Windows Server 2003 and Windows Vista. You can also use Windows XP... as long as its a platform where we can install Visual Studio 2008 Standard Edition. See this link for installation requirements HERE.

5. Download and install Visual Studio 2008 Standard Edition onto the Windows virtual machine (WinDev) created previously. Visual Studio 2008 can be downloaded as a trial (90 days) HERE ... even better if you have an MSDN subscription and you can use this without worrying about expiration of your trial licence.

6. Download the freely available .NET ASPX web application called BlogEngine.NET (source) from into the Windows virtual machine. Latest version (at time of this entry) is V1.5. Optionally, you might want to refer to their online video on how to download and install this on Visual Studio HERE.

7. Start Visual Studio 2008 and import the BlogEngine.NET application (source). From the Solution Explorer, collapse the tree and right-click on the BlogEngine.Web folder and select Set as Startup Project.

8. Test that the BlogEngine.NET application works by hitting Ctrl-F5 or Menu Bar -> Debug -> Start without Debugging. If successful, the IE browser will launch and you will see the start page for the BlogEngine webapp. Close IE to end the debugging session within Visual Studio 2008.

9. On the SLES 11 virtual machine (WebSrv), create a sub-directory called BlogEngine in /srv/www/htdocs/ and share this directory via SAMBA (with read and write access), YaST -> Network Services -> Samba Server.

10. On the Windows virtual machine (WinDev), map the shared directory from SLES 11 (WebSrv) as Z: drive.

11. Export the BlogEngine.NET application to Z: drive via Menu Bar -> Build -> Publish Website. See screenshot below. The initial publishing will take some time as compilation is required.

13. Point your IE browser to http://[WebSrv]/BlogEngine , where [WebSrv] is the IP address or resolvable hostname of the SLES 11 virtual machine, and verify that the .NET ASPX application works!

If so, go to SLES 11 (WebSrv) and open a Firefox browser to http://localhost/BlogEngine and verify the .NET ASPX web application loads.

DONE! encemsenyum