<?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>Radical Behavior &#187; Ruby on Rails</title>
	<atom:link href="http://www.radicalbehavior.com/tag/ruby-on-rails/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.radicalbehavior.com</link>
	<description>a notepad by Josh Kenzer</description>
	<lastBuildDate>Tue, 20 Dec 2011 15:28:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>YouTube – Ruby on Rails vs PHP – RailsEnvy.com Commercial #3</title>
		<link>http://www.radicalbehavior.com/youtube-ruby-on-rails-vs-php-railsenvycom-commercial-3/</link>
		<comments>http://www.radicalbehavior.com/youtube-ruby-on-rails-vs-php-railsenvycom-commercial-3/#comments</comments>
		<pubDate>Wed, 12 Sep 2007 22:10:44 +0000</pubDate>
		<dc:creator>Josh Kenzer</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Funny]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.radicalbehavior.com/youtube-ruby-on-rails-vs-php-railsenvy.com-commercial-3/</guid>
		<description><![CDATA[YouTube &#8211; Ruby on Rails vs PHP &#8211; RailsEnvy.com Commercial #3 This video is hilarious. And oh so true.&#160;]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/p5EIrSM8dCA&#038;mode=user&#038;search="></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/p5EIrSM8dCA&#038;mode=user&#038;search=" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object>
<p><a href="http://www.youtube.com/watch?v=p5EIrSM8dCA&amp;mode=user&amp;search=">YouTube &#8211; Ruby on Rails vs PHP &#8211; RailsEnvy.com Commercial #3</a></p>
<p>This video is hilarious. And oh so true.&nbsp;</p>
]]></content:encoded>
			<wfw:commentRss>http://www.radicalbehavior.com/youtube-ruby-on-rails-vs-php-railsenvycom-commercial-3/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Django Web Framework for those who use Python</title>
		<link>http://www.radicalbehavior.com/django-web-framework-for-those-who-use-python/</link>
		<comments>http://www.radicalbehavior.com/django-web-framework-for-those-who-use-python/#comments</comments>
		<pubDate>Tue, 11 Sep 2007 03:06:47 +0000</pubDate>
		<dc:creator>Josh Kenzer</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Internet]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[Python]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://www.radicalbehavior.com/django-web-framework-for-those-who-use-python/</guid>
		<description><![CDATA[I&#8217;ve played with both Rails and CakePHP and found them both to be awesome development environments. However, after a few frustrating weeks of dealing with other&#8217;s PHP code (not related to CakePHP), I&#8217;ve determine that PHP is the equivalent of &#8230; <a href="http://www.radicalbehavior.com/django-web-framework-for-those-who-use-python/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img src="/wp-content/uploads/2007/09/hdr_logo.gif" style="border: 1px solid #000000; margin: 5px; padding: 2px; float: left" alt="Django Logo" /> I&#8217;ve played with both Rails and <a href="http://www.radicalbehavior.com/experimenting-with-cakephp/">CakePHP</a> and found them both to be awesome development environments. However, after a few frustrating weeks of dealing with other&#8217;s PHP code (not related to CakePHP), I&#8217;ve determine that PHP is the equivalent of today&#8217;s Perl (Perl lovers will hate this analogy). Perl allowed anyone to create great scripts that did awesome things. However, in the hands of a novice, Perl allowed for some pretty atrocious code.</p>
<p>Determined to never code in PHP again, I set out to choose between Ruby and Python. Both have very powerful feature sets for languages that are for the most part scripting languages. Many things went into the decision &#8211; a topic for another blog post, but I decided Python was the language I wanted to use moving forward.I had played with Python in the past, but in a few short days I went through the first 9 sections of the <a href="http://docs.python.org/tut/tut.html">tutorial at python.org</a>. Having coded for the better part of 10 years, it wasn&#8217;t difficult to pick up.</p>
<p>Immediately after this course, I jumped into <a href="http://www.djangoproject.com/">Django</a>. Django is the Python equivalent of Rails (Rails uses Ruby) or CakePHP for PHP. It has many similarities to Rails and a few differences. I&#8217;m still in the early learning stages of Django and only made it through the Pragmatic Programmer book with Rails, so I&#8217;d say I&#8217;m not yet qualified to compare and contrast the differences completely.</p>
<p>Two of the biggest differences from a development standpoint is URL handling and AJAX. URL handing is handled manually with Django and automatically with Rails. Handling URLs manually allows the developer to do some pretty amazing things, but it requires the developer to maintain url.py files. As far as AJAX, Rails has built in support meaning you are tied to the Prototype JavaScript library while Django allows the developer to use their own library of choice &#8211; I prefer <a href="http://jquery.com/">jQuery</a>. This choice means you have to handle all the AJAX yourself rather than leaving it to the framework. However, using views this is pretty painless in Django (views are equivalent to controllers in Rails).</p>
<p>Hosting is another difference to consider. I won&#8217;t go into all the ways that one could run Rails or Django, but I will say the most popular method for Django is mod_python for Apache. However, most web hosts don&#8217;t offer this as a default. And because of the popularity that Rails has achieved, more hosts are offering Rails hosting more than mod_python hosting. A lot more could be said on this topic.</p>
<p>All in all, I think either choice has some pros and cons. Hopefully more and more developers will migrate to one or the other and leave PHP behind. Good PHP developers will love the power and true object oriented nature of both Python and Ruby. Bad PHP developers should leave the coding up to professionals.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.radicalbehavior.com/django-web-framework-for-those-who-use-python/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Link Comeith and Goeith</title>
		<link>http://www.radicalbehavior.com/link-comeith-and-goeith/</link>
		<comments>http://www.radicalbehavior.com/link-comeith-and-goeith/#comments</comments>
		<pubDate>Wed, 09 May 2007 15:32:48 +0000</pubDate>
		<dc:creator>Josh Kenzer</dc:creator>
				<category><![CDATA[Internet]]></category>
		<category><![CDATA[Observations]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://www.radicalbehavior.com/link-comeith-and-goeith/</guid>
		<description><![CDATA[I found something interesting today. Apparently this week, the Wikipedia article on Twitter linked to my 5 question interview with Twitter developer Alex Payne under the References section. When I went to check out the link, I found it has &#8230; <a href="http://www.radicalbehavior.com/link-comeith-and-goeith/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I found something interesting today. Apparently this week, the <a href="http://en.wikipedia.org/wiki/Twitter">Wikipedia article on Twitter</a> linked to my <a href="http://www.radicalbehavior.com/5-question-interview-with-twitter-developer-alex-payne/">5 question interview with Twitter developer Alex Payne</a> under the References section. When I went to check out the link, I found it has been removed. I wonder if it was removed because someone thought I added it (self-promotion is a no-no on sites like Wikipedia) or because they didn&#8217;t think it was relevant to the Twitter &#8220;story.&#8221; I just hope it wasn&#8217;t removed because it might paint a picture around Ruby on Rails that the Rails community doesn&#8217;t agree with. I know that is a cynical idea, but if that is the case, I believe the interview extends the conversation on Rails more than it hurts it.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.radicalbehavior.com/link-comeith-and-goeith/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>5 Question Interview with Twitter Developer Alex Payne</title>
		<link>http://www.radicalbehavior.com/5-question-interview-with-twitter-developer-alex-payne/</link>
		<comments>http://www.radicalbehavior.com/5-question-interview-with-twitter-developer-alex-payne/#comments</comments>
		<pubDate>Thu, 29 Mar 2007 21:01:24 +0000</pubDate>
		<dc:creator>Josh Kenzer</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[5 Question Interview]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Web 2.0]]></category>

		<guid isPermaLink="false">http://www.radicalbehavior.com/5-question-interview-with-twitter-developer-alex-payne/</guid>
		<description><![CDATA[I reached out to one of the developers on the Twitter team and asked if he would answer 5 questions. Alex not only answered them but is very honest and up front with his answers. Thanks Alex! How did you &#8230; <a href="http://www.radicalbehavior.com/5-question-interview-with-twitter-developer-alex-payne/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p><img class="alignleft" style="border: 1px solid black; padding: 5px; float: left; margin: 5px;" src="http://www.radicalbehavior.com/wp-content/uploads/2007/03/alex-payne-twitter-developer.png" alt="Alex Payne - Twitter Developer" width="347" height="122" /></p>
<p>I reached out to one of the developers on the Twitter team and asked if he would answer 5 questions. Alex not only answered them but is very honest and up front with his answers. Thanks Alex!</p>
<ol>
<li><strong>How did you end up on the Twitter team? What is a little of your background?</strong>Pretty simple: they posted on their blog that they were looking for<br />
people in late 2006, and I jumped on it!  I think I replied within a<br />
few hours of the posting.  I starting doing contract work on Twitter<br />
earlier this year, and earlier this month I accepted a full-time job<br />
after working in the Obvious office for a week.  I&#8217;m moving out to<br />
San Francisco in mid-April, and I can&#8217;t wait to be out there with the<br />
rest of the team.I&#8217;ve lived most of my life in the Washington, DC area.  As one might<br />
guess, being in the nation&#8217;s capital means that everything revolves<br />
around politics.  Most of my early jobs were developing web<br />
applications for various non-profits, non-governmental organizations,<br />
and for-profits supporting campaigns and such.  I&#8217;ve also done some<br />
information security work (an equally ubiquitous industry around DC).I came to Rails after working in PHP like many developers, but I&#8217;ve<br />
never been a language purist.  I was looking at developing some Ruby-<br />
based blogging software with a friend a couple years before Rails was<br />
on the scene, but at that time it just wasn&#8217;t a friendly language for<br />
web endeavors.  When Rails first crossed my eyes I remember thinking,<br />
&#8220;cool, someone made Ruby work for web apps!&#8221;  I jumped right in to<br />
working with the early releases.</li>
<li><strong>How has Ruby on Rails been holding up to the increased load?</strong>By various metrics Twitter is the biggest Rails site on the net right<br />
now.  Running on Rails has forced us to deal with scaling issues -<br />
issues that any growing site eventually contends with &#8211; far sooner<br />
than I think we would on another framework.The common wisdom in the Rails community at this time is that scaling<br />
Rails is a matter of cost: just throw more CPUs at it.  The problem<br />
is that more instances of Rails (running as part of a Mongrel<br />
cluster, in our case) means more requests to your database.  At this<br />
point in time there&#8217;s no facility in Rails to talk to more than one<br />
database at a time.  The solutions to this are caching the hell out<br />
of everything and setting up multiple read-only slave databases,<br />
neither of which are quick fixes to implement.  So it&#8217;s not just<br />
cost, it&#8217;s time, and time is that much more precious when people can['t]<br />
reach your site.None of these scaling approaches are as fun and easy as developing<br />
for Rails.  All the convenience methods and syntactical sugar that<br />
makes Rails such a pleasure for coders ends up being absolutely<br />
punishing, performance-wise.  Once you hit a certain threshold of<br />
traffic, either you need to strip out all the costly neat stuff that<br />
Rails does for you (RJS, ActiveRecord, ActiveSupport, etc.) or move<br />
the slow parts of your application out of Rails, or both.It&#8217;s also worth mentioning that there shouldn&#8217;t be doubt in anybody&#8217;s<br />
mind at this point that Ruby itself is slow.  It&#8217;s great that people<br />
are hard at work on faster implementations of the language, but right<br />
now, it&#8217;s tough.  If you&#8217;re looking to deploy a big web application<br />
and you&#8217;re language-agnostic, realize that the same operation in Ruby<br />
will take less time in Python.  All of us working on Twitter are big<br />
Ruby fans, but I think it&#8217;s worth being frank that this isn&#8217;t one of<br />
those relativistic language issues.  Ruby is slow.</li>
<li><strong>How difficult has it been to add hardware to the environment?</strong>We&#8217;re hosted at Joyent, and they make the &#8220;throw more CPUs at it&#8221;<br />
approach easy.  We&#8217;ve been able to get new server containers<br />
provisioned within hours, generally.I&#8217;d like to experiment with Amazon EC2 to handle load spikes, but the<br />
prospective database latency is prohibitive.</li>
<li><strong>How large is the current Twitter road map?  How many features are you guys looking to add?</strong>Not to be evasive, but it&#8217;s hard to say right now.  There&#8217;s a lot<br />
that we&#8217;d like to do while still maintaining a simple, focused, easy-<br />
to-use service.  Lots of people are interested in a groups feature,<br />
and that&#8217;s definitely on our radar.  There&#8217;s lots of good stuff coming!</li>
<li><strong>How do you see Twitter affecting the blogosphere, IM, SMS, and Email?</strong>I don&#8217;t think Twitter is a replacement for blogging, just as I don&#8217;t<br />
think blogging is a replacement for journalism.  As far as<br />
communicating ideas to an audience, one-to-many, Twitter works best<br />
for those particular ideas that are terse yet expressive, and don&#8217;t<br />
benefit greatly from an in-place thread of replies.  For more<br />
personal (some might say mundane) updates, I think Twitter is a<br />
better fit than a blog.  People are going to talk about their cats,<br />
inevitably, but do you really want someone talking about their cat in<br />
more than 140 characters?I think the real power of Twitter is its ability to channel over<br />
different mediums at the user&#8217;s whim.   IM, SMS, email, and the web<br />
are just transports as far as Twitter is concerned.  Generally, you<br />
have to go out and get information via whatever medium that<br />
information is on.  With Twitter, information can come to you via<br />
whatever medium you prefer.  Or, if you want some space, you can<br />
easily turn off the information tap with a simple &#8220;off&#8221; command.<br />
That&#8217;s powerful.</li>
</ol>
<p style="padding: 5px; float: left"><script type="text/javascript"><!--
 google_ad_client = "pub-0801379345962435"; google_ad_width = 336; google_ad_height = 280; google_ad_format = "336x280_as"; google_ad_type = "text_image"; //2007-06-21: Radical Behavior google_ad_channel = "1325346712"; //-->
// --&gt;</script><br />
<script src="http://pagead2.googlesyndication.com/pagead/show_ads.js" type="text/javascript"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://www.radicalbehavior.com/5-question-interview-with-twitter-developer-alex-payne/feed/</wfw:commentRss>
		<slash:comments>264</slash:comments>
		</item>
		<item>
		<title>Rails Script/Console Tip</title>
		<link>http://www.radicalbehavior.com/rails-scriptconsole-tip/</link>
		<comments>http://www.radicalbehavior.com/rails-scriptconsole-tip/#comments</comments>
		<pubDate>Thu, 29 Mar 2007 04:04:26 +0000</pubDate>
		<dc:creator>Josh Kenzer</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://www.radicalbehavior.com/rails-scriptconsole-tip/</guid>
		<description><![CDATA[Here&#8217;s a quick tip if you are using the Rails console to create/debug a project. If you make a change to one of your models, make sure you restart the console. I must have spent 30 minutes banging my head &#8230; <a href="http://www.radicalbehavior.com/rails-scriptconsole-tip/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a quick tip if you are using the Rails console to create/debug a project. If you make a change to one of your models, make sure you restart the console. I must have spent 30 minutes banging my head against the table trying to figure out why my model wasn&#8217;t working. Finally as a last resort, I restarted the console and bingo.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.radicalbehavior.com/rails-scriptconsole-tip/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>On to Ruby on Rails</title>
		<link>http://www.radicalbehavior.com/on-to-ruby-on-rails/</link>
		<comments>http://www.radicalbehavior.com/on-to-ruby-on-rails/#comments</comments>
		<pubDate>Mon, 07 Aug 2006 19:44:33 +0000</pubDate>
		<dc:creator>Josh Kenzer</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[Web]]></category>

		<guid isPermaLink="false">http://www.radicalbehavior.com/on-to-ruby-on-rails/</guid>
		<description><![CDATA[After spending some time evaluating content management software and blogging software, I wanted to get back to roots and do some actual programming. I&#8217;ve had an idea for a web 2.0 applications for awhile and want to use it as &#8230; <a href="http://www.radicalbehavior.com/on-to-ruby-on-rails/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>After spending some time evaluating <a href="http://thekenzers.com/joshkenzer/2006/06/30/its-the-little-things/">content management software</a> and <a href="http://thekenzers.com/joshkenzer/2006/06/30/switched-from-blogger-to-wordpress/">blogging software</a>, I wanted to get back to roots and do some actual programming.  I&#8217;ve had an idea for a web 2.0 applications for awhile and want to use it as an excuse to learn Ruby on Rails.  I listened to the <a href="http://www.twit.tv/itn30">Inside the Net podcast</a> where they interviewed David Heinemeier Hansson about creating Rails.  Saturday, I sat down and read a <a href="http://thekenzers.com/joshkenzer/developer.apple.com/tools/rubyonrails.html">couple</a> <a href="http://www.onlamp.com/pub/a/onlamp/2005/01/20/rails.html">of</a> <a href="http://www.onlamp.com/pub/a/onlamp/2005/03/03/rails.html">tutorials</a> and <a href="http://hivelogic.com/articles/2005/12/01/ruby_rails_lighttpd_mysql_tiger">installed</a> the development environment on my old G4 Powerbook.</p>
<p>It was a great experience.  I used to program in PHP a few years back and found this environment easy to learn and fun to code in.  I basically coded two applications from the tutorials and started a third on my own.  I can&#8217;t wait to learn more (I just bought <a href="http://www.pragmaticprogrammer.com/titles/rails/index.html">Agile Web Development with Rails</a> from <a href="http://www.pragmaticprogrammer.com/">The Pragmatic Programmer</a> site).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.radicalbehavior.com/on-to-ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

