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

<channel>
	<title>Kevin Chiu &#187; programming</title>
	<atom:link href="http://kevinchiu.org/archives/tag/programming/feed" rel="self" type="application/rss+xml" />
	<link>http://kevinchiu.org</link>
	<description>Things are only impossible until they&#039;re not.</description>
	<lastBuildDate>Fri, 27 Jan 2012 08:19:46 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Git Rebase</title>
		<link>http://kevinchiu.org/archives/git-rebase</link>
		<comments>http://kevinchiu.org/archives/git-rebase#comments</comments>
		<pubDate>Wed, 19 Nov 2008 17:26:21 +0000</pubDate>
		<dc:creator>Kevin Chiu</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://kevinchiu.org/blog/?p=696</guid>
		<description><![CDATA[I was having a discussion about git the other day and rebase came up. My normal workflow didn&#8217;t involve rebase; so, my natural curiosity sparked up and I dove into the documentation. It turns out git-rebase is quite controversial. (And, you should avoid it if you&#8217;re sharing your commits.) Linus Torvalds on rebasing: * [http://kerneltrap.org/Linux/Git_Management](http://kerneltrap.org/Linux/Git_Management) [...]]]></description>
			<content:encoded><![CDATA[<p>I was having a discussion about git the other day and rebase came up.</p>
<p>My normal workflow didn&#8217;t involve rebase; so, my natural curiosity sparked up and I dove into the documentation. </p>
<p>It turns out git-rebase is quite controversial. (And, you should avoid it if you&#8217;re sharing your commits.)</p>
<p>Linus Torvalds on rebasing:</p>
<p>   * [http://kerneltrap.org/Linux/Git_Management](http://kerneltrap.org/Linux/Git_Management)<br />
   * [http://lwn.net/Articles/291302/](http://lwn.net/Articles/291302/)<br />
   * [http://lwn.net/Articles/291303/](http://lwn.net/Articles/291303)<br />
   * [http://lwn.net/Articles/291304/](http://lwn.net/Articles/291304/)</p>
<p>Random Redditors:</p>
<p>   * [http://www.reddit.com/r/programming/comments/6ube0/synchronizing_development_rebase_vs_pullmerge_git/?sort=top](http://www.reddit.com/r/programming/comments/6ube0/synchronizing_development_rebase_vs_pullmerge_git/?sort=top)</p>]]></content:encoded>
			<wfw:commentRss>http://kevinchiu.org/archives/git-rebase/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tipping Point?</title>
		<link>http://kevinchiu.org/archives/tipping-point</link>
		<comments>http://kevinchiu.org/archives/tipping-point#comments</comments>
		<pubDate>Wed, 19 Nov 2008 14:19:02 +0000</pubDate>
		<dc:creator>Kevin Chiu</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[django]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[erlyweb]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[zend]]></category>

		<guid isPermaLink="false">http://kevinchiu.org/blog/?p=684</guid>
		<description><![CDATA[Down: Rails Up: Django and Zend Framework(?!) Odd: Erlang (Erlang is hot&#8230; but I guess not that well known yet?)]]></description>
			<content:encoded><![CDATA[<p><a href="http://kevinchiu.org/blog/wp-content/uploads/2008/11/picture-4.png"><img src="http://kevinchiu.org/blog/wp-content/uploads/2008/11/picture-4.png" alt="" title="picture-4" class="aligncenter" /></a></p>
<p>Down: Rails</p>
<p>Up: Django and Zend Framework(?!)</p>
<p>Odd: Erlang (Erlang is hot&#8230; but I guess not that well known yet?)</p>]]></content:encoded>
			<wfw:commentRss>http://kevinchiu.org/archives/tipping-point/feed</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Git Blame is awesome</title>
		<link>http://kevinchiu.org/archives/git-blame-is-awesome</link>
		<comments>http://kevinchiu.org/archives/git-blame-is-awesome#comments</comments>
		<pubDate>Wed, 19 Nov 2008 13:36:59 +0000</pubDate>
		<dc:creator>Kevin Chiu</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://kevinchiu.org/blog/?p=675</guid>
		<description><![CDATA[At work, I manage a software product with 19 contributors, most of whom are no longer active. For my situation, git blame is seriously awesome. When someone starts typing their personal email into the code base in some random area and accidentally checks it in, you can figure out exactly who is lazy with focusing [...]]]></description>
			<content:encoded><![CDATA[<p>At work, I manage a software product with 19 contributors, most of whom are no longer active.</p>
<p>For my situation, git blame is seriously awesome.</p>
<p>When someone starts typing their personal email into the code base in some random area and accidentally checks it in, you can figure out exactly who is lazy with focusing their windows.</p>
<p>(I wonder if there&#8217;s a way to automatically reject pushes that don&#8217;t pass spec tests&#8230;)</p>
<p>Todo: check out git bisect</p>]]></content:encoded>
			<wfw:commentRss>http://kevinchiu.org/archives/git-blame-is-awesome/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Code Scent</title>
		<link>http://kevinchiu.org/archives/code-scent</link>
		<comments>http://kevinchiu.org/archives/code-scent#comments</comments>
		<pubDate>Thu, 13 Nov 2008 15:17:03 +0000</pubDate>
		<dc:creator>Kevin Chiu</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[collaboration]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[teamwork]]></category>

		<guid isPermaLink="false">http://kevinchiu.org/blog/?p=670</guid>
		<description><![CDATA[UPDATE: git blame does this! One day, you find yourself happily hacking away at some code you checked out from one of your collaborative coding projects and BAM!, you hit a gnarly bit of one-line wizardry that completely blows your mind. While it may read like English and be as concise as an abridged Cliff [...]]]></description>
			<content:encoded><![CDATA[<p>UPDATE: git blame does this!</p>
<p>One day, you find yourself happily hacking away at some code you checked out from one of your collaborative coding projects and BAM!, you hit a gnarly bit of one-line wizardry that completely blows your mind. While it may read like English and be as concise as an abridged Cliff Notes, the functionality you need to modify is crystallized somewhere between the continuations and inline DSL definitions.</p>
<blockquote><p>Who wrote this?</p></blockquote>
<p>The solution to this would be what I call Code Scent (as opposed to <a href="http://en.wikipedia.org/wiki/Code_smell">Code Smell</a>). With Code Scent, you&#8217;d be able to see code history on a line-by-line or better granularity. Imagine, if you will, selecting a menu option and getting a highlighting scheme that told you who touched which piece of code most recently:</p>
<p><a href="http://kevinchiu.org/blog/wp-content/uploads/2008/11/me3.png"><img src="http://kevinchiu.org/blog/wp-content/uploads/2008/11/me3-300x225.png" alt="" title="me3" width="300" height="225" class="aligncenter size-medium wp-image-671" /></a></p>
<p><center><small>Stolen from Moonedit. Not the most complex code, but you get the idea&#8230;</small></center></p>]]></content:encoded>
			<wfw:commentRss>http://kevinchiu.org/archives/code-scent/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>An Idea for Chrome Extension Development</title>
		<link>http://kevinchiu.org/archives/an-idea-for-chrome-extension-development</link>
		<comments>http://kevinchiu.org/archives/an-idea-for-chrome-extension-development#comments</comments>
		<pubDate>Tue, 28 Oct 2008 04:46:07 +0000</pubDate>
		<dc:creator>Kevin Chiu</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Google]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://kevinchiu.org/blog/?p=636</guid>
		<description><![CDATA[One problem people have with Firefox is that sometimes its extensions run amok and gobble up tons of memory or freeze the browser with resource hogging tasks. Well, ponder this: Currently, Chrome monitors its processes, including individual tabs and plugins. It doesn&#8217;t take a huge stretch of the imagination to project this kind of analysis [...]]]></description>
			<content:encoded><![CDATA[<p>One problem people have with Firefox is that sometimes its extensions run amok and gobble up tons of memory or freeze the browser with resource hogging tasks.</p>
<p>Well, ponder this: Currently, Chrome monitors its processes, including individual tabs and plugins.</p>
<p><a href="http://kevinchiu.org/blog/wp-content/uploads/2008/10/process.png"><img src="http://kevinchiu.org/blog/wp-content/uploads/2008/10/process.png" alt="" title="process" width="484" height="320" class="aligncenter size-full wp-image-631" /></a></p>
<p>It doesn&#8217;t take a huge stretch of the imagination to project this kind of analysis into the world of extensions. Advanced extension users could spot sources of slowdown in the browser, and Google could provide supplemental tools to help extension developers drill down into nether regions of their extensions to enhance speed and memory usage. As an added bonus, extensions could be tracked individually, allowing the developers to receive live aggregated feedback on their extensions&#8217; performance in the wild.</p>
<p>Imagine &#8212; Google Analytics for your Chrome Extensions!</p>
<p><a href="http://kevinchiu.org/blog/wp-content/uploads/2008/10/analytics.png"><img src="http://kevinchiu.org/blog/wp-content/uploads/2008/10/analytics.png" alt="" title="analytics" width="484" height="173" class="aligncenter size-full wp-image-632" /></a></p>
<p>Other hopeful features for Extensions:</p>
<p>  *  Updates are installed without forcing a browser reboot.<br />
  *  If individual extensions malfunction, they don&#8217;t bring the browser down.<br />
  *  Extensions are as easy to write as web apps. (CSS/HTML/JS)</p>]]></content:encoded>
			<wfw:commentRss>http://kevinchiu.org/archives/an-idea-for-chrome-extension-development/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hypocritical Python</title>
		<link>http://kevinchiu.org/archives/hypocritical-python</link>
		<comments>http://kevinchiu.org/archives/hypocritical-python#comments</comments>
		<pubDate>Mon, 13 Oct 2008 08:24:01 +0000</pubDate>
		<dc:creator>Kevin Chiu</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>

		<guid isPermaLink="false">http://kevinchiu.org/blog/?p=568</guid>
		<description><![CDATA[From the Zen of Python: There should be one&#8211; and preferably only one &#8211;obvious way to do it. From Python itself: Python 2.6 (trunk:66714:66715M, Oct 1 2008, 18:36:04) [GCC 4.0.1 (Apple Computer, Inc. build 5370)] on darwin Type "help", "copyright", "credits" or "license" for more information. >>> exit Use exit() or Ctrl-D (i.e. EOF) to [...]]]></description>
			<content:encoded><![CDATA[<p>From the Zen of Python:</p>
<blockquote><p>There should be one&#8211; and preferably only one &#8211;obvious way to do it.
</p></blockquote>
<p>
From Python itself:</p>
<pre>
Python 2.6 (trunk:66714:66715M, Oct  1 2008, 18:36:04)
[GCC 4.0.1 (Apple Computer, Inc. build 5370)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> exit
Use exit() or Ctrl-D (i.e. EOF) to exit
</pre></p>]]></content:encoded>
			<wfw:commentRss>http://kevinchiu.org/archives/hypocritical-python/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Erlang can be odd</title>
		<link>http://kevinchiu.org/archives/erlang-can-be-odd</link>
		<comments>http://kevinchiu.org/archives/erlang-can-be-odd#comments</comments>
		<pubDate>Wed, 01 Oct 2008 06:55:56 +0000</pubDate>
		<dc:creator>Kevin Chiu</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://kevinchiu.org/blog/?p=555</guid>
		<description><![CDATA[In the console, evaluating arrays: 29> [83,117,114,112,114,105,115,001]. [83,117,114,112,114,105,115,1] 30> [83,117,114,112,114,105,115,101]. "Surprise"]]></description>
			<content:encoded><![CDATA[<p>In the console, evaluating arrays:</p>
<pre>
29> [83,117,114,112,114,105,115,001].
[83,117,114,112,114,105,115,1]

30> [83,117,114,112,114,105,115,101].
"Surprise"
</pre>]]></content:encoded>
			<wfw:commentRss>http://kevinchiu.org/archives/erlang-can-be-odd/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Installing Erlang on Leopard</title>
		<link>http://kevinchiu.org/archives/installing-erlang-on-leopard</link>
		<comments>http://kevinchiu.org/archives/installing-erlang-on-leopard#comments</comments>
		<pubDate>Sun, 28 Sep 2008 11:38:16 +0000</pubDate>
		<dc:creator>Kevin Chiu</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[programming]]></category>

		<guid isPermaLink="false">http://kevinchiu.org/blog/?p=542</guid>
		<description><![CDATA[When I tried to install Erlang through Macports, sudo port install erlang I got this error: Error: The following dependencies failed to build: tk tcl Error: Status 1 encountered during processing. To fix it, I needed to move aside the iPhone SDK include files during the installation. sudo mv /usr/local/include /usr/local/include.bak; sudo port install erlang; [...]]]></description>
			<content:encoded><![CDATA[<p>When I tried to install <a href="http://erlang.org/">Erlang</a> through <a href="http://www.macports.org/">Macports</a>, </p>
<p><code>sudo port install erlang</code></p>
<p>I got this error:</p>
<p><code>Error: The following dependencies failed to build: tk tcl</code><br />
<code>Error: Status 1 encountered during processing.</code></p>
<p>To fix it, I needed to move aside the <a href="http://developer.apple.com/iphone/">iPhone SDK</a> include files during the installation.</p>
<p><code>sudo mv /usr/local/include /usr/local/include.bak; sudo port install erlang; sudo mv /usr/local/include.bak /usr/local/include</code></p>]]></content:encoded>
			<wfw:commentRss>http://kevinchiu.org/archives/installing-erlang-on-leopard/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Agile Startup Tools</title>
		<link>http://kevinchiu.org/archives/agile-startup-tools</link>
		<comments>http://kevinchiu.org/archives/agile-startup-tools#comments</comments>
		<pubDate>Tue, 19 Aug 2008 04:52:40 +0000</pubDate>
		<dc:creator>Kevin Chiu</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[adobe]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[entrepreneurship]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[mac]]></category>
		<category><![CDATA[productivity]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[startup]]></category>
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://kevinchiu.org/blog/?p=405</guid>
		<description><![CDATA[Jack Po, an experienced entrepreneur and local friend of mine, just posted some tools startups might find useful. While I agree with most of what he has to say, some healthy horizon-broadening is in order. I&#8217;m new to the startup scene, but I&#8217;ve always been a tech guy. Here are my tools: Website Registration: 1and1 [...]]]></description>
			<content:encoded><![CDATA[<p>Jack Po, an experienced entrepreneur and local friend of mine, just posted some <a href="http://www.jackpo.org/2008/08/17/tools-for-small-organizations">tools startups might find useful</a>. While I agree with most of what he has to say, some healthy horizon-broadening is in order.</p>
<p>I&#8217;m new to the startup scene, but I&#8217;ve always been a tech guy. Here are my tools:</p>
<p><strong>Website Registration</strong>: <a href="http://1and1.com">1and1</a> has free private registration that you can toggle on or off. $7 is the base fee for a .com.</p>
<p><strong>Website Hosting</strong>: <a href="http://engineyard.com">Engine Yard</a> (for rails), <a href="http://slicehost.com">SliceHost</a> (for custom stuff), <a href="http://mediatemple.com">Media Temple</a> (for shared hosting), <a href="http://appengine.google.com">Google App Engine</a> (easily scalable, but has had hiccups&#8230;)</p>
<p><strong>DNS Hosting</strong>: I stick with whoever hosts my site. I&#8217;ve never had any problems.</p>
<p><strong>Email, Calendar, Wiki, Internal Messaging</strong>: <a href="http://apps.google.com">Google Apps</a></p>
<p><strong>Actual Website</strong>: <a href="http://rubyonrails.com">Ruby</a>, <a href="http://java.sun.com">Java</a>, or Plain old HTML/CSS/<a href="http://jquery.com">jQuery</a></p>
<p><strong>Phone</strong>:  <a href="http://skype.com">Skype</a>, <a href="http://grandcentral.com">Grand Central</a> (but GC keeps deleting my old messages&#8230; boo!), iPhone</p>
<p><strong>Conference Calls</strong>: <a href="http://skype.com">Skype</a> &#8211; easy and free.</p>
<p><strong>Surveys, Spreadsheets and Documents</strong>: <a href="http://docs.google.com">Google Docs</a> &#8211; The coolest part of this suite is the real-time collaboration. Plus, there&#8217;s a form-filler mode for the spreadsheet app that you can use to conduct surveys.</p>
<p><strong>Newsletters</strong>: <a href="http://groups.google.com">Google Groups</a> (for continuous conversations) or <a href="http://gmail.com">Gmail</a> email aliases with BCC (for periodicals).</p>
<p><strong>Project Management</strong>: <a href="http://lighthouseapp.com">Lighthouse</a>, <a href="http://github.com">Github</a>, <a href="http://code.google.com">Google Code</a>, <a href="http://sf.net">Sourceforge</a>, or just plain old face-time. I&#8217;m actually itching to build a way more intuitive project management system. But for now, I can live with these. (I used to use <a href="http://www.basecamphq.com">Basecamp</a>, but it can be abused too easily&#8230;)</p>
<p><strong>Website statistics</strong>: <a href="http://analytics.google.com">Google Analytics</a></p>
<p><strong>Search Engine Optimization (SEO)</strong>: <a href="http://google.com/sitemaps">Google Sitemaps</a></p>
<p><strong>Code Tools</strong>: <a href="http://ubuntu.com">Linux</a> Shell, <a href="http://macromates.com">TextMate</a>, <a href="http://eclipse.org">Eclipse</a></p>
<p><strong>Computers</strong>: <a href="http://apple.com">Apple Macs</a>.</p>
<p><strong>Presentations</strong>: <a href="http://www.apple.com/iwork/keynote">Apple Keynote</a></p>
<p><strong>Graphics</strong>: <a href="http://www.adobe.com/products/photoshop/index.html">Adobe Photoshop CS3</a>, <a href="http://www.omnigroup.com/applications/OmniGraffle">Omnigraffle</a></p>]]></content:encoded>
			<wfw:commentRss>http://kevinchiu.org/archives/agile-startup-tools/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Radical Idea for Pivitol and Twitter</title>
		<link>http://kevinchiu.org/archives/radical-idea-for-pivitol-and-twitter</link>
		<comments>http://kevinchiu.org/archives/radical-idea-for-pivitol-and-twitter#comments</comments>
		<pubDate>Tue, 01 Jul 2008 08:40:08 +0000</pubDate>
		<dc:creator>Kevin Chiu</dc:creator>
				<category><![CDATA[Business]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[erlang]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://kevinchiu.org/blog/?p=348</guid>
		<description><![CDATA[Dear Pivitol, Rewrite Twitter in Erlang. That would be awesome.]]></description>
			<content:encoded><![CDATA[<p>Dear <a href="http://www.pivotallabs.com">Pivitol</a>,<br />
Rewrite <a href="http://twitter.com">Twitter</a> in <a href="http://en.wikipedia.org/wiki/Erlang_(programming_language)">Erlang</a>. That would be awesome.</p>]]></content:encoded>
			<wfw:commentRss>http://kevinchiu.org/archives/radical-idea-for-pivitol-and-twitter/feed</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

