<?xml version="1.0" encoding="iso-8859-1"?>
<rss version="2.0">
  <channel>
    <title>Must a Blog Have a Name?</title>
    <link>http://www.dreamcubes.com/blog/</link>
    <description>//todo: think of a tag line and put it here</description>
    <language>en-us</language>           
    <generator>Nucleus CMS v3.23</generator>
    <copyright>©</copyright>             
    <category>Weblog</category>
    <docs>http://backend.userland.com/rss</docs>
    <image>
      <url>http://www.dreamcubes.com/blog//nucleus/nucleus2.gif</url>
      <title>Must a Blog Have a Name?</title>
      <link>http://www.dreamcubes.com/blog/</link>
    </image>
    <item>
 <title>Aptana in Ubuntu 64bit</title>
 <link>http://www.dreamcubes.com/blog/index.php?itemid=66</link>
<description><![CDATA[Installing Aptana in Ubuntu 64bit is no fun, every other distribution has its standalone package, but not on Ubuntu 64bit : (<br />
<br />
After installed Aptana onto my Eclipse as a plugins, launching Eclipse (now with Aptana) splat me on the face with "<span style="color:red;">Aptana requires Sun JRE 1.5 or greater to work properly.</span>"<br />
<br />
But I've already had JRE 1.6! Some forumers says I need to update my JAVA_HOME and the symbolic link that points to the "real" JRE 1.6: <br />
<pre style="padding:0.5em; border:1px dashed #9BADCA; color:#000; background:#f7f9fa; overflow:auto; font-family:monospace;">ubuntu:~$ sudo update-alternatives --config java
ubuntu:~$ echo "export JAVA_HOME=/usr/lib/jvm/java-6-sun/jre" >> ~/.bashrc</pre><br />
Now there is a problem, the error is gone, only if I launch Eclipse from terminal, if I launched it from the "Main Menu", the error about JRE comes back.<br />
<br />
Until much later I found out that Eclipse support a flag -vm to specifically allow one to point to the VM they wish to use, I've added the line "<span style="color:green;">/usr/bin/eclipse -vm /usr/lib/jvm/java-6-sun/jre/bin/java</span>" as the command to execute.<br />
<br />
So, I dont get it, why is $JAVA_HOME not set if eclipse is launch from the "Main Menu"?<br />
<br />
]]></description>
 <category>Computing</category>
<comments>http://www.dreamcubes.com/blog/index.php?itemid=66</comments>
 <pubDate>Wed, 29 Oct 2008 11:31:46 +0800</pubDate>
</item><item>
 <title>My New Phone :)</title>
 <link>http://www.dreamcubes.com/blog/index.php?itemid=65</link>
<description><![CDATA[<a href="http://www.dreamcubes.com/blog/media/1/20081002-p1i.jpg">SonyErricson P1i</a> The I.T called me up today and asked me to pickup my new phone from them, its a SonyErricson P1i ! ^_^ <br />
<br />
I waited I got home, and un-box the package with my washed hand ;)<br />
<br />
Swap in my SIM card, and plugged in its battery, viola, IT's ALIVE~ <br />
<br />
After fiddling with it for a while, I realize that it could not connect to my home wifi, which seems odd, my colleague's N95 connected to it without any fuss... <br />
<br />
Another problem that I found, is that I can't get my Motorola H700 bluetooth head set to pair with my new phone. <br />
<br />
A quick browse for solution on the www, found that plenty of people has the exact same problem as I, it is not until I found the following articles that solve both my problem:<br />
<br />
1. <a href="http://www.allaboutsymbian.com/forum/showthread.php?p=377216">Unable to connect wifi</a>: <br />
<blockquote style="padding:0.5em; border:1px dashed #9BADCA; color:#000; background:#f7f9fa; overflow:auto;">In most cases P1i connects to the network but the applications cannot access the web.<br />
<br />
I had the same problem but the solution i found was to reduse the threshoud to 2346.<br />
<br />
For this go to internet accounts /more/advanced and change RTS threshold to 2346 and powersave to OFF<br />
<br />
now ur browser should be able to access the web.</blockquote><br />
2. <a href="http://forums.wirelessadvisor.com/motorola/54848-motorola-h700-question-not-entering-pairing.html">Unable to pair Motorola H700</a><br />
<blockquote style="padding:0.5em; border:1px dashed #9BADCA; color:#000; background:#f7f9fa; overflow:auto;">1. With the mic closed, press the call button and hold it for a few seconds.<br />
<br />
2. When the purple (or lavender) light comes on, open immediately the mic while the light is on. After you do this, the light will flash two times and then will remain steadily lit (If the light die off after the boom was flip out, then maybe the connection of the boom is loose, so after you flip it out, FORCE it out a little further, that should make sure this steps work).<br />
<br />
3. Your headset will be now in pairing mode.</blockquote><br />
<br />
I must say that another thing that I'm actually shock is that it does not come with a "joy-stick" like my old K700i, although I'm expected that its a "PDA" phone after all.<br />
<br />
Now that I'm happy, the keys are still something I need to get used to, qw-er-ty keyboard on a phone... hm....<br />
<br />
]]></description>
 <category>Anything Else</category>
<comments>http://www.dreamcubes.com/blog/index.php?itemid=65</comments>
 <pubDate>Thu, 2 Oct 2008 18:43:12 +0800</pubDate>
</item><item>
 <title>log4cxx for Win32 with VS2008</title>
 <link>http://www.dreamcubes.com/blog/index.php?itemid=64</link>
<description><![CDATA[I'm working on a new project, with new VS2008 on my new desk and new chair, what better time to update the log4cxx library that I've been using since <a href="http://www.dreamcubes.com/blog/index.php?itemid=43">then</a> : )<br />
<br />
I've quickly downloaded the source package from the <a href="http://logging.apache.org/log4cxx/download.html">official log4cxx site</a> and I'm really happy that it comes with MSVS project files now!<br />
<br />
But soon I realize that it only build DLL versions of the log4cxx, and since I need the static version of log4cxx I'll have to go back to the ANT tool.<br />
<br />
As usual you'll still need to get the apr, apr-util and other contrib package and setup ANT for the task, and since I don't have that environment anymore I just had to get all these package allover again.<br />
<br />
Everything went a lot smoother then the last time I did this about a year ago, with the right package and build environment everything went just smooth (hooraay~) <br />
<br />
The ANT tool still generates the static/shared/release/debug projects files separately. So just like what I <a href="http://www.dreamcubes.com/blog/index.php?itemid=43">did before</a>, I generate the VC6 projects for each build type, and merge it into a single solutions that can compile and build all build type. Plus I also included the required external dependencies (apr / apr-util / etc) so you will just need to download single package and starts get log4cxx to compile on your machine.<br />
<br />
I've made two package available, one for VC6, another for VC2008 (VC9) from my <a href="http://www.dreamcubes.com/blog/index.php?itemid=43">previous blog entry here</a>. <br />
<br />
:)<br />
<br />
p/s: did I told you that I've got my new desktop machine and new laptop machine as well? ^_^<br />
]]></description>
 <category>Software Development</category>
