<?xml version="1.0" encoding="utf-8" ?>

<rss version="2.0" 
   xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
   xmlns:admin="http://webns.net/mvcb/"
   xmlns:dc="http://purl.org/dc/elements/1.1/"
   xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
   xmlns:wfw="http://wellformedweb.org/CommentAPI/"
   xmlns:content="http://purl.org/rss/1.0/modules/content/"
   >
<channel>
    <title>Steven Yong's Weblog</title>
    <link>http://blogs.ngiap.com/stevenyong/</link>
    <description>not really ridiculous</description>
    <dc:language>en</dc:language>
    <generator>Serendipity 1.3.1 - http://www.s9y.org/</generator>
    
    <image>
        <url>http://blogs.ngiap.com/stevenyong/templates/default/img/s9y_banner_small.png</url>
        <title>RSS: Steven Yong's Weblog - not really ridiculous</title>
        <link>http://blogs.ngiap.com/stevenyong/</link>
        <width>100</width>
        <height>21</height>
    </image>

<item>
    <title>There is awards for blog in Singapore</title>
    <link>http://blogs.ngiap.com/stevenyong/archives/341-There-is-awards-for-blog-in-Singapore.html</link>
            <category>non-computer</category>
    
    <comments>http://blogs.ngiap.com/stevenyong/archives/341-There-is-awards-for-blog-in-Singapore.html#comments</comments>
    <wfw:comment>http://blogs.ngiap.com/stevenyong/wfwcomment.php?cid=341</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://blogs.ngiap.com/stevenyong/rss.php?version=2.0&amp;type=comments&amp;cid=341</wfw:commentRss>
    

    <author>nospam@example.com (Steven Yong)</author>
    <content:encoded>
    &lt;br /&gt;
Got this piece of email this morning:&lt;blockquote&gt;I&#039;ve tried very hard to make this sound not like a spam message. But it&#039;s quite hard. (I tried, though.) =P&lt;br /&gt;Well, it&#039;s just a leeeetle spam. Please bear with me because this is important to me!&lt;br /&gt;&lt;br /&gt;I&#039;m a finalist in the Omy S&#039;pore Blog Awards and need your vote to win the award! The category I&#039;m in is &amp;quot;Most Entertaining Blog&amp;quot;. I&#039;m quite flattered, really. But all that aside, now I&#039;m kinda obliged to solicit for votes, lol.&lt;br /&gt;If you love me (or love my blog) or potentially do (or even if not), please vote for me because I work hard on my blog!&lt;br /&gt;&lt;br /&gt;My blog is at &lt;a href=&quot;http://sheylara.com&quot;&gt;http://sheylara.com&lt;/a&gt; if you need to verify that I&#039;m a real human being and not a spam bot. &lt;img src=&quot;http://blogs.ngiap.com/stevenyong/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;/blockquote&gt;And here is how to vote:&lt;br /&gt;&lt;br /&gt;1. Go to this link: http://sgblogawards.omy.sg/finalists/?blogCat=entertain&lt;br /&gt;2. Click on the &amp;quot;Vote Now&amp;quot; button.&lt;br /&gt;3. Enter your e-mail and type a password of your choice.&lt;br /&gt;4. Click on my picture and vote! &lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Tue, 01 Jul 2008 23:59:00 +0800</pubDate>
    <guid isPermaLink="false">http://blogs.ngiap.com/stevenyong/archives/341-guid.html</guid>
    
</item>
<item>
    <title>Installing software on Windows no longer easier</title>
    <link>http://blogs.ngiap.com/stevenyong/archives/340-Installing-software-on-Windows-no-longer-easier.html</link>
            <category>computer</category>
    
    <comments>http://blogs.ngiap.com/stevenyong/archives/340-Installing-software-on-Windows-no-longer-easier.html#comments</comments>
    <wfw:comment>http://blogs.ngiap.com/stevenyong/wfwcomment.php?cid=340</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blogs.ngiap.com/stevenyong/rss.php?version=2.0&amp;type=comments&amp;cid=340</wfw:commentRss>
    

    <author>nospam@example.com (Steven Yong)</author>
    <content:encoded>
    &lt;br /&gt;
