<?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>Scott Yang's Playground &#187; Ruby</title>
	<atom:link href="http://scott.yang.id.au/tag/ruby/feed/" rel="self" type="application/rss+xml" />
	<link>http://scott.yang.id.au</link>
	<description>Faith, Technology and Randomness in Life, According to Scott</description>
	<lastBuildDate>Thu, 09 Feb 2012 09:01:12 +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>Twitter is Slow, but not because of Ruby</title>
		<link>http://scott.yang.id.au/2007/04/twitter-is-slow-but-not-because-of-ruby/</link>
		<comments>http://scott.yang.id.au/2007/04/twitter-is-slow-but-not-because-of-ruby/#comments</comments>
		<pubDate>Sun, 15 Apr 2007 06:03:29 +0000</pubDate>
		<dc:creator>scotty</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://scott.yang.id.au/2007/04/twitter-is-slow-but-not-because-of-ruby/</guid>
		<description><![CDATA[Jeff Atwood commented on the Twitter scalability problem and blamed on Ruby&#8217;s slowness. I have quoted from Coding Horror a few times (in my other blogs as well), but I still do not get how his opinions can be so highly regarded in programming community, when he cannot even distinguish between performance and scalability. Even [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.codinghorror.com/blog/archives/000838.html">Jeff Atwood commented on the Twitter scalability problem and blamed on Ruby&#8217;s slowness</a>. I have quoted from Coding Horror a few times (in my other blogs as well), but I still do not get how his opinions can be so highly regarded in programming community, when he cannot even distinguish between <em>performance</em> and <em>scalability</em>. Even he himself admitted that</p>
<blockquote><p>To be fair, it sounds like most of Twitter&#8217;s problems are database problems, so maybe it doesn&#8217;t matter what language they use&#8221;</p></blockquote>
<p>Even Alex stated it clearly in the <a href="http://www.radicalbehavior.com/5-question-interview-with-twitter-developer-alex-payne/">Twitter interview</a> that database has been the bottleneck, <strong>just like most share-nothing web development platform</strong> that was designed to be highly scalable in the first place! Ruby is slow. Python is a tad better, but in a heavily IO bounded web-based application, both will be more than fast enough. How to scale the database? It is not trivial and very domain specific, and that is what Alex is complaining about.</p>
]]></content:encoded>
			<wfw:commentRss>http://scott.yang.id.au/2007/04/twitter-is-slow-but-not-because-of-ruby/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>DHH, Rails, Twitter and Scalability</title>
		<link>http://scott.yang.id.au/2007/04/dhh-rails-twitter-and-scalability/</link>
		<comments>http://scott.yang.id.au/2007/04/dhh-rails-twitter-and-scalability/#comments</comments>
		<pubDate>Fri, 13 Apr 2007 00:23:43 +0000</pubDate>
		<dc:creator>scotty</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Twitter]]></category>

		<guid isPermaLink="false">http://scott.yang.id.au/2007/04/dhh-rails-twitter-and-scalability/</guid>
		<description><![CDATA[DHH responded to Twitter&#8217;s scalability issue. Again that pin-points the &#8220;pain&#8221; of many share-nothing framework &#8212; database, and the lack of generic framework support to facilitate scaling out the database (yeah, I know it sounds oxymoron).]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.loudthinking.com/arc/000608.html">DHH responded to Twitter&#8217;s scalability issue</a>. Again that pin-points the &#8220;pain&#8221; of many share-nothing framework &#8212; database, and the lack of generic framework support to facilitate scaling out the database (yeah, I know it sounds oxymoron). </p>
]]></content:encoded>
			<wfw:commentRss>http://scott.yang.id.au/2007/04/dhh-rails-twitter-and-scalability/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Joyent Slingshot</title>
		<link>http://scott.yang.id.au/2007/03/joyent-slingshot/</link>
		<comments>http://scott.yang.id.au/2007/03/joyent-slingshot/#comments</comments>
		<pubDate>Fri, 23 Mar 2007 03:14:34 +0000</pubDate>
		<dc:creator>scotty</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://scott.yang.id.au/2007/03/joyent-slingshot/</guid>
		<description><![CDATA[Joyent introduced Slingshot that provides offline support to Rails applications. Lack of off-line support has always been the Achilles&#8217; heel of SaaS-based applications that serve through HTTP &#8212; at least it is one of the most frequently asked features at work! Slingshot provides (1) a container environment for running Rails applications on Windows and Mac [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://joyeur.com/2007/03/22/joyent-slingshot"><img src="http://scott.yang.id.au/file/images/joyent-slingshot.png" alt="Joyent Slingshot" style="float:right;margin:0 0 1ex 1ex"/> Joyent introduced Slingshot that provides offline support to Rails applications</a>. Lack of off-line support has always been the Achilles&#8217; heel of SaaS-based applications that serve through HTTP &#8212; at least it is one of the most frequently asked features at work! Slingshot provides (1) a container environment for running Rails applications on Windows and Mac OS X (2) synchronisation framework for off-line data. Cool bananas. Now, when is one coming for Django?</p>
]]></content:encoded>
			<wfw:commentRss>http://scott.yang.id.au/2007/03/joyent-slingshot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby on Rail and Heaven</title>
		<link>http://scott.yang.id.au/2007/02/ruby-on-rail-and-heaven/</link>
		<comments>http://scott.yang.id.au/2007/02/ruby-on-rail-and-heaven/#comments</comments>
		<pubDate>Fri, 16 Feb 2007 00:18:02 +0000</pubDate>
		<dc:creator>scotty</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Humour]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://scott.yang.id.au/2007/02/ruby-on-rail-and-heaven/</guid>
		<description><![CDATA[A few humourous programming language stories &#8212; Raganwald: Programming Language Stories &#8212; where it looks at the attitude of C, Ruby on Rails, Java and Scheme programmers. The RoR one is my favourite as it was a derivative from another popular joke. Just inside the gates of heaven, St. Peter sits at a desk checking [...]]]></description>
			<content:encoded><![CDATA[<p>A few humourous programming language stories &#8212; <a href="http://weblog.raganwald.com/2007/02/programming-language-stories.html">Raganwald: Programming Language Stories</a> &#8212; where it looks at the attitude of C, Ruby on Rails, Java and Scheme programmers. The RoR one is my favourite as it was a derivative from another popular joke.</p>
<blockquote>
<p>Just inside the gates of heaven, St. Peter sits at a desk checking people in.</p>
<p>Peter: <em>&#8220;Welcome to heaven. Programming language?&#8221;</em></p>
<p>The man at the front of the line says, <em>&#8220;Smalltalk&#8221;</em>.</p>
<p>Glancing at his clipboard, Peter says, <em>&#8220;Room 33. Be very quiet as you pass Room Six&#8221;</em>.</p>
<p>The process repeats itself with the next person in line:</p>
<p>Peter: <em>&#8220;Welcome to heaven. Programming language?&#8221;</em></p>
<p>Person #2: <em>&#8220;Common Lisp&#8221;</em>.</p>
<p>Peter: <em>&#8220;Room 17. Be very quiet as you pass Room Six&#8221;</em>.</p>
<p>The next person moves to the front of the line with a look of curiosity on her face.</p>
<p>Peter: <em>&#8220;Welcome to heaven. Programming language?&#8221;</em></p>
<p>Person #3: <em>&#8220;Python&#8221;</em>.</p>
<p>Peter: <em>&#8220;Room 54. Be very quiet as you pass Room Six&#8221;</em>.</p>
<p>Person #3: <em>&#8220;Why do you keep telling us to be quiet as we pass Room Six?&#8221;</em></p>
<p>Peter: <em>&#8220;Because the Ruby on Rails People are in Room Six, and they think they&#8217;re the only ones here&#8221;</em>.</p>
</blockquote>
<p>That pretty much fits into the RoR programmers&#8217; description on <a href="http://scott.yang.id.au/2007/01/the-programmer-hierarchy/">programmers&#8217; hierarchy chart</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://scott.yang.id.au/2007/02/ruby-on-rail-and-heaven/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Performance Comparison with 6 Leading Web Frameworks</title>
		<link>http://scott.yang.id.au/2007/01/performance-comparison-with-6-leading-web-frameworks/</link>
		<comments>http://scott.yang.id.au/2007/01/performance-comparison-with-6-leading-web-frameworks/#comments</comments>
		<pubDate>Tue, 30 Jan 2007 00:02:03 +0000</pubDate>
		<dc:creator>scotty</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://scott.yang.id.au/2007/01/performance-comparison-with-6-leading-web-frameworks/</guid>
		<description><![CDATA[Alrond&#8217;s technoblog: The performance test of 6 leading frameworks. Very interesting read, as Alrond tested Django (Python), TurbGears (Python), Ruby on Rails 1.1.6/1.2.1 (Ruby), Catalyst (Perl), Code Igniter (PHP) and Symfony (PHP), using various load and memory testing utilities. His conclusion? Django is fast, and can be very light on memory as well. RoR 1.1.6 [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.alrond.com/en/2007/jan/25/performance-test-of-6-leading-frameworks/">Alrond&#8217;s technoblog: The performance test of 6 leading frameworks</a>. Very interesting read, as Alrond tested <a href="http://www.djangoproject.com/">Django</a> (Python), <a href="http://www.turbogears.org/">TurbGears</a> (Python), <a href="http://rubyonrails.org/">Ruby on Rails</a> 1.1.6/1.2.1 (Ruby), <a href="http://www.catalystframework.org/">Catalyst</a> (Perl), <a href="http://www.codeigniter.com/">Code Igniter</a> (PHP) and <a href="http://www.symfony-project.com/">Symfony</a> (PHP), using various load and memory testing utilities. His conclusion?</p>
<ul>
<li>Django is fast, and can be very light on memory as well.</li>
<li>RoR 1.1.6 is significantly faster than 1.2.1, which was a bit disappointing.</li>
<li>PHP frameworks can be very slow, unless a opcode cache is used.</li>
<li>Symfony is way too complex and too slow.</li>
</ul>
<p>Alright, I guess after all performance is only half the story, and I am pretty sure the RoR guys are willing to trade performance with speed of development. Lucky for the Python guys that they can have both.</p>
]]></content:encoded>
			<wfw:commentRss>http://scott.yang.id.au/2007/01/performance-comparison-with-6-leading-web-frameworks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ohloh: PHP and Ruby Comparison</title>
		<link>http://scott.yang.id.au/2006/10/ohloh-php-and-ruby-comparison/</link>
		<comments>http://scott.yang.id.au/2006/10/ohloh-php-and-ruby-comparison/#comments</comments>
		<pubDate>Thu, 26 Oct 2006 01:45:10 +0000</pubDate>
		<dc:creator>scotty</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://scott.yang.id.au/2006/10/ohloh-php-and-ruby-comparison/</guid>
		<description><![CDATA[Ohloh: PHP Eats Rails for Breakfast. A clearly link bait title, as it is in fact analysing by the &#8220;language&#8221;, i.e. PHP vs. Ruby, instead of frameworks. However, the analysis is interesting. As well as Brad Feld&#8217;s feedback on this article. Some of my thoughts: I won&#8217;t say it represents the &#8220;big picture&#8221;. Ohloh is [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ohloh.com/wiki/articles/php_eats_rails">Ohloh: PHP Eats Rails for Breakfast</a>. A clearly link bait title, as it is in fact analysing by the &#8220;language&#8221;, i.e. <a href="http://www.php.net/">PHP</a> vs. <a href="http://www.ruby-lang.org/">Ruby</a>, instead of frameworks. However, the analysis is interesting. As well as <a href="http://www.feld.com/blog/archives/002016.html">Brad Feld&#8217;s feedback</a> on this article.</p>
<p>Some of my thoughts:</p>
<ul>
<li>
<p>I won&#8217;t say it represents the &#8220;big picture&#8221;. Ohloh is only indexing open source projects from major source code forges, and 3,000 projects certainly sound small in comparison to the scope of open source world.</p>
<p>Moreover, Ohloh indexing on the open source projects that they have access to, and proprietary software is yet another world. Majority of SaaS/ASP projects never release their source code, even though they are popping up all over the place because of this Web 2.0 boom. Many are developed using open source languages and frameworks.</p>
<p>Stating &#8220;PHP Eats Rails for Breakfast&#8221; is far away from truth.</p>
</li>
<li>
<p><img src="http://scott.yang.id.au/file/images/ohloh_metrics_20061016_2.png" alt="Ohloh PHP vs Ruby for new projects" style="float:right;margin:0 0 5px 12px;"/> PHP is a language, but most, if not all open source projects are for the web. Rails is a framework, but there are many Ruby projects that (1) don&#8217;t depend on Rails (2) aren&#8217;t serving the web. And the world is more than just the web.</p>
<p>I think it somehow affects the last graph which shows the number of new projects. I have seen quite a few useful Ruby apps that have nothing to do with Rails, runs from the command line, and are small because of expressiveness of Ruby.</p>
</li>
<li>
<p>Another interesting observation from that graph is, number of new projects in Ruby actually surpasses all the <strong>P&#8217;s</strong> (Python, PHP and Perl) at around the same time between 2003 and 2004, if I am reading the graph correctly. But <a href="http://www.loudthinking.com/">DHH</a> did not even release the first public version of RoR until mid 2004, which arguably was the push that created the momentum behind Ruby today.</p>
<p>Hmm. I am confused. So there are already more new projects done in Ruby <strong>before</strong> Rails was announced?</p>
</li>
<li>
<p>Looks like the real looser here is Perl. How come no one is talking about it?</p>
</li>
</ul>
<p>The bottom line is, the data revealed in the comparison does not really prove what its title has suggested. What people put on SourceForge also does not tell us what the world is using, especially when a lot of software has moved to SaaS model.</p>
]]></content:encoded>
			<wfw:commentRss>http://scott.yang.id.au/2006/10/ohloh-php-and-ruby-comparison/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Unicode and Ruby being Japanese</title>
		<link>http://scott.yang.id.au/2006/08/unicode-and-ruby-being-japanese/</link>
		<comments>http://scott.yang.id.au/2006/08/unicode-and-ruby-being-japanese/#comments</comments>
		<pubDate>Thu, 10 Aug 2006 02:01:50 +0000</pubDate>
		<dc:creator>scotty</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Ruby]]></category>
		<category><![CDATA[Unicode]]></category>

		<guid isPermaLink="false">http://scott.yang.id.au/2006/08/unicode-and-ruby-being-japanese/</guid>
		<description><![CDATA[Alessandro Vernet: Ruby is on its way of fixing unicode issues, and he concluded that lacking of proper unicode support in Ruby might be caused initially designed by Matz who is a Japanese, who have been relunctant to support Han unification in charset and migrate to Unicode. I am not sure whether it is really [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.orbeon.com/blog/2006/07/12/ruby-not-all-rosy/">Alessandro Vernet: Ruby is on its way of fixing unicode issues</a>, and he concluded that lacking of proper unicode support in Ruby might be caused initially designed by Matz who is a Japanese, who have been relunctant to support Han unification in charset and migrate to Unicode. I am not sure whether it is really the case, but it surely is an interesting examination. I have seen way too many programmers who assume string = 8-bit character sequence, I myself included sometimes&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://scott.yang.id.au/2006/08/unicode-and-ruby-being-japanese/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gosling on PHP/Ruby, DHH on Gosling</title>
		<link>http://scott.yang.id.au/2006/03/gosling-on-phpruby-dhh-on-gosling/</link>
		<comments>http://scott.yang.id.au/2006/03/gosling-on-phpruby-dhh-on-gosling/#comments</comments>
		<pubDate>Sat, 11 Mar 2006 10:23:05 +0000</pubDate>
		<dc:creator>scotty</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://scott.yang.id.au/2006/03/gosling-on-phpruby-dhh-on-gosling/</guid>
		<description><![CDATA[James Gosling in Java Is Under No Serious Threat From PHP, Ruby or C#: &#8220;PHP and Ruby are perfectly fine systems,&#8221; he [Gosling] continued, &#8220;but they are scripting languages and get their power through specialization: they just generate web pages. But none of them attempt any serious breadth in the application domain and they both [...]]]></description>
			<content:encoded><![CDATA[<p>James Gosling in <a href="http://java.sys-con.com/read/193146.htm">Java Is Under No Serious Threat From PHP, Ruby or C#</a>:</p>
<blockquote><p>&#8220;PHP and Ruby are perfectly fine systems,&#8221; he [Gosling] continued, &#8220;but they are scripting languages and get their power through specialization: they just generate web pages. But none of them attempt any serious breadth in the application domain and they both have really serious scaling and performance problems.&#8221;</p></blockquote>
<p>As far as I have understood PHP&#8217;s &#8220;share nothing&#8221; scalability strategy, it basically tries to &#8220;do nothing&#8221; and heavily relies on database. It works for many web based applications but not all. Well, Ruby does a bit more than web page generation, but I understand he probably meant Ruby on Rails, David Heinemeier Hansson&#8217;s baby. David responded in <a href="http://www.loudthinking.com/arc/000569.html">Pay no attention to the heathens</a>:</p>
<blockquote><p>Heh. I love quotes like that. You don&#8217;t even have to add commentary. Just imagine a puzzled face with raised eyebrows.</p></blockquote>
<p>DHH &#8212; there are more software in the world than web applications, and even for web applications there is more than executing CRUD operations over relational database.</p>
]]></content:encoded>
			<wfw:commentRss>http://scott.yang.id.au/2006/03/gosling-on-phpruby-dhh-on-gosling/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>

