<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Chenglee's Weblog</title>
	<atom:link href="http://chenglee.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://chenglee.wordpress.com</link>
	<description>Just another WordPress.com weblog</description>
	<lastBuildDate>Wed, 20 Apr 2011 20:33:03 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='chenglee.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Chenglee's Weblog</title>
		<link>http://chenglee.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://chenglee.wordpress.com/osd.xml" title="Chenglee&#039;s Weblog" />
	<atom:link rel='hub' href='http://chenglee.wordpress.com/?pushpress=hub'/>
		<item>
		<title>One more reason to use Servlet 3 (Java) on the serverside instead of PHP</title>
		<link>http://chenglee.wordpress.com/2011/04/20/one-more-reason-to-use-servlet-3-java-on-the-serverside-instead-of-php/</link>
		<comments>http://chenglee.wordpress.com/2011/04/20/one-more-reason-to-use-servlet-3-java-on-the-serverside-instead-of-php/#comments</comments>
		<pubDate>Wed, 20 Apr 2011 20:32:59 +0000</pubDate>
		<dc:creator>chenglee</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[architecture]]></category>
		<category><![CDATA[asynchronous]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[scalability]]></category>
		<category><![CDATA[servlet3]]></category>

		<guid isPermaLink="false">http://chenglee.wordpress.com/?p=79</guid>
		<description><![CDATA[After reading an excellent article on Asynchronous processing support in Servlet 3.0 at JavaWorld.com, I have one more reason to use Servlet 3 providers. Just as Jetty Asynchronous REST example shown, real world requets that aggregates several backend call responses benefit from the asynchronous nature by freeing valuable CPU resources, improving server scalability. Try this [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=79&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>After reading an excellent article on <a title="Asynchronous processing support in Servlet 3.0" href="http://www.javaworld.com/javaworld/jw-02-2009/jw-02-servlet3.html">Asynchronous processing support in Servlet 3.0 at JavaWorld.com</a>, I have one more reason to use Servlet 3 providers. Just as <a title="Asynchronous REST example" href="http://docs.codehaus.org/display/JETTY/Asynchronous+REST">Jetty Asynchronous REST example</a> shown, real world requets that aggregates several backend call responses benefit from the asynchronous nature by freeing valuable CPU resources, improving server scalability.</p>
<p>Try this with PHP <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Kudos for the JSR expert group for making this a standard!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chenglee.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chenglee.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chenglee.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chenglee.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chenglee.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chenglee.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chenglee.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chenglee.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chenglee.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chenglee.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chenglee.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chenglee.wordpress.com/79/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chenglee.wordpress.com/79/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chenglee.wordpress.com/79/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=79&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chenglee.wordpress.com/2011/04/20/one-more-reason-to-use-servlet-3-java-on-the-serverside-instead-of-php/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a98deb99bcab965bf587b91659db57d8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chenglee</media:title>
		</media:content>
	</item>
		<item>
		<title>PHP singleton scope is request scoped</title>
		<link>http://chenglee.wordpress.com/2010/05/26/php-singleton-scope-is-request-scoped/</link>
		<comments>http://chenglee.wordpress.com/2010/05/26/php-singleton-scope-is-request-scoped/#comments</comments>
		<pubDate>Wed, 26 May 2010 14:49:43 +0000</pubDate>
		<dc:creator>chenglee</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[memcached]]></category>
		<category><![CDATA[pattern]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[session]]></category>
		<category><![CDATA[singleton]]></category>

		<guid isPermaLink="false">http://chenglee.wordpress.com/?p=53</guid>
		<description><![CDATA[In my current job I&#8217;m working with some PHP codes for which I&#8217;ve implemented the singleton pattern. My testcase is quite straightforward and consists of a singleton that stores the time at which it was instantiated: class MySingleton { private static $myVar; private static $instance; private function MySingleton() { self::$myVar = time(); } public static [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=53&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>In my current job I&#8217;m working with some PHP codes for which I&#8217;ve implemented the singleton pattern. My testcase is quite straightforward and consists of a singleton that stores the time at which it was instantiated:</p>
<pre>class MySingleton {
    private static $myVar;

    private static $instance;

    private function MySingleton() {
        self::$myVar = time();
    }

    public static function getInstance() {
        if (! isset(self::$instance)) {
            self::$instance = new MySingleton();
        }

        return self::$instance;
    }

    public function getMyVar() {
        return self::$myVar;
    }
}

echo "Time: " . MySingleton::getInstance()-&gt;getMyVar();
</pre>
<p>Now, let&#8217;s test it. This is the result for the first invocation:</p>
<pre>Time: 1274882765
</pre>
<p>and now a second invocation:</p>
<pre>Time: 1274882775
</pre>
<p>So what&#8217;s going on here? PHP architecture is designed to fork a new process on every page request. That means that the singleton only lasts for a request. On the next request, it is instantiated again, that&#8217;s why we get different timestamps. What if we want for the singleton to span several requests, i.e. a session? Here is a modified version:</p>
<pre>class MySingleton {
    private static $myVar;

    private static $instance;

    private function MySingleton() {
        self::$myVar = time();
    }

    public static function getInstance() {
        if (! isset(self::$instance)) {
            self::$instance = new MySingleton();
        }

        return self::$instance;
    }

    public function getMyVar() {
        return self::$myVar;
    }
}

session_start();

if (! isset($_SESSION["mySingleton"])) {
    $_SESSION["mySingleton"] = MySingleton::getInstance()-&gt;getMyVar();
}

echo "Time: " . $_SESSION["mySingleton"];
</pre>
<p>The result is weird:</p>
<pre>Time:
</pre>
<p>There&#8217;s no output because I used &#8220;static&#8221; scope for $myVar in MySingleton and PHP won&#8217;t serialize it. So I must remove the &#8220;static&#8221; keyword to make it an instance variable:</p>
<pre>myVar = time();
    }

    public static function getInstance() {
        if (! isset(self::$instance)) {
            self::$instance = new MySingleton();
        }

        return self::$instance;
    }

    public function getMyVar() {
        return $this-&gt;myVar;
    }
}

session_start();

if (! isset($_SESSION["mySingleton"])) {
    $_SESSION["mySingleton"] = MySingleton::getInstance();
}

echo "Time: " . $_SESSION["mySingleton"]-&gt;getMyVar();
</pre>
<p>and now it works wonderfully thru all invocations&#8230; well, at least for the same session. If there are multiple sessions, each of them will have their own singleton so at any point in time, there will be N &#8220;singletons&#8221; given N clients.</p>
<p><strong>In conclusion</strong><br />
PHP singletons are request scoped, or at most session scoped. However, it might not worth the effort to span its scope to session since PHP has to serialize sessions to disk, memcached, or whatever mechanism used for session serialization, and it might lead to an I/O problem. You should weight the cost of instantiation of objects and session serialization. In general, I would recommend session variables as an exception. Try to externalize states by embedding them to the URL (such as the current page in a paginated request) and reserve session variables for simple variables such as page hits counter in a session fashion.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chenglee.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chenglee.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chenglee.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chenglee.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chenglee.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chenglee.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chenglee.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chenglee.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chenglee.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chenglee.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chenglee.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chenglee.wordpress.com/53/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chenglee.wordpress.com/53/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chenglee.wordpress.com/53/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=53&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chenglee.wordpress.com/2010/05/26/php-singleton-scope-is-request-scoped/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a98deb99bcab965bf587b91659db57d8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chenglee</media:title>
		</media:content>
	</item>
		<item>
		<title>Get active thread count on JMeter</title>
		<link>http://chenglee.wordpress.com/2010/04/20/get-active-thread-count-on-jmeter/</link>
		<comments>http://chenglee.wordpress.com/2010/04/20/get-active-thread-count-on-jmeter/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 20:17:44 +0000</pubDate>
		<dc:creator>chenglee</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[active threads]]></category>
		<category><![CDATA[beanshell]]></category>
		<category><![CDATA[hudson]]></category>
		<category><![CDATA[jmeter]]></category>
		<category><![CDATA[rstat]]></category>
		<category><![CDATA[rstatd]]></category>
		<category><![CDATA[threads]]></category>

		<guid isPermaLink="false">http://chenglee.wordpress.com/?p=49</guid>
		<description><![CDATA[While integrating swirstatdsample from sourceforge.net to retrieve remote host system stats I bumped into an interesting problem which is that rstatd sampler will run forever until we shut it down. So, this make it unsuitable for continuous builders like Hudson that run Performance Plugin to obtain JMeter performance trends. To work around this, I needed [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=49&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>While integrating <a href="http://swirstatdsample.sourceforge.net/">swirstatdsample from sourceforge.net</a> to retrieve remote host system stats I bumped into an interesting problem which is that <a href="http://rstatd.sourceforge.net/">rstatd</a> sampler will run forever until we shut it down. So, this make it unsuitable for continuous builders like <a href="http://hudson.dev.java.net/">Hudson</a> that run <a href="http://wiki.hudson-ci.org/display/HUDSON/Performance+Plugin">Performance Plugin</a> to obtain <a href="http://jakarta.apache.org/jmeter/">JMeter</a> performance trends. To work around this, I needed to stop the test when JMeter active thread count is equal to 1, i.e. only the rstat monitor should be running. After searching for almost a day I found this from <a href="http://jakarta.apache.org/jmeter/usermanual/functions.html">JMeter user manual</a> seccion 19.5.7 &#8220;__javaScript&#8221;:</p>
<blockquote><p>Rhinoscript allows access to static methods via its Packages object. See the  <a href="http://www.mozilla.org/rhino/ScriptingJava.html"> Scripting Java </a> documentation. For example one can access the JMeterContextService static methods thus:  <code> Packages.org.apache.jmeter.threads.JMeterContextService.getTotalThreads() </code></p></blockquote>
<p>Thus in JMeter the total threads active at any given time is available at JMeterContextService. You can either use the __javaScript function as explained above or use BeanShell Sampler which allows a more Jav-like syntax:</p>
<blockquote><p><code>activeThreadCount = org.apache.jmeter.threads.JMeterContextService.getTotalThreads();</code></p></blockquote>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chenglee.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chenglee.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chenglee.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chenglee.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chenglee.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chenglee.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chenglee.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chenglee.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chenglee.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chenglee.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chenglee.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chenglee.wordpress.com/49/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chenglee.wordpress.com/49/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chenglee.wordpress.com/49/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=49&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chenglee.wordpress.com/2010/04/20/get-active-thread-count-on-jmeter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a98deb99bcab965bf587b91659db57d8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chenglee</media:title>
		</media:content>
	</item>
		<item>
		<title>Install RSTATD on Ubuntu 9</title>
		<link>http://chenglee.wordpress.com/2010/04/20/install-rstatd-on-ubuntu-9/</link>
		<comments>http://chenglee.wordpress.com/2010/04/20/install-rstatd-on-ubuntu-9/#comments</comments>
		<pubDate>Tue, 20 Apr 2010 14:54:27 +0000</pubDate>
		<dc:creator>chenglee</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[monitoring]]></category>
		<category><![CDATA[rstat]]></category>
		<category><![CDATA[rstatd]]></category>
		<category><![CDATA[stress test]]></category>

		<guid isPermaLink="false">http://chenglee.wordpress.com/?p=47</guid>
		<description><![CDATA[Today I had the pleasure (or pressure) to install RSTATD on Ubuntu since we needed to monitor one of our hosts during a stress test. It turned out to be not so simple so I&#8217;m documenting the steps here: Install the packages: sudo xinetd rstatd We need to specifically ask for xinetd since we need [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=47&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today I had the pleasure (or pressure) to install RSTATD on Ubuntu since we needed to monitor one of our hosts during a stress test. It turned out to be not so simple so I&#8217;m documenting the steps here:</p>
<ol>
<li>Install the packages:
<p>sudo xinetd rstatd</p>
<p>We need to specifically ask for xinetd since we need to configure RSTATD service below.</li>
<li>Create the file &#8220;/etc/xinetd.d/rstatd&#8221; with the following content
<p># default: off<br />
# # description: An xinetd internal service which rstatd&#8217;s characters back to clients.<br />
#<br />
service rstatd<br />
{<br />
type            = RPC<br />
rpc_version     = 2-4<br />
socket_type     = dgram</p>
<p>protocol        = udp<br />
wait            = yes<br />
user            = root<br />
log_on_success  += USERID</p>
<p>log_on_failure  += USERID<br />
server          = /usr/sbin/rpc.rstatd<br />
disable         = no<br />
}</li>
<li>Install rstat-client (optional):
<p>sudo apt-get install rstat-client</li>
<li>To test it (using rsysinfo from rstat-client package):<br />
root@ci-server3:~# rsysinfo localhost<br />
System Information for: localhost<br />
uptime:  24 days, 17:32, load average: 0.05 0.07 0.07<br />
cpu usage (jiffies): user 1455679  nice 550  system 624328  idle 420845047<br />
page in: 2308807  page out: 16027072   swap in: 673  swap out: 4985<br />
intr: 158243781     context switches: 346475642<br />
disks: 1383151 0 0 0<br />
ethernet:  rx: 1901663   rx-err: 58<br />
tx: 1271589   tx-err: 0    collisions: 0</li>
<li>That&#8217;s it!</li>
</ol>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chenglee.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chenglee.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chenglee.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chenglee.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chenglee.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chenglee.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chenglee.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chenglee.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chenglee.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chenglee.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chenglee.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chenglee.wordpress.com/47/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chenglee.wordpress.com/47/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chenglee.wordpress.com/47/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=47&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chenglee.wordpress.com/2010/04/20/install-rstatd-on-ubuntu-9/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a98deb99bcab965bf587b91659db57d8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chenglee</media:title>
		</media:content>
	</item>
		<item>
		<title>Mounting Samba drive in Ubuntu 9.10 without symbolic links</title>
		<link>http://chenglee.wordpress.com/2010/02/20/mounting-samba-drive-in-ubuntu-9-10-without-symbolic-links/</link>
		<comments>http://chenglee.wordpress.com/2010/02/20/mounting-samba-drive-in-ubuntu-9-10-without-symbolic-links/#comments</comments>
		<pubDate>Sat, 20 Feb 2010 22:58:20 +0000</pubDate>
		<dc:creator>chenglee</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[cifs]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[samba]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://chenglee.wordpress.com/?p=38</guid>
		<description><![CDATA[Today I was trying to access a Samba file server in my network when I run into the issue that a symbolic link is retrieved &#8220;as is&#8221; from the Samba server instead of following it. It puzzled me at first since I thought that this was a server configuration but it turns out that the [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=38&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Today I was trying to access a Samba file server in my network when I run into the issue that a symbolic link is retrieved &#8220;as is&#8221; from the Samba server instead of following it. It puzzled me at first since I thought that this was a server configuration but it turns out that the client can decide on it as well.</p>
<p>smbmount //server/share /mntpoint -o username=user password=pass <span style="color:#ff0000;">nounix</span></p>
<p><strong>Note</strong> the <span style="color:#ff0000;">nounix</span> option which does the trick to follow symbolic links.</p>
<p>And if you need this drive to be  mounted upon start you can add an entry in /etc/fstab:</p>
<pre>//sambaserver/clee   /mnt/sambaserver/clee  cifs  credentials=/root/.smbcredentials,dir_mode=0777,file_mode=0777,<span style="color:#ff0000;">nounix</span>   0  0</pre>
<p>Where /root/.smbcredentials contains your user and password in this format:</p>
<pre>username=your_username
password=your_password</pre>
<p>Remember to change the permissions also:</p>
<pre>sudo chmod 600 /root/.smbcredentials</pre>
<p>Sources:</p>
<p><a href="http://brainwreckedtech.wordpress.com/2009/11/29/fixit-linux-client-cant-follow-symlinks-on-a-samba-server/">http://brainwreckedtech.wordpress.com/2009/11/29/fixit-linux-client-cant-follow-symlinks-on-a-samba-server/</a></p>
<p><a href="http://www.guia-ubuntu.org/index.php?title=Montar_comparticiones_remotas_usando_smbfs_y_cifs" target="_blank">http://www.guia-ubuntu.org/index.php?title=Montar_comparticiones_remotas_usando_smbfs_y_cifs</a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chenglee.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chenglee.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chenglee.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chenglee.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chenglee.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chenglee.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chenglee.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chenglee.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chenglee.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chenglee.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chenglee.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chenglee.wordpress.com/38/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chenglee.wordpress.com/38/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chenglee.wordpress.com/38/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=38&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chenglee.wordpress.com/2010/02/20/mounting-samba-drive-in-ubuntu-9-10-without-symbolic-links/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a98deb99bcab965bf587b91659db57d8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chenglee</media:title>
		</media:content>
	</item>
		<item>
		<title>Setting up Hudson for your Maven 2 project hosted on GoogleCode &#8211; step by step</title>
		<link>http://chenglee.wordpress.com/2009/12/12/setting-up-hudson-for-your-maven-2-project-hosted-on-googlecode-step-by-step/</link>
		<comments>http://chenglee.wordpress.com/2009/12/12/setting-up-hudson-for-your-maven-2-project-hosted-on-googlecode-step-by-step/#comments</comments>
		<pubDate>Sat, 12 Dec 2009 22:18:12 +0000</pubDate>
		<dc:creator>chenglee</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chenglee.wordpress.com/?p=34</guid>
		<description><![CDATA[You started your GoogleCode project but don&#8217;t know how to set your project up with Hudson? If so, read on. Step one: get authenticated with SVN repository First you should be aware that SVN client caches your credentials. So in the machine where Hudson runs, log in as the user that runs Hudson and issue [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=34&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>You started your GoogleCode project but don&#8217;t know how to set your project up with Hudson? If so, read on.</p>
<h2>Step one: get authenticated with SVN repository</h2>
<p>First you should be aware that SVN client caches your credentials. So in the machine where Hudson runs,<strong> log in as the user that runs Hudson</strong> and issue a SVN command against your repository as instructed here:</p>
<p>http://blogs.open.collab.net/svn/2009/07/subversion-16-security-improvements.html</p>
<h2>Step two: set up Hudson plugin for GoogleCode</h2>
<p>To install the plugin go to to Hudson Dashboard -&gt; Manage Hudson -&gt; Manage Plugins. Under the Available tab, find the GoogleCode plugin and click on install.</p>
<h2>Step three: set up your project</h2>
<p>Go to Hudson Dashboard -&gt; New Job. Enter the project name and click on &#8220;Build a maven2 project&#8221;. Click on ok. Enter the Google code website which should be:</p>
<p>http://code.google.com/p/&lt;project name&gt;/</p>
<p>For the source management section, please note that there is a bug in GoogleCode plugin that will <a href="http://issues.hudson-ci.org/browse/HUDSON-4919">fail to authenticate the developer connection with GoogleCode</a> so please follow the workaround here to complete your setup:</p>
<p>http://malsserver.blogspot.com/2009/04/hudson-maven-release-plug-in-plug-in.html</p>
<p>And that&#8217;s it! Happy coding!</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chenglee.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chenglee.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chenglee.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chenglee.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chenglee.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chenglee.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chenglee.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chenglee.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chenglee.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chenglee.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chenglee.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chenglee.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chenglee.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chenglee.wordpress.com/34/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=34&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chenglee.wordpress.com/2009/12/12/setting-up-hudson-for-your-maven-2-project-hosted-on-googlecode-step-by-step/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a98deb99bcab965bf587b91659db57d8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chenglee</media:title>
		</media:content>
	</item>
		<item>
		<title>Perforce BEST &amp; WORSE practices</title>
		<link>http://chenglee.wordpress.com/2009/10/08/perforce-best-worse-practices/</link>
		<comments>http://chenglee.wordpress.com/2009/10/08/perforce-best-worse-practices/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 18:15:39 +0000</pubDate>
		<dc:creator>chenglee</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://chenglee.wordpress.com/?p=24</guid>
		<description><![CDATA[All regular work should be done in trunk, rather than branches The reason to do this is that all changes to trunk should be traceable from day zero and by branching we lose the revision history. The purpose of a branch is generally to create a release and apply patches to it, thus it makes [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=24&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<h2>All regular work should be done in trunk, rather than branches</h2>
<p>The reason to do this is that all changes to trunk should be traceable from day zero and by branching we lose the revision history. The purpose of a branch is generally to create a release and apply patches to it, thus it makes sense to isolate the revision history from the trunk since we already know the changelist at which we branched from trunk. The same concept applies to development branches.</p>
<h2>If big changes are to be made on branches involving file locations change, create a branch spec</h2>
<p>Certain kinds of changes like maven-ization require moving files around to comply with the Maven convention though it&#8217;s best to override the convention by <a href="http://maven.apache.org/plugins/maven-resources-plugin/examples/resource-directory.html">specifying multiple resource directories</a> and at a later time divide them into multiple modules to conform a <a href="http://maven.apache.org/plugins/maven-eclipse-plugin/reactor.html">Maven multi-module project</a>. But in case you must move them because of other reasons (e.g. you mistyped the name), create a branch spec that maps the original location of the moved elements to the new location so that you can integrate changes from the trunk until you finish your work in your branch. Note that SVN won&#8217;t detect which revisions have already been integrated unlike Perforce, so you are URGED to put the integrated revisions in your commit message to keep track of integrated revisions.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chenglee.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chenglee.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chenglee.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chenglee.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chenglee.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chenglee.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chenglee.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chenglee.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chenglee.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chenglee.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chenglee.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chenglee.wordpress.com/24/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chenglee.wordpress.com/24/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chenglee.wordpress.com/24/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=24&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chenglee.wordpress.com/2009/10/08/perforce-best-worse-practices/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a98deb99bcab965bf587b91659db57d8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chenglee</media:title>
		</media:content>
	</item>
		<item>
		<title>Maven scope tips and tricks</title>
		<link>http://chenglee.wordpress.com/2009/09/08/maven-scope-tips-and-tricks/</link>
		<comments>http://chenglee.wordpress.com/2009/09/08/maven-scope-tips-and-tricks/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 20:12:03 +0000</pubDate>
		<dc:creator>chenglee</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[maven eclipse]]></category>

		<guid isPermaLink="false">http://chenglee.wordpress.com/?p=21</guid>
		<description><![CDATA[I think most of us are aware of the benefit of making an Eclipse project A depend on another project B directly, instead of depending on the project B jar. Just in case you don&#8217;t, consider the scenario where project A is a WAR application and B is a JAR containing your domain objects. Then [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=21&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>I think most of us are aware of the benefit of making an Eclipse project A depend on another project B directly, instead of depending on the project B jar. Just in case you don&#8217;t, consider the scenario where project A is a WAR application and B is a JAR containing your domain objects. Then you deployed it using WTP server support or Sysdeo Tomcat plugin to test it locally. The difference is the following:</p>
<ul>
<li> Using a JAR of project B means that if you happen to modify any class in B, then the JAR is inconsistent and you will need to restart the context to see the changes.</li>
<li> On the other hand, if you depend on project B, then you can take advantage of the JVM&#8217;s code HotSwap and see your changes right away, without restarting the web application context.</li>
</ul>
<p>In order to make your multi-module maven project declare dependencies between the modules of the project, you should use <strong>&lt;scope&gt;compile&lt;/scope&gt; </strong>and not any other combination (such as &#8220;provided&#8221; as I&#8217;ve seen in some production code). This way, Eclipse will recognize the dependency as a Eclipse project and won&#8217;t include it as a JAR</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chenglee.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chenglee.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chenglee.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chenglee.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chenglee.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chenglee.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chenglee.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chenglee.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chenglee.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chenglee.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chenglee.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chenglee.wordpress.com/21/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chenglee.wordpress.com/21/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chenglee.wordpress.com/21/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=21&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chenglee.wordpress.com/2009/09/08/maven-scope-tips-and-tricks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a98deb99bcab965bf587b91659db57d8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chenglee</media:title>
		</media:content>
	</item>
		<item>
		<title>Live Messenger not notifying new mails / updating read mail count</title>
		<link>http://chenglee.wordpress.com/2009/06/15/live-messenger-not-notifying-new-mails-updating-read-mail-count/</link>
		<comments>http://chenglee.wordpress.com/2009/06/15/live-messenger-not-notifying-new-mails-updating-read-mail-count/#comments</comments>
		<pubDate>Mon, 15 Jun 2009 17:26:28 +0000</pubDate>
		<dc:creator>chenglee</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[live]]></category>
		<category><![CDATA[live-messenger]]></category>
		<category><![CDATA[msn]]></category>

		<guid isPermaLink="false">http://chenglee.wordpress.com/?p=12</guid>
		<description><![CDATA[Somewhere in the time, I&#8217;ve updated to a newer Live Messenger and stopped receiving new mail notificacions (the familiar popup windows saying &#8220;You&#8217;ve received a new mail from XYZ&#8221;). I&#8217;ve checked the option to notify me of new mails in Tools -&#62; Settings without luck: What&#8217;s more, the new mail count does not update after [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=12&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Somewhere in the time, I&#8217;ve updated to a newer Live Messenger and stopped receiving new mail notificacions (the familiar popup windows saying &#8220;You&#8217;ve received a new mail from XYZ&#8221;). I&#8217;ve checked the option to notify me of new mails in Tools -&gt; Settings without luck:</p>
<div id="attachment_15" class="wp-caption alignnone" style="width: 460px"><a href="http://chenglee.files.wordpress.com/2009/06/mail-alert-checked.png"><img class="size-full wp-image-15" title="mail-alert-checked" src="http://chenglee.files.wordpress.com/2009/06/mail-alert-checked.png?w=450&#038;h=518" alt="mail-alert-checked" width="450" height="518" /></a><p class="wp-caption-text">The &quot;Display alerts when e-mail is received&quot; option is checked</p></div>
<p>What&#8217;s more, the new mail count does not update after messages are read as it used to behave. Now, you have to sign out of Live Messenger and log back in again to have them refreshed. I talked to a bunch of friends running Live Messenger and the problem seems to be widespread; there are people running Live Messenger 2008, 2009 and a lot of them where having problems.</p>
<div id="attachment_13" class="wp-caption alignleft" style="width: 202px"><a href="http://chenglee.files.wordpress.com/2009/06/mail-not-ification.png"><img class="size-full wp-image-13" title="mail-NOT-ification" src="http://chenglee.files.wordpress.com/2009/06/mail-not-ification.png?w=450" alt="The new mail count does not update at all after mails being read"   /></a><p class="wp-caption-text">The new mail count does not update at all after mails being read</p></div>
<p>Having that said, I decided to report a bug to Microsoft but Google is not telling me the place where I could report it. So, I&#8217;m posting here until someone points me to the right URL.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chenglee.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chenglee.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chenglee.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chenglee.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chenglee.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chenglee.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chenglee.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chenglee.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chenglee.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chenglee.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chenglee.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chenglee.wordpress.com/12/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chenglee.wordpress.com/12/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chenglee.wordpress.com/12/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=12&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chenglee.wordpress.com/2009/06/15/live-messenger-not-notifying-new-mails-updating-read-mail-count/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a98deb99bcab965bf587b91659db57d8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chenglee</media:title>
		</media:content>

		<media:content url="http://chenglee.files.wordpress.com/2009/06/mail-alert-checked.png" medium="image">
			<media:title type="html">mail-alert-checked</media:title>
		</media:content>

		<media:content url="http://chenglee.files.wordpress.com/2009/06/mail-not-ification.png" medium="image">
			<media:title type="html">mail-NOT-ification</media:title>
		</media:content>
	</item>
		<item>
		<title>Blogger vs. WordPress (part 2)</title>
		<link>http://chenglee.wordpress.com/2008/06/03/blogger-vs-wordpress-part-2/</link>
		<comments>http://chenglee.wordpress.com/2008/06/03/blogger-vs-wordpress-part-2/#comments</comments>
		<pubDate>Tue, 03 Jun 2008 14:12:58 +0000</pubDate>
		<dc:creator>chenglee</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[blog]]></category>

		<guid isPermaLink="false">http://chenglee.wordpress.com/?p=6</guid>
		<description><![CDATA[Well, while writing another post I found out another missing feature for Blogger. It seems that I&#8217;m not giving Blogger a break after all Have you ever tried to add an internal link to your post? Consider a really long post: This is a loooooong post which links to paragrah 3 in this post. Paragraph [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=6&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>Well, while writing another post I found out another missing feature for Blogger. It seems that I&#8217;m not giving Blogger a break after all <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>Have you ever tried to add an internal link to your post? Consider a really long post:</p>
<p>This is a loooooong post which links to <a href="#paragraph3">paragrah 3</a> in this post.</p>
<p>Paragraph 1&#8230;..</p>
<p>Paragraph 2&#8230;..<br />
<a name="paragraph3"></a><br />
<strong>Paragraph 3 !!!</strong></p>
<p>Try to do the same in Blogger</p>
<p><span style="color:#ff0000;">WordPress 7 &#8211; Blogger 1</span></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/chenglee.wordpress.com/6/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/chenglee.wordpress.com/6/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/chenglee.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/chenglee.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/chenglee.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/chenglee.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/chenglee.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/chenglee.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/chenglee.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/chenglee.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/chenglee.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/chenglee.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/chenglee.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/chenglee.wordpress.com/6/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/chenglee.wordpress.com/6/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/chenglee.wordpress.com/6/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=chenglee.wordpress.com&amp;blog=3761120&amp;post=6&amp;subd=chenglee&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://chenglee.wordpress.com/2008/06/03/blogger-vs-wordpress-part-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://0.gravatar.com/avatar/a98deb99bcab965bf587b91659db57d8?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">chenglee</media:title>
		</media:content>
	</item>
	</channel>
</rss>