Software installation has been the primary obstacle preventing novice users switching from Windows to Linux, until the central repository of software packages introduced in Linux world. Observe following scenario.&lt;br /&gt;&lt;br /&gt;Let say I want to install Zip, IM Client and Firefox on my PC, the steps comparison on Windows XP and Fedora Core 9 are as below:&lt;br /&gt;&lt;br /&gt;On Windows XP:&lt;br /&gt;1) Go to www.zip.com, download zip.exe, double click on the downloaded exe, and click at least one &amp;quot;Next&amp;quot; button.&lt;br /&gt;2) Go to www.im.com, download im.exe, double click on the downloaded exe, and click at least one &amp;quot;Next&amp;quot; button.&lt;br /&gt;3) Go to www.firefox.com, download ff.exe, double click on the downloaded exe, and click at least one &amp;quot;Next&amp;quot; button.&lt;br /&gt;&lt;br /&gt;On Fedora Core 9&lt;br /&gt;1) Open terminal, type &lt;code&gt;su root&lt;/code&gt; followed by root password, type &lt;code&gt;yum -y install zip&lt;/code&gt;.&lt;br /&gt;2) In the same terminal, type &lt;code&gt;yum -y install im&lt;/code&gt;.&lt;br /&gt;3) In the same terminal, type &lt;code&gt;yum -y install firefox&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;Some Windows fans might ask &amp;quot;how am I supposed to know what &amp;quot;yum&amp;quot; command to type?&amp;quot;, the answer is same as asking &amp;quot;How would I know the URL of Zip download page?&amp;quot;.&lt;br /&gt;&lt;br /&gt;When you need to know something, you will know.&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Mon, 23 Jun 2008 23:59:00 +0800</pubDate>
    <guid isPermaLink="false">http://blogs.ngiap.com/stevenyong/archives/340-guid.html</guid>
    
</item>
<item>
    <title>One of my favorite video on YouTube</title>
    <link>http://blogs.ngiap.com/stevenyong/archives/339-One-of-my-favorite-video-on-YouTube.html</link>
            <category>non-computer</category>
    
    <comments>http://blogs.ngiap.com/stevenyong/archives/339-One-of-my-favorite-video-on-YouTube.html#comments</comments>
    <wfw:comment>http://blogs.ngiap.com/stevenyong/wfwcomment.php?cid=339</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blogs.ngiap.com/stevenyong/rss.php?version=2.0&amp;type=comments&amp;cid=339</wfw:commentRss>
    

    <author>nospam@example.com (Steven Yong)</author>
    <content:encoded>
    &lt;br /&gt;
It gets close to 2 million of views and is very much of an edutainment one. It would probably make those who only read &lt;a href=&quot;http://blogs.ngiap.com/stevenyong/categories/4-non-computer&quot;&gt;non-computer&lt;/a&gt; start digging into &lt;a href=&quot;http://blogs.ngiap.com/stevenyong/categories/7-computer&quot;&gt;computer&lt;/a&gt; ones.&lt;br /&gt;
&lt;blockquote&gt;&lt;object width=&quot;425&quot; height=&quot;344&quot;&gt;&lt;param value=&quot;http://www.youtube.com/v/qHO8l-Bd1O4&amp;hl=en&quot; name=&quot;movie&quot; /&gt;&lt;embed width=&quot;425&quot; height=&quot;344&quot; type=&quot;application/x-shockwave-flash&quot; src=&quot;http://www.youtube.com/v/qHO8l-Bd1O4&amp;hl=en&quot; /&gt;&lt;/object&gt;&lt;/blockquote&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Sat, 14 Jun 2008 23:59:00 +0800</pubDate>
    <guid isPermaLink="false">http://blogs.ngiap.com/stevenyong/archives/339-guid.html</guid>
    
</item>
<item>
    <title>Unable to eject USB Storage Device on Windows XP</title>
    <link>http://blogs.ngiap.com/stevenyong/archives/338-Unable-to-eject-USB-Storage-Device-on-Windows-XP.html</link>
            <category>computer</category>
    
    <comments>http://blogs.ngiap.com/stevenyong/archives/338-Unable-to-eject-USB-Storage-Device-on-Windows-XP.html#comments</comments>
    <wfw:comment>http://blogs.ngiap.com/stevenyong/wfwcomment.php?cid=338</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blogs.ngiap.com/stevenyong/rss.php?version=2.0&amp;type=comments&amp;cid=338</wfw:commentRss>
    

    <author>nospam@example.com (Steven Yong)</author>
    <content:encoded>
    &lt;br /&gt;
