<?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"
	>

<channel>
	<title>David Chan&#8217;s Blog</title>
	<atom:link href="http://adavidchan.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://adavidchan.com</link>
	<description>Through the eyes of David Chan</description>
	<pubDate>Mon, 29 Sep 2008 00:05:35 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>StumbleUpon visitors less likely to bounce (Tag your Stumbles wisely)</title>
		<link>http://adavidchan.com/stumbleupon-visitors-less-likely-to-bounce-tag-your-stumbles-wisely/</link>
		<comments>http://adavidchan.com/stumbleupon-visitors-less-likely-to-bounce-tag-your-stumbles-wisely/#comments</comments>
		<pubDate>Fri, 12 Sep 2008 14:22:32 +0000</pubDate>
		<dc:creator>David Chan</dc:creator>
		
		<category><![CDATA[A series of tubes]]></category>

		<category><![CDATA[Blogging]]></category>

		<category><![CDATA[Net traffic]]></category>

		<category><![CDATA[StumbleUpon]]></category>

		<guid isPermaLink="false">http://adavidchan.com/?p=159</guid>
		<description><![CDATA[By bounce, I am referring to bounce rate.  A bounce is recorded when a visitor views only one page of your site during the visit.  As someone who runs a blog, I strive to make my content coherent (ie. my blog contains a lot of programming and technology content) so that it appeals [...]]]></description>
			<content:encoded><![CDATA[<p>By bounce, I am referring to <a href="http://en.wikipedia.org/wiki/Bounce_Rate">bounce rate</a>.  A bounce is recorded when a visitor views only one page of your site during the visit.  As someone who runs a blog, I strive to make my content coherent (ie. my blog contains a lot of programming and technology content) so that it appeals to a certain audience.  A good indicator of whether my blog is coherent is if people view more than one page per visit on average, or if I have a low bounce rate.</p>
<p>People usually find my blog through search, and so they land directly on a post (instead of the front page).  Likewise, when my blog get Stumbled, the landing page is always a post.  When visitors finish reading that post, ideally they&#8217;d take a look around to find more of the same content.  With that in mind, would the bounce rate of visitors from Google and StumbleUpon be the same?  Here is my referral data from the last two months (July 1st - Sept 11th):</p>
<p><img src="http://adavidchan.com/wp-content/uploads/2008/09/bouncerate.png" alt="" title="adavidchan.com bounce rate" width="500" height="125" class="alignnone size-full wp-image-160" /></p>
<p>As you can see, the bounce rate from StumbleUpon visitors is very low compared to visitors from my other top referrals.  </p>
<p>My conclusion (well, it&#8217;s more or less an assumption, but an educated one) is that the StumbleUpon Interests selection works very well to channel interested readers to your content.  It&#8217;s not a bad bet that users who go through the entire process of signing up to StumbleUpon, installing the tool bar, <strong>and</strong> setting up their interests must really be passionate about the selected topics.</p>
<p>That or they have a lot of time to kill, which, admittedly, is something that StumbleUpon also does very well.</p>
<p>The moral of the story?  <strong>Tag your Stumbles wisely!</strong>  </p>
<p><strong>P.S. </strong>If you have a blog which gets Stumbled often, post some of your findings on your bounce rate!</p>
]]></content:encoded>
			<wfw:commentRss>http://adavidchan.com/stumbleupon-visitors-less-likely-to-bounce-tag-your-stumbles-wisely/feed/</wfw:commentRss>
		</item>
		<item>
		<title>New iPod Nano inspiration</title>
		<link>http://adavidchan.com/new-ipod-nano-inspiration/</link>
		<comments>http://adavidchan.com/new-ipod-nano-inspiration/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 17:44:29 +0000</pubDate>
		<dc:creator>David Chan</dc:creator>
		
		<category><![CDATA[Apple]]></category>

		<category><![CDATA[Fun]]></category>

		<category><![CDATA[iPod]]></category>

		<guid isPermaLink="false">http://adavidchan.com/?p=156</guid>
		<description><![CDATA[


]]></description>
			<content:encoded><![CDATA[<p><img src="http://adavidchan.com/wp-content/uploads/2008/09/ipodletsrock48.jpg" alt="" title="New iPod Nano" width="500" height="331" class="alignnone size-full wp-image-157" /><br />
<br />
<img src="http://adavidchan.com/wp-content/uploads/2008/09/power-rangers_turboranger.jpg" alt="" title="Power Rangers" width="462" height="370" class="alignnone size-full wp-image-158" /></p>
]]></content:encoded>
			<wfw:commentRss>http://adavidchan.com/new-ipod-nano-inspiration/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to: JavaScript help tip text in textboxes</title>
		<link>http://adavidchan.com/how-to-javascript-help-tip-text-in-textboxes/</link>
		<comments>http://adavidchan.com/how-to-javascript-help-tip-text-in-textboxes/#comments</comments>
		<pubDate>Tue, 09 Sep 2008 14:23:46 +0000</pubDate>
		<dc:creator>David Chan</dc:creator>
		
		<category><![CDATA[Everyday hacks]]></category>

		<category><![CDATA[Javascript]]></category>

		<guid isPermaLink="false">http://adavidchan.com/?p=152</guid>
		<description><![CDATA[When I see search boxes I am often wondering which search parameters to enter.  Am I searching for users of this site, or searching for content?
In comes help tips to the rescue!  Help text placeholders are used often on search text boxes, but also on inputs which ask for a URL (eg. to [...]]]></description>
			<content:encoded><![CDATA[<p>When I see search boxes I am often wondering which search parameters to enter.  Am I searching for users of this site, or searching for content?</p>
<p>In comes help tips to the rescue!  Help text placeholders are used often on search text boxes, but also on inputs which ask for a URL (eg. to remind users to prefix the link with http://).</p>
<p><img src="http://adavidchan.com/wp-content/uploads/2008/09/cm-capture-4.png" alt="" title="search people (Qik)" width="316" height="63" class="alignnone size-full wp-image-153" style="border: 1px #666666 solid" /></p>
<p>or:<br />
<br />
<img src="http://adavidchan.com/wp-content/uploads/2008/09/cm-capture-2.png" alt="" title="search user or tag (SayTweet)" width="339" height="184" class="alignnone size-full wp-image-154" style="border: 1px #666666 solid" /> <img src="http://adavidchan.com/wp-content/uploads/2008/09/cm-capture-3.png" alt="" title="search user or tag focused (SayTweet)" width="339" height="184" class="alignnone size-full wp-image-155" style="border: 1px #666666 solid" /></p>
<p>Here&#8217;s an simple function to do this using JavaScript:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
5
6
7
8
9
10
</pre></td><td class="code"><pre class="javascript"><span style="color: #003366; font-weight: bold;">function</span> ToggleDefaultHelpText<span style="color: #66cc66;">&#40;</span>obj, helptext, isFocus<span style="color: #66cc66;">&#41;</span>
<span style="color: #66cc66;">&#123;</span>
	<span style="color: #003366; font-weight: bold;">var</span> curr = obj.<span style="color: #006600;">value</span>.<span style="color: #006600;">replace</span><span style="color: #66cc66;">&#40;</span><span style="color: #0066FF;">/^\s+|\s+$/g</span>, <span style="color: #3366CC;">''</span><span style="color: #66cc66;">&#41;</span> ;  <span style="color: #009900; font-style: italic;">// trim the text box's value</span>
	<span style="color: #003366; font-weight: bold;">var</span> isEmpty = <span style="color: #66cc66;">&#40;</span>curr.<span style="color: #006600;">length</span> <span style="color: #66cc66;">&lt;</span> <span style="color: #CC0000;">1</span> <span style="color: #66cc66;">||</span> curr == helptext<span style="color: #66cc66;">&#41;</span>;
	obj.<span style="color: #006600;">style</span>.<span style="color: #006600;">color</span> = <span style="color: #66cc66;">&#40;</span>isFocus<span style="color: #66cc66;">&#41;</span> ? <span style="color: #3366CC;">&quot;#000000&quot;</span> : <span style="color: #66cc66;">&#40;</span>isEmpty<span style="color: #66cc66;">&#41;</span> ? <span style="color: #3366CC;">&quot;#999999&quot;</span> : <span style="color: #3366CC;">&quot;#000000&quot;</span>;
	<span style="color: #000066; font-weight: bold;">if</span> <span style="color: #66cc66;">&#40;</span>isFocus<span style="color: #66cc66;">&#41;</span>
		obj.<span style="color: #006600;">value</span> = <span style="color: #66cc66;">&#40;</span>isEmpty<span style="color: #66cc66;">&#41;</span> ? <span style="color: #3366CC;">&quot;&quot;</span> : curr;
	<span style="color: #000066; font-weight: bold;">else</span>
		obj.<span style="color: #006600;">value</span> = <span style="color: #66cc66;">&#40;</span>isEmpty<span style="color: #66cc66;">&#41;</span> ? helptext : curr;
<span style="color: #66cc66;">&#125;</span></pre></td></tr></table></div>

<p>You will want your text box&#8217;s default state to be the same as the blur state, so execute the function with <em>isFocus = false</em>.</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
</pre></td><td class="code"><pre class="javascript"><span style="color: #66cc66;">&lt;</span>input type=<span style="color: #3366CC;">&quot;text&quot;</span> id=<span style="color: #3366CC;">&quot;myTextBox&quot;</span> <span style="color: #000066;">onfocus</span>=<span style="color: #3366CC;">&quot;javascript:ToggleDefaultHelpText(this, 'search user or tag', true);&quot;</span> <span style="color: #66cc66;">/&gt;</span>
ToggleDefaultHelpText<span style="color: #66cc66;">&#40;</span>document.<span style="color: #006600;">getElementById</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">&quot;myTextBox&quot;</span><span style="color: #66cc66;">&#41;</span>, <span style="color: #3366CC;">&quot;search user or tag&quot;</span>, <span style="color: #003366; font-weight: bold;">false</span><span style="color: #66cc66;">&#41;</span>;</pre></td></tr></table></div>

<p>The better way to do this is to programmatically attach this function to the onfocus and onblur events of your text input.  If you&#8217;re using <a href="http://docs.mootools.net/Element/Element.Event">MooTools</a> it&#8217;ll be clean and simple - the above code turns into something much neater:</p>

<div class="wp_syntax"><table><tr><td class="line_numbers"><pre>1
2
3
4
</pre></td><td class="code"><pre class="javascript"><span style="color: #66cc66;">&lt;</span>input type=<span style="color: #3366CC;">&quot;text&quot;</span> id=<span style="color: #3366CC;">&quot;myTextBox&quot;</span> <span style="color: #66cc66;">/&gt;</span>
$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'myTextBox'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">addEvent</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'focus'</span>, <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> ToggleDefaultHelpText<span style="color: #66cc66;">&#40;</span>$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'myTextBox'</span><span style="color: #66cc66;">&#41;</span>, <span style="color: #3366CC;">'search user or tag'</span>, <span style="color: #003366; font-weight: bold;">true</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'myTextBox'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">addEvent</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'blur'</span>, <span style="color: #003366; font-weight: bold;">function</span><span style="color: #66cc66;">&#40;</span><span style="color: #66cc66;">&#41;</span> <span style="color: #66cc66;">&#123;</span> ToggleDefaultHelpText<span style="color: #66cc66;">&#40;</span>$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'myTextBox'</span><span style="color: #66cc66;">&#41;</span>, <span style="color: #3366CC;">'search user or tag'</span>, <span style="color: #003366; font-weight: bold;">false</span><span style="color: #66cc66;">&#41;</span>; <span style="color: #66cc66;">&#125;</span><span style="color: #66cc66;">&#41;</span>;
$<span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'myTextBox'</span><span style="color: #66cc66;">&#41;</span>.<span style="color: #006600;">fireEvent</span><span style="color: #66cc66;">&#40;</span><span style="color: #3366CC;">'blur'</span><span style="color: #66cc66;">&#41;</span>;  <span style="color: #009900; font-style: italic;">// execute the onblur function to initiate this text box</span></pre></td></tr></table></div>

<p>Hope this helps you to help your users.</p>
]]></content:encoded>
			<wfw:commentRss>http://adavidchan.com/how-to-javascript-help-tip-text-in-textboxes/feed/</wfw:commentRss>
		</item>
		<item>
		<title>How to: automatically restart Time Capsule (AppleScript/iCal)</title>
		<link>http://adavidchan.com/how-to-automatically-restart-time-capsule-applescriptical/</link>
		<comments>http://adavidchan.com/how-to-automatically-restart-time-capsule-applescriptical/#comments</comments>
		<pubDate>Fri, 01 Aug 2008 16:00:54 +0000</pubDate>
		<dc:creator>David Chan</dc:creator>
		
		<category><![CDATA[Everyday hacks]]></category>

		<category><![CDATA[Mac]]></category>

		<guid isPermaLink="false">http://adavidchan.com/?p=150</guid>
		<description><![CDATA[It has been an obssession of mine to reboot routers on a routine basis.  I&#8217;m not sure why I do it, but it makes me believe that the router is kept &#8220;fresh&#8221; and will continue to perform optimally.  Maybe I am just used to running Windows (where you will need to reboot the machine every [...]]]></description>
			<content:encoded><![CDATA[<p>It has been an obssession of mine to reboot routers on a routine basis.  I&#8217;m not sure why I do it, but it makes me believe that the router is kept &#8220;fresh&#8221; and will continue to perform optimally.  Maybe I am just used to running Windows (where you will need to reboot the machine every once in a while).</p>
<p>Anyways, I <span style="text-decoration: line-through;">wrote</span> hacked together a simple AppleScript (note: this is my first AppleScript ever written) which simulates menu clicks in the AirPort Utility to restart my Time Capsule.  The script doesn&#8217;t choose which Apple wireless device to restart, as I only have one - the Time Capsule.  If you want to use the script and you have multiple wireless base stations (eg. an AirPort Express), you may have to modify the script to choose which one to manipulate.</p>
<p>Here is the simple AppleScript:</p>

<div class="wp_syntax"><div class="code"><pre class="applescript"><span style="color: #b1b100;">tell</span> application <span style="color: #ff0000;">&quot;AirPort Utility&quot;</span>
	activate
<span style="color: #b1b100;">end</span> <span style="color: #b1b100;">tell</span>
&nbsp;
<span style="color: #b1b100;">tell</span> application <span style="color: #ff0000;">&quot;System Events&quot;</span>
	delay <span style="color: #cc66cc;">10</span>
	click menu item <span style="color: #ff0000;">&quot;Manual Setup&quot;</span> <span style="color: #b1b100;">of</span> menu <span style="color: #ff0000;">&quot;Base Station&quot;</span> <span style="color: #b1b100;">of</span> menu bar <span style="color: #cc66cc;">1</span> <span style="color: #b1b100;">of</span> process <span style="color: #ff0000;">&quot;AirPort Utility&quot;</span>
	delay <span style="color: #cc66cc;">5</span>
	click menu item <span style="color: #cc66cc;">6</span> <span style="color: #b1b100;">of</span> menu <span style="color: #ff0000;">&quot;Base Station&quot;</span> <span style="color: #b1b100;">of</span> menu bar <span style="color: #cc66cc;">1</span> <span style="color: #b1b100;">of</span> process <span style="color: #ff0000;">&quot;AirPort Utility&quot;</span>
	delay <span style="color: #cc66cc;">5</span>
	click menu item <span style="color: #ff0000;">&quot;Close&quot;</span> <span style="color: #b1b100;">of</span> menu <span style="color: #ff0000;">&quot;File&quot;</span> <span style="color: #b1b100;">of</span> menu bar <span style="color: #cc66cc;">1</span> <span style="color: #b1b100;">of</span> process <span style="color: #ff0000;">&quot;AirPort Utility&quot;</span>
<span style="color: #b1b100;">end</span> <span style="color: #b1b100;">tell</span></pre></div></div>

<p>With this script saved, I scheduled it to run automatically every week.  Of course you can use cron and set this script as a scheduled job, but why do that when you can use iCal?  Here&#8217;s a thousand words on how to set the script to run automatically:</p>
<p><img class="alignnone size-full wp-image-151" title="Adding an AppleScript alert in iCal" src="http://adavidchan.com/wp-content/uploads/2008/08/blog_runscriptical.jpg" alt="Adding an AppleScript alert in iCal" width="343" height="474" /></p>
<p>You may never have a need to restart your Time Capsule automatically, but if you do, this should give you a starting point on how to go about doing that.</p>
]]></content:encoded>
			<wfw:commentRss>http://adavidchan.com/how-to-automatically-restart-time-capsule-applescriptical/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Updated: Picture upload comparison with the 3G iPhone</title>
		<link>http://adavidchan.com/picture-upload-comparison-with-the-3g-iphone/</link>
		<comments>http://adavidchan.com/picture-upload-comparison-with-the-3g-iphone/#comments</comments>
		<pubDate>Sun, 27 Jul 2008 19:01:59 +0000</pubDate>
		<dc:creator>David Chan</dc:creator>
		
		<category><![CDATA[Twitter]]></category>

		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://adavidchan.com/?p=142</guid>
		<description><![CDATA[One of the things I love doing on my iPhone is to capture and share candid moments in my life.  And there&#8217;s probably no better way to broadcast novel messages than with Twitter.
There are a lot of ways of getting pictures on Twitter with the iPhone, and I&#8217;ll list several here.  Each of the methods [...]]]></description>
			<content:encoded><![CDATA[<p>One of the things I love doing on my iPhone is to capture and share candid moments in my life.  And there&#8217;s probably no better way to broadcast novel messages than with <a title="Twitter" href="http://twitter.com">Twitter</a>.</p>
<p>There are a lot of ways of getting pictures on Twitter with the iPhone, and I&#8217;ll list several here.  Each of the methods I&#8217;ve tried have their pros and cons, and I&#8217;m uploading via 3G, and not wifi.</p>
<p><strong>1. Twitterific</strong></p>
<p>The first method is via the app <a title="Twitteriffic" href="http://iconfactory.com/software/twitterrific">Twitterific</a> (free ad-supported version, downloaded from app store).  To attach an image onto a tweet, simply press the &#8220;camera&#8221; icon, and you will have the option of taking a picture.  The image upload doesn&#8217;t take too long (around 15-20 seconds).  Here&#8217;s a screenshot of the image quality:</p>
<p><a title="David Chan on Twitter via Twitteriffic" href="http://twitter.com/chandavid/statuses/862984844"><img class="alignnone size-full wp-image-143" title="upload with Twitteriffic" src="http://adavidchan.com/wp-content/uploads/2008/07/blog_twitteriffic1.jpg" alt="" width="500" height="375" /></a></p>
<p>To date, <strong>all of my images uploaded this way have been rotated sideways</strong>.  The image quality is average but still very decent.</p>
<p><strong>2. Twittelator</strong></p>
<p><a title="Twittelator" href="http://www.stone.com/iPhone/Twittelator/">Twittelator</a> is another iPhone app found in the App Store.  Like Twitterific, it is free, but does not have any ads.  The camera icon makes a familiar return in the create tweet screen in Twittelator, and pressing on it will give you the option of selecting a picture to upload or taking a new picture.  The image upload time was very fast.  Here&#8217;s a screenshot of an uploaded image:</p>
<p><a title="David Chan on Twitter via Twittelator" href="http://twitter.com/chandavid/statuses/864697272"><img class="alignnone size-full wp-image-144" title="image upload from Twittelator" src="http://adavidchan.com/wp-content/uploads/2008/07/blog_twittelator.jpg" alt="" width="500" height="338" /></a></p>
<p>Here, the image has been cropped, and that some of it has been cut off.  This image size isn&#8217;t acceptable for me as it&#8217;s hard to tell which parts will be cropped when you&#8217;re taking and uploading a picture in the wild.</p>
<p><strong>3. Email picture to TwitPic</strong></p>
<p>The third method doesn&#8217;t require an app - just a setting on <a title="Twitpic" href="http://twitpic.com">TwitPic</a>.  Goto the TwitPic website and login with your Twitter credentials and you should see some new options in the top navigation.  Enter the settings screen and you will get to see your private email address for uploading images to TwitPic.  I&#8217;m going to assume everyone knows how to email photos from the iPhone, and there doesn&#8217;t need to be text in the body to upload your photo.  The subject line of the email becomes your tweet, and your post will appear in Twitter anywhere between 1-5 minutes.  Uploading an image with this method on 3G takes quite a while (30 seconds to 1 minute), and you&#8217;ll probably want to refrain from doing anything which might stop the uploading.  Here&#8217;s a screenshot of the uploaded image:</p>
<p><a title="David Chan on Twitter via Twitpic" href="http://twitter.com/chandavid/statuses/864702662"><img class="alignnone size-full wp-image-145" title="image upload via emailing to Twitpic" src="http://adavidchan.com/wp-content/uploads/2008/07/blog_twitpic.jpg" alt="" width="500" height="547" /></a></p>
<p>The long upload time is offset by the great image quality and (relatively) high resolution of the picture.</p>
<p>For the most part, Twitterific has the best balance between upload time and image quality.  The rotated picture is definitely a setback, but I&#8217;m sure Iconfactory will look into that issue.  Emailing to TwitPic directly is probably the best way to go if you want quality, and currently that is my method of choice for uploading images to Twitter.</p>
<p><strong>Update: July 27</strong></p>
<p>I&#8217;ve recently started using <a title="Posterous" href="http://posterous.com">Posterous</a> as an alternative to emailing to TwitPic directly.  Posterous is basically a blog you update via email, and any media attached to the email message gets embedded into your post.  Although Posterous is a standalone (micro) blogging platform, it does integrate with Twitter, and any posts you create in Posterous gets tweeted.  I&#8217;ll spare you any of the signup details (as it&#8217;s actually quick and quite painless), and go right into the image quality.</p>
<p><a title="David Chan on Twitter" href="http://twitter.com/chandavid/statuses/868788495"><img class="alignnone size-full wp-image-149" title="Posting to Posterous" src="http://adavidchan.com/wp-content/uploads/2008/07/blog_posterous.jpg" alt="" width="450" height="587" /></a></p>
<p>Mousing over the file will give the above tool tip, letting users know that they can view the full size of that image.  Of course, the &#8220;full size&#8221; is the shrunken down version of the original, done automatically by the iPhone Mail.app, but it&#8217;s still nice to be able to get an even larger image.  Image upload time was decent, from around 25-35 seconds on 3G.  As a bonus, Posterous sends you an email when the upload is complete, letting you know if the upload was successful.  Great feature for Roger&#8217;s quirky 3G network (though some people might find confirmation emails annoying).</p>
<p>I was a loyal fan of uploading images directly to TwitPic, but as it stands, Posterous is slightly faster and offers a few nicer features, and leaves me wondering if there&#8217;s a need to use Twitter clients to send pictures at all.</p>
]]></content:encoded>
			<wfw:commentRss>http://adavidchan.com/picture-upload-comparison-with-the-3g-iphone/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Lazy Blogger&#8217;s Post</title>
		<link>http://adavidchan.com/the-lazy-bloggers-post/</link>
		<comments>http://adavidchan.com/the-lazy-bloggers-post/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 06:17:55 +0000</pubDate>
		<dc:creator>David Chan</dc:creator>
		
		<category><![CDATA[Blogging]]></category>

		<category><![CDATA[Fun]]></category>

		<guid isPermaLink="false">http://adavidchan.com/?p=148</guid>
		<description><![CDATA[Are you a lazy blogger?  Here&#8217;s a tool to generate a freebie blog post for you, which doubles as an excuse to explain your inactivity!
Here&#8217;s what I generated by randomly selecting the dropdowns:
Holy crap! I just woke up to the fact I have not updated this since 1999&#8230; You would not believe how much it&#8217;s [...]]]></description>
			<content:encoded><![CDATA[<p>Are you a lazy blogger?  Here&#8217;s a <a title="The Lazy Blogger's Post Generator" href="http://www.aussiebloggers.com.au/blogpost.html">tool</a> to generate a freebie blog post for you, which doubles as an excuse to explain your inactivity!</p>
<p>Here&#8217;s what I generated by randomly selecting the dropdowns:</p>
<blockquote><p>Holy crap! I just woke up to the fact I have not updated this since 1999&#8230; You would not believe how much it&#8217;s costing me. My bad.</p>
<p>I am tied up with discovering time doesn&#8217;t stand still, choosing my retirement village, just generally being a parent to the secret service, my day pisses me off from 8am to till I fall into bed at midnight. I am smitten. But who cares.</p>
<p>I absolutely, positively promise that when the weather turns bad, I will blog more often. If you have kids. No Joke!</p></blockquote>
<p><a title="The Lazy Blogger's Post Generator" href="http://www.aussiebloggers.com.au/blogpost.html">The Lazy Blogger&#8217;s Post Generator</a> [aussiebloggers.com.au]</p>
]]></content:encoded>
			<wfw:commentRss>http://adavidchan.com/the-lazy-bloggers-post/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Obtrusive layout&#8230;disappearing!  Blog remains.</title>
		<link>http://adavidchan.com/obtrusive-layout-disappearing-blog-remains/</link>
		<comments>http://adavidchan.com/obtrusive-layout-disappearing-blog-remains/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 08:46:09 +0000</pubDate>
		<dc:creator>David Chan</dc:creator>
		
		<category><![CDATA[Blogging]]></category>

		<category><![CDATA[CSS]]></category>

		<guid isPermaLink="false">http://adavidchan.com/?p=146</guid>
		<description><![CDATA[Frequent readers of my blog will have noticed by now that something&#8217;s different.  I&#8217;ve had my old blog design for about a year and a half, and for the last six months, the look of it was really bothering me.
In short, my old blog looked like a cheap suit - very grey with too many [...]]]></description>
			<content:encoded><![CDATA[<p>Frequent readers of my blog will have noticed by now that something&#8217;s different.  I&#8217;ve had my old blog design for about a year and a half, and for the last six months, the look of it was really bothering me.</p>
<p>In short, my old blog looked like a cheap suit - very grey with too many noisy bits (pinstripe background seals the &#8220;suit&#8221; analogy).</p>
<p>I decided to reduce all the clutter by choosing a minimalistic layout, and the base theme is one by <a href="http://codrec.1111mb.com/">Codreanu Catalin</a>.  The colors come from the SNES controller (and the <a title="Earthbound - Wikipedia" href="http://en.wikipedia.org/wiki/EarthBound#Gameplay">Earthbound</a> menu).</p>
<p>Hopefully now the content takes precendence without obtrusive layout getting in the way.</p>
]]></content:encoded>
			<wfw:commentRss>http://adavidchan.com/obtrusive-layout-disappearing-blog-remains/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Getting the 3G iPhone with Rogers</title>
		<link>http://adavidchan.com/getting-the-3g-iphone-with-rogers/</link>
		<comments>http://adavidchan.com/getting-the-3g-iphone-with-rogers/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 01:17:39 +0000</pubDate>
		<dc:creator>David Chan</dc:creator>
		
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://adavidchan.com/?p=138</guid>
		<description><![CDATA[The last time I called into any of the Rogers customer service lines was about 2.5 years ago, to check my account status.  That was long enough for me to forget why I don&#8217;t like calling in for help: the Roger&#8217;s &#8220;priority queue&#8221;.  Regardless, I dialed in today to inquire about the new iPhone, and [...]]]></description>
			<content:encoded><![CDATA[<p>The last time I called into any of the Rogers customer service lines was about 2.5 years ago, to check my account status.  That was long enough for me to forget why I don&#8217;t like calling in for help: the Roger&#8217;s &#8220;priority queue&#8221;.  Regardless, I dialed in today to inquire about the new iPhone, and if I could take advantage of the <a title="Rogers Announces 6GB for $30 data plan" href="http://www.iphoneincanada.ca/iphone-news/rogers-announces-6gb-for-30-iphone-3g-data-plan/">$30 6GB data plan</a>.</p>
<p>After about twenty minutes of holding (in the queue of priority), I finally got a hold of a representative in the Cancellations department.  I decided to play hardball with Rogers to see if I could get a retention plan to offset some of the hefty costs for the phone, and I fully expected resistance on their side.  After about fifteen minutes with the customer service rep, I walked away with a great plan and a lot of savings.  I was really surprised at how that happened, but they mentioned that I was a &#8220;top tier&#8221; customer who generates lots of revenue for them.  They got me to sign with them for another 3 years, but I was going to do that for the subsidy on the phone anyways.</p>
<p>The voice plan they offered me comes to <strong>$20</strong> per month, and comes with:</p>
<ul>
<li>300 daytime minutes</li>
<li>Evenings and weekends starting at 6pm</li>
<li>Call display</li>
</ul>
<p>I also added the $30 for 6GB of data for the iPhone, and purchased the 8GB iPhone for $249.  There is also a $35 &#8220;manufacturer&#8221; fee for the phone, but to compensate for that, the service rep waved my first month&#8217;s voice fees. They are going to UPS express the phone to me, which should arrive in two business days.</p>
<p>All in all I am very satisfied with this phone plan, which totals to <strong>$50</strong> a month before systems access fee, 911-fee and taxes.  It&#8217;s still not the best but it is definitely better than what some of my (Canadian) friends are paying.  I&#8217;m not suggesting that everyone should call into Rogers and play hardball, but do find out what your loyalty is worth, and perhaps you might walk away with a fair cell phone plan.</p>
]]></content:encoded>
			<wfw:commentRss>http://adavidchan.com/getting-the-3g-iphone-with-rogers/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Updated 2: Taken off the Google index</title>
		<link>http://adavidchan.com/taken-off-the-google-index/</link>
		<comments>http://adavidchan.com/taken-off-the-google-index/#comments</comments>
		<pubDate>Tue, 08 Jul 2008 04:02:33 +0000</pubDate>
		<dc:creator>David Chan</dc:creator>
		
		<category><![CDATA[Blogging]]></category>

		<category><![CDATA[Google]]></category>

		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://adavidchan.com/?p=132</guid>
		<description><![CDATA[Original post (June 24, 2008):
A quick search for myself reveals that I&#8217;ve been taken off the Google index (do a quick search for &#8220;david chan blog&#8221;), and I might know why.  My guess would be that my Twitter Friend&#8217;s links appeared to be &#8220;spam&#8221; to Google&#8217;s crawlers.  I&#8217;ve heard of people being penalized for link [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Original post (June 24, 2008):</strong></p>
<p>A quick search for myself reveals that I&#8217;ve been taken off the Google index (do a quick search for &#8220;david chan blog&#8221;), and I might know why.  My guess would be that my <a title="Twitter links in WordPress" href="http://adavidchan.com/2008/05/28/share-twitter-links-in-wordpress/">Twitter Friend&#8217;s links</a> appeared to be &#8220;spam&#8221; to Google&#8217;s crawlers.  I&#8217;ve heard of people being penalized for link spamming, though that was not my intention at all.</p>
<p>My Twitter blog digest posts will be disabled until further investigation.</p>
<p><strong>Update (July 7, 2008)</strong>:</p>
<p>After investigating and confirming that I&#8217;ve been black-listed by Google, I have sent off a notice of reconsideration.  Will update again when reply comes.  Stay tuned - it&#8217;s going to take <em>several weeks</em>.</p>
<p><img class="alignnone size-full wp-image-136" title="Google Index Reconsideration" src="http://adavidchan.com/wp-content/uploads/2008/07/blog_google_reconsideration.gif" alt="Google Index Reconsideration" width="500" height="243" /></p>
<p><strong>Update 2 (evening July 7, 2008)</strong>:</p>
<p>Within about 12 hours of my Google index reconsideration submission, it appears I have regained my old positions for some search terms.  I&#8217;ll need to do more checking to make sure that all my old posts have been indexed.</p>
<p><em>If anyone else runs into this problem, I would be more than happy to guide them through the reconsideration process.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://adavidchan.com/taken-off-the-google-index/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Excel 2003+: Invalid &#8216;SYLK&#8217; file error when loading CSV</title>
		<link>http://adavidchan.com/excel-2003-invalid-sylk-file-error-when-loading-csv/</link>
		<comments>http://adavidchan.com/excel-2003-invalid-sylk-file-error-when-loading-csv/#comments</comments>
		<pubDate>Mon, 07 Jul 2008 23:52:11 +0000</pubDate>
		<dc:creator>David Chan</dc:creator>
		
		<category><![CDATA[Development]]></category>

		<category><![CDATA[Everyday hacks]]></category>

		<guid isPermaLink="false">http://adavidchan.com/?p=137</guid>
		<description><![CDATA[I could be the last person to find out about the &#8216;SYLK&#8217; issue with loading CSVs in Excel, but the good thing about that is there are plenty of answers out there as to why it happens.
My current project has a &#8220;download database data to CSV&#8221; feature, and every database table starts with &#8220;ID&#8221; as [...]]]></description>
			<content:encoded><![CDATA[<p>I could be the last person to find out about the &#8216;SYLK&#8217; issue with loading CSVs in Excel, but the good thing about that is there are plenty of answers out there as to why it happens.</p>
<p>My current project has a &#8220;download database data to CSV&#8221; feature, and every database table starts with &#8220;ID&#8221; as the first column.  Generating CSV files with headers would give something like this:</p>

<div class="wp_syntax"><div class="code"><pre class="javascript"><span style="color: #3366CC;">&quot;ID&quot;</span>, ....
<span style="color: #CC0000;">1</span>, ....
<span style="color: #CC0000;">2</span>, ....</pre></div></div>

<p>A quick search on Google gave me this <a title="Excel Invalid SYLK CSV file" href="http://stason.org/TULARC/business/spreadsheets/10-21-Why-does-Excel-claim-I-have-an-invalid-SYLK-file.html">page</a>, with a very blunt answer as to why it happens:</p>
<blockquote><p>Because the Excel programmers are sloppy.  A valid SYLK file begins<br />
with &#8216;ID;&#8217; or &#8216;ID&#8217; alone on a line.</p>
<p>Sometimes Excel incorrectly says &#8216;SYLK:  file format is not valid.&#8217;.</p>
<p>When you try to open a text file that begins with, say, &#8216;ID&#8217; and a tab,<br />
it could not possibly be a valid SYLK file, but Excel claims it thought<br />
it was, to no avail.</p>
<p>Simply rename &#8216;ID&#8217; to &#8216;Ident&#8217; or &#8216;Id&#8217; or something similar.</p></blockquote>
<p>Changing &#8220;ID&#8221; to &#8220;Id&#8221; fixed the problem, and my CSV files opened in Excel correctly.  Now hopefully no one else gets tricked by this Easter Egg Microsoft left for us.</p>
]]></content:encoded>
			<wfw:commentRss>http://adavidchan.com/excel-2003-invalid-sylk-file-error-when-loading-csv/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