<comments>http://www.dreamcubes.com/blog/index.php?itemid=64</comments>
 <pubDate>Fri, 1 Aug 2008 11:15:51 +0800</pubDate>
</item><item>
 <title>Pair Me Up, Scotty?</title>
 <link>http://www.dreamcubes.com/blog/index.php?itemid=63</link>
<description><![CDATA[With our current Sprint's Backlog item completed, me and my colleague decided to trying out Pair Programming just for the fun of it. I volunteer to be the driver while he be the navigator (I actually think "back-seat driver" would be a more appropriate term :D )<br />
<br />
We dig-in on my station, and working on a backlog item (for the next sprint, which yet to start yet). I must admit that the progress of completing the task is pretty fast, we exchange idea on the solution before code it in, and on the first run the code is working :) And not to mention that the whole activity it keeps me awake! which I normally doze-off in the afternoon while working alone~<br />
<br />
I have a feeling that we're going to do this more often in the future :D ]]></description>
 <category>Software Development</category>
<comments>http://www.dreamcubes.com/blog/index.php?itemid=63</comments>
 <pubDate>Thu, 31 Jul 2008 00:26:43 +0800</pubDate>
</item><item>
 <title>Man&apos;s Best Friend</title>
 <link>http://www.dreamcubes.com/blog/index.php?itemid=62</link>
<description><![CDATA[<a href="http://www.dreamcubes.com/blog/media/1/20080711-ManDog.jpg"></a> I was walking out for lunch in a fine sunny afternoon, and for some odd reason, when I walk by a car parked at the road-side parking lot, I peer through its glass and a book on its dashboard caught my eyes (I don't usually peek into parked cars). <br />
<br />
A closer look reveal the title: <a href="http://www.amazon.com/Behave-Using-Secrets-Professional-Trainers/dp/1563056267">How to Make Your Man Behave in 21 Days or Less Using the Secrets of Professional Dog Trainers</a><br />
<br />
WTF *_*<br />
]]></description>
 <category>Books</category>
<comments>http://www.dreamcubes.com/blog/index.php?itemid=62</comments>
 <pubDate>Fri, 11 Jul 2008 17:23:26 +0800</pubDate>
</item><item>
 <title>Firefox 3: Any Different?</title>
 <link>http://www.dreamcubes.com/blog/index.php?itemid=61</link>
<description><![CDATA[Since the launch of <a href="http://en-us.www.mozilla.com/en-US/products/firefox/">Firefox 3</a>, trying to download Firefox 2 has been increasingly difficult (since most mirrors are updating to the latest version). <br />
<br />
To be honest I'm not too fancy to install it as soon as it was released, since Firefox 2 works for me. So fate took a turn and my machine need a re-installation all over. Since I can't get FF2, I've deiced to give FF3 a try.<br />
<br />
<a href="http://en-us.www.mozilla.com/en-US/products/firefox/">Downloading</a> it was a breeze, plus another two minutes and FF3 in installed to my Vista.<br />
<br />
From what I've read, the new FF3 default theme suppose to give the user an "integrated" experience within the user's OS. Now look at bellow, I do not think its any where near to "Vista" as it claim, putting a funky button as Back and Forward button do-not-constitute as "Vista" integration OK?<br />
<br />
<a href="http://www.dreamcubes.com/blog/media/1/20080625-Firefox3-Theme01.png">FF3 Default Theme</a><br />
<br />
A quick search at <a href="https://addons.mozilla.org/en-US/firefox/browse/type:2">Mozilla Firefox Theme</a> shows that most of the theme are for FF2, very few that are FF3 ready. I'm looking for something that "revert" the FF3 look back to FF2, although I could not find the exact match, I did found <a href="https://addons.mozilla.org/en-US/firefox/addon/6278">Phoenity Aura 0.3</a><br />
<br />
<a href="http://www.dreamcubes.com/blog/media/1/20080625-Firefox3-Theme02.png">FF3 Phoenity Aura</a><br />
<br />
Don't get me wrong, the FF3 does an excellent job in bringing us FF3 (for God knows how many improvement has made so that the freeloader like you and me can enjoy the digital era), but I think shipping <a href="https://addons.mozilla.org/en-US/firefox/addon/7390">Strata</a> as the default theme, is less appealing to me.<br />
]]></description>
 <category>Computing</category>
<comments>http://www.dreamcubes.com/blog/index.php?itemid=61</comments>
 <pubDate>Wed, 25 Jun 2008 11:17:45 +0800</pubDate>
</item><item>
 <title>Succumb To Colour and Tagline !</title>
 <link>http://www.dreamcubes.com/blog/index.php?itemid=60</link>
<description><![CDATA[<a href="http://www.dreamcubes.com/blog/media/1/20080624-book-divergence.jpg">Divergence</a> I was browsing through bookshelves in the Kinokuniya Book Store and this particular book <a href="http://www.amazon.com/Divergence-Tony-Ballantyne/dp/0330446509/ref=sr_11_1?ie=UTF8&amp;qid=1214303701&amp;sr=11-1">Divergence</a> caught my eyes, for its bright pink, I'm a little doubtful that its as good as my favorite sci-fi author <a href="http://www.peterfhamilton.co.uk/">Peter F. Hamilton</a>, but a further inspection on the cover reveal a tag line "A new British star has arrived to join the likes of Hamilton, Reynolds and Banks'. Ok~ Now that don't sound so bad, at lease it would be as good don't you think?<br />
<br />
A week passed and when I'm done reading the book, it just wasn't what I've expected, the book has too many loose ends (which all suppose to explained by the conclusion which whole universe is actually wired from its creation to support barter-system? ), the characters development, apart from Judy, are just flat as well!<br />
<br />
]]></description>
 <category>Books</category>
<comments>http://www.dreamcubes.com/blog/index.php?itemid=60</comments>
 <pubDate>Tue, 24 Jun 2008 18:54:36 +0800</pubDate>
</item><item>
 <title>log4cxx Tutorial in Visual C++ ?</title>
 <link>http://www.dreamcubes.com/blog/index.php?itemid=59</link>
<description><![CDATA[I've got quite a number of request in email requesting me for a simple log4cxx sample program that illustrate the usage of log4cxx ever since I've wrote <a href="http://www.dreamcubes.com/blog/index.php?itemid=43">this article</a>. I've sent my sample program in emails to those request, but I guess it will be more productive if I would just put up a sample usage here.<br />
<br />
This will be a to-the-point log4cxx tutorial, you will probably need the <a href="http://www.dreamcubes.com/blog/index.php?itemid=43">binary here</a> before you proceed:<br />
<br />
The log4cxx XML Configuration file ( MyLogConfig.xml ) will shows you the usage of following appender:<br />
<OL><LI>org.apache.log4j.ConsoleAppender<br />
<LI>org.apache.log4j.FileAppender<br />
<LI>org.apache.log4j.rolling.RollingFileAppender<br />
<LI>org.apache.log4j.RollingFileAppender<br />
<LI>org.apache.log4j.net.SMTPAppender<br />
<LI>org.apache.log4j.jdbc.JDBCAppender<br />
<LI>org.apache.log4j.net.XMLSocketAppender</OL>The MyLogConfig.xml is properly commented, so it should be self explanatory. ( and no, there is no typo, the configuration file actually refer it as log4j )<br />
<br />
<span style="font-weight: bold;">Writing The Code</span><br />
Create a C++ Console project in VC++, and put in the following code:<br />
<pre style="padding:0.5em; border:1px dashed #9BADCA; color:#000; background:#f7f9fa; overflow:auto; font-family:monospace; height:200px">#include &lt;log4cxx\logger.h&gt; <br />#include &lt;log4cxx\xml\domconfigurator.h&gt;<br />#include &lt;windows.h&gt;<br /><br />using namespace log4cxx;<br />using namespace log4cxx::xml;<br />using namespace log4cxx::helpers;<br /><br />// Define static logger variable <br />LoggerPtr loggerToFile(Logger::getLogger( _T(&quot;MyLogger&quot;) ) );<br />LoggerPtr loggerMyFunctionA(Logger::getLogger( _T(&quot;MyFunctionA&quot;) ));<br /><br /><br />void MyFunctionA()<br />{<br />    LOG4CXX_INFO(loggerMyFunctionA, _T(&quot;Executing MyFunctionA.&quot;));<br />}<br /><br /><br />int _tmain(int argc, _TCHAR* argv[])<br />{<br />    // Load configuration file<br />    DOMConfigurator::configure(&quot;MyLogConfig.xml&quot;);<br /><br />    // Loop something<br />    for(int i=0; i&lt;10; ++i)<br />    {<br />        LOG4CXX_DEBUG(loggerToFile, _T(&quot;this is a debug message.&quot;));<br />        LOG4CXX_INFO (loggerToFile, _T(&quot;this is a info message, just ignore.&quot;));<br />        LOG4CXX_WARN (loggerToFile, _T(&quot;this is a warn message, dont worry too much.&quot;));<br />        LOG4CXX_ERROR(loggerToFile, _T(&quot;this is a error message, something serious is happening.&quot;));<br />        LOG4CXX_FATAL(loggerToFile, _T(&quot;this is a fatal message, crash and burn!!!&quot;)); <br />        MyFunctionA();<br /><br />        Sleep(1000);<br />        printf(&quot;i = %d\n&quot;, i);<br />    }<br /><br /><br />    getchar(); <br />    return 0;<br />}<br /></pre><br />
<br />
<span style="font-weight: bold;">Writing the log4cxx Configuration File</span><br />
The log4cxx configuration file as follows ( MyLogConfig.xml ):<br />
<pre style="padding:0.5em; border:1px dashed #9BADCA; color:#000; background:#f7f9fa; overflow:auto; font-family:monospace; height:200px">&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot; ?&gt;<br />&lt;log4j:configuration xmlns:log4j=&quot;http://jakarta.apache.org/log4j/&quot;&gt; <br />	&lt;!-- Output the log message to system console.<br />	--&gt;<br />	&lt;appender name=&quot;MyConsoleAppender&quot; class=&quot;org.apache.log4j.ConsoleAppender&quot;&gt; <br />		&lt;param name=&quot;Target&quot; value=&quot;System.out&quot;/&gt; <br />		&lt;layout class=&quot;org.apache.log4j.PatternLayout&quot;&gt; <br />			&lt;param name=&quot;ConversionPattern&quot; value=&quot;%-5p %c{1} - %m%n&quot;/&gt; <br />		&lt;/layout&gt; <br />	&lt;/appender&gt; <br />	&lt;!-- Output the log message to a log file named &quot;NormalLogFile.log&quot;<br />	--&gt;<br />	&lt;appender name=&quot;MyNormalAppender&quot; class=&quot;org.apache.log4j.FileAppender&quot;&gt;<br />		&lt;param name=&quot;file&quot; value=&quot;NormalLogFile.log&quot; /&gt;<br />		&lt;param name=&quot;append&quot; value=&quot;true&quot; /&gt;<br />		&lt;layout class=&quot;org.apache.log4j.PatternLayout&quot;&gt; <br />			&lt;param name=&quot;ConversionPattern&quot; value=&quot;%d %5p %c{1} - %m%n&quot; /&gt; <br />		&lt;/layout&gt;<br />	&lt;/appender&gt;<br /><br /><br />	&lt;!-- the following appender with the name &quot;TimeBasedLog.log&quot;, every night a few seconds after<br />	     12::00PM the old log will be renamed with append the date in filename, and a new log file<br />	     with the name &quot;TimeBasedLog.log&quot; will be create. <br />	     notice the RollingFileAppender is under &quot;org.apache.log4j.rolling&quot; namespace<br />	--&gt;<br />	&lt;appender name=&quot;MyRollingAppenderDaily&quot; class=&quot;org.apache.log4j.rolling.RollingFileAppender&quot;&gt;<br />		&lt;rollingPolicy class=&quot;org.apache.log4j.rolling.TimeBasedRollingPolicy&quot;&gt;<br />			&lt;param name=&quot;FileNamePattern&quot; value=&quot;TimeBasedLog.%d{yyyy-MM-dd}.log&quot;/&gt;<br />			&lt;param name=&quot;activeFileName&quot; value=&quot;TimeBasedLog.log&quot;/&gt;<br />		&lt;/rollingPolicy&gt;<br /><br />		&lt;layout class=&quot;org.apache.log4j.PatternLayout&quot;&gt;<br />			&lt;param name=&quot;ConversionPattern&quot; value=&quot;%d{yyyy-MM-dd HH:mm:ss,SSS} %x [%p] (%F:%L) %m%n&quot;/&gt;<br />		&lt;/layout&gt; <br />		&lt;param name=&quot;file&quot; value=&quot;TimeBasedLog.log&quot;/&gt;<br />		&lt;param name=&quot;append&quot; value=&quot;true&quot;/&gt;<br />	&lt;/appender&gt;<br /><br /><br />	&lt;!-- On application startup, a log file named &quot;SizeBasedLog.log&quot; will be create if not exist.<br />	     When the log file reach beyond 5KB, it will be renamed &quot;SizeBasedLog.log.1&quot;, when the log<br />	     index reach &quot;SizeBasedLog.log.5&quot;, the next rename will be back to &quot;SizeBasedLog.log.1&quot; and<br />	     overite the old log. <br />	--&gt;<br />	&lt;appender name=&quot;MyRollingAppenderSize&quot; class=&quot;org.apache.log4j.RollingFileAppender&quot;&gt;<br />		&lt;param name=&quot;file&quot; value=&quot;SizeBasedLog.log&quot;/&gt;<br />		&lt;param name=&quot;append&quot; value=&quot;true&quot;/&gt;<br />		&lt;param name=&quot;MaxFileSize&quot; value=&quot;5KB&quot;/&gt;<br />		&lt;param name=&quot;MaxBackupIndex&quot; value=&quot;5&quot;/&gt;<br />		&lt;layout class=&quot;org.apache.log4j.PatternLayout&quot;&gt;<br />			&lt;param name=&quot;ConversionPattern&quot; value=&quot;%d %-5p [%c] %m%n&quot;/&gt;<br />		&lt;/layout&gt;<br />	&lt;/appender&gt; <br /><br /><br />	&lt;!-- the following appender creates a logfile in log4j XML format, suitable to viewing with<br />	     XML log viewer such as Chainsaw (http://logging.apache.org/log4j/docs/chainsaw.html)<br />	--&gt;<br />	&lt;appender name=&quot;MyLogFileAppenderXml&quot; class=&quot;org.apache.log4j.RollingFileAppender&quot;&gt;<br />		&lt;param name=&quot;file&quot; value=&quot;XmlLog.txt&quot; /&gt;<br />		&lt;param name=&quot;append&quot; value=&quot;true&quot; /&gt;<br />		&lt;param name=&quot;ImmediateFlush&quot; value=&quot;true&quot; /&gt;<br />		&lt;layout class=&quot;org.apache.log4j.xml.XMLLayout&quot; /&gt;<br />	&lt;/appender&gt; <br />	&lt;!-- This appender will send email through SMTP server.<br />	--&gt;<br />	&lt;appender name=&quot;MySMTPAppenderEmail&quot; class=&quot;org.apache.log4j.net.SMTPAppender&quot;&gt;<br />		&lt;param name=&quot;BufferSize&quot; value=&quot;512&quot; /&gt;<br />		&lt;param name=&quot;SMTPHost&quot; value=&quot;smtp.youremailserver.com&quot; /&gt;<br />		&lt;param name=&quot;SMTPPort&quot; value=&quot;25&quot; /&gt;<br />		&lt;param name=&quot;From&quot; value=&quot;yourname@youremailserver.com (mailto:yourname@youremailserver.com)&quot; /&gt;<br />		&lt;param name=&quot;To&quot; value=&quot;yourname@youremailserver.com (mailto:yourname@youremailserver.com)&quot; /&gt;<br />		&lt;param name=&quot;CC&quot; value=&quot;someoneelse@youremailserver.com (mailto:someoneelse@youremailserver.com)&quot; /&gt;<br />		&lt;param name=&quot;SMTPUsername&quot; value=&quot;yourusername&quot; /&gt;<br />		&lt;param name=&quot;SMTPPassword&quot; value=&quot;yourpassword&quot; /&gt;<br />		&lt;layout class=&quot;org.apache.log4j.PatternLayout&quot;&gt;<br />			&lt;param name=&quot;ConversionPattern&quot; value=&quot;[%d{ABSOLUTE},%c{1}] %m%n&quot;/&gt;<br />		&lt;/layout&gt;<br />	&lt;/appender&gt; <br /><br /><br />	&lt;!-- This appender will write the log message to a database through JDBC connection<br />	     to Sybase Database.<br />	--&gt;<br />	&lt;appender name=&quot;MyJdbcAppender&quot; class=&quot;org.apache.log4j.jdbc.JDBCAppender&quot;&gt;<br />		&lt;param name=&quot;driver&quot; value=&quot;com.sybase.jdbc2.jdbc.SybDriver&quot;/&gt;<br />		&lt;param name=&quot;URL&quot; value=&quot;jdbc:sybase:Tds:127.0.0.1:2638/Summit&quot;/&gt;<br />		&lt;param name=&quot;user&quot; value=&quot;DBA&quot;/&gt;<br />		&lt;param name=&quot;password&quot; value=&quot;SQL&quot;/&gt;<br />		&lt;layout class=&quot;org.apache.log4j.PatternLayout&quot;&gt;<br />			&lt;param name=&quot;ConversionPattern&quot; value=&quot;INSERT INTO ErrorLog (ErrorMessage) VALUES ('%d - %c - %p - %m')&quot;/&gt;<br />		&lt;/layout&gt;<br />	&lt;/appender&gt; <br /><br /><br />	&lt;!-- This appender will write log message and send it through XMLSocketAppender, a receiver<br />	     with XMLSocketReceiver such as Chainsaw (http://logging.apache.org/log4j/docs/chainsaw.html)<br />	     will be able to receive and interpret it.<br />	--&gt;<br />	&lt;appender name=&quot;MyXmlAppender&quot; class=&quot;org.apache.log4j.net.XMLSocketAppender&quot;&gt;<br />		&lt;param name=&quot;Port&quot; value=&quot;1234&quot;/&gt;<br />		&lt;param name=&quot;RemoteHost&quot; value=&quot;10.7.5.15&quot;/&gt;<br />		&lt;param name=&quot;ReconnectionDelay&quot; value=&quot;60000&quot;/&gt;<br />		&lt;param name=&quot;LocationInfo&quot; value=&quot;true&quot; /&gt;<br />	&lt;/appender&gt; <br /><br /><br />	&lt;!-- Using XMLSocketAppender couple with pattern layout to send text lines to <br />	     a ordinary TCP listener, any application that implements TCP socuket listening<br />	     will be able to receive the log message.<br />	--&gt;<br />	&lt;appender name=&quot;MyXmlAppenderFormated&quot; class=&quot;org.apache.log4j.net.XMLSocketAppender&quot;&gt;<br />		&lt;param name=&quot;Port&quot; value=&quot;1235&quot;/&gt;<br />		&lt;param name=&quot;RemoteHost&quot; value=&quot;localhost&quot;/&gt;<br />		&lt;param name=&quot;ReconnectionDelay&quot; value=&quot;60000&quot;/&gt;<br />		&lt;param name=&quot;LocationInfo&quot; value=&quot;true&quot; /&gt;<br />		&lt;layout class=&quot;org.apache.log4j.PatternLayout&quot;&gt;<br />			&lt;param name=&quot;ConversionPattern&quot; value=&quot;%d %-5p [%c] %m%n&quot;/&gt;<br />		&lt;/layout&gt;<br />	&lt;/appender&gt;<br /><br /><br />	&lt;!-- Setup the root category, add the appenders and set the default level <br />	     5 level of logging,  ALL &lt; DEBUG &lt; INFO &lt; WARN &lt; ERROR &lt; FATAL <br />	     The root level is set with INFO, which mean any message greater or same<br />	     as INFO will be log down, in this case, DEBUG is not logged. <br />	     To log all regardless of logging level, set &lt;priority value=&quot;ALL&quot;&gt;<br />	--&gt;<br />	&lt;root&gt;<br />		&lt;priority value=&quot;all&quot; /&gt;<br />		&lt;appender-ref ref=&quot;MyRollingAppenderDaily&quot;/&gt;<br />		&lt;appender-ref ref=&quot;MyRollingAppenderSize&quot;/&gt;<br />		&lt;appender-ref ref=&quot;MyConsoleAppender&quot;/&gt;<br />		&lt;appender-ref ref=&quot;MyLogFileAppenderXml&quot;/&gt;<br />		&lt;appender-ref ref=&quot;MyXmlAppenderFormated&quot;/&gt;<br />		&lt;appender-ref ref=&quot;MyXmlAppender&quot;/&gt;<br />		&lt;appender-ref ref=&quot;MyJdbcAppender&quot;/&gt;<br />	&lt;/root&gt; <br /><br />	&lt;!-- Specify the level for some specific categories --&gt;<br />	&lt;category name=&quot;MyFunctionA&quot; &gt;<br />		&lt;priority value =&quot;info&quot; /&gt;<br />		&lt;appender-ref ref=&quot;MyNormalAppender&quot; /&gt;<br />	&lt;/category&gt; <br /><br />&lt;/log4j:configuration&gt;</pre><br />
You may notice that the tag has log4j in it, that's fine, it'll work :)<br />
<br />
I can't remember where did I gather all the pieces up there, but I kind of remember that it was pieces from different sources before I have put in together. Let me know if you need additional instructions. Is this helpful? Happy Logging ; )<br />
]]></description>
 <category>Software Development</category>
<comments>http://www.dreamcubes.com/blog/index.php?itemid=59</comments>
 <pubDate>Tue, 10 Jun 2008 15:46:43 +0800</pubDate>
</item><item>
 <title>Country List (in SQL)</title>
 <link>http://www.dreamcubes.com/blog/index.php?itemid=58</link>
<description><![CDATA[More then once I need to have to populate a country list into database for later retrieve to populate an online form or combo box. Instead of doing it all over again, I've made the following SQL script, it should work with My SQL, MS SQL, etc...<br />
<br />
I'm not sure if this the full list of every country in the world, so if you know a country that is not in the list, let me know.<br />
<br />
And please pre-create a table tCountry to hold the data.<br />
<br />
<pre style="padding:0.5em; border:1px dashed #9BADCA; color:#000; background:#f7f9fa; overflow:auto; font-family:monospace;">INSERT INTO tCountry (CountryName) VALUES ('Afghanistan');
INSERT INTO tCountry (CountryName) VALUES ('Albania');
INSERT INTO tCountry (CountryName) VALUES ('Algeria');
INSERT INTO tCountry (CountryName) VALUES ('American Samoa');
INSERT INTO tCountry (CountryName) VALUES ('Andorra');
INSERT INTO tCountry (CountryName) VALUES ('Angola');
INSERT INTO tCountry (CountryName) VALUES ('Anguilla');
INSERT INTO tCountry (CountryName) VALUES ('Antarctica');
INSERT INTO tCountry (CountryName) VALUES ('Antigua and Barbuda');
INSERT INTO tCountry (CountryName) VALUES ('Argentina');
INSERT INTO tCountry (CountryName) VALUES ('Armenia');
INSERT INTO tCountry (CountryName) VALUES ('Arctic Ocean');
INSERT INTO tCountry (CountryName) VALUES ('Aruba');
INSERT INTO tCountry (CountryName) VALUES ('Ashmore and Cartier Islands');
INSERT INTO tCountry (CountryName) VALUES ('Atlantic Ocean');
INSERT INTO tCountry (CountryName) VALUES ('Australia');
INSERT INTO tCountry (CountryName) VALUES ('Austria');
INSERT INTO tCountry (CountryName) VALUES ('Azerbaijan');
INSERT INTO tCountry (CountryName) VALUES ('Bahamas');
INSERT INTO tCountry (CountryName) VALUES ('Bahrain');
INSERT INTO tCountry (CountryName) VALUES ('Baker Island');
INSERT INTO tCountry (CountryName) VALUES ('Bangladesh');
INSERT INTO tCountry (CountryName) VALUES ('Barbados');
INSERT INTO tCountry (CountryName) VALUES ('Bassas da India');
INSERT INTO tCountry (CountryName) VALUES ('Belarus');
INSERT INTO tCountry (CountryName) VALUES ('Belgium');
INSERT INTO tCountry (CountryName) VALUES ('Belize');
INSERT INTO tCountry (CountryName) VALUES ('Benin');
INSERT INTO tCountry (CountryName) VALUES ('Bermuda');
INSERT INTO tCountry (CountryName) VALUES ('Bhutan');
INSERT INTO tCountry (CountryName) VALUES ('Bolivia');
INSERT INTO tCountry (CountryName) VALUES ('Bosnia and Herzegovina');
INSERT INTO tCountry (CountryName) VALUES ('Botswana');
INSERT INTO tCountry (CountryName) VALUES ('Bouvet Island');
INSERT INTO tCountry (CountryName) VALUES ('Brazil');
INSERT INTO tCountry (CountryName) VALUES ('British Virgin Islands');
INSERT INTO tCountry (CountryName) VALUES ('Brunei');
INSERT INTO tCountry (CountryName) VALUES ('Bulgaria');
INSERT INTO tCountry (CountryName) VALUES ('Burkina Faso');
INSERT INTO tCountry (CountryName) VALUES ('Burundi');
INSERT INTO tCountry (CountryName) VALUES ('Cambodia');
INSERT INTO tCountry (CountryName) VALUES ('Cameroon');
INSERT INTO tCountry (CountryName) VALUES ('Canada');
INSERT INTO tCountry (CountryName) VALUES ('Cape Verde');
INSERT INTO tCountry (CountryName) VALUES ('Cayman Islands');
INSERT INTO tCountry (CountryName) VALUES ('Central African Republic');
INSERT INTO tCountry (CountryName) VALUES ('Chad');
INSERT INTO tCountry (CountryName) VALUES ('Chile');
INSERT INTO tCountry (CountryName) VALUES ('China');
INSERT INTO tCountry (CountryName) VALUES ('Christmas Island');
INSERT INTO tCountry (CountryName) VALUES ('Clipperton Island');
INSERT INTO tCountry (CountryName) VALUES ('Cocos Islands');
INSERT INTO tCountry (CountryName) VALUES ('Colombia');
INSERT INTO tCountry (CountryName) VALUES ('Comoros');
INSERT INTO tCountry (CountryName) VALUES ('Cook Islands');
INSERT INTO tCountry (CountryName) VALUES ('Coral Sea Islands');
INSERT INTO tCountry (CountryName) VALUES ('Costa Rica');
INSERT INTO tCountry (CountryName) VALUES ('Cote d"Ivoire');
INSERT INTO tCountry (CountryName) VALUES ('Croatia');
INSERT INTO tCountry (CountryName) VALUES ('Cuba');
INSERT INTO tCountry (CountryName) VALUES ('Cyprus');
INSERT INTO tCountry (CountryName) VALUES ('Czech Republic');
INSERT INTO tCountry (CountryName) VALUES ('Denmark');
INSERT INTO tCountry (CountryName) VALUES ('Democratic Republic of the Congo');
INSERT INTO tCountry (CountryName) VALUES ('Djibouti');
INSERT INTO tCountry (CountryName) VALUES ('Dominica');
INSERT INTO tCountry (CountryName) VALUES ('Dominican Republic');
INSERT INTO tCountry (CountryName) VALUES ('East Timor');
INSERT INTO tCountry (CountryName) VALUES ('Ecuador');
INSERT INTO tCountry (CountryName) VALUES ('Egypt');
INSERT INTO tCountry (CountryName) VALUES ('El Salvador');
INSERT INTO tCountry (CountryName) VALUES ('Equatorial Guinea');
INSERT INTO tCountry (CountryName) VALUES ('Eritrea');
INSERT INTO tCountry (CountryName) VALUES ('Estonia');
INSERT INTO tCountry (CountryName) VALUES ('Ethiopia');
INSERT INTO tCountry (CountryName) VALUES ('Europa Island');
INSERT INTO tCountry (CountryName) VALUES ('Falkland Islands (Islas Malvinas)');
INSERT INTO tCountry (CountryName) VALUES ('Faroe Islands');
INSERT INTO tCountry (CountryName) VALUES ('Fiji');
INSERT INTO tCountry (CountryName) VALUES ('Finland');
INSERT INTO tCountry (CountryName) VALUES ('France');
INSERT INTO tCountry (CountryName) VALUES ('French Guiana');
INSERT INTO tCountry (CountryName) VALUES ('French Polynesia');
INSERT INTO tCountry (CountryName) VALUES ('French Southern and Antarctic Lands');
INSERT INTO tCountry (CountryName) VALUES ('Gabon');
INSERT INTO tCountry (CountryName) VALUES ('Gambia');
INSERT INTO tCountry (CountryName) VALUES ('Gaza Strip');
INSERT INTO tCountry (CountryName) VALUES ('Georgia');
INSERT INTO tCountry (CountryName) VALUES ('Germany');
INSERT INTO tCountry (CountryName) VALUES ('Ghana');
INSERT INTO tCountry (CountryName) VALUES ('Gibraltar');
INSERT INTO tCountry (CountryName) VALUES ('Glorioso Islands');
INSERT INTO tCountry (CountryName) VALUES ('Greece');
INSERT INTO tCountry (CountryName) VALUES ('Greenland');
INSERT INTO tCountry (CountryName) VALUES ('Grenada');
INSERT INTO tCountry (CountryName) VALUES ('Guadeloupe');
INSERT INTO tCountry (CountryName) VALUES ('Guam');
INSERT INTO tCountry (CountryName) VALUES ('Guatemala');
INSERT INTO tCountry (CountryName) VALUES ('Guernsey');
INSERT INTO tCountry (CountryName) VALUES ('Guinea');
INSERT INTO tCountry (CountryName) VALUES ('Guinea-Bissau');
INSERT INTO tCountry (CountryName) VALUES ('Guyana');
INSERT INTO tCountry (CountryName) VALUES ('Haiti');
INSERT INTO tCountry (CountryName) VALUES ('Honduras');
INSERT INTO tCountry (CountryName) VALUES ('Hong Kong');
INSERT INTO tCountry (CountryName) VALUES ('Howland Island');
INSERT INTO tCountry (CountryName) VALUES ('Hungary');
INSERT INTO tCountry (CountryName) VALUES ('Iceland');
INSERT INTO tCountry (CountryName) VALUES ('India');
INSERT INTO tCountry (CountryName) VALUES ('Indian Ocean');
INSERT INTO tCountry (CountryName) VALUES ('Indonesia');
INSERT INTO tCountry (CountryName) VALUES ('Iran');
INSERT INTO tCountry (CountryName) VALUES ('Iraq');
INSERT INTO tCountry (CountryName) VALUES ('Ireland');
INSERT INTO tCountry (CountryName) VALUES ('Isle of Man');
INSERT INTO tCountry (CountryName) VALUES ('Israel');
INSERT INTO tCountry (CountryName) VALUES ('Italy');
INSERT INTO tCountry (CountryName) VALUES ('Jamaica');
INSERT INTO tCountry (CountryName) VALUES ('Jan Mayen');
INSERT INTO tCountry (CountryName) VALUES ('Japan');
INSERT INTO tCountry (CountryName) VALUES ('Jarvis Island');
INSERT INTO tCountry (CountryName) VALUES ('Jersey');
INSERT INTO tCountry (CountryName) VALUES ('Johnston Atoll');
INSERT INTO tCountry (CountryName) VALUES ('Jordan');
INSERT INTO tCountry (CountryName) VALUES ('Juan de Nova Island');
INSERT INTO tCountry (CountryName) VALUES ('Kazakhstan');
INSERT INTO tCountry (CountryName) VALUES ('Kenya');
INSERT INTO tCountry (CountryName) VALUES ('Kingman Reef');
INSERT INTO tCountry (CountryName) VALUES ('Kiribati');
INSERT INTO tCountry (CountryName) VALUES ('Kerguelen Archipelago');
INSERT INTO tCountry (CountryName) VALUES ('Kuwait');
INSERT INTO tCountry (CountryName) VALUES ('Kyrgyzstan');
INSERT INTO tCountry (CountryName) VALUES ('Laos');
INSERT INTO tCountry (CountryName) VALUES ('Latvia');
INSERT INTO tCountry (CountryName) VALUES ('Lebanon');
INSERT INTO tCountry (CountryName) VALUES ('Lesotho');
INSERT INTO tCountry (CountryName) VALUES ('Liberia');
INSERT INTO tCountry (CountryName) VALUES ('Libya');
INSERT INTO tCountry (CountryName) VALUES ('Liechtenstein');
INSERT INTO tCountry (CountryName) VALUES ('Lithuania');
INSERT INTO tCountry (CountryName) VALUES ('Luxembourg');
INSERT INTO tCountry (CountryName) VALUES ('Macau');
INSERT INTO tCountry (CountryName) VALUES ('Macedonia');
INSERT INTO tCountry (CountryName) VALUES ('Madagascar');
INSERT INTO tCountry (CountryName) VALUES ('Malawi');
INSERT INTO tCountry (CountryName) VALUES ('Malaysia');
INSERT INTO tCountry (CountryName) VALUES ('Maldives');
INSERT INTO tCountry (CountryName) VALUES ('Mali');
INSERT INTO tCountry (CountryName) VALUES ('Malta');
INSERT INTO tCountry (CountryName) VALUES ('Marshall Islands');
INSERT INTO tCountry (CountryName) VALUES ('Martinique');
INSERT INTO tCountry (CountryName) VALUES ('Mauritania');
INSERT INTO tCountry (CountryName) VALUES ('Mauritius');
INSERT INTO tCountry (CountryName) VALUES ('Mayotte');
INSERT INTO tCountry (CountryName) VALUES ('Mexico');
INSERT INTO tCountry (CountryName) VALUES ('Micronesia');
INSERT INTO tCountry (CountryName) VALUES ('Midway Islands');
INSERT INTO tCountry (CountryName) VALUES ('Moldova');
INSERT INTO tCountry (CountryName) VALUES ('Monaco');
INSERT INTO tCountry (CountryName) VALUES ('Mongolia');
INSERT INTO tCountry (CountryName) VALUES ('Montenegro');
INSERT INTO tCountry (CountryName) VALUES ('Montserrat');
INSERT INTO tCountry (CountryName) VALUES ('Morocco');
INSERT INTO tCountry (CountryName) VALUES ('Mozambique');
INSERT INTO tCountry (CountryName) VALUES ('Myanmar');
INSERT INTO tCountry (CountryName) VALUES ('Namibia');
INSERT INTO tCountry (CountryName) VALUES ('Nauru');
INSERT INTO tCountry (CountryName) VALUES ('Navassa Island');
INSERT INTO tCountry (CountryName) VALUES ('Nepal');
INSERT INTO tCountry (CountryName) VALUES ('Netherlands');
INSERT INTO tCountry (CountryName) VALUES ('Netherlands Antilles');
INSERT INTO tCountry (CountryName) VALUES ('New Caledonia');
INSERT INTO tCountry (CountryName) VALUES ('New Zealand');
INSERT INTO tCountry (CountryName) VALUES ('Nicaragua');
INSERT INTO tCountry (CountryName) VALUES ('Niger');
INSERT INTO tCountry (CountryName) VALUES ('Nigeria');
INSERT INTO tCountry (CountryName) VALUES ('Niue');
INSERT INTO tCountry (CountryName) VALUES ('Norfolk Island');
INSERT INTO tCountry (CountryName) VALUES ('North Korea');
INSERT INTO tCountry (CountryName) VALUES ('Northern Mariana Islands');
INSERT INTO tCountry (CountryName) VALUES ('Norway');
INSERT INTO tCountry (CountryName) VALUES ('Oman');
INSERT INTO tCountry (CountryName) VALUES ('Pacific Ocean');
INSERT INTO tCountry (CountryName) VALUES ('Pakistan');
INSERT INTO tCountry (CountryName) VALUES ('Palau');
INSERT INTO tCountry (CountryName) VALUES ('Palmyra Atoll');
INSERT INTO tCountry (CountryName) VALUES ('Panama');
INSERT INTO tCountry (CountryName) VALUES ('Papua New Guinea');
INSERT INTO tCountry (CountryName) VALUES ('Paracel Islands');
INSERT INTO tCountry (CountryName) VALUES ('Paraguay');
INSERT INTO tCountry (CountryName) VALUES ('Peru');
INSERT INTO tCountry (CountryName) VALUES ('Philippines');
INSERT INTO tCountry (CountryName) VALUES ('Pitcairn Islands');
INSERT INTO tCountry (CountryName) VALUES ('Poland');
INSERT INTO tCountry (CountryName) VALUES ('Portugal');
INSERT INTO tCountry (CountryName) VALUES ('Puerto Rico');
INSERT INTO tCountry (CountryName) VALUES ('Qatar');
INSERT INTO tCountry (CountryName) VALUES ('Reunion');
INSERT INTO tCountry (CountryName) VALUES ('Republic of the Congo');
INSERT INTO tCountry (CountryName) VALUES ('Romania');
INSERT INTO tCountry (CountryName) VALUES ('Russia');
INSERT INTO tCountry (CountryName) VALUES ('Rwanda');
INSERT INTO tCountry (CountryName) VALUES ('Saint Helena');
INSERT INTO tCountry (CountryName) VALUES ('Saint Kitts and Nevis');
INSERT INTO tCountry (CountryName) VALUES ('Saint Lucia');
INSERT INTO tCountry (CountryName) VALUES ('Saint Pierre and Miquelon');
INSERT INTO tCountry (CountryName) VALUES ('Saint Vincent and the Grenadin');
INSERT INTO tCountry (CountryName) VALUES ('Samoa');
INSERT INTO tCountry (CountryName) VALUES ('San Marino');
INSERT INTO tCountry (CountryName) VALUES ('Sao Tome and Principe');
INSERT INTO tCountry (CountryName) VALUES ('Saudi Arabia');
INSERT INTO tCountry (CountryName) VALUES ('Senegal');
INSERT INTO tCountry (CountryName) VALUES ('Serbia');
INSERT INTO tCountry (CountryName) VALUES ('Seychelles');
INSERT INTO tCountry (CountryName) VALUES ('Sierra Leone');
INSERT INTO tCountry (CountryName) VALUES ('Singapore');
INSERT INTO tCountry (CountryName) VALUES ('Slovakia');
INSERT INTO tCountry (CountryName) VALUES ('Slovenia');
INSERT INTO tCountry (CountryName) VALUES ('Solomon Islands');
INSERT INTO tCountry (CountryName) VALUES ('Somalia');
INSERT INTO tCountry (CountryName) VALUES ('South Africa');
INSERT INTO tCountry (CountryName) VALUES ('South Georgia and the South Sandwich Islands');
INSERT INTO tCountry (CountryName) VALUES ('South Korea');
INSERT INTO tCountry (CountryName) VALUES ('Spain');
INSERT INTO tCountry (CountryName) VALUES ('Spratly Islands');
INSERT INTO tCountry (CountryName) VALUES ('Sri Lanka');
INSERT INTO tCountry (CountryName) VALUES ('Sudan');
INSERT INTO tCountry (CountryName) VALUES ('Suriname');
INSERT INTO tCountry (CountryName) VALUES ('Svalbard');
INSERT INTO tCountry (CountryName) VALUES ('Swaziland');
INSERT INTO tCountry (CountryName) VALUES ('Sweden');
INSERT INTO tCountry (CountryName) VALUES ('Switzerland');
INSERT INTO tCountry (CountryName) VALUES ('Syria');
INSERT INTO tCountry (CountryName) VALUES ('Taiwan');
INSERT INTO tCountry (CountryName) VALUES ('Tajikistan');
INSERT INTO tCountry (CountryName) VALUES ('Tanzania');
INSERT INTO tCountry (CountryName) VALUES ('Thailand');
INSERT INTO tCountry (CountryName) VALUES ('Togo');
INSERT INTO tCountry (CountryName) VALUES ('Tokelau');
INSERT INTO tCountry (CountryName) VALUES ('Tonga');
INSERT INTO tCountry (CountryName) VALUES ('Trinidad and Tobago');
INSERT INTO tCountry (CountryName) VALUES ('Tromelin Island');
INSERT INTO tCountry (CountryName) VALUES ('Tunisia');
INSERT INTO tCountry (CountryName) VALUES ('Turkey');
INSERT INTO tCountry (CountryName) VALUES ('Turkmenistan');
INSERT INTO tCountry (CountryName) VALUES ('Turks and Caicos Islands');
INSERT INTO tCountry (CountryName) VALUES ('Tuvalu');
INSERT INTO tCountry (CountryName) VALUES ('Uganda');
INSERT INTO tCountry (CountryName) VALUES ('Ukraine');
INSERT INTO tCountry (CountryName) VALUES ('United Arab Emirates');
INSERT INTO tCountry (CountryName) VALUES ('United Kingdom');
INSERT INTO tCountry (CountryName) VALUES ('USA');
INSERT INTO tCountry (CountryName) VALUES ('Uruguay');
INSERT INTO tCountry (CountryName) VALUES ('Uzbekistan');
INSERT INTO tCountry (CountryName) VALUES ('Vanuatu');
INSERT INTO tCountry (CountryName) VALUES ('Venezuela');
INSERT INTO tCountry (CountryName) VALUES ('Vietnam');
INSERT INTO tCountry (CountryName) VALUES ('Virgin Islands');
INSERT INTO tCountry (CountryName) VALUES ('Wake Island');
INSERT INTO tCountry (CountryName) VALUES ('Wallis and Futuna');
INSERT INTO tCountry (CountryName) VALUES ('West Bank');
INSERT INTO tCountry (CountryName) VALUES ('Western Sahara');
INSERT INTO tCountry (CountryName) VALUES ('Yemen');
INSERT INTO tCountry (CountryName) VALUES ('Yugoslavia');
INSERT INTO tCountry (CountryName) VALUES ('Zambia');
INSERT INTO tCountry (CountryName) VALUES ('Zimbabwe');
</pre>]]></description>
 <category>Computing</category>
<comments>http://www.dreamcubes.com/blog/index.php?itemid=58</comments>
 <pubDate>Tue, 10 Jun 2008 15:19:49 +0800</pubDate>
</item><item>
 <title>I&apos;ve Join the Jerker Gang!</title>
 <link>http://www.dreamcubes.com/blog/index.php?itemid=57</link>
<description><![CDATA[<a href="http://www.dreamcubes.com/blog/media/1/20080516-jerker.jpg"></a><br />
Years ago when I first saw this JERKER at the local IKEA store I've fall in love with it. But with the price high on my budget, I only get to visit it when I visits IKEA, sit with it for a while, and imagine that its mine~ <br />
<br />
And today, I find it shocking that IKEA has discontinue this great product, and lucky for me, I manage to get the last unit (a display unit) that is fairly new enough, plus some discount on its original price.<br />
<br />
IKEA policy, which you have to disassemble the "AS-IT" unit yourself and bring it home yourself, not that I complain too much, but when I reach home with my JERKER, I could not remember which part to go with which. Panic and turn to my best friend Google and lucky enough for me, I've found a PDF copy of the manual : ) and here me with my JERKER~<br />
<br />
In case you're looking for the manual yourself, <a href="http://www.dreamcubes.com/webdrive/JERKER-MANUAL.PDF">download it here</a>.<br />
<br />
And I think I'm weired, but wait until you've read <a href="http://adam.pra.to/content/jerker/ ">BEHOLD! THE SHRINE TO THE IKEA JERKER DESK!</a>]]></description>
 <category>Anything Else</category>
<comments>http://www.dreamcubes.com/blog/index.php?itemid=57</comments>
 <pubDate>Fri, 16 May 2008 20:16:34 +0800</pubDate>
</item>
  </channel>
</rss>