Often you would see error message &amp;quot;The device ‘Generic volume’ cannot be stopped right now. Try stopping the device again later&amp;quot; when trying to do a safe removal of USB storage device, but you are pretty sure that no program is currently using it. That&#039;s because there are still open handles with certain files in the USB Storage Device are in use by some processes which cannot be seen at the built-in Windows Task Manager.&lt;br /&gt;&lt;br /&gt;&lt;a href=&quot;http://support.microsoft.com/kb/555665&quot;&gt;This Microsoft Support article&lt;/a&gt; explains the cause and offers the solution that requires a separate free utility, &lt;a href=&quot;http://www.microsoft.com/technet/sysinternals/security/processexplorer.mspx&quot;&gt;Process Explorer&lt;/a&gt;. 
    </content:encoded>

    <pubDate>Tue, 10 Jun 2008 23:59:00 +0800</pubDate>
    <guid isPermaLink="false">http://blogs.ngiap.com/stevenyong/archives/338-guid.html</guid>
    
</item>
<item>
    <title>The Java app I like the most, so far</title>
    <link>http://blogs.ngiap.com/stevenyong/archives/337-The-Java-app-I-like-the-most,-so-far.html</link>
            <category>non-computer</category>
    
    <comments>http://blogs.ngiap.com/stevenyong/archives/337-The-Java-app-I-like-the-most,-so-far.html#comments</comments>
    <wfw:comment>http://blogs.ngiap.com/stevenyong/wfwcomment.php?cid=337</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://blogs.ngiap.com/stevenyong/rss.php?version=2.0&amp;type=comments&amp;cid=337</wfw:commentRss>
    

    <author>nospam@example.com (Steven Yong)</author>
    <content:encoded>
    &lt;br /&gt;
By looking at the title, those who know me might be tempted to think that it must be &lt;a href=&quot;http://netbeans.org&quot;&gt;NetBeans IDE&lt;/a&gt;, of course not. NetBeans is just the tool that I use most to earn a living.&lt;br /&gt;&lt;br /&gt;It is &lt;a href=&quot;http://azureus.sourceforge.net/&quot;&gt;Azureus&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Azureus is a BitTorrent client, written in Java, and it is now called Vuze.&lt;br /&gt;&lt;br /&gt;Let&#039;s take a look at some screenshots.&lt;br /&gt;&lt;br /&gt;
&lt;a title=&quot;azureus2 by woongiap, on Flickr&quot; href=&quot;http://www.flickr.com/photos/woongiap/2558889696/&quot;&gt;&lt;img width=&quot;500&quot; height=&quot;302&quot; alt=&quot;azureus2&quot; src=&quot;http://farm4.static.flickr.com/3188/2558889696_84095299b4.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;a title=&quot;azureus3 by woongiap, on Flickr&quot; href=&quot;http://www.flickr.com/photos/woongiap/2558064565/&quot;&gt;&lt;img width=&quot;500&quot; height=&quot;302&quot; alt=&quot;azureus3&quot; src=&quot;http://farm4.static.flickr.com/3005/2558064565_a1b9553de8.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;a title=&quot;azureus1 by woongiap, on Flickr&quot; href=&quot;http://www.flickr.com/photos/woongiap/2558064357/&quot;&gt;&lt;img width=&quot;500&quot; height=&quot;302&quot; alt=&quot;azureus1&quot; src=&quot;http://farm4.static.flickr.com/3166/2558064357_6dc59c4613.jpg&quot; /&gt;&lt;/a&gt;&lt;br /&gt;
&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;
The first reason that I like it so much: I don&#039;t feel it is written in Java. Secondly, it is really feature-rich. Other than the single core feature that it offers, which is downloading files, it also provides quite a number of nice features. For example, in the middle of downloading some large files, I find that there might not have sufficient disk space and I wanted to move the downloaded files to different disk. I can do that with just four clicks.&lt;br /&gt;&lt;br /&gt;
This app shows the essentials of a good software: easy to use, feature-rich, decent UI and efficient network and disk I/O operations.&lt;br /&gt;&lt;br /&gt;It will be in my top ten list even just talk about software I like in general. 
    </content:encoded>

    <pubDate>Mon, 09 Jun 2008 23:59:00 +0800</pubDate>
    <guid isPermaLink="false">http://blogs.ngiap.com/stevenyong/archives/337-guid.html</guid>
    
