Wednesday, 15 July 2009
Thumbs up to Velib Bicycle System at Paris

I'm very amaze with the Velib bicycle system at Paris.
Kuala Lumpur desperately needs this kind of services. The answer to traffic jam is not more highway but rather moving to transportation that occupy less m^2 of space.
Kuala Lumpur should encourage more mixed-mode transportation such as train and bicycle. That's the cheapest investment goverment should so. Provides enough bicycle from all train station to some special bicycle parking near the office area. Mark some road with bicycle lane.
This will achieve "People First, Performance Now" faster.
Posted by Sudirman 0 comments Links to this post
Labels: bicycle , kuala lumpur
Tuesday, 30 June 2009
Changing login/GDM background screen inside Fedora 11

Maybe it's me but I found the theme of Fedora 10 (solar theme) more pleasant on eyes compare to Leonidas theme that come default in Fedora 11.
When I installed Fedora 11, the first thing that I do was changing the background of my desktop to the ever 'cool' solar flare theme ;)
Changing desktop background is easy, you need to go to System | Preferences | Appearance | Background Tab and choose the image that you want as background.
However, steps to change the login screen or GDM background is not clear enough. I googling around but do not find any clue until I click the "Make Default" button! Maybe a button/checkbox with wording like "Change Login Screen to Current Desktop Background" will be more clear and easily grasp by users.
Posted by Sudirman 0 comments Links to this post
Sunday, 28 June 2009
My dreams.. Kuala Lumpur with bicycle lanes..
Creative commons. Some rights reserved. Photo by Payton ChungMany cities has already started promoting bicycles as a means to of transportation to work. I'm waiting when will be the time for Kuala Lumpur to move into same direction.
Currently from my house to my workplace, I don't see any safer lane for bicycle. I believe if government can start the initiative to have a proper lane for bicycle, more people will start going to work by bicycle. Currently I'm biking to office. Biking itself is not very safe in this city. It's looks like KL is a car-loving city. Sigh.
Posted by Sudirman 0 comments Links to this post
Labels: bicycle , kuala lumpur
Saturday, 23 May 2009
Monday, 18 May 2009
Countdown to Fedora 11 Release. Part 1
Fedora 11, the latest and greatest release of Linux distribution from Fedora Project and backed by Redhat will be release to wild on 23rd May 2009.
Not wanting to wait that long, I downloaded the Fedora 11 Preview and install over the weekend.
I'm testing a feature which I think might be useful to those who on travel or maybe perhaps those who need to work with colleagues not on same time zone.
The weather information is correct so far. While I'm writing this, there is just a very light shower outside. Perfect!
Posted by Sudirman 0 comments Links to this post
Wednesday, 25 February 2009
SSIS ETL Howto 5: Converting empty column to NULL
Hi, in this series, I would like to discuss one activity that usually happen during ETL process; converting empty string to NULL before storing to table.
There are many ways to convert empty string to NULL. If you are loading from file, one of the easier methods is to use Derived Column component.
We just need to check the value of existing column and set it to the desired value that we want using expression.For example, to convert empty string to NULL, we just need to specify below expression:
LEN(TRIM([Input1]) )==0?(DT_STR,1,1252)NULL(DT_STR, 1,1252):TRIM([Input1])
The expression check the length of the trimmed column. If it equals 0, we set it to NULL, else, it stores back existing value.
One of Derived Column component's drawback is specifying expression for many columns is tedious.
What I did to avoid the problem of choosing/typing the expression one by one for each column is by using some Ruby code to generate the expressions:
input_columns = ['Input1','Input2']
input_columns.each { |x| puts "LEN(TRIM([#{x}]) )==0?(DT_STR,1,1252)NULL(DT_STR, 1,1252):TRIM([#{x}])" }
By using this code, I can quickly enter the expression value by just copying this code's output. I just need to specify the column names into the array 'input_columns' and run it.
Remember, Ruby is your friend! :)
Posted by Sudirman 0 comments Links to this post







