<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:thr="http://purl.org/syndication/thread/1.0" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" xml:lang="en" xml:base="http://www.adaruby.com/wp-atom.php">
	<title type="text">AdaRuby</title>
	<subtitle type="text">Rich Dynamic Applications with Ruby on Rails</subtitle>

	<updated>2010-07-02T09:06:16Z</updated>
	<generator uri="http://wordpress.org/" version="2.9.2">WordPress</generator>

	<link rel="alternate" type="text/html" href="http://www.adaruby.com" />
	<id>http://www.adaruby.com/feed/atom/</id>
	

			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/Web2WithRubyOnRails" /><feedburner:info uri="web2withrubyonrails" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>Web2WithRubyOnRails</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><entry>
		<author>
			<name>ceefour</name>
						<uri>http://www.hendyirawan.com/</uri>
					</author>
		<title type="html"><![CDATA[Assembla &#8211; Agile Bug Tracking and Issue Management]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Web2WithRubyOnRails/~3/EEg1UWHajHQ/" />
		<id>http://www.adaruby.com/?p=169</id>
		<updated>2010-07-02T09:06:16Z</updated>
		<published>2010-07-02T09:01:55Z</published>
		<category scheme="http://www.adaruby.com" term="Reviews" /><category scheme="http://www.adaruby.com" term="assembla" /><category scheme="http://www.adaruby.com" term="bug tracker" /><category scheme="http://www.adaruby.com" term="project management" /><category scheme="http://www.adaruby.com" term="subversion hosting" />		<summary type="html">
			
				
			
		

Assembla.com is an online software development version control and  management tool. The site includes an SVN/Subversion/Git/Mercurial/CVS repository hosting, a  complete ticketing system, a collaboration tool and a management tool.
Certain features of the site can be used for free, but to use the  entire suite of tools requires a paid subscription to the [...]


No related posts.

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</summary>
		<content type="html" xml:base="http://www.adaruby.com/2010/07/02/assembla-agile-bug-tracking-and-issue-management/">&lt;div class="tweetmeme_button" style="float: right; margin-left: 10px;"&gt;
			&lt;a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2010%2F07%2F02%2Fassembla-agile-bug-tracking-and-issue-management%2F"&gt;&lt;br /&gt;
				&lt;img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2010%2F07%2F02%2Fassembla-agile-bug-tracking-and-issue-management%2F&amp;amp;source=AdaRubyWeb&amp;amp;style=normal&amp;amp;service=bit.ly" height="61" width="50" title="Assembla   Agile Bug Tracking and Issue Management" alt=" Assembla   Agile Bug Tracking and Issue Management" /&gt;&lt;br /&gt;
			&lt;/a&gt;
		&lt;/div&gt;
&lt;p&gt;&lt;a href="http://www.assembla.com?affiliate=ceefour"&gt;&lt;img class="alignnone size-full wp-image-171" title="Assembla : Agile Project Management, SVN Hosting, Bug Tracking, Issue Management" src="http://www.adaruby.com/wp-content/uploads/2010/07/assembla-agile-project-management-svn-hosting-bug-tracker.png" alt="Assembla : Agile Project Management, SVN Hosting, Bug Tracking, Issue Management" width="300" height="252" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.assembla.com/features/ticketing?affiliate=ceefour"&gt;Assembla.com&lt;/a&gt;&lt;/strong&gt; is an &lt;strong&gt;online software development version control and  management tool.&lt;/strong&gt; The site includes an &lt;strong&gt;SVN/Subversion/Git/Mercurial/CVS repository hosting&lt;/strong&gt;, a  complete ticketing system, a collaboration tool and a management tool.&lt;/p&gt;
&lt;p&gt;Certain features of the site can be used for free, but to use the  entire suite of tools requires a paid subscription to the site.  The  site uses 128-bit encryption for free and paid users, and all data is  stored on secure Amazon servers.    The ticketing system incorporates task tracking, issue tracking and &lt;strong&gt;bug  tracking&lt;/strong&gt;.  The collaboration tool includes a wiki, a message board and  shared files.  The software repositories offered by the site require no  setup and offer seamless integration with the ticketing, collaboration  and management tools.&lt;/p&gt;
&lt;p&gt;Assembla.com can be used for all phases of a  software project, and is being used by many software development firms.   User control is simplified, so it is easy to give or revoke access to  contractors when outsourcing is being used.&lt;/p&gt;
&lt;p&gt;See more: &lt;a href="http://www.assembla.com/features/ticketing?affiliate=ceefour"&gt;Assembla: Agile bug tracking and issue management&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;No related posts.&lt;/p&gt;
&lt;p&gt;Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/A-ZQsfWEdehHEb2Yyszunrn10fY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/A-ZQsfWEdehHEb2Yyszunrn10fY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/A-ZQsfWEdehHEb2Yyszunrn10fY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/A-ZQsfWEdehHEb2Yyszunrn10fY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=EEg1UWHajHQ:WPLZKmHI_kE:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=EEg1UWHajHQ:WPLZKmHI_kE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=EEg1UWHajHQ:WPLZKmHI_kE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=EEg1UWHajHQ:WPLZKmHI_kE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=EEg1UWHajHQ:WPLZKmHI_kE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=EEg1UWHajHQ:WPLZKmHI_kE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=EEg1UWHajHQ:WPLZKmHI_kE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=EEg1UWHajHQ:WPLZKmHI_kE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Web2WithRubyOnRails/~4/EEg1UWHajHQ" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.adaruby.com/2010/07/02/assembla-agile-bug-tracking-and-issue-management/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://www.adaruby.com/2010/07/02/assembla-agile-bug-tracking-and-issue-management/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://www.adaruby.com/2010/07/02/assembla-agile-bug-tracking-and-issue-management/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>ceefour</name>
						<uri>http://www.hendyirawan.com/</uri>
					</author>
		<title type="html"><![CDATA[Rails 3 Beta Ready with Merb Goodness]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Web2WithRubyOnRails/~3/zH7oppPHx4A/" />
		<id>http://www.adaruby.com/?p=167</id>
		<updated>2010-02-06T18:10:05Z</updated>
		<published>2010-02-06T18:01:21Z</published>
		<category scheme="http://www.adaruby.com" term="Rails" />		<summary type="html">
			
				
			
		
What do you get when the power of Ruby on Rails is combined with flexibility of Merb web framework? Rails 3 of course!
We have a very happy news: Rails 3 Beta is ready for testing. The improvements are numerous: ActiveRecord, ActionController, ActionView, and ActionMailer, ActiveSupport have all been redesigned. ActiveRecord got pimped with ActiveRelation scoped [...]


No related posts.

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</summary>
		<content type="html" xml:base="http://www.adaruby.com/2010/02/06/rails-3-beta-ready-with-merb-goodness/">&lt;div class="tweetmeme_button" style="float: right; margin-left: 10px;"&gt;
			&lt;a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2010%2F02%2F06%2Frails-3-beta-ready-with-merb-goodness%2F"&gt;&lt;br /&gt;
				&lt;img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2010%2F02%2F06%2Frails-3-beta-ready-with-merb-goodness%2F&amp;amp;source=AdaRubyWeb&amp;amp;style=normal&amp;amp;service=bit.ly" height="61" width="50" title="Rails 3 Beta Ready with Merb Goodness" alt=" Rails 3 Beta Ready with Merb Goodness" /&gt;&lt;br /&gt;
			&lt;/a&gt;
		&lt;/div&gt;
&lt;p&gt;What do you get when the power of Ruby on Rails is combined with flexibility of Merb web framework? Rails 3 of course!&lt;/p&gt;
&lt;p&gt;We have a very happy news: Rails 3 Beta is ready for testing. The improvements are numerous: ActiveRecord, ActionController, ActionView, and ActionMailer, ActiveSupport have all been redesigned. ActiveRecord got pimped with ActiveRelation scoped queries.&lt;/p&gt;
&lt;p&gt;Some components have been refactored into their own: ActionDispatch, ActiveModel. Even better, all components can be used alone and you don&amp;#8217;t have to require the entire Rails framework.&lt;/p&gt;
&lt;p&gt;Rails is now not only Rack compatible, but subcomponents of Rails, like routing, are Rack middlewares.&lt;/p&gt;
&lt;p&gt;Not to mention better dependency management system called Bundler, and improved performance especially on ActionView.&lt;/p&gt;
&lt;p&gt;Read more detailed explanation on Yehuda Katz&amp;#8217;s post:&lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.engineyard.com/blog/2010/rails-3-beta-is-out-a-retrospective/"&gt;http://www.engineyard.com/blog/2010/rails-3-beta-is-out-a-retrospective/&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Will you upgrade to Rails 3?&lt;/p&gt;


&lt;p&gt;No related posts.&lt;/p&gt;
&lt;p&gt;Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/26C6WGBk_VlSJwRr6bQ7ZRcgiUw/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/26C6WGBk_VlSJwRr6bQ7ZRcgiUw/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/26C6WGBk_VlSJwRr6bQ7ZRcgiUw/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/26C6WGBk_VlSJwRr6bQ7ZRcgiUw/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=zH7oppPHx4A:ecY6MEnzddk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=zH7oppPHx4A:ecY6MEnzddk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=zH7oppPHx4A:ecY6MEnzddk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=zH7oppPHx4A:ecY6MEnzddk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=zH7oppPHx4A:ecY6MEnzddk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=zH7oppPHx4A:ecY6MEnzddk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=zH7oppPHx4A:ecY6MEnzddk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=zH7oppPHx4A:ecY6MEnzddk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Web2WithRubyOnRails/~4/zH7oppPHx4A" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.adaruby.com/2010/02/06/rails-3-beta-ready-with-merb-goodness/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.adaruby.com/2010/02/06/rails-3-beta-ready-with-merb-goodness/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	<feedburner:origLink>http://www.adaruby.com/2010/02/06/rails-3-beta-ready-with-merb-goodness/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>ceefour</name>
						<uri>http://www.hendyirawan.com/</uri>
					</author>
		<title type="html"><![CDATA[Why You Should Be Grateful for Coding in Ruby]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Web2WithRubyOnRails/~3/dq4uOg1A02I/" />
		<id>http://www.adaruby.com/?p=165</id>
		<updated>2010-02-03T18:05:27Z</updated>
		<published>2010-02-03T18:05:27Z</published>
		<category scheme="http://www.adaruby.com" term="Opinions" /><category scheme="http://www.adaruby.com" term="framework" /><category scheme="http://www.adaruby.com" term="php" /><category scheme="http://www.adaruby.com" term="Rails" /><category scheme="http://www.adaruby.com" term="Ruby" /><category scheme="http://www.adaruby.com" term="symfony" /><category scheme="http://www.adaruby.com" term="syntax" />		<summary type="html">
			
				
			
		

How do you feel during your daily Ruby programming workflow? Do you feel fun or productive? Either way, you&amp;#8217;ve got to feel grateful!
After several years not doing any serious PHP programming, today I get curious.
Right now, PHP has evolved. PHP programmers are not &amp;#8220;script kiddies&amp;#8221; anymore, they&amp;#8217;re professional programmers with quality MVC web frameworks.
Now it [...]


No related posts.

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</summary>
		<content type="html" xml:base="http://www.adaruby.com/2010/02/03/be-grateful-coding-ruby-on-rails/">&lt;div class="tweetmeme_button" style="float: right; margin-left: 10px;"&gt;
			&lt;a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2010%2F02%2F03%2Fbe-grateful-coding-ruby-on-rails%2F"&gt;&lt;br /&gt;
				&lt;img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2010%2F02%2F03%2Fbe-grateful-coding-ruby-on-rails%2F&amp;amp;source=AdaRubyWeb&amp;amp;style=normal&amp;amp;service=bit.ly" height="61" width="50" title="Why You Should Be Grateful for Coding in Ruby" alt=" Why You Should Be Grateful for Coding in Ruby" /&gt;&lt;br /&gt;
			&lt;/a&gt;
		&lt;/div&gt;
&lt;p&gt;&lt;img class="alignnone size-medium wp-image-166" title="Being grateful" src="http://www.adaruby.com/wp-content/uploads/2010/02/adaruby01-529710929_7b3d85e103-272x300.jpg" alt="Being grateful" width="272" height="300" /&gt;&lt;/p&gt;
&lt;p&gt;How do you feel during your daily &lt;strong&gt;Ruby programmin&lt;/strong&gt;g workflow? Do you feel &lt;strong&gt;fun&lt;/strong&gt; or &lt;strong&gt;productive&lt;/strong&gt;? Either way, you&amp;#8217;ve got to feel &lt;em&gt;grateful&lt;/em&gt;!&lt;/p&gt;
&lt;p&gt;After several years not doing any serious PHP programming, today I get curious.&lt;/p&gt;
&lt;p&gt;Right now, PHP has evolved. PHP programmers are not &amp;#8220;script kiddies&amp;#8221; anymore, they&amp;#8217;re professional programmers with quality MVC web frameworks.&lt;/p&gt;
&lt;p&gt;Now it won&amp;#8217;t be fair if I compared Ruby on Rails with PHP, as that&amp;#8217;d be like comparing apples and oranges. So I have to pick some killer app written in PHP that competes directly with Rails, as long as it&amp;#8217;s &lt;em&gt;not WordPress or Drupal&lt;/em&gt;. &lt;img src='http://www.adaruby.com/wp-includes/images/smilies/icon_razz.gif' alt=':-P' class='wp-smiley' title="Why You Should Be Grateful for Coding in Ruby" /&gt; &lt;/p&gt;
&lt;p&gt;So I checked out &lt;a href="http://www.symfony-project.org/"&gt;Symfony&lt;/a&gt;, the most popular PHP web framework out there. I&amp;#8217;ve never programmed Symfony, but I&amp;#8217;ve heard a lot of good things about it.&lt;/p&gt;
&lt;p&gt;After initial reading on the documentation, it seems the good things I&amp;#8217;ve heard about it are true. The development model is very similar to Ruby on Rails. Scaffolds and plenty of helpers.&lt;/p&gt;
&lt;p&gt;However, the syntax is unbearable. (at least for me!) Check out &lt;a href="http://www.symfony-project.org/jobeet/1_4/Doctrine/en/04"&gt;this tutorial example code&lt;/a&gt;:&lt;/p&gt;
&lt;pre class="brush: php;"&gt;// apps/frontend/modules/job/templates/showSuccess.php
&amp;lt;?php slot('title') ?&amp;gt;
 &amp;lt;?php echo sprintf('%s is looking for a %s', $job-&amp;gt;getCompany(), $job-&amp;gt;getPosition()) ?&amp;gt;
&amp;lt;?php end_slot(); ?&amp;gt;&lt;/pre&gt;
&lt;p&gt;&lt;em&gt;slot()&lt;/em&gt; and &lt;em&gt;end_slot()&lt;/em&gt; aren&amp;#8217;t even a proper block construct. They&amp;#8217;re just two separate functions made to look like they&amp;#8217;re blocks.&lt;/p&gt;
&lt;p&gt;Compare with how to do the same in Ruby on Rails:&lt;/p&gt;
&lt;pre class="brush: ruby;"&gt;# app/views/jobs/show_success.html.erb
&amp;lt;% content_for :title do %&amp;gt;
  &amp;lt;%= @job.company %&amp;gt; is looking for a &amp;lt;%= @job.position %&amp;gt;
&amp;lt;!-- or: &amp;lt;%= &amp;quot;#{@job.company} is looking for a #{@job.position}&amp;quot; %&amp;gt; --&amp;gt;
&amp;lt;% end %&amp;gt;&lt;/pre&gt;
&lt;p&gt;It might be a &lt;strong&gt;simple example&lt;/strong&gt;, but that begs your gratefulness &lt;em&gt;even more&lt;/em&gt;: Imagine coding a much more &lt;strong&gt;complex web application&lt;/strong&gt;!&lt;/p&gt;
&lt;p&gt;I certainly won&amp;#8217;t blame it on Symfony. Its developers have done a great job releasing an excellent web framework using PHP language as its foundation.&lt;/p&gt;
&lt;p&gt;However, the PHP programming language (at least in its current incarnation v5.x) while makes great things possible unfortunately make them greatly ugly at the same time. To be fair, it&amp;#8217;s not hard to abuse Ruby if you want to get cryptic. But at least, Ruby programming language when used properly will yield beautiful and highly readable code like the above example.&lt;/p&gt;
&lt;p&gt;What&amp;#8217;s your take? Time to get &lt;em&gt;opinionated&lt;/em&gt;, guys! &lt;img src='http://www.adaruby.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' title="Why You Should Be Grateful for Coding in Ruby" /&gt; &lt;/p&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/gi/529710929/"&gt;Image credits&lt;/a&gt;&lt;/p&gt;


&lt;p&gt;No related posts.&lt;/p&gt;
&lt;p&gt;Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/t8-4Y-tmPchwCPfZ2aN5KCk_y4A/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/t8-4Y-tmPchwCPfZ2aN5KCk_y4A/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/t8-4Y-tmPchwCPfZ2aN5KCk_y4A/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/t8-4Y-tmPchwCPfZ2aN5KCk_y4A/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=dq4uOg1A02I:t2UjvGlfy0o:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=dq4uOg1A02I:t2UjvGlfy0o:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=dq4uOg1A02I:t2UjvGlfy0o:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=dq4uOg1A02I:t2UjvGlfy0o:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=dq4uOg1A02I:t2UjvGlfy0o:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=dq4uOg1A02I:t2UjvGlfy0o:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=dq4uOg1A02I:t2UjvGlfy0o:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=dq4uOg1A02I:t2UjvGlfy0o:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Web2WithRubyOnRails/~4/dq4uOg1A02I" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.adaruby.com/2010/02/03/be-grateful-coding-ruby-on-rails/#comments" thr:count="12" />
		<link rel="replies" type="application/atom+xml" href="http://www.adaruby.com/2010/02/03/be-grateful-coding-ruby-on-rails/feed/atom/" thr:count="12" />
		<thr:total>12</thr:total>
	<feedburner:origLink>http://www.adaruby.com/2010/02/03/be-grateful-coding-ruby-on-rails/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>ceefour</name>
						<uri>http://www.hendyirawan.com/</uri>
					</author>
		<title type="html"><![CDATA[Quest for The Fluid Web Framework]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Web2WithRubyOnRails/~3/OaKUolBkuoI/" />
		<id>http://www.adaruby.com/2010/01/08/quest-for-the-fluid-web-framework/</id>
		<updated>2010-01-10T05:25:02Z</updated>
		<published>2010-01-08T10:52:20Z</published>
		<category scheme="http://www.adaruby.com" term="Fluid Web" />		<summary type="html">
			
				
			
		
During my experience developing web applications, it&amp;#8217;s challenging to find the “best” web development approach of them all.I like these principles:

POJO approach. No inheritance, interfaces, minimal annotations. Configuration is all that&amp;#8217;s necessary.
Convention over Configuration. Even with POJO, some configuration is needed. Minimize configuration by using conventions. And document the conventions! Because conventions can sometimes be [...]


Related posts:&lt;ol&gt;&lt;li&gt;&lt;a href='http://www.adaruby.com/2009/12/21/three-ways-you-can-speed-up-your-fresh-rails-development/' rel='bookmark' title='Permanent Link: Three Ways You Can Speed Up Your Fresh Rails Development'&gt;Three Ways You Can Speed Up Your Fresh Rails Development&lt;/a&gt; &lt;small&gt; A Ruby on Rails web application I&amp;#8217;ve been developing...&lt;/small&gt;&lt;/li&gt;
&lt;/ol&gt;

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</summary>
		<content type="html" xml:base="http://www.adaruby.com/2010/01/08/quest-for-the-fluid-web-framework/">&lt;div class="tweetmeme_button" style="float: right; margin-left: 10px;"&gt;
			&lt;a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2010%2F01%2F08%2Fquest-for-the-fluid-web-framework%2F"&gt;&lt;br /&gt;
				&lt;img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2010%2F01%2F08%2Fquest-for-the-fluid-web-framework%2F&amp;amp;source=AdaRubyWeb&amp;amp;style=normal&amp;amp;service=bit.ly" height="61" width="50" title="Quest for The Fluid Web Framework" alt=" Quest for The Fluid Web Framework" /&gt;&lt;br /&gt;
			&lt;/a&gt;
		&lt;/div&gt;
&lt;div&gt;&lt;p&gt;During my experience developing web applications, it&amp;#8217;s challenging to find the “best” web development approach of them all.I like these principles:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;POJO approach.&lt;/strong&gt; No inheritance, interfaces, minimal annotations. Configuration is all that&amp;#8217;s necessary.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Convention over Configuration.&lt;/strong&gt; Even with POJO, some configuration is needed. Minimize configuration by using conventions. And document the conventions! Because conventions can sometimes be confusing.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;REST approach.&lt;/strong&gt; This is not anti-SOAP or anti-WS-*. It means designed for the web, and embrace resource-oriented and stateless principles.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Use JSON.&lt;/strong&gt; For browser-server communication JSON is preferable. Atom+XML is more suited for documents and server-server communication.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Decentralized.&lt;/strong&gt; Rather than one big app, decompose as much as possible. Decentralization means a more robust infrastructure is needed, and yes it means looking for trouble.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Resource-oriented.&lt;/strong&gt; Contrasts with page-oriented or procedural. Somewhat similar to object-oriented but with resource semantics. Kind of Objects than implement IResource.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Interoperable.&lt;/strong&gt; Services are exposed via JSON-REST API, AtomPub, or other mechanism. Can also consume other services easily&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Robust security infrastructure.&lt;/strong&gt; Provides sufficient authentication and authorization mechanisms, and easily programmable.&lt;/li&gt;
&lt;li&gt;“ &lt;strong&gt;Native”.&lt;/strong&gt; Blends with the host environment, even if just a simulation. jQTouch, Qt, Swing, are all good examples here.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Lightweight.&lt;/strong&gt; Prefers lightweight specialized frameworks, like Merb, Sinatra, than Ruby on Rails. Spring than Java EE. Heavy full-stack framworks (some call it “bloated”, though I don&amp;#8217;t believe that term anymore) does have its plus sides though, less headache is one of them.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Scalable.&lt;/strong&gt; Runs on a scalable clustered system like Google Apps Engine or Heroku. Also means dictated by scalability restrictions of the respective environments (more headaches).&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Reasonably Reusable.&lt;/strong&gt; I wanted cross-platform, but now it has expanded to cross-environment (with mobile devices and other stuff). So now I think some sort of reusability is desirable. For example, JavaScript logic that can be used by server-side desktop web application, server-side mobile web application, and client-side applications with embedded browser component.&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The  &lt;em&gt;Fluid Web framework&lt;/em&gt; (I made up that term) provides most of the benefits with a reasonable level of complexity and learning curve.&lt;/p&gt;
&lt;p&gt;Fluid Web will also use the best programming model for the task at hand. Divided broadly, there are three programming models in question:&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;POJO Model.&lt;/strong&gt; to Spring Programming Model. Also used in JavaScript and all Object-oriented programming languages. It&amp;#8217;s RPC and object-oriented.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;REST Model.&lt;/strong&gt; The “Web programming model” as Google calls it. This is less of an API and more of a protocol(s). It&amp;#8217;s resource-oriented or document-oriented.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Comet model.&lt;/strong&gt; Asynchronous programming model. Data is passed through several message channels. Everybody are clients, they can publish and subscribe to the channels. XMPP belongs here too.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;SQL model.&lt;/strong&gt; Great for accessing data stores declaratively. Also in this category: SPARQL for RDF triplets, YQL for web resources, GQL for Google Big Table, Microsoft&amp;#8217;s LINQ. Resulting data is document-oriented.&lt;/li&gt;
&lt;/ol&gt;
&lt;p&gt;I have been somewhat obsessed by this quest since a few years ago, and haven&amp;#8217;t yet found the true answer. Betting on it on a commercial project is also too risky. So I decided that I will do more experiments on it on a research basis, and share my experiences here.&lt;/p&gt;
&lt;p&gt;Feel free to share your ideas.&lt;/p&gt;
&lt;/div&gt;


&lt;p&gt;Related posts:&lt;ol&gt;&lt;li&gt;&lt;a href='http://www.adaruby.com/2009/12/21/three-ways-you-can-speed-up-your-fresh-rails-development/' rel='bookmark' title='Permanent Link: Three Ways You Can Speed Up Your Fresh Rails Development'&gt;Three Ways You Can Speed Up Your Fresh Rails Development&lt;/a&gt; &lt;small&gt; A Ruby on Rails web application I&amp;#8217;ve been developing...&lt;/small&gt;&lt;/li&gt;
&lt;/ol&gt;&lt;/p&gt;
&lt;p&gt;Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/foV0Ydcwwp-TbY8UkdQQkbmkkEo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/foV0Ydcwwp-TbY8UkdQQkbmkkEo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/foV0Ydcwwp-TbY8UkdQQkbmkkEo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/foV0Ydcwwp-TbY8UkdQQkbmkkEo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=OaKUolBkuoI:zT9n8olgl08:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=OaKUolBkuoI:zT9n8olgl08:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=OaKUolBkuoI:zT9n8olgl08:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=OaKUolBkuoI:zT9n8olgl08:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=OaKUolBkuoI:zT9n8olgl08:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=OaKUolBkuoI:zT9n8olgl08:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=OaKUolBkuoI:zT9n8olgl08:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=OaKUolBkuoI:zT9n8olgl08:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Web2WithRubyOnRails/~4/OaKUolBkuoI" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.adaruby.com/2010/01/08/quest-for-the-fluid-web-framework/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://www.adaruby.com/2010/01/08/quest-for-the-fluid-web-framework/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://www.adaruby.com/2010/01/08/quest-for-the-fluid-web-framework/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>ceefour</name>
						<uri>http://www.hendyirawan.com/</uri>
					</author>
		<title type="html"><![CDATA[Three Ways You Can Speed Up Your Fresh Rails Development]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Web2WithRubyOnRails/~3/UEehxyJTeOQ/" />
		<id>http://www.adaruby.com/?p=156</id>
		<updated>2009-12-21T08:58:30Z</updated>
		<published>2009-12-21T08:47:42Z</published>
		<category scheme="http://www.adaruby.com" term="Rails" /><category scheme="http://www.adaruby.com" term="Ajax" /><category scheme="http://www.adaruby.com" term="API" /><category scheme="http://www.adaruby.com" term="Cloud standards" /><category scheme="http://www.adaruby.com" term="controller" /><category scheme="http://www.adaruby.com" term="Dojo" /><category scheme="http://www.adaruby.com" term="JavaScript programming language" /><category scheme="http://www.adaruby.com" term="JSON" /><category scheme="http://www.adaruby.com" term="Representational State Transfer" /><category scheme="http://www.adaruby.com" term="resource model   REST conventions" /><category scheme="http://www.adaruby.com" term="Ruby on Rails" /><category scheme="http://www.adaruby.com" term="Software architecture" /><category scheme="http://www.adaruby.com" term="web application" /><category scheme="http://www.adaruby.com" term="Web application frameworks" /><category scheme="http://www.adaruby.com" term="web framework" />		<summary type="html">
			
				
			
		
A Ruby on Rails web application I&amp;#8217;ve been developing uses Dojo-based full AJAX frontend. I learned some new tricks during development, relearned old pitfalls, and found some mistakes that I&amp;#8217;d like to share with you.

Our team decided to implement the webapp in a non-conventional approach, using Dojo Toolkit-based full AJAX frontend, without using any ActionView [...]


No related posts.

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</summary>
		<content type="html" xml:base="http://www.adaruby.com/2009/12/21/three-ways-you-can-speed-up-your-fresh-rails-development/">&lt;div class="tweetmeme_button" style="float: right; margin-left: 10px;"&gt;
			&lt;a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2009%2F12%2F21%2Fthree-ways-you-can-speed-up-your-fresh-rails-development%2F"&gt;&lt;br /&gt;
				&lt;img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2009%2F12%2F21%2Fthree-ways-you-can-speed-up-your-fresh-rails-development%2F&amp;amp;source=AdaRubyWeb&amp;amp;style=normal&amp;amp;service=bit.ly" height="61" width="50" title="Three Ways You Can Speed Up Your Fresh Rails Development" alt=" Three Ways You Can Speed Up Your Fresh Rails Development" /&gt;&lt;br /&gt;
			&lt;/a&gt;
		&lt;/div&gt;
&lt;p&gt;A &lt;strong&gt;Ruby on Rails web application&lt;/strong&gt; I&amp;#8217;ve been developing uses &lt;strong&gt;Dojo-based full AJAX frontend&lt;/strong&gt;. I learned some new tricks during &lt;em&gt;development&lt;/em&gt;, relearned old pitfalls, and found some mistakes that I&amp;#8217;d like to share with you.&lt;/p&gt;
&lt;div id="attachment_157" class="wp-caption alignleft" style="width: 300px;"&gt;&lt;img class="size-medium wp-image-157 alignnone" title="execJumpingHurdle" src="http://www.adaruby.com/wp-content/uploads/2009/12/execJumpingHurdle-300x300.jpg" alt="execJumpingHurdle 300x300 Three Ways You Can Speed Up Your Fresh Rails Development" width="300" height="300" /&gt;&lt;/div&gt;
&lt;p&gt;Our team decided to implement the webapp in a non-conventional approach, using &lt;a href="http://www.dojotoolkit.org/" target="_blank"&gt;Dojo Toolkit&lt;/a&gt;-based full AJAX frontend, without using any ActionView functionality. It turned that it went quite well, but there are some things that we weren&amp;#8217;t aware of and now we know how to deal with it, and you will too. &lt;img src='http://www.adaruby.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' title="Three Ways You Can Speed Up Your Fresh Rails Development" /&gt;&lt;br /&gt;
Communication between backend and frontend is done using JSON REST API. Since there is pratically no view code in the server-side app, theoretically it would be more appropriate to use Sinatra instead of Rails. But we opted for Rails because of familiarity with all its eccentricasies and exoticism. It&amp;#8217;s not so much about learning the Sinatra framework, but more on what if we need to hack things out? (which we have personally proven to be time consuming)&lt;/p&gt;
&lt;h3&gt;1. Make Good Use of Integration Tests&lt;/h3&gt;
&lt;p&gt;Since the app uses SOFEA-style (Service Oriented Front End Architecture), I thought backend tests aren&amp;#8217;t so critical as it&amp;#8217;s replaceable by the front end (which is separate) itself.&lt;/p&gt;
&lt;p&gt;I was mostly wrong. Unit tests are still needed to test the backend implementation (with regard to database).&lt;/p&gt;
&lt;p&gt;But to my surprise, integration tests are more important than ever, even more than functional tests.&lt;/p&gt;
&lt;p&gt;Functional (controller) tests have limited use, I tend to skip it and it can even be misleading. Example: rendering string as JSON only outputs the string, but controller test won&amp;#8217;t know that, while integration test detects that the returned JSON is incorrect. Let me illustrate with a more concrete example.&lt;/p&gt;
&lt;p&gt;Wrong output:&lt;/p&gt;
&lt;pre class="brush: ruby;"&gt;@message = &amp;quot;Hello World&amp;quot;
render :json =&amp;gt; @message&lt;/pre&gt;
&lt;p&gt;Correct output:&lt;/p&gt;
&lt;pre class="brush: ruby;"&gt;@message = &amp;quot;Hello World&amp;quot;
render :json =&amp;gt; @message.to_sym&lt;/pre&gt;
&lt;p&gt;The first example returns just: &lt;em&gt;Hello World&lt;/em&gt;, without quotes, which is an incorrect JSON. Since JSON is parsed, a simple string must be surrounded by quotes (and encoded), hence the &lt;em&gt;to_sym&lt;/em&gt; &amp;#8216;hack&amp;#8217;.&lt;/p&gt;
&lt;h3&gt;2. Scaffolds Are Your Friend (or Leave Your Admin UI Alone for Now)&lt;/h3&gt;
&lt;p&gt;We thought we&amp;#8217;d say good bye to ActionView. Well, we did, but not to scaffolds.&lt;/p&gt;
&lt;p&gt;At first we focused on building the Admin UI, not so long before we realize we&amp;#8217;re trying to do something Rails is good enough to do it for a few (milli)seconds: &lt;strong&gt;scaffolding&lt;/strong&gt;.&lt;/p&gt;
&lt;p&gt;Building the UI with Dojo, Dijit, and DojoX was fun. When you get to know JavaScript more, it&amp;#8217;s not as scary as its reputation. And the resulting UI is awesome.&lt;/p&gt;
&lt;p&gt;But we spent too much time building the Admin UI with Dojo. It&amp;#8217;s not that the UI is hard or that we won&amp;#8217;t need it, but we don&amp;#8217;t need it now.&lt;/p&gt;
&lt;p&gt;Schemas may evolve (migrate), as development progresses, and we couldn&amp;#8217;t care less about how the Admin UI looks at this point.&lt;/p&gt;
&lt;p&gt;Another plus for Rails scaffolds (whichever your preferred flavor) is it can directly reflect the database. Not true with Dojo-based one. You can &lt;em&gt;rake db:migrate&lt;/em&gt; or change the model and voila, your Admin UI instantly has your changes.&lt;/p&gt;
&lt;h3&gt;3. Start Small&lt;/h3&gt;
&lt;p&gt;Two previous tips were more concrete, but this one is less of an action and more of&amp;#8230; Less.&lt;/p&gt;
&lt;p&gt;We tried to do more with more. We actually did less.&lt;/p&gt;
&lt;p&gt;Especially during new development, you need as much &lt;em&gt;instant gratification&lt;/em&gt; as possible.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Do less with more.&lt;/em&gt;&lt;/p&gt;
&lt;p&gt;Do something that 80% works with only 20% effort. Or better, something that 60% works just by using 1% of your time.&lt;/p&gt;
&lt;p&gt;I wrote specs too, the JSON specs, resource model, REST conventions. It looked pretty good&amp;#8230; until I found out it&amp;#8217;s not trivial to implement them in the server (and sometimes in the frontend).&lt;/p&gt;
&lt;p&gt;Not that it&amp;#8217;s not possible, but doing that will mean lots of additional logic in the controllers. Especially since Rails isn&amp;#8217;t primarily geared to being a REST resource framework, but a server-side MVC web framework with REST support. Even worse, these logic are duplicated in all controllers, and while trying to refactor them out, it feels like I&amp;#8217;m building a new framework of its own.&lt;/p&gt;
&lt;p&gt;My workaround was simple: &lt;strong&gt;Code what the app is supposed to do.&lt;/strong&gt;&lt;/p&gt;
&lt;p&gt;Leave the snazzies, extras, and toppings for later.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;And write tests.&lt;/em&gt;&lt;/p&gt;
&lt;h3&gt;Summing It Up&lt;/h3&gt;
&lt;p&gt;I&amp;#8217;ve to say that I have been enjoying developing a SOFEA-style web application in Rails. Probably there is a better way, yet Rails is quite general-purpose: Rails doesn&amp;#8217;t restrict us from doing what we wanted.&lt;/p&gt;
&lt;p&gt;&lt;em&gt;Writing backend tests&lt;/em&gt; is more important in SOFEA-style than traditional MVC webapps, because the frontend may not be fully developed and you need the tests to make sure the backend works.&lt;/p&gt;
&lt;p&gt;Liberal use of &lt;em&gt;Rails Scaffolds&lt;/em&gt; saves time. And &lt;em&gt;start with the shortest code&lt;/em&gt; that works.&lt;/p&gt;
&lt;p&gt;I want to know about your experiences too, please share it in the comments.&lt;/p&gt;


&lt;p&gt;No related posts.&lt;/p&gt;
&lt;p&gt;Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/v0kCybWrB6YaZPCW1Kb4vf4o2aU/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/v0kCybWrB6YaZPCW1Kb4vf4o2aU/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/v0kCybWrB6YaZPCW1Kb4vf4o2aU/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/v0kCybWrB6YaZPCW1Kb4vf4o2aU/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=UEehxyJTeOQ:-yfegYMyNwU:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=UEehxyJTeOQ:-yfegYMyNwU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=UEehxyJTeOQ:-yfegYMyNwU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=UEehxyJTeOQ:-yfegYMyNwU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=UEehxyJTeOQ:-yfegYMyNwU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=UEehxyJTeOQ:-yfegYMyNwU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=UEehxyJTeOQ:-yfegYMyNwU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=UEehxyJTeOQ:-yfegYMyNwU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Web2WithRubyOnRails/~4/UEehxyJTeOQ" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.adaruby.com/2009/12/21/three-ways-you-can-speed-up-your-fresh-rails-development/#comments" thr:count="3" />
		<link rel="replies" type="application/atom+xml" href="http://www.adaruby.com/2009/12/21/three-ways-you-can-speed-up-your-fresh-rails-development/feed/atom/" thr:count="3" />
		<thr:total>3</thr:total>
	<feedburner:origLink>http://www.adaruby.com/2009/12/21/three-ways-you-can-speed-up-your-fresh-rails-development/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>ceefour</name>
						<uri>http://www.hendyirawan.com/</uri>
					</author>
		<title type="html"><![CDATA[How to Use ActionView Helpers in Your Rails Controller]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Web2WithRubyOnRails/~3/8iVJbc5ZoRk/" />
		<id>http://www.adaruby.com/2009/12/16/how-to-use-actionview-helpers-in-your-rails-controller/</id>
		<updated>2009-12-16T06:01:09Z</updated>
		<published>2009-12-16T06:01:09Z</published>
		<category scheme="http://www.adaruby.com" term="Rails" />		<summary type="html">
			
				
			
		

  
Sometimes when developing a  Ruby on Rails web application, you want to  use an ActionView helper method inside your controller. The following tip is from  Gabriel Gironda 1.
This is incredibly straightforward and more of an occasional convenience, but I thought I&amp;#8217;d throw it out there anyway.
One use case is to [...]


No related posts.

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</summary>
		<content type="html" xml:base="http://www.adaruby.com/2009/12/16/how-to-use-actionview-helpers-in-your-rails-controller/">&lt;div class="tweetmeme_button" style="float: right; margin-left: 10px;"&gt;
			&lt;a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2009%2F12%2F16%2Fhow-to-use-actionview-helpers-in-your-rails-controller%2F"&gt;&lt;br /&gt;
				&lt;img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2009%2F12%2F16%2Fhow-to-use-actionview-helpers-in-your-rails-controller%2F&amp;amp;source=AdaRubyWeb&amp;amp;style=normal&amp;amp;service=bit.ly" height="61" width="50" title="How to Use ActionView Helpers in Your Rails Controller" alt=" How to Use ActionView Helpers in Your Rails Controller" /&gt;&lt;br /&gt;
			&lt;/a&gt;
		&lt;/div&gt;
&lt;div&gt;
&lt;p&gt; &lt;img border="0" height="282" name="graphics1" src="http://www.adaruby.com/wp-content/uploads/2009/12/sbres_1260943259_0__.jpg" width="425" title="How to Use ActionView Helpers in Your Rails Controller" alt="sbres 1260943259 0   How to Use ActionView Helpers in Your Rails Controller" /&gt; &lt;/p&gt;
&lt;p&gt;Sometimes when developing a  &lt;i&gt;Ruby on Rails web application&lt;/i&gt;, you want to  &lt;b&gt;use an ActionView helper method inside your controller&lt;/b&gt;. The following tip is from  &lt;a href="http://gabriel.gironda.org/articles/2006/02/08/using-helpers-inside-a-controller"&gt;Gabriel Gironda&lt;/a&gt; &lt;a class="sdfootnoteanc" href="#sdfootnote1sym" id="sdfootnote1anc" name="sdfootnote1anc"&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;This is incredibly straightforward and more of an occasional convenience, but I thought I&amp;#8217;d throw it out there anyway.&lt;/p&gt;
&lt;p&gt;One use case is to use  &lt;tt&gt;pluralize()&lt;/tt&gt; in a flash message and not have to do it by hand using the inflector. You could include  &lt;tt&gt;ActionView::Helpers::TextHelper&lt;/tt&gt; in the controller, but that fills your namespace with crap.&lt;/p&gt;
&lt;p&gt;Put this in the class  &lt;tt&gt;ApplicationController&lt;/tt&gt; instead:&lt;/p&gt;
&lt;pre&gt;
&lt;pre class="brush: ruby;"&gt;
  def help
    Helper.instance
  end

  class Helper
    include Singleton
    include ActionView::Helpers::TextHelper
  end
&lt;/pre&gt;
&lt;/pre&gt;
&lt;p&gt;Then you can just use it like so:&lt;/p&gt;
&lt;pre&gt;
&lt;pre class="brush: ruby;"&gt;
  def check_for_max_donkeys
    if Donkey.find_fit_donkeys.size ==
APP_SETTINGS['max_fit_donkeys']
      flash_error &amp;amp;quot;The maximum of
#{help.pluralize(APP_SETTINGS['max_fit_donkeys'], 'donkey')} has
been reached.&amp;amp;quot;
      redirect_to_index
    end
  end
&lt;/pre&gt;
&lt;/pre&gt;
&lt;p&gt;Don&amp;#8217;t use the method name &amp;#8220;helper&amp;#8221; because Rails already uses that. Just &amp;#8220;help&amp;#8221; works fine.&lt;/p&gt;
&lt;div id="sdfootnote1"&gt;
&lt;p class="sdfootnote"&gt; &lt;a class="sdfootnotesym" href="#sdfootnote1anc" id="sdfootnote1sym" name="sdfootnote1sym"&gt;1&lt;/a&gt; &lt;a href="http://gabriel.gironda.org/articles/2006/02/08/using-helpers-inside-a-controller"&gt;http://gabriel.gironda.org/articles/2006/02/08/using-helpers-inside-a-controller&lt;/a&gt; &lt;/p&gt;
&lt;/div&gt;
&lt;p&gt;&lt;br clear="left"&gt;&lt;/div&gt;


&lt;p&gt;No related posts.&lt;/p&gt;
&lt;p&gt;Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/SvtJRDoPCbC8B7WMhAPo-oifT_M/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SvtJRDoPCbC8B7WMhAPo-oifT_M/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/SvtJRDoPCbC8B7WMhAPo-oifT_M/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/SvtJRDoPCbC8B7WMhAPo-oifT_M/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=8iVJbc5ZoRk:Wki1xwFpsQc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=8iVJbc5ZoRk:Wki1xwFpsQc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=8iVJbc5ZoRk:Wki1xwFpsQc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=8iVJbc5ZoRk:Wki1xwFpsQc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=8iVJbc5ZoRk:Wki1xwFpsQc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=8iVJbc5ZoRk:Wki1xwFpsQc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=8iVJbc5ZoRk:Wki1xwFpsQc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=8iVJbc5ZoRk:Wki1xwFpsQc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Web2WithRubyOnRails/~4/8iVJbc5ZoRk" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.adaruby.com/2009/12/16/how-to-use-actionview-helpers-in-your-rails-controller/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.adaruby.com/2009/12/16/how-to-use-actionview-helpers-in-your-rails-controller/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	<feedburner:origLink>http://www.adaruby.com/2009/12/16/how-to-use-actionview-helpers-in-your-rails-controller/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>ceefour</name>
						<uri>http://www.hendyirawan.com/</uri>
					</author>
		<title type="html"><![CDATA[NetBeans IDE 6.8 Released &#8212; with Enhanced Ruby on Rails Support!]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Web2WithRubyOnRails/~3/HmkyX40C1Uc/" />
		<id>http://www.adaruby.com/2009/12/14/netbeans-ide-6-8-released-with-enhanced-ruby-on-rails-support/</id>
		<updated>2009-12-14T20:35:03Z</updated>
		<published>2009-12-14T20:35:03Z</published>
		<category scheme="http://www.adaruby.com" term="Tools" />		<summary type="html">
			
				
			
		

  
 NetBeans IDE version 6.8 has been released, Sun Microsystems&amp;#8217; newest flagship programming environment. Primarily targeted at Java programmers, NetBeans also sports a very polished  IDE for Ruby on Rails developers.
New NetBeans 6.8 features and improvements for Ruby on Rails include:


Upgraded bundled JRuby to 1.4


Ruby 1.9 debugging support


Run/Debug File with arguments


Support for [...]


No related posts.

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</summary>
		<content type="html" xml:base="http://www.adaruby.com/2009/12/14/netbeans-ide-6-8-released-with-enhanced-ruby-on-rails-support/">&lt;div class="tweetmeme_button" style="float: right; margin-left: 10px;"&gt;
			&lt;a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2009%2F12%2F14%2Fnetbeans-ide-6-8-released-with-enhanced-ruby-on-rails-support%2F"&gt;&lt;br /&gt;
				&lt;img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2009%2F12%2F14%2Fnetbeans-ide-6-8-released-with-enhanced-ruby-on-rails-support%2F&amp;amp;source=AdaRubyWeb&amp;amp;style=normal&amp;amp;service=bit.ly" height="61" width="50" title="NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" alt=" NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" /&gt;&lt;br /&gt;
			&lt;/a&gt;
		&lt;/div&gt;
&lt;div&gt;
&lt;p&gt; &lt;img border="0" height="157" name="graphics4" src="http://www.adaruby.com/wp-content/uploads/2009/12/sbres_1260822883_0__.png" style=";text-align:bottom" width="289" title="NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" alt="sbres 1260822883 0   NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" /&gt; &lt;/p&gt;
&lt;p&gt; &lt;b&gt;&lt;a href="http://netbeans.org/"&gt;NetBeans IDE&lt;/a&gt; version 6.8&lt;/b&gt; has been released, Sun Microsystems&amp;#8217; newest flagship programming environment. Primarily targeted at Java programmers, NetBeans also sports a very polished  &lt;b&gt;IDE for Ruby on Rails&lt;/b&gt; developers.&lt;/p&gt;
&lt;p&gt;New NetBeans 6.8 features and improvements for Ruby on Rails include:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Upgraded bundled JRuby to 1.4&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Ruby 1.9 debugging support&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Run/Debug File with arguments&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Support for running/debugging files that are not part of a project&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Improved handling of inherited methods in rename refactoring&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Possibility to specify arguments for Rails servers&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Navigation support for ActiveRecord associations&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;RSpec 1.2.9 support&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Faster and more accurate type inference&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Improved navigation for accessor methods created by attr, attr_accessor and attr_reader&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Support for creating Rails 2.3.4 apps with dispatchers&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;img border="0" height="136" name="graphics1" src="http://www.adaruby.com/wp-content/uploads/2009/12/sbres_1260822883_1__.png" style=";text-align:bottom" width="358" title="NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" alt="sbres 1260822883 1   NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" /&gt;&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Ability to uninstall a specific gem version.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;img border="0" height="277" name="graphics2" src="http://www.adaruby.com/wp-content/uploads/2009/12/sbres_1260822883_2__.png" style=";text-align:bottom" width="501" title="NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" alt="sbres 1260822883 2   NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" /&gt; &lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Type assertions for method return types, use&amp;nbsp; &lt;code&gt;:return:=&amp;gt; (type)&lt;/code&gt; in the method&amp;#8217;s rdoc, e.g.:  &lt;code&gt;#:return:=&amp;gt;String&lt;/code&gt;&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt; &lt;img border="0" height="107" name="graphics3" src="http://www.adaruby.com/wp-content/uploads/2009/12/sbres_1260822883_3__.png" style=";text-align:bottom" width="262" title="NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" alt="sbres 1260822883 3   NetBeans IDE 6.8 Released    with Enhanced Ruby on Rails Support!" /&gt;&lt;/p&gt;
&lt;p&gt;Other improvements include:&lt;/p&gt;
&lt;h3&gt;Database/SQL Improvements&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Database integration: Code completion in SQL Editor now also for DELETE, DROP, UPDATE statements, and for reserved keywords&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Embedded Browser&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;There is a brand new embedded browser based on Mozilla XULRunner available on Update Center for MS Windows.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The Browser is disabled by default.  &lt;b&gt;To enable it&lt;/b&gt; use Tools &amp;gt; Options and select &amp;#8216;Embedded Mozilla Browser&amp;#8217; as Web Browser.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;The Embedded Browser is used to display all links (that would be normally opened in the external browser) inside the IDE as Editor tabs.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;The Embedded Browser in IDE is very new thing and we would like to gather a lot of feedback about it. Should you find some issue then please  &lt;a href="https://netbeans.org/bugzilla/enter_bug.cgi?product=platform&amp;#038;component=Embedded+Browser&amp;#038;version=6.8"&gt;file a bug report&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;Embedded Browser requires 32-bit JDK.&lt;/p&gt;
&lt;h3&gt;&lt;a id="Web_Preview_for_HTML_and_CSS" name="Web_Preview_for_HTML_and_CSS"&gt;&lt;/a&gt;Web Preview for HTML and CSS&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Embedded Browser (EB) component is used for HTML file preview that is opened in Output area and user can preview changes while editing (simply by saving the file) without jumping between external editor and NetBeans IDE.&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;EB is also used for CSS editor where it replaces previous HTML rendering component, so user can see CSS changes in real-world internet browser.&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;p&gt;Note: Both preview can be used only on Windows after downloading Web Preview and Embedded Browser modules from UC&lt;/p&gt;
&lt;h3&gt;Kenai.com: Connected Developer&lt;/h3&gt;
&lt;ul&gt;
&lt;li&gt;
&lt;p&gt;Full JIRA support (plugin from update center)&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Project dashboard with more member and project details, improved search and navigation, easier project sharing&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Improved instant messenger integration: Online presence, private and group chat with Kenai members, easy to add links to code / files /issues / stack traces to messages&lt;/p&gt;
&lt;/li&gt;
&lt;li&gt;
&lt;p&gt;Improved issue tracker integration&lt;/p&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;h3&gt;Download NetBeans IDE&lt;/h3&gt;
&lt;p&gt;Start developing Ruby on Rails web applications faster with this full-featured IDE,  &lt;a href="http://netbeans.org/downloads/"&gt;download and install NetBeans here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;br clear="left"&gt;&lt;/div&gt;


&lt;p&gt;No related posts.&lt;/p&gt;
&lt;p&gt;Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/RdGMH7UZXz62sVSJtwEk1KSilMo/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RdGMH7UZXz62sVSJtwEk1KSilMo/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/RdGMH7UZXz62sVSJtwEk1KSilMo/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/RdGMH7UZXz62sVSJtwEk1KSilMo/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=HmkyX40C1Uc:g8Z6Tc6WAD8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=HmkyX40C1Uc:g8Z6Tc6WAD8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=HmkyX40C1Uc:g8Z6Tc6WAD8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=HmkyX40C1Uc:g8Z6Tc6WAD8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=HmkyX40C1Uc:g8Z6Tc6WAD8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=HmkyX40C1Uc:g8Z6Tc6WAD8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=HmkyX40C1Uc:g8Z6Tc6WAD8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=HmkyX40C1Uc:g8Z6Tc6WAD8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Web2WithRubyOnRails/~4/HmkyX40C1Uc" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.adaruby.com/2009/12/14/netbeans-ide-6-8-released-with-enhanced-ruby-on-rails-support/#comments" thr:count="1" />
		<link rel="replies" type="application/atom+xml" href="http://www.adaruby.com/2009/12/14/netbeans-ide-6-8-released-with-enhanced-ruby-on-rails-support/feed/atom/" thr:count="1" />
		<thr:total>1</thr:total>
	<feedburner:origLink>http://www.adaruby.com/2009/12/14/netbeans-ide-6-8-released-with-enhanced-ruby-on-rails-support/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>ceefour</name>
						<uri>http://www.hendyirawan.com/</uri>
					</author>
		<title type="html"><![CDATA[Aquarium 0.4.2: Aspect-Oriented Programming for Ruby]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Web2WithRubyOnRails/~3/i5PlQRJX4YM/" />
		<id>http://adaruby.com/2008/05/27/aquarium-042-aspect-oriented-programming-for-ruby/</id>
		<updated>2009-12-03T04:31:56Z</updated>
		<published>2008-05-28T03:48:23Z</published>
		<category scheme="http://www.adaruby.com" term="JRuby" /><category scheme="http://www.adaruby.com" term="Reviews" /><category scheme="http://www.adaruby.com" term="Ruby" /><category scheme="http://www.adaruby.com" term="Tutorials" /><category scheme="http://www.adaruby.com" term="Aquarium" /><category scheme="http://www.adaruby.com" term="java" /><category scheme="http://www.adaruby.com" term="Programming" />		<summary type="html">
			
				
			
		
Aquarium is a framework that implements Aspect-Oriented Programming (AOP) for Ruby. The premise of AOP is that some concerns in an application will  cut across the natural object boundaries of the problem domain. Rather than scatter duplicated code in each object to handle the cross-cutting concern, AOP modularizes the specification of which execution points [...]


No related posts.

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</summary>
		<content type="html" xml:base="http://www.adaruby.com/2008/05/27/aquarium-042-aspect-oriented-programming-for-ruby/">&lt;div class="tweetmeme_button" style="float: right; margin-left: 10px;"&gt;
			&lt;a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F05%2F27%2Faquarium-042-aspect-oriented-programming-for-ruby%2F"&gt;&lt;br /&gt;
				&lt;img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F05%2F27%2Faquarium-042-aspect-oriented-programming-for-ruby%2F&amp;amp;source=AdaRubyWeb&amp;amp;style=normal&amp;amp;service=bit.ly" height="61" width="50" title="Aquarium 0.4.2: Aspect Oriented Programming for Ruby" alt=" Aquarium 0.4.2: Aspect Oriented Programming for Ruby" /&gt;&lt;br /&gt;
			&lt;/a&gt;
		&lt;/div&gt;
&lt;p&gt;Aquarium is a framework that implements Aspect-Oriented Programming (AOP) for Ruby. The premise of AOP is that some concerns in an application will  cut across the natural object boundaries of the problem domain. Rather than scatter duplicated code in each object to handle the cross-cutting concern, AOP modularizes the specification of which execution points are affected (called join points) and the actions that should be invoked at those points.&lt;/p&gt;
&lt;p&gt;&lt;strong&gt;New in V0.4.0&lt;/strong&gt;: Preliminary support for advising Java classes in JRuby! See the discussion &lt;a href="http://aquarium.rubyforge.org/jruby.html"&gt;here&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;See also the &lt;a href="http://rubyforge.org/projects/aquarium/"&gt;RubyForge project page&lt;/a&gt;.&lt;/p&gt;
&lt;h3&gt;&lt;strong&gt;Usage &lt;/strong&gt;&lt;/h3&gt;
&lt;p&gt;Aquarium provides a Domain Specific Language (DSL) with which you can express “aspectual” system behaviour in a modular way, &lt;em&gt;i.e.,&lt;/em&gt; using a succinct language and without repeating yourself all over your code base!&lt;/p&gt;
&lt;p&gt;Imagine you want to trace all invocations of the public, instance methods in all classes whose names end with “Service”. Here’s how you can implement that behavior in Aquarium:&lt;/p&gt;
&lt;pre&gt;
&lt;pre class="brush: ruby;"&gt;class ServiceTracer
    include Aquarium::Aspects::DSL::AspectDSL
    before :calls_to =&amp;gt; :all_methods, :in_types =&amp;gt; /Service$/ do |join_point, object, *args|
      log &amp;quot;Entering: #{join_point.target_type.name}##{join_point.method_name}: object = #{object}, args = #{args}&amp;quot;
    end
    after :calls_to =&amp;gt; :all_methods, :in_types =&amp;gt; /Service$/ do |join_point, object, *args|
      log &amp;quot;Leaving: #{join_point.target_type.name}##{join_point.method_name}: object = #{object}, args = #{args}&amp;quot;
    end
end&lt;/pre&gt;
&lt;p&gt;A more succinct implementation of this behavior uses &lt;code&gt;#around&lt;/code&gt; advice:&lt;/pre&gt;
&lt;pre&gt;
&lt;pre class="brush: ruby;"&gt;class ServiceTracer
    include Aquarium::Aspects::DSL::AspectsDSL
    around :calls_to =&amp;gt; :all_methods, :in_types =&amp;gt; /Service$/ do |join_point, object, *args|
      log &amp;quot;Entering: #{join_point.target_type.name}##{join_point.method_name}: object = #{object}, args = #{args}&amp;quot;
      result = join_point.proceed
      log &amp;quot;Leaving: #{join_point.target_type.name}##{join_point.method_name}: object = #{object}, args = #{args}&amp;quot;
      result  # block needs to return the result of the &amp;quot;proceed&amp;quot;!
    end
end&lt;/pre&gt;
&lt;p&gt;See the &lt;a href="http://aquarium.rubyforge.org/examples.html"&gt;Examples&lt;/a&gt; and the &lt;a href="http://aquarium.rubyforge.org/documentation/API/index.html"&gt;API&lt;/a&gt; section for more details.&lt;/pre&gt;
&lt;p&gt;&lt;strong&gt;Start Here &lt;/strong&gt;&lt;/p&gt;
&lt;pre class="brush: bash;"&gt;$ gem install -y aquarium&lt;/pre&gt;
&lt;p&gt;See the &lt;a href="http://aquarium.rubyforge.org/download.html"&gt;download&lt;/a&gt; page for different options or go directly to &lt;a href="http://rubyforge.org/frs/?group_id=4281"&gt;Rubyforge download&lt;/a&gt; page.&lt;/p&gt;
&lt;p&gt;more resources: &lt;a href="http://aquarium.rubyforge.org/"&gt;Aquarium.rubyforge home page&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;No related posts.&lt;/p&gt;
&lt;p&gt;Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/-IOkYtOoxK09SwNxGg9gPJ9z7Ds/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-IOkYtOoxK09SwNxGg9gPJ9z7Ds/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/-IOkYtOoxK09SwNxGg9gPJ9z7Ds/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/-IOkYtOoxK09SwNxGg9gPJ9z7Ds/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=i5PlQRJX4YM:oYSrlfJwBRM:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=i5PlQRJX4YM:oYSrlfJwBRM:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=i5PlQRJX4YM:oYSrlfJwBRM:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=i5PlQRJX4YM:oYSrlfJwBRM:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=i5PlQRJX4YM:oYSrlfJwBRM:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=i5PlQRJX4YM:oYSrlfJwBRM:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=i5PlQRJX4YM:oYSrlfJwBRM:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=i5PlQRJX4YM:oYSrlfJwBRM:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Web2WithRubyOnRails/~4/i5PlQRJX4YM" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.adaruby.com/2008/05/27/aquarium-042-aspect-oriented-programming-for-ruby/#comments" thr:count="2" />
		<link rel="replies" type="application/atom+xml" href="http://www.adaruby.com/2008/05/27/aquarium-042-aspect-oriented-programming-for-ruby/feed/atom/" thr:count="2" />
		<thr:total>2</thr:total>
	<feedburner:origLink>http://www.adaruby.com/2008/05/27/aquarium-042-aspect-oriented-programming-for-ruby/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>ceefour</name>
						<uri>http://www.hendyirawan.com/</uri>
					</author>
		<title type="html"><![CDATA[A Server Hard Drive Crash :(]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Web2WithRubyOnRails/~3/e-gd844C-Dw/" />
		<id>http://adaruby.com/2008/05/12/a-server-hard-drive-crash/</id>
		<updated>2008-05-12T10:31:32Z</updated>
		<published>2008-05-12T10:31:32Z</published>
		<category scheme="http://www.adaruby.com" term="Complaints" /><category scheme="http://www.adaruby.com" term="News" /><category scheme="http://www.adaruby.com" term="Opinions" />		<summary type="html">
			
				
			
		
Just got a server hard drive crash  
We should be back operational soon. In the mean time please bear with us. Thank you.  


No related posts.
Related posts brought to you by Yet Another Related Posts Plugin.


No related posts.

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</summary>
		<content type="html" xml:base="http://www.adaruby.com/2008/05/12/a-server-hard-drive-crash/">&lt;div class="tweetmeme_button" style="float: right; margin-left: 10px;"&gt;
			&lt;a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F05%2F12%2Fa-server-hard-drive-crash%2F"&gt;&lt;br /&gt;
				&lt;img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F05%2F12%2Fa-server-hard-drive-crash%2F&amp;amp;source=AdaRubyWeb&amp;amp;style=normal&amp;amp;service=bit.ly" height="61" width="50" title="A Server Hard Drive Crash :(" alt=" A Server Hard Drive Crash :(" /&gt;&lt;br /&gt;
			&lt;/a&gt;
		&lt;/div&gt;
&lt;p&gt;Just got a server hard drive crash &lt;img src='http://www.adaruby.com/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' title="A Server Hard Drive Crash :(" /&gt; &lt;/p&gt;
&lt;p&gt;We should be back operational soon. In the mean time please bear with us. Thank you. &lt;img src='http://www.adaruby.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' title="A Server Hard Drive Crash :(" /&gt; &lt;/p&gt;


&lt;p&gt;No related posts.&lt;/p&gt;
&lt;p&gt;Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/irrPJSr0wdvmSnr0vPQvkeTmu1E/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/irrPJSr0wdvmSnr0vPQvkeTmu1E/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/irrPJSr0wdvmSnr0vPQvkeTmu1E/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/irrPJSr0wdvmSnr0vPQvkeTmu1E/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=e-gd844C-Dw:S_ph22H9qVc:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=e-gd844C-Dw:S_ph22H9qVc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=e-gd844C-Dw:S_ph22H9qVc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=e-gd844C-Dw:S_ph22H9qVc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=e-gd844C-Dw:S_ph22H9qVc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=e-gd844C-Dw:S_ph22H9qVc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=e-gd844C-Dw:S_ph22H9qVc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=e-gd844C-Dw:S_ph22H9qVc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Web2WithRubyOnRails/~4/e-gd844C-Dw" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.adaruby.com/2008/05/12/a-server-hard-drive-crash/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.adaruby.com/2008/05/12/a-server-hard-drive-crash/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.adaruby.com/2008/05/12/a-server-hard-drive-crash/</feedburner:origLink></entry>
		<entry>
		<author>
			<name>ceefour</name>
						<uri>http://www.hendyirawan.com/</uri>
					</author>
		<title type="html"><![CDATA[Fixing RubyGems in Ubuntu Gutsy Installation]]></title>
		<link rel="alternate" type="text/html" href="http://feedproxy.google.com/~r/Web2WithRubyOnRails/~3/f28TYAsb2SE/" />
		<id>http://adaruby.com/2008/03/24/fixing-rubygems-in-ubuntu-gutsy-installation/</id>
		<updated>2008-03-24T11:57:08Z</updated>
		<published>2008-03-24T11:57:08Z</published>
		<category scheme="http://www.adaruby.com" term="Beginner" /><category scheme="http://www.adaruby.com" term="Complaints" /><category scheme="http://www.adaruby.com" term="Ruby" /><category scheme="http://www.adaruby.com" term="Tips" /><category scheme="http://www.adaruby.com" term="Tools" /><category scheme="http://www.adaruby.com" term="Tutorials" /><category scheme="http://www.adaruby.com" term="error" /><category scheme="http://www.adaruby.com" term="fix" /><category scheme="http://www.adaruby.com" term="gem" /><category scheme="http://www.adaruby.com" term="gems" /><category scheme="http://www.adaruby.com" term="gutsy" /><category scheme="http://www.adaruby.com" term="installation" /><category scheme="http://www.adaruby.com" term="rubygems.ruby" /><category scheme="http://www.adaruby.com" term="troubleshooting" /><category scheme="http://www.adaruby.com" term="tutorial" /><category scheme="http://www.adaruby.com" term="ubuntu" /><category scheme="http://www.adaruby.com" term="update" /><category scheme="http://www.adaruby.com" term="upgrade" />		<summary type="html">
			
				
			
		

Upgrading to the latest RubyGems in Ubuntu Gutsy is a bit non-straightforward. I&amp;#8217;d like to share a quick fix this time. It&amp;#8217;s trivial when you know it, but if not, a friend of mine has almost hosed his system just because of this annoying &amp;#8220;bug&amp;#8221;.
Installing Ruby in Ubuntu is pretty simple:
sudo aptitude install ruby ri [...]


No related posts.

Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.</summary>
		<content type="html" xml:base="http://www.adaruby.com/2008/03/24/fixing-rubygems-in-ubuntu-gutsy-installation/">&lt;div class="tweetmeme_button" style="float: right; margin-left: 10px;"&gt;
			&lt;a href="http://api.tweetmeme.com/share?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F03%2F24%2Ffixing-rubygems-in-ubuntu-gutsy-installation%2F"&gt;&lt;br /&gt;
				&lt;img src="http://api.tweetmeme.com/imagebutton.gif?url=http%3A%2F%2Fwww.adaruby.com%2F2008%2F03%2F24%2Ffixing-rubygems-in-ubuntu-gutsy-installation%2F&amp;amp;source=AdaRubyWeb&amp;amp;style=normal&amp;amp;service=bit.ly" height="61" width="50" title="Fixing RubyGems in Ubuntu Gutsy Installation" alt=" Fixing RubyGems in Ubuntu Gutsy Installation" /&gt;&lt;br /&gt;
			&lt;/a&gt;
		&lt;/div&gt;
&lt;p&gt;&lt;a href="http://www.flickr.com/photos/evil_genius_photography/1415180013/"&gt;&lt;img src="http://farm2.static.flickr.com/1098/1415180013_435881aab1.jpg?v=0" alt="Ruby-like firetruck" height="500" width="333" title="Fixing RubyGems in Ubuntu Gutsy Installation" /&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Upgrading to the latest &lt;a href="http://www.rubygems.org/"&gt;RubyGems&lt;/a&gt; in &lt;a href="http://www.ubuntu.com/"&gt;Ubuntu&lt;/a&gt; Gutsy is a bit non-straightforward. I&amp;#8217;d like to share a quick fix this time. It&amp;#8217;s trivial when you know it, but if not, a friend of mine has almost hosed his system just because of this annoying &amp;#8220;bug&amp;#8221;.&lt;/p&gt;
&lt;p&gt;Installing &lt;a href="http://www.ruby-lang.org/"&gt;Ruby&lt;/a&gt; in Ubuntu is pretty simple:&lt;/p&gt;
&lt;pre&gt;sudo aptitude install ruby ri irb rdoc rubygems libruby-extras libmysql-ruby ruby1.8-dev&lt;/pre&gt;
&lt;p&gt;(add other packages as you see fit)&lt;/p&gt;
&lt;p&gt;The problem occurs right after you upgrade RubyGems to the latest version:&lt;/p&gt;
&lt;pre&gt;sudo gem update --system&lt;/pre&gt;
&lt;p&gt;Then you get something like this:&lt;/p&gt;
&lt;pre&gt;ceefour@caliva:/usr/bin$ gem
/usr/bin/gem:23: uninitialized constant Gem::GemRunner (NameError)&lt;/pre&gt;
&lt;p&gt;Logging in and out doesn&amp;#8217;t work. The world is coming to an end!&lt;/p&gt;
&lt;p&gt;Don&amp;#8217;t worry, the world is still running. Check out your /usr/bin folder:&lt;/p&gt;
&lt;pre&gt;ceefour@caliva:/usr/bin$ ls -la gem*
-rwxr-xr-x 1 root root 701 2007-08-24 12:18 gem
-rwxr-xr-x 1 root root 698 2008-03-20 09:20 gem1.8
-rwxr-xr-x 1 root root  84 2008-03-20 09:20 gemlock
-rwxr-xr-x 1 root root  89 2008-03-20 09:20 gem_mirror
-rwxr-xr-x 1 root root  76 2008-03-20 09:20 gemri
-rwxr-xr-x 1 root root  89 2008-03-20 09:20 gem_server
-rwxr-xr-x 1 root root  86 2008-03-20 09:20 gemwhich&lt;/pre&gt;
&lt;p&gt;So, there is some mismatch between gem and gem1.8. The latter being the newer/correct version.&lt;/p&gt;
&lt;p&gt;Simply remove the &amp;#8220;gem&amp;#8221; one and replace (or link) it to the &amp;#8220;gem1.8&amp;#8243; one:&lt;/p&gt;
&lt;pre&gt;ceefour@caliva:/usr/bin$ sudo rm gem
ceefour@caliva:/usr/bin$ sudo ln -s gem1.8 gem&lt;/pre&gt;
&lt;p&gt;Now:&lt;/p&gt;
&lt;pre&gt;ceefour@caliva:/usr/bin$ gem -v
1.0.1&lt;/pre&gt;
&lt;p&gt;Presto! We&amp;#8217;re back in business. &lt;img src='http://www.adaruby.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' title="Fixing RubyGems in Ubuntu Gutsy Installation" /&gt; &lt;/p&gt;
&lt;p&gt;Interesting RubyGems articles:&lt;/p&gt;
&lt;ul&gt;
&lt;li&gt;&lt;a href="http://blog.fiveruns.com/2008/3/3/compiling-ruby-rubygems-and-rails-on-ubuntu"&gt;Compiling Ruby, RubyGems and Rails on Ubuntu&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://dmitterdorfer.blogspot.com/2006/01/ruby-gems-on-ubuntu-linux.html"&gt;Jag har litet bråttom: Ruby Gems on Ubuntu Linux&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://wafa.web.id/2008/01/20/ruby-rubygems-mirroring/"&gt;:: nEvEr gIVeUp :: » Ruby, RubyGems Mirroring&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.vmunix.com/mark/blog/archives/2006/04/08/ruby-gems-still-doesnt-work-on-104/"&gt;VMUNIX Blues » Blog Archive » Ruby GEMS still doesn’t work on 10.4?&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://digitalemagine.com/wordpress/archives/18"&gt;Stefano’s Blog(s) » The magic world of Ruby, Rails and RubyGems &amp;#8230;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.openlogic.com/blogs/2007/06/rubyrailsmysql-installation-h-e-double-hockey-sticks/"&gt;Ruby/RubyGems/Rails/MySQL installation h e double-hockey sticks &amp;#8230;&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;No related posts.&lt;/p&gt;
&lt;p&gt;Related posts brought to you by &lt;a href='http://mitcho.com/code/yarpp/'&gt;Yet Another Related Posts Plugin&lt;/a&gt;.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://feedads.g.doubleclick.net/~a/Jbeuo69N9J9UDyF09A8oNcq2XjY/0/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Jbeuo69N9J9UDyF09A8oNcq2XjY/0/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a href="http://feedads.g.doubleclick.net/~a/Jbeuo69N9J9UDyF09A8oNcq2XjY/1/da"&gt;&lt;img src="http://feedads.g.doubleclick.net/~a/Jbeuo69N9J9UDyF09A8oNcq2XjY/1/di" border="0" ismap="true"&gt;&lt;/img&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=f28TYAsb2SE:a0aH7Vbd00M:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=f28TYAsb2SE:a0aH7Vbd00M:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=f28TYAsb2SE:a0aH7Vbd00M:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=f28TYAsb2SE:a0aH7Vbd00M:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=f28TYAsb2SE:a0aH7Vbd00M:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=f28TYAsb2SE:a0aH7Vbd00M:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?a=f28TYAsb2SE:a0aH7Vbd00M:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/Web2WithRubyOnRails?i=f28TYAsb2SE:a0aH7Vbd00M:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/Web2WithRubyOnRails/~4/f28TYAsb2SE" height="1" width="1"/&gt;</content>
		<link rel="replies" type="text/html" href="http://www.adaruby.com/2008/03/24/fixing-rubygems-in-ubuntu-gutsy-installation/#comments" thr:count="0" />
		<link rel="replies" type="application/atom+xml" href="http://www.adaruby.com/2008/03/24/fixing-rubygems-in-ubuntu-gutsy-installation/feed/atom/" thr:count="0" />
		<thr:total>0</thr:total>
	<feedburner:origLink>http://www.adaruby.com/2008/03/24/fixing-rubygems-in-ubuntu-gutsy-installation/</feedburner:origLink></entry>
	</feed>