</item>
<item>
    <title>JDBC pointers</title>
    <link>http://blogs.ngiap.com/stevenyong/archives/336-JDBC-pointers.html</link>
            <category>computer</category>
    
    <comments>http://blogs.ngiap.com/stevenyong/archives/336-JDBC-pointers.html#comments</comments>
    <wfw:comment>http://blogs.ngiap.com/stevenyong/wfwcomment.php?cid=336</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blogs.ngiap.com/stevenyong/rss.php?version=2.0&amp;type=comments&amp;cid=336</wfw:commentRss>
    

    <author>nospam@example.com (Steven Yong)</author>
    <content:encoded>
    &lt;br /&gt;
&lt;a href=&quot;http://java.sun.com/j2se/1.5.0/docs/guide/jdbc/&quot;&gt;JDBC&lt;/a&gt; (Java Database Connectivity) is the core thing to learn in order to understand database connectivity in Java even though you are only using O/R mapping tool like most of us do. While O/R mapping tool might make us more productive and leave out the JDBC detail entirely, it is always good to get yourself familiar with JDBC, which the O/R mapping tools based on top of.&lt;br /&gt;&lt;br /&gt;Article &lt;a href=&quot;http://www.javaworld.com/jw-07-2000/jw-0707-jdbc.html&quot;&gt;JDBC drivers&lt;/a&gt; in the wild over at JavaWorld gives us an insightful explanation of the details of JDBC drivers, and the article written by jeevan, named &lt;a href=&quot;http://java.dzone.com/news/back-2-basics-jdbc-re-visited&quot;&gt;JDBC Revisited&lt;/a&gt; offers the basic concepts of drivers, connection, datasource, statement and resultset.&lt;br /&gt;&lt;br /&gt;Last but not least, keep the API (&lt;a href=&quot;http://java.sun.com/j2se/1.5.0/docs/api/java/sql/package-summary.html&quot;&gt;java.sql&lt;/a&gt; and &lt;a href=&quot;http://java.sun.com/j2se/1.5.0/docs/api/javax/sql/package-summary.html&quot;&gt;javax.sql&lt;/a&gt;) with you.&lt;p /&gt; 
    </content:encoded>

    <pubDate>Sun, 08 Jun 2008 23:59:00 +0800</pubDate>
    <guid isPermaLink="false">http://blogs.ngiap.com/stevenyong/archives/336-guid.html</guid>
    
</item>
<item>
    <title>Change X Server screen resolution</title>
    <link>http://blogs.ngiap.com/stevenyong/archives/335-Change-X-Server-screen-resolution.html</link>
            <category>computer</category>
    
    <comments>http://blogs.ngiap.com/stevenyong/archives/335-Change-X-Server-screen-resolution.html#comments</comments>
    <wfw:comment>http://blogs.ngiap.com/stevenyong/wfwcomment.php?cid=335</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blogs.ngiap.com/stevenyong/rss.php?version=2.0&amp;type=comments&amp;cid=335</wfw:commentRss>
    

    <author>nospam@example.com (Steven Yong)</author>
    <content:encoded>
    &lt;br /&gt;
Changing screen resolution of X Server on Linux hasn&#039;t been easy. It usually requires manual of configuration file &lt;code&gt;/etc/X11/xorg.conf&lt;/code&gt;.&lt;br /&gt;The most easy way I could find is using command &lt;code&gt;dpkg-reconfigure -phigh xserver-xorg&lt;/code&gt;, which requires superuser right. You can do a &lt;code&gt;su root&lt;/code&gt; first or simply &lt;code&gt;sudo dpkg-reconfigure -phigh xserver-xorg&lt;/code&gt;.&lt;br /&gt;&lt;br /&gt;The result of this command is actually a modified xorg.conf.&lt;br /&gt;&lt;br /&gt;&lt;font size=&quot;1&quot;&gt;Correction: &lt;code&gt;dpkg&lt;/code&gt; command is only available on Linux distribution that uses &lt;a href=&quot;http://en.wikipedia.org/wiki/Dpkg&quot;&gt;DPKG&lt;/a&gt; package manager, like Ubuntu and Debian. While other popular distributions like Redhat Linux and SUSE Linux use &lt;a href=&quot;http://en.wikipedia.org/wiki/RPM_Package_Manager&quot;&gt;RPM&lt;/a&gt;.&lt;br /&gt;
&lt;/font&gt; 
    </content:encoded>

    <pubDate>Sat, 07 Jun 2008 23:59:00 +0800</pubDate>
    <guid isPermaLink="false">http://blogs.ngiap.com/stevenyong/archives/335-guid.html</guid>
    
