Archive for the Tech Category

I was just sorting out my backups the previous day and stumbled upon a desktop screenshot back from 2003. It certainly brought back many wonderful memories of patching (preempt, AC, CK, AA branch etc) and re-compiling the kernel every few days just to make my dekstop a little bit more responsive. In retrospect, modern day multi-core processors are 2 or 3 times faster than processors in 2003, yet I am surprised that KDE and GNOME on my Ubuntu 7.1 box just feels slow and bloated compared to what I was using back then. Are we sacrificing speed and responsiveness for the sake of eye-candy and extraneous features ? it certainly feels that way to me ……

My Desktop (2003)

Old Desktop = Fluxbox + Gkrellm + Mozilla (Firefox didn’t exist then !) + WindowMaker Dockapps.

I try to avoid programming in Java where possible, preferring scripting languages such as Perl, Python, and Ruby. However, it is quite often that you are forced to program against some vendor given API which is available only in Java or .NET. One alternative is to use Jython or JRuby - a Python and Ruby Java interpretor respectively. This allows you to write your code in Python or Ruby with seamless access to any Java class or object.

I’m quite familar with Python and decided to try JRuby instead with all the (recent / past ?) hype with Rails. While learning the language I stumbled upon Why’s (Poignant) Guide to Ruby. To put it simply, this is one of the best and most entertaining programming books I’ve read to date - I even managed to finish the whole book in one go. Really liked the Intro :

Pretend that you’ve opened this book (although you probably have opened this book), just to find a huge onion right in the middle crease of the book. (The manufacturer of the book has included the onion at my request.)

No. Please don’t puzzle over it. You don’t need to do anything with the onion. Set the onion aside and let it do something with you.

I’ll be straight with you. I want you to cry. To weep. To whimper sweetly. This book is a poignant guide to Ruby. That means code so beautiful that tears are shed. That means gallant tales and somber truths that have you waking up the next morning in the arms of this book. Hugging it tightly to you all the day long. If necessary, fashion a makeshift hip holster for Why’s (Poignant) Guide to Ruby, so you can always have this book’s tender companionship.

You really must sob once. Or at least sniffle. And if not, then the onion will make it all happen for you.

I didn’t cry, but was really impressed with the features and elegance of of the language. In some ways, it does really live up to its hype.


I’ve just started using Pownce. I think it’s great for jotting ideas, links, and events with like-minded friends - your own personal Digg. Let’s just hope the company I work in does not ban it like how they recently did with Facebook. NY Times has an interesting article on Pownce, from the article :

I learned you can send text messages to individual friends or groups of friends on Pownce as well as post microblogs, or short announcements, to the larger Pownce community. This function is very similar to messaging services like Twitter or Jaiku, and is found on social networks like Facebook and MySpace (although Pownce’s messages cannot, at least for now, be sent to mobile phones). You can also send your friends links, invitations to events, or files like photos, music or videos. Of course, you can already do that on a multitude of file-sharing Web sites. It is the combination of private messaging and file-sharing that makes Pownce so novel.

For now, Pownce is by invitation only. Unfortunately for anyone wishing to join, I’ve already run out of invites. Drop me a note if you want an invite, and I’ll contact you once I receive more invites.

We are now in the age of Petascale computing. On June 26, 2007, IBM unveiled Blue Gene/P, the second generation of the Blue Gene supercomputer that is capable of running continuosly at 1 petaflop. (1 petaflop = 1 Quadrillion (1 x 1015) floating point operations per second).

“The one-petaflop Blue Gene/P supercomputer configuration is a 294,912-processor, 72-rack system harnessed to a high-speed, optical network. The Blue Gene/P system can be scaled to an 884,736-processor, 216-rack cluster to achieve three-petaflop performance. A standard Blue Gene/P supercomputer configuration will house 4,096 processors per rack.”

Not to be left out, Sun Microsystem launched its own ultra-dense petascale system called Constellation. A petaflop capable installation is in the works at the Texas Advanced Computing Centre (TACC), University of Texas.

“The Ranger cluster will deliver 1.7 petabytes of storage using the Sun Fire X4500 data servers, the highest density available. Once completed, the TACC installation will consist of over 80 Sun Constellation System racks of computing power totaling over 15,000 quad-core microprocessors, all connected by Sun’s new high density, 3456-port InfiniBand switch. Sun Grid Engine will be used as a resource manager to dynamically allocate compute resources to applications.”

Some nice pictures of Constellation available on Jonathan Shwartz’s blog post and Josh Simmons’s blog post.

The 29th Top 500 List was released recently. This list of world’s fastest supercomputers was dominated by US research lab with IBM’s bluegene at LLNL taking the top spot for the forth time in a row.

The fastest supercomputer in Europe is the Barcelona Supercomputing Center (ranked 9) in Spain. This supercomputing center is home to the GRID superscalar project (GRIDs), which allows grid-unaware applications to be parallelised at runtime and at task level. This project has now been Open sourced, more information can be found on the GRID superscalar web site.

The majority of supercomputers on the list cater to scientific computing. However, an interesting observation is the London IBM Deep Computing Capacity on Demand (DCCoD) supercomputer (ranked 100), which is currently being offered on a pay-as-you-go basis to financial companies.