</item>
<item>
    <title>Change Microsoft Office product key</title>
    <link>http://blogs.ngiap.com/stevenyong/archives/334-Change-Microsoft-Office-product-key.html</link>
            <category>non-computer</category>
    
    <comments>http://blogs.ngiap.com/stevenyong/archives/334-Change-Microsoft-Office-product-key.html#comments</comments>
    <wfw:comment>http://blogs.ngiap.com/stevenyong/wfwcomment.php?cid=334</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blogs.ngiap.com/stevenyong/rss.php?version=2.0&amp;type=comments&amp;cid=334</wfw:commentRss>
    

    <author>nospam@example.com (Steven Yong)</author>
    <content:encoded>
    &lt;br /&gt;
Just used the wrong box to install Microsoft Office (XP, 2003 or 2007) and the online activation failed?&lt;br /&gt;&lt;br /&gt;Don&#039;t uninstall it first, instead, modify the Registry, follow &lt;a href=&quot;http://support.microsoft.com/kb/895456&quot;&gt;this Microsoft Support article&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;After that, you can re-enter the product key comes with the right box.&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Tue, 03 Jun 2008 09:33:21 +0800</pubDate>
    <guid isPermaLink="false">http://blogs.ngiap.com/stevenyong/archives/334-guid.html</guid>
    
</item>
<item>
    <title>Checking out source code using CVS and SVN command</title>
    <link>http://blogs.ngiap.com/stevenyong/archives/333-Checking-out-source-code-using-CVS-and-SVN-command.html</link>
            <category>computer</category>
    
    <comments>http://blogs.ngiap.com/stevenyong/archives/333-Checking-out-source-code-using-CVS-and-SVN-command.html#comments</comments>
    <wfw:comment>http://blogs.ngiap.com/stevenyong/wfwcomment.php?cid=333</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blogs.ngiap.com/stevenyong/rss.php?version=2.0&amp;type=comments&amp;cid=333</wfw:commentRss>
    

    <author>nospam@example.com (Steven Yong)</author>
    <content:encoded>
    &lt;br /&gt;
CVS and Subversion are two of the most popular source code control utilities, thousands of open source projects are using these two software to host their source code. Therefore, it is always worth remembering some useful commands such as checking out and updating source modules.&lt;br /&gt;&lt;br /&gt;For CVS:&lt;br /&gt;&lt;br /&gt;To check out: &lt;code&gt;cvs -d&amp;lt;CVS Root&amp;gt; login&lt;/code&gt; followed by &lt;code&gt;cvs -d&amp;lt;CVS Root&amp;gt; -P &amp;lt;Module Name&amp;gt;&lt;/code&gt;&lt;br /&gt;Example, check out source code of Mozilla&lt;br /&gt;- &lt;code&gt;cvs -d:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot login&lt;/code&gt; &lt;br /&gt;- Enter password when prompted&lt;br /&gt;- &lt;code&gt;cvs -d:pserver:anonymous@cvs-mirror.mozilla.org:/cvsroot co -P mozilla&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;To update latest code: &lt;code&gt;cvs update&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;For SVN:&lt;br /&gt;&lt;br /&gt;To check out: &lt;code&gt;svn co &amp;lt;SVN Path&amp;gt;&lt;/code&gt;&lt;br /&gt;Example, check out source code of Apache Tomcat Server&lt;br /&gt;&lt;code&gt;svn co http://svn.apache.org/repos/asf/tomcat/trunk&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;To update latest code: &lt;code&gt;svn update&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;When in need, it will come in handy.&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Sat, 31 May 2008 08:08:00 +0800</pubDate>
    <guid isPermaLink="false">http://blogs.ngiap.com/stevenyong/archives/333-guid.html</guid>
    
</item>
<item>
    <title>Blog system upgraded</title>
    <link>http://blogs.ngiap.com/stevenyong/archives/332-Blog-system-upgraded.html</link>
            <category>non-computer</category>
    
    <comments>http://blogs.ngiap.com/stevenyong/archives/332-Blog-system-upgraded.html#comments</comments>
    <wfw:comment>http://blogs.ngiap.com/stevenyong/wfwcomment.php?cid=332</wfw:comment>

    <slash:comments>1</slash:comments>
    <wfw:commentRss>http://blogs.ngiap.com/stevenyong/rss.php?version=2.0&amp;type=comments&amp;cid=332</wfw:commentRss>
    

    <author>nospam@example.com (Steven Yong)</author>
    <content:encoded>
    &lt;br /&gt;
I did not expect that it would &lt;a href=&quot;http://blogs.ngiap.com/stevenyong/archives/172-Time-to-upgrade-my-blog-service.html&quot;&gt;take me 2 years&lt;/a&gt; just to upgrade my blog system.&lt;br /&gt;
Anyway, finally I got it done, from version 0.9 to 1.3. So what are the new things that you, as a reader will see? &lt;br /&gt;
&lt;br /&gt;
Nothing much actually.&lt;br /&gt;
&lt;br /&gt;
There is lots more styles for you to choose and I believe it would load faster &lt;img src=&quot;http://blogs.ngiap.com/stevenyong/templates/default/img/emoticons/wink.png&quot; alt=&quot;;-)&quot; style=&quot;display: inline; vertical-align: bottom;&quot; class=&quot;emoticon&quot; /&gt;&lt;br /&gt;
&lt;br /&gt;
It seems a little boring by telling you that this blog system has got upgraded, let me see... why not share with you the successful page after the system upgrading is done?&lt;br /&gt;
&lt;br /&gt;
&lt;a title=&quot;s9yupgrade by woongiap, on Flickr&quot; href=&quot;http://www.flickr.com/photos/woongiap/2532377053/&quot;&gt;&lt;img width=&quot;500&quot; height=&quot;101&quot; alt=&quot;s9yupgrade&quot; src=&quot;http://farm4.static.flickr.com/3257/2532377053_8e122a3e5d.jpg&quot; /&gt;&lt;/a&gt;&lt;p&gt;&lt;br /&gt;
&lt;br /&gt;
I think what really has to be upgraded is the frequency of my posting, don&#039;t you agree?&lt;/p&gt;&lt;font size=&quot;1&quot;&gt;&lt;br /&gt;
&lt;br /&gt;
PS: Sorry for make you waiting &lt;a href=&quot;http://blogs.ngiap.com/stevenyong/archives/172-Time-to-upgrade-my-blog-service.html#c454&quot;&gt;Angie&lt;/a&gt;.&lt;/font&gt; 
    </content:encoded>

    <pubDate>Thu, 29 May 2008 11:59:16 +0800</pubDate>
    <guid isPermaLink="false">http://blogs.ngiap.com/stevenyong/archives/332-guid.html</guid>
    
</item>
<item>
    <title>Three ways to display user-friendly label from Java Enum</title>
    <link>http://blogs.ngiap.com/stevenyong/archives/331-Three-ways-to-display-user-friendly-label-from-Java-Enum.html</link>
            <category>computer</category>
    
    <comments>http://blogs.ngiap.com/stevenyong/archives/331-Three-ways-to-display-user-friendly-label-from-Java-Enum.html#comments</comments>
    <wfw:comment>http://blogs.ngiap.com/stevenyong/wfwcomment.php?cid=331</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blogs.ngiap.com/stevenyong/rss.php?version=2.0&amp;type=comments&amp;cid=331</wfw:commentRss>
    

    <author>nospam@example.com (Steven Yong)</author>
    <content:encoded>
    &lt;br /&gt;