“The offering is targeted primarily at financial markets customers, who require additional, high-performance computing power to run intraday and post-trading analytics, for example. The IBM/Intel platform offers a fast, highly secure addition to companies’ computing infrastructure which can be used on a flexible basis. The solution can be purchased in increments as small as eight hours a day, five days a week.”

In my opinion, pay-as-you-go computing for financial services will be a hard-sell due to the numerous restrictions and regulations (e.g. SOX) that govern the finance and banking industry in terms of data protection and risk management.

I’ve recently been busy with work-related projects these past weeks and haven’t had time to blog much. During these busy weeks I’ve developed a few web-based front ends for the purpose of automating and simplifying tasks. It’s been quite a while since I’ve done much web development but it was definitely a good opportunity for me to get up to speed with the latest AJAX hype.

I’ve never been a Javascript fan since I started developing web applications back in the late 90s. The only Javascript I remember doing previously was some HTML form validation. Back then, Javascript was just some ugly hack that I would use to offload some form processing to the client side. Fast forward till today, and you get a plethora of interactive web applications built primarily using Javascript - have a look at Ajaxian and Read/Write Web and you will get what I mean.

During this past weeks, I’ve experimented with various Javascript toolkits including Dojo, Prototype, Scriptaculous, and YUI. I’ve found that using these toolkits makes Javascript programming less painful (and fun) than it used to. This is because they provide features such as browser abstraction (IE or Opera or NS), DOM manipulation, AJAX, and other ‘visual effects’. Of all these toolkits, I really like YUI due to its abundant online documentation and examples. There is also a recent article on Dr. Dobb’s journal where the author compares these toolkits and come to a similar conclusion that YUI provides the best features of all the Javascript toolkits compared.

For debugging Javascript programs, I use the excellent Firebug plugin for Mozilla Firefox. Firebug also provides a nice interface for tweaking CSS,and debugging AJAX/POST/GET requests.

It’s so nice to see how Linux has evolved over the years since I started installing Slackware from a CD supplied with Patrick Volkerding’s book (can’t remember the version, but I still do have the CD somewhere in the storeroom back in Malaysia). Since then I have used and administered most major distributions including hardcore distros such as Gentoo (my favourite).

(more…)

Received my Nintendo Wii on Saturday morning. Things are NOT getting done.
Nintendo Wii

This week saw some interesting developments in social networks.

Why join MySpace and Friendster when you can easily create your own social network with the newly re-launched Ning. Now anyone and not just developers can easily create and maintain their own social network. You can see a video interview with the two founders of Ning (one of which is Marc Andresson who founded Netscape). There is also a brief video by Gina Bianchini (The other co-founder of Ning) showing how easy it is to create a social network using Ning.
Jaiku on Symbian 60

The other interesting development is the integration of social networks and mobile phones with the recent beta release of Jaiku. Brady Forrest of O’Reilly Radar previews Jaiku and has the following to say:

The client app is available for Nokia Series 60 phones (over 100 million deployed). Once loaded it checks the contact database and checks for fellow Jaiku members. Once members are found they are added to your network and their listing gains a lot of new data and functionality. It gives you the following additional information about your Jaiku contacts:

  • Availability - Green if the phone is on; Red if their phone is off. Also lists phone status such as silent, talking, and ringer on.
  • Latest Post - Just like on IM, Jaiku users can set a status message that can be viewed by any of their contacts. They can also route other feeds to their status message (like their blog or Flickr feed). This can be done via SMS, the Jaiku website, or their newly released API.
  • Location - User’s location is listed as the cell tower’s name. The name comes from Jaiku users. The one for ETel is “SFO Marriot - SFO Airport” The cell towers aren’t geocoded (though that may come in the future).
  • People Nearby - This shows other nearby Jaiku users (this is detected via BlueTooth).
  • Calendar - What you’re doing next

It has been a long time since I used Windows for work and software development. In the past five years, I have exclusively used Windows for games and nothing else. Most of my work were done on Linux servers and on my trusty Powerbook running Mac OS X. So it has been quite a change for me to start using Windows as my primary working environment at my workplace.

The transition to using Windows has been made relatively easy with the help of some available tools that I had read about previously. Most of these tools provide/mimic the functionality offered by Linux and Mac OS X. These include :

  • VirtuaWin - A virtual desktop manager for windows. I need at least two workspaces to work efficiently - one for Mail/Communication and the other for web/terminals. I also create some keyboard shortcuts to change desktops so that I can switch desktops without my hands leaving the keyboard. This is particularly effective if you need to view documentation while coding/scripting.
  • AppRocket - A Mac Quicksilver clone for Windows. This allows me to access programs and files without going through my cluttered Start Menu.
  • Cygwin - The standard Windows command prompt sucks. Cygwin offers a full suite of common UNIX utilities including the BASH shell.
  • Putty - A telnet/SSH client for windows.

What I still miss :

  • Expose - A feature in Mac OS X that allows me to display(tile) all open windows as thumbnails - very useful when I have 15+ windows open. A similar feature exists in Vista but then I’m using XP.
  • Spotlight - Windows Find doesn’t even come close and is terribly slow. Spotlight gets results in seconds, and presents them in an intuitive interface that allows me to easily narrow down my search even further.

So , do any of you Linux/Mac geeks use Windows at work ? if so, what tools/apps do you use to get some of the missing functionality available in Linux/Mac ?