Let&#039;s say we have an enumerated type Result:&lt;br /&gt;&lt;pre&gt;enum Result { Pass, Fail }&lt;/pre&gt;&lt;br /&gt;When we do a print of either type, like:&lt;code&gt;System.out.println(Result.Pass)&lt;/code&gt; we get a word &amp;quot;Pass&amp;quot; which is not so user-friendly. &lt;br /&gt;There are many ways to add a label to each enumeration and here are three common ones:&lt;br /&gt;&lt;pre&gt;enum Result {&lt;br /&gt;    Pass, Fail;&lt;br /&gt;&lt;br /&gt;    String getLabel() { &lt;br /&gt;        switch(this) {&lt;br /&gt;            case Pass : return &amp;quot;You are passed&amp;quot;;&lt;br /&gt;            case Fail : return &amp;quot;You are failed&amp;quot;;&lt;br /&gt;        }&lt;br /&gt;        throw new AssertionError(&amp;quot;Unknown result: &amp;quot; + this);&lt;br /&gt;    }&lt;br /&gt;}&lt;/pre&gt;&lt;pre&gt;enum Result {&lt;br /&gt;    Pass(&amp;quot;You are passed&amp;quot;), Fail(&amp;quot;You are failed&amp;quot;);&lt;br /&gt;    &lt;br /&gt;    Result(String s) { label = s; }&lt;br /&gt;    &lt;br /&gt;    String label;&lt;br /&gt;    &lt;br /&gt;    String getLabel() { return label; }&lt;br /&gt;}&lt;/pre&gt;&lt;pre&gt;enum Result {&lt;br /&gt;    Pass { String getLabel() { return &amp;quot;You are passed&amp;quot;; }},&lt;br /&gt;    Fail { String getLabel() { return &amp;quot;You are failed&amp;quot;; }};&lt;br /&gt;&lt;br /&gt;    abstract String getLabel();&lt;br /&gt;}&lt;/pre&gt;All of them print &amp;quot;You are passed&amp;quot; when displaying &lt;code&gt;Result.Pass.getLabel()&lt;/code&gt;. I believe the first approach is relatively slower since it needs to do checking, although it is cleaner at the type definition. Second approach make use of constructor but an instance variable has to be introduced, it&#039;s also not so extensible since it would end up with a few constructors when more aliases are required. I prefer the last approach as it looks more flexible.  
    </content:encoded>

    <pubDate>Fri, 23 May 2008 17:37:57 +0800</pubDate>
    <guid isPermaLink="false">http://blogs.ngiap.com/stevenyong/archives/331-guid.html</guid>
    
</item>
<item>
    <title>Coolest thing in this year JavaOne</title>
    <link>http://blogs.ngiap.com/stevenyong/archives/330-Coolest-thing-in-this-year-JavaOne.html</link>
            <category>non-computer</category>
    
    <comments>http://blogs.ngiap.com/stevenyong/archives/330-Coolest-thing-in-this-year-JavaOne.html#comments</comments>
    <wfw:comment>http://blogs.ngiap.com/stevenyong/wfwcomment.php?cid=330</wfw:comment>

    <slash:comments>2</slash:comments>
    <wfw:commentRss>http://blogs.ngiap.com/stevenyong/rss.php?version=2.0&amp;type=comments&amp;cid=330</wfw:commentRss>
    

    <author>nospam@example.com (Steven Yong)</author>
    <content:encoded>
    &lt;p&gt;Let&#039;s don&#039;t talk about the practical usage, isn&#039;t it cool to have a computer running inside a pen with a reasonable price of $149 (1GB) and $199 (2GB)?&lt;/p&gt;&lt;p&gt;Check out the &lt;a href=&quot;http://java.sun.com/javaone/sf/webcasts.jsp#k5livewebcast&quot;&gt;Live demo&lt;/a&gt; at JavaOne (fast forward to 58th minute) and the &lt;a href=&quot;http://www.livescribe.com/index.html&quot;&gt;company website&lt;/a&gt;. Guess what&#039;s the problem that this pen is trying to solve? See what tagline they&#039;ve trademarked.&lt;/p&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Mon, 12 May 2008 09:45:46 +0800</pubDate>
    <guid isPermaLink="false">http://blogs.ngiap.com/stevenyong/archives/330-guid.html</guid>
    
</item>
<item>
    <title>Find Java tools in an easy way</title>
    <link>http://blogs.ngiap.com/stevenyong/archives/329-Find-Java-tools-in-an-easy-way.html</link>
            <category>computer</category>
    
    <comments>http://blogs.ngiap.com/stevenyong/archives/329-Find-Java-tools-in-an-easy-way.html#comments</comments>
    <wfw:comment>http://blogs.ngiap.com/stevenyong/wfwcomment.php?cid=329</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blogs.ngiap.com/stevenyong/rss.php?version=2.0&amp;type=comments&amp;cid=329</wfw:commentRss>
    

    <author>nospam@example.com (Steven Yong)</author>
    <content:encoded>
    So now we can browse for popular Java tools and libraries at this very good one-stop directory, &lt;a href=&quot;http://javatoolbox.com/&quot;&gt;JavaToolbox.com&lt;/a&gt;. According to the site owner, the idea comes from .NET tools website &lt;a href=&quot;http://sharptoolbox.com/&quot;&gt;SharpToolbox&lt;/a&gt;.&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Wed, 09 Apr 2008 09:27:27 +0800</pubDate>
    <guid isPermaLink="false">http://blogs.ngiap.com/stevenyong/archives/329-guid.html</guid>
    
</item>
<item>
    <title>Interview with Adam Bien</title>
    <link>http://blogs.ngiap.com/stevenyong/archives/328-Interview-with-Adam-Bien.html</link>
            <category>computer</category>
    
    <comments>http://blogs.ngiap.com/stevenyong/archives/328-Interview-with-Adam-Bien.html#comments</comments>
    <wfw:comment>http://blogs.ngiap.com/stevenyong/wfwcomment.php?cid=328</wfw:comment>

    <slash:comments>0</slash:comments>
    <wfw:commentRss>http://blogs.ngiap.com/stevenyong/rss.php?version=2.0&amp;type=comments&amp;cid=328</wfw:commentRss>
    

    <author>nospam@example.com (Steven Yong)</author>
    <content:encoded>
    &lt;br /&gt;
Some of you already know, I like sharing interviews of Java Champion. This time, it is &lt;a href=&quot;http://java.sun.com/developer/technicalArticles/Interviews/community/bien_qa.html&quot;&gt;Adam Bien on Java EE&lt;/a&gt; programming.&lt;br /&gt;&lt;br /&gt;I like his advices on API Javadoc:&lt;blockquote&gt;- Don&#039;t allow default Javadoc comments generated by the IDE.&lt;br /&gt;- Sometimes &amp;quot;No doc is the best doc&amp;quot; -- try to minimize the amount of documentation and describe only the key concepts.&lt;/blockquote&gt;&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Thu, 03 Apr 2008 09:53:40 +0800</pubDate>
    <guid isPermaLink="false">http://blogs.ngiap.com/stevenyong/archives/328-guid.html</guid>
    
</item>
<item>
    <title>Radio traffic report</title>
    <link>http://blogs.ngiap.com/stevenyong/archives/327-Radio-traffic-report.html</link>
            <category>non-computer</category>
    
    <comments>http://blogs.ngiap.com/stevenyong/archives/327-Radio-traffic-report.html#comments</comments>
    <wfw:comment>http://blogs.ngiap.com/stevenyong/wfwcomment.php?cid=327</wfw:comment>

    <slash:comments>4</slash:comments>
    <wfw:commentRss>http://blogs.ngiap.com/stevenyong/rss.php?version=2.0&amp;type=comments&amp;cid=327</wfw:commentRss>
    

    <author>nospam@example.com (Steven Yong)</author>
    <content:encoded>
    &lt;br /&gt;
Due to the recent weather, &lt;a href=&quot;http://en.wikipedia.org/wiki/SMART_Tunnel&quot;&gt;SMART Tunnel&lt;/a&gt; is closed until further notice. The closing causes extremely heavy traffic on KL-Seremban highway, the highway that I use most often. The traffic report suggests that we could use LDP for an alternate route.&lt;br /&gt;&lt;br /&gt;LDP, or Damansara-Puchong Expressway, the highway with high volume of traffic even on holidays.&lt;br /&gt;&lt;br /&gt;Just because a method sucks on occasion doesn&#039;t mean you can suggest another method that always sucks.&lt;br /&gt;&lt;br /&gt;I imagine this scenario when listening to the radion report:&lt;br/&gt;&lt;br/&gt;Day 1 - Area A is dangerous&lt;br /&gt;Day 2 - Area A is dangerous&lt;br /&gt;Day 3 - Area A is known to be dangerous&lt;br /&gt;Day 4 - As we know, area A is dangerous, but area B is also unsafe today&lt;br /&gt;Day 5 - Area C is exceptionally dangerous today, you might try area A&lt;br /&gt;
 
    </content:encoded>

    <pubDate>Tue, 25 Mar 2008 09:34:58 +0800</pubDate>
    <guid isPermaLink="false">http://blogs.ngiap.com/stevenyong/archives/327-guid.html</guid>
    
</item>

</channel>
</rss>