<?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>jonlee.ca &#187; Ruby on Rails</title>
	<atom:link href="http://www.jonlee.ca/category/ruby-on-rails/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.jonlee.ca</link>
	<description>eat\ sleep\ code</description>
	<lastBuildDate>Wed, 21 Dec 2011 18:44:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Multilingual Programming Code</title>
		<link>http://www.jonlee.ca/multilingual-programming-code/</link>
		<comments>http://www.jonlee.ca/multilingual-programming-code/#comments</comments>
		<pubDate>Mon, 16 Nov 2009 13:29:47 +0000</pubDate>
		<dc:creator>Jon Lee</dc:creator>
				<category><![CDATA[programming]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[perl]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.jonlee.ca/?p=1075</guid>
		<description><![CDATA[I saw this piece of code mentioned on reddit and it absolutely blew my mind.  The code below is written in the Ruby programming language and when compiled, produces compilable Python code which is impressive in itself.  And when you compile the outputted Python code, it produces Perl code, which generates Lua code, which generates [...]]]></description>
			<content:encoded><![CDATA[<p>I saw this piece of code <a href="http://www.reddit.com/comments/a4j4a/whats_the_best_most_interesting_piece_of_code/">mentioned on reddit</a> and it absolutely blew my mind.  The code below is written in the <a href="http://www.ruby-lang.org/en/">Ruby programming language</a> and when compiled, produces compilable <a href="http://www.python.org/">Python</a> code which is impressive in itself.  And when you compile the outputted Python code, it produces <a href="http://www.perl.org/">Perl</a> code, which generates <a href="http://www.lua.org/home.html">Lua</a> code, which generates <a href="http://caml.inria.fr/ocaml/index.en.html">OCaml</a> code, which generates <a href="http://www.haskell.org/">Haskell</a> code, which generates <a href="http://en.wikipedia.org/wiki/C_%28programming_language%29">C</a> code, which generates <a href="http://java.sun.com/">Java</a> code, which generates <a href="http://www.muppetlabs.com/~breadbox/bf/">Brainfuck</a> code, which generates <a href="http://compsoc.dur.ac.uk/whitespace/">Whitespace</a> code, which generates <a href="http://www.madore.org/~david/programs/unlambda/">Unlambda</a> code.  And as a finale, the Unlambda brings everything full circle and generates the original Ruby code!  Truly an amazing piece of work.</p>
<blockquote style="overflow:scroll;width:400px;">
<pre><code># ruby
l=92.chr;eval s="s=s.dump[r=1..-2].gsub(/("+l*4+"){4,}(?!\")/){|t|'\"+l*%d+\"'%(t
.size/2)};5.times{s=s.dump[r]};puts\"# python\\nprint(\\\"# perl\\\\nprint(\\\\\\
\"# lua"+l*4+"nprint("+l*7+"\"(* ocaml *)"+l*8+"nprint_endline"+l*15+"\"-- haskel
l"+l*16+"nimport Data.List;import Data.Bits;import Data.Char;main=putStrLn("+l*31
+"\"/* C */"+l*32+"n#include&lt;stdio.h&gt;"+l*32+"nint main(void){char*s[501]={"+l*31+
"\"++intercalate"+l*31+"\","+l*31+"\"(c(tail(init(show("+l*31+"\"/* Java */"+l*32
+"npublic class QuineRelay{public static void main(String[]a){String[]s={"+l*31+"
\"++intercalate"+l*31+"\","+l*31+"\"(c("+l*31+"\"brainfuck"+l*64+"n++++++++[&gt;++++
&lt;-]+++++++++&gt;&gt;++++++++++"+l*31+"\"++(concat(snd(mapAccumL h 2("+l*31+"\"110"+l*31
+"\"++g(length s)++"+l*31+"\"22111211100111112021111102011112120012"+l*31+"\"++co
ncatMap("+l*32+"c-&gt;let d=ord c in if d&lt;11then"+l*31+"\"21002"+l*31+"\"else"+l*31+
"\"111"+l*31+"\"++g d++"+l*31+"\"22102"+l*31+"\")s++"+l*31+"\"2100211101012021122
2211211101000120211021120221102111000110120211202"+l*31+"\"))))))++"+l*31+"\","+l
*63+"\""+l*64+"n"+l*63+"\"};int i=0;for(;i&lt;94;i++)System.out.print(s[i]);}}"+l*31
+"\")))))++"+l*31+"\",0};int i=0;for(;s[i];i++)printf("+l*63+"\"%s"+l*63+"\",s[i]
);puts("+l*63+"\""+l*63+"\");return 0;}"+l*31+"\");c s=map("+l*32+"s-&gt;"+l*31+"\""
+l*63+"\""+l*31+"\"++s++"+l*31+"\""+l*63+"\""+l*31+"\")(unfoldr t s);t[]=Nothing;
t s=Just(splitAt(if length s&gt;w&amp;&amp;s!!w=='"+l*31+"\"'then 501else w)s);w=500;f 0=Not
hing;f x=Just((if x`mod`2&gt;0then '0'else '1'),x`div`2);g x= reverse (unfoldr f x);
h p c=let d=ord c-48in(d,replicate(abs(p-d))(if d&lt;p then '&lt;'else '&gt;')++"+l*31+"\"
."+l*31+"\");s="+l*31+"\"# ruby"+l*32+"n"+l*31+"\"++"+l*31+"\"l=92.chr;eval s=\"+
(z=l*31)+\"\\\"\"+s+z+\"\\\""+l*31+"\"++"+l*31+"\""+l*32+"n"+l*31+"\""+l*15+"\""+
l*7+"\")"+l*4+"n\\\\\\\")\\\")\"########### (c) Yusuke Endoh, 2009 ###########\n"
</code></pre>
</blockquote>
<p>To properly try this, you&#8217;ll require the following versions of each compiler:</p>
<blockquote>
<pre><code>* ruby 1.8.7-p72
* Python 2.5.2
* perl v5.10.0
* Lua 5.0.3
* OCaml 3.10.2
* ghc-6.8.2
* gcc 4.3.2
* java "1.5.0_17"
* beef 0.0.6-2
* whitespace 0.3-2
* unlambda 2.0.0-5
</code></pre>
</blockquote>
<p>Credit goes to <a href="http://d.hatena.ne.jp/ku-ma-me/20090916/p1">Yusuke Endoh</a> for this masterpiece of programming art.</p>
<img src="http://www.jonlee.ca/?ak_action=api_record_view&id=1075&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.jonlee.ca/multilingual-programming-code/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Switching from Rails back to PHP?</title>
		<link>http://www.jonlee.ca/switching-from-rails-back-to-php/</link>
		<comments>http://www.jonlee.ca/switching-from-rails-back-to-php/#comments</comments>
		<pubDate>Tue, 25 Sep 2007 03:25:40 +0000</pubDate>
		<dc:creator>Jon Lee</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[PHP]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.jonlee.ca/switching-from-rails-back-to-php/</guid>
		<description><![CDATA[This post is a response to Derek Siver&#8217;s post on the O&#8217;Reilly blog. Over two years ago, he decided to ditch a hundred thousand lines of messy PHP code in favor of rewriting his whole site with Ruby on Rails. Two years later, he isn&#8217;t even half done and has decided to go back to [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.jonlee.ca/wp-content/uploads/2007/08/rails.png" alt="Ruby on Rails Logo" align="right" />This post is a response to <a href="http://www.oreillynet.com/ruby/blog/2007/09/7_reasons_i_switched_back_to_p_1.html">Derek Siver&#8217;s post on the O&#8217;Reilly blog</a>.  Over two years ago, he decided to ditch a hundred thousand lines of messy PHP code in favor of rewriting his <a href="http://www.cdbaby.com">whole site</a> with Ruby on Rails.  Two years later, he isn&#8217;t even half done and has decided to go back to PHP. Just two months with PHP again and the project is complete.</p>
<p>He gives seven reasons of why he switched back to PHP after 2 years of unsuccessfully.  I agree with some but not others.  Here are his 7 reasons, you can read them in more detail on <a href="http://www.oreillynet.com/ruby/blog/2007/09/7_reasons_i_switched_back_to_p_1.html">the original post</a>.</p>
<ol>
<li><strong>Ã¢â‚¬Å“Is there anything Rails/Ruby can do that PHP can&#8217;t do? Ã¢â‚¬Â¦ (thinking)Ã¢â‚¬Â¦ NO.Ã¢â‚¬?</strong></li>
<li><strong>Our entire company&#8217;s stuff was in PHP: Don&#8217;t underestimate integration.</strong></li>
<li><strong>Don&#8217;t want what I don&#8217;t need.</strong></li>
<li><strong>It&#8217;s small and fast.</strong></li>
<li><strong>It&#8217;s built to my tastes.</strong></li>
<li><strong>I love SQL.<br />
</strong></li>
<li><strong>Programming languages are like girlfriends: The new one is better because *YOU* are better.</strong></li>
</ol>
<p><strong>Comparing Apples and Oranges</strong><br />
<img src="http://www.jonlee.ca/wp-content/uploads/2007/09/treehouse.jpg" alt="Building a Treehouse on Rails" align="right" />First of all, I would like to present the analogy of building a tree house.  You can either build a tree house with precut pieces of wood and material (Ruby on Rails) or you can build a tree house by chopping down your own trees and making your own pieces (PHP).</p>
<p>Building a typical tree house is very easy with precut pieces. It is then just a matter of putting things together in the right order.  However, if you wanted to deviate from a regular tree house and put in, say, an electric elevator, then you would have to find someone that has built something similar and copy it or modify your existing material to do so.</p>
<p>Building a tree house from chopping down your own trees is more time consuming but you have full control every step of the way.  If you want a circular piece of wood, then you create a circular piece of wood.  You still have some pre-built materials given to you like nails and screws (built-in PHP functionality) but all the custom stuff needs to be created.</p>
<p>Ruby on Rails is a <em>framework</em>.  It streamlines the process building a web application or website.  You can do many things with it but some may require little hacks and workarounds.  If one wishes to compare Rails and PHP, it would make more sense to compare Rails with a PHP framework such as <a href="http://www.zend.com/">Zend</a> or <a href="http://www.cakephp.org">CakePHP</a>.</p>
<p><strong>What I Do Agree With<br />
</strong><a href="http://www.amazon.com/gp/redirect.html%3FASIN=354073144X%26tag=jonleedotseee-20%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/354073144X%253FSubscriptionId=1N9AHEAQ2F6SVD97BE02" title="Click and drag this image to the post editor"><img src="http://ec1.images-amazon.com/images/I/21JqbSw5ypL.jpg" align="right" width="105" /></a>Although I think the comparison is a poor one, Derek does raise some very good points.  First, I do find that sometimes it is <em>easier to comply with what is already in place instead of trying to overhaul an entire system</em>.  I&#8217;ve worked at places where the entire system backend was built on layers and layers of poorly documented UNIX scripts.  It would take an enormous amount of time to go through and figure out exactly how everything fit together in order to recreate the whole system in a more structured manner.  Throughout the way, dependency problems will undoubtedly arise and everyone that has already gotten used to the old system will have to be retrained (which is no easy task).</p>
<p>Second, no matter how you look at it, <em>a properly written PHP application will be faster than a Rails application</em>.  One of the drawbacks with Rails is that it is said to be hard to scale.  There are solutions but for the same amount of computing power, PHP applications are typically more efficient since it leaves off a lot of extra unused fluff that is present in frameworks.</p>
<p>Anybody out there move back to PHP after trying Rails? I know I did for a while since I had a tight deadline on one project and couldn&#8217;t learn all the insides and outs of Rails in time.</p>
<img src="http://www.jonlee.ca/?ak_action=api_record_view&id=598&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.jonlee.ca/switching-from-rails-back-to-php/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>How-to: Portable Rails Development on a USB Drive</title>
		<link>http://www.jonlee.ca/how-to-portable-rails-development-on-a-usb-drive/</link>
		<comments>http://www.jonlee.ca/how-to-portable-rails-development-on-a-usb-drive/#comments</comments>
		<pubDate>Tue, 21 Aug 2007 04:14:06 +0000</pubDate>
		<dc:creator>Jon Lee</dc:creator>
				<category><![CDATA[How-to]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[aptana]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[portable-apps]]></category>
		<category><![CDATA[RadRails]]></category>
		<category><![CDATA[usb-drive]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.jonlee.ca/how-to-portable-rails-development-on-a-usb-drive/</guid>
		<description><![CDATA[As a follow up to a previous article about Portable Web Development on a USB Drive, here are a couple programs you can include to make it Ruby on Rails compatible. InstantRails In the original article, I recommended XAMPP Lite as a portable Apache, PHP, MySQL server that doesn&#8217;t require installation. You can add a [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.jonlee.ca/wp-content/uploads/2007/08/rails.png" alt="Ruby on Rails Logo" align="right" />As a follow up to a previous article about <a href="http://www.jonlee.ca/how-to-free-portable-web-development-on-a-usb-drive/">Portable Web Development on a USB Drive</a>, here are a couple programs you can include to make it <a href="http://www.jonlee.ca/ruby-on-rails-in-a-nutshell/">Ruby on Rails</a> compatible.</p>
<p><strong>InstantRails</strong><br />
In the original article, I recommended <a href="http://www.apachefriends.org/en/xampp-windows.html#646">XAMPP Lite</a> as a portable Apache, PHP, MySQL server that doesn&#8217;t require installation.  You can add a Rails installation to XAMPP but an easier way is to get <a href="http://instantrails.rubyforge.org/wiki/wiki.pl">InstantRails</a>.</p>
<p><img src="http://www.jonlee.ca/wp-content/uploads/2007/08/instant-rails.thumbnail.png" alt="InstantRails Logo" align="right" />InstantRails includes an Apache, PHP/MySQL and Rails preinstalled and preconfigured, all you need to do is to unzip it to your USB drive.  InstantRails is based off <a href="http://www.easyphp.org/">EasyPHP</a> (similar to XAMPP) so it is also extensible if you wish to install other software onto it as well.</p>
<p><strong>RadRails</strong><br />
<a href="http://www.aptana.com/download_rails_rdt.php">RadRails</a> is a plug-in for the <a href="http://www.jonlee.ca/my-new-favorite-ide-eclipse/">Eclipse IDE</a>.  It streamlines many of Rail&#8217;s features so you don&#8217;t even have to touch the command line to create or migrate your rail files.   RadRails is currently supported by the Aptana team so you can get it from the Aptana site as either a plug-in for Aptana/Eclipse.</p>
<p>Also, check out this post for instructions on <a href="http://www.jonlee.ca/how-to-run-eclipse-or-aptana-from-usb-drive/">configuring Aptana/Eclipse to run independently off a USB drive</a>.</p>
<p><strong>Configuring Aptana/Eclipse to work with InstantRails<br />
</strong>Before you can get started developing Rails applications, you&#8217;ll need to configure either Aptana or Eclipse to work with the InstantRails server.</p>
<p>To do this, navigate to Window-&gt;Preferences.</p>
<p>Under Ruby-&gt;Installed Interpreters, you&#8217;ll need to add a new RubyVM pointing to:</p>
<blockquote><p>\InstantRails\ruby</p></blockquote>
<p>Under Rails-&gt;Configuration (in version 3.3), set the Rails and Rake path to:</p>
<blockquote><p>\InstantRails\ruby\bin\rails<br />
\InstantRails\ruby\bin\rake</p></blockquote>
<p>These paths assume you have InstantRails unzipped to the root of the drive (which is recommended).</p>
<p>With all these Portable applications, it seems like 512mb drives might not be enough anymore!</p>
<img src="http://www.jonlee.ca/?ak_action=api_record_view&id=546&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.jonlee.ca/how-to-portable-rails-development-on-a-usb-drive/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>Review: Agile Web Development with Rails</title>
		<link>http://www.jonlee.ca/review-agile-web-development-with-rails/</link>
		<comments>http://www.jonlee.ca/review-agile-web-development-with-rails/#comments</comments>
		<pubDate>Fri, 13 Jul 2007 03:54:25 +0000</pubDate>
		<dc:creator>Jon Lee</dc:creator>
				<category><![CDATA[Reviews]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Agile-Web-Development-on-Rails]]></category>
		<category><![CDATA[book]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[review]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.jonlee.ca/review-agile-web-development-with-rails/</guid>
		<description><![CDATA[When I first decided to learn Ruby on Rails, I came across two book recommendations on the official Ruby on Rails site. The first book is an introduction to web development with Rails, called Agile Web Development with Rails. The second is called Rails Recipes which includes many tutorials on using Rails in various situations. [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/gp/redirect.html%3FASIN=0977616630%26tag=jonleedotseee-20%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0977616630%253FSubscriptionId=1N9AHEAQ2F6SVD97BE02" title="Click and drag this image to the post editor"><img src="http://ec1.images-amazon.com/images/I/21BR22K8SVL.jpg" align="right" width="133" /></a>When I first decided to learn Ruby on Rails, I came across <a href="http://www.rubyonrails.org/docs">two book recommendations</a> on the <a href="http://www.rubyonrails.org">official Ruby on Rails site</a>.  The first book is an introduction to web development with Rails, called Agile Web Development with Rails.  The second is called Rails Recipes which includes many tutorials on using Rails in various situations.  Not sure how deep I had wanted to dive into Rails, I only bought the first book.</p>
<p>I ordered mine (second edition) from Amazon and came out to about $25 US after tax and shipping.  When it arrived, I was surprised at the size of it.  I mean for only $25 I expected a nice compact introductory book but instead it came in at a hefty 700+ pages!  Talk about bang for your buck.</p>
<p><strong>The Authors</strong><br />
<a href="http://www.amazon.com/gp/redirect.html%3FASIN=0977616630%26tag=jonleedotseee-20%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0977616630%253FSubscriptionId=1N9AHEAQ2F6SVD97BE02" target="_blank">Agile Web Development with Rails</a> is written primarily by Dave Thomas (not the <a href="http://en.wikipedia.org/wiki/Dave_Thomas_%28American_businessman%29">late Wendy&#8217;s founder</a>) and David Heinemeier Hansson (creator of Rails).  Dave Thomas is of <a href="http://www.amazon.com/gp/redirect.html%3FASIN=020161622X%26tag=jonleedotseee-20%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/020161622X%253FSubscriptionId=1N9AHEAQ2F6SVD97BE02" target="_blank">The Pragmatic Programmer</a> fame (another book which I own and highly recommend).  His pragmatic philosophy of programming really shines through in this book.  This philosophy stresses the importance of being functional and practical (i.e. thinking ahead, writing highly maintainable and adaptable code etc.).  The style of writing is very easy to read and follow in that it offers tons of real-life examples and situations that really illustrate the points that are covered.</p>
<p><strong>Prerequisites</strong><br />
The book begins with the assumption that the reader has some prior knowledge of Ruby &#8212; if there is none, the Appendix provides a short but sufficient tutorial for any intermediate programmer to get started with.  There really isn&#8217;t much to Ruby &#8212; if you&#8217;ve done previous object-oriented programming, it&#8217;s just a matter of getting used to the syntax.</p>
<p><strong>Part 1 &#8211; Getting Started </strong><br />
The book is divided into 4 sections (plus an Appendix).  The first section gives a little introduction and some history on Ruby and Ruby on Rails.  It also walks the reader through the steps of acquiring the necessary software and development environments on the computer for all operating systems.  This section is simple enough and for the most part, can easily be skipped if you have some knowledge of Rails prior.</p>
<p><strong>Part 2 &#8211; Learning By Example</strong><br />
The second section walks the reader through the process of creating an <strong>entire web application in Rails</strong>.  In this case, a shopping cart program (that uses AJAX!).  I consider this to be the best part of the book.  I would recommend that you take your time going through this section and actually follow along on your own computer.  Also, I highly recommend doing the little exercises at the end of each chapter &#8212; if you&#8217;re stuck, there is always the <a href="http://http://fora.pragprog.com/agile-web-development-with-rails-2nd-ed">online forum where other readers of the book gather to tackle these extra exercises</a>. This &#8220;Learning by Example&#8221; method really gives you insight into the entire process of developing a web application.  As I was following through the example, it was simple to see how different concepts could be extended to my own projects and how easy it would be to implement compared to PHP!</p>
<p><strong>Part 3 &#8211; Rails Framework</strong><br />
<img src="http://www.jonlee.ca/wp-content/uploads/2007/05/rails.png" alt="Ruby on Rails" align="right" /> In most books, this section would come at the beginning.  It introduces the framework and goes into detail of what each component of it is responsible for.  But having already developed a web application, I found that the explanation of the framework suddenly made a lot more sense.  If anything, this section serves as very good reference material &#8212; meaning this isn&#8217;t just one of those read-it-and-forget-it books.</p>
<p><strong>Part 4 &#8211; Security and Deployment</strong><br />
After developing the newest and best web application, it is important to make sure it is secure and of course, deploy it.  The security section covered the usual stuff: <a href="http://www.jonlee.ca/what-is-an-sql-injection-attack/">SQL Injection attacks</a>, Cross-Site Scripting etc. This wasn&#8217;t too exciting since Rails has most of its bases covered.  What I was surprised by however, is how much detail the book went into when it came to deployment.  It talked about production servers, compared different web servers, discussed setting up the deployment server and finally the launch.</p>
<p><strong>Criticisms</strong><br />
My main criticism of the book is that although there is some humor, much of the book is very dry.  It wasn&#8217;t as fun a read as The Pragmatic Programmer but that could be due to the fact that the book features many guest writers aside from Dave and David.</p>
<p>Second, you would think that with all their web experience, they could <a href="http://www.pragmaticprogrammer.com/index.html">create a better looking website</a>!  It&#8217;s functional but could definitely use a bit of work in my opinion. But then again, we&#8217;re talking about web development and not web design.  Also, I got the feeling that Dave and David didn&#8217;t like <a href="http://www.vim.org">Vim</a> very much as they promoted <a href="http://www.gnu.org/software/emacs/">Emacs</a> in several places in the book!  <img src='http://www.jonlee.ca/wp-includes/images/smilies/icon_evil.gif' alt=':evil:' class='wp-smiley' /> </p>
<p><strong>Conclusion</strong><br />
If you&#8217;re a budding web developer looking to dive into the wonderful world of Rails, I would highly recommend this book as a starting point.  For those of you already familiar with Rails, this book would make a good reference but there are definitely better choices out there.  But really, for twenty-something bucks, you can&#8217;t really go wrong with this hefty little book jam-packed with information.</p>
<p>If anyone else has read this book or has a book recommendation for getting started with Rails, I&#8217;d love to hear your comments!</p>
<img src="http://www.jonlee.ca/?ak_action=api_record_view&id=445&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.jonlee.ca/review-agile-web-development-with-rails/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>My New Favorite IDE &#8211; Eclipse</title>
		<link>http://www.jonlee.ca/my-new-favorite-ide-eclipse/</link>
		<comments>http://www.jonlee.ca/my-new-favorite-ide-eclipse/#comments</comments>
		<pubDate>Thu, 07 Jun 2007 03:21:23 +0000</pubDate>
		<dc:creator>Jon Lee</dc:creator>
				<category><![CDATA[Efficiency]]></category>
		<category><![CDATA[Ruby on Rails]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[aptana]]></category>
		<category><![CDATA[eclipse]]></category>
		<category><![CDATA[IDE]]></category>
		<category><![CDATA[RadRails]]></category>
		<category><![CDATA[web development]]></category>

		<guid isPermaLink="false">http://www.jonlee.ca/my-new-favorite-ide-eclipse/</guid>
		<description><![CDATA[I&#8217;ve mentioned Aptana before as a very nice (free) alternative to Dreamweaver if you are primarily a coder like myself. I have been switching back and forth between the two for a while now, undecided on which one is better. On one hand, Dreamweaver has great FTP and site organization with an interface I&#8217;m very [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.jonlee.ca/wp-content/uploads/2007/03/aptana-logo.jpg" alt="Aptana Logo" align="right" />I&#8217;ve <a href="http://www.jonlee.ca/how-to-free-portable-web-development-on-a-usb-drive/">mentioned Aptana before</a> as a very nice (free) alternative to Dreamweaver if you are primarily a coder like myself.  I have been switching back and forth between the two for a while now, undecided on which one is better.  On one hand, Dreamweaver has great FTP and site organization with an interface I&#8217;m very used to.  On the other hand, Aptana is free, cross-platform and is designed more for the web coder than designer.  This past week sealed the deal.</p>
<p><img src="http://www.jonlee.ca/wp-content/uploads/2007/05/rails.png" alt="Ruby on Rails" align="left" />I&#8217;ve recently started playing with and using <a href="http://www.jonlee.ca/ruby-on-rails-in-a-nutshell/">Ruby on Rails</a> (it&#8217;s great by the way) and I am using <a href="http://www.aptana.com/download_rails_rdt.php">Radrails</a> as my editor.  Now Radrails isn&#8217;t a standalone editor, it is actually a plug-in for Aptana.  So with the great extensive Rails support, I can now comfortably leave Dreamweaver behind.  But wait, it gets better.</p>
<p>Aside from web development coding, I also do a lot of Java development as well.  Wouldn&#8217;t it be great to have a single development environment for all 3 languages? Enter Eclipse.</p>
<p><strong>Eclipse</strong><br />
<img src="http://www.jonlee.ca/wp-content/uploads/2007/06/eclipse-logo.gif" alt="Eclipse Logo" align="right" /> Perhaps this isn&#8217;t the first time you&#8217;ve heard about <a href="http://www.eclipse.org">Eclipse</a> but what I don&#8217;t think a lot of people realize is that <a href="http://www.aptana.com">Aptana</a> is built upon the Eclipse platform.  In fact, Aptana is available as a plug-in for Eclipse!  So after installing Eclipse with base Java support, the Aptana plug-in and the Radrails plug-in, you suddenly have a free all-in-one cross platform program for all your coding needs.  Additional plug-ins will extend support to pretty much any other language out there.</p>
<p style="text-align: center"><img src="http://www.jonlee.ca/wp-content/uploads/2007/06/eclipse-radrails-screenshot.gif" alt="Eclipse Screenshot running RadRails" /></p>
<p>One criticism of Aptana is its lack of PHP support and that&#8217;s where <a href="http://www.phpeclipse.net/tiki-view_articles.php">PHPEclipse</a> comes in. It&#8217;s not as good as Dreamweaver&#8217;s PHP support but for most uses, it&#8217;s fine.  So with Eclipse&#8217;s extensibility, Aptana and its integrated FTP, Radrails and its integrated everything-related-to-rails, you have one powerful web development tool.</p>
<p>Since it is cross-platform, this makes Linux look a little bit sweeter. Oh did I mention you can run it completely off a USB stick? (Instructions to follow soon!)</p>
<img src="http://www.jonlee.ca/?ak_action=api_record_view&id=328&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.jonlee.ca/my-new-favorite-ide-eclipse/feed/</wfw:commentRss>
		<slash:comments>19</slash:comments>
		</item>
		<item>
		<title>Ruby on Rails in a Nutshell</title>
		<link>http://www.jonlee.ca/ruby-on-rails-in-a-nutshell/</link>
		<comments>http://www.jonlee.ca/ruby-on-rails-in-a-nutshell/#comments</comments>
		<pubDate>Wed, 30 May 2007 02:11:03 +0000</pubDate>
		<dc:creator>Jon Lee</dc:creator>
				<category><![CDATA[Ruby on Rails]]></category>

		<guid isPermaLink="false">http://www.jonlee.ca/ruby-on-rails-in-a-nutshell/</guid>
		<description><![CDATA[Ruby on Rails is the latest craze (actually it&#8217;s been a craze for a while now, I&#8217;ve just been slow to adapt). If you haven&#8217;t tried it, then I would suggest you do so immediately! It makes the job of any serious web developer a hundred times easier and makes you much more powerful too. [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://www.jonlee.ca/wp-content/uploads/2007/05/rails.png" alt="Ruby on Rails" align="right" /><a href="http://rubyonrails.org/">Ruby on Rails</a> is the latest craze (actually it&#8217;s been a craze for a while now, I&#8217;ve just been slow to adapt).  If you haven&#8217;t tried it, then I would suggest you do so immediately!  It makes the job of any serious web developer a hundred times easier and makes you much more powerful too.  Using Ruby on Rails in web development is like bringing a gun to a fist fight.</p>
<p><a href="http://www.amazon.com/gp/redirect.html%3FASIN=0596527233%26tag=jonleedotseee-20%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0596527233%253FSubscriptionId=1N9AHEAQ2F6SVD97BE02" title="Click and drag this image to the post editor"><img src="http://g-ec2.images-amazon.com/images/I/21O5FcHIxCL.jpg" align="left" width="107" /></a><strong>Ruby on what?</strong><br />
Ruby on <strong>Rails </strong>(or simply Rails for short) is a web application framework that greatly streamlines the process of web development.  Its main advantage is that it favors &#8220;convention over configuration&#8221; meaning many of its defaults are what you typically need.  This allows you to focus on the design of your web application instead of the implementation.</p>
<p><strong>What on Rails?</strong><br />
<strong>Ruby</strong> on Rails is called that because the framework is built with the Ruby programming language.  Ruby was developed in 1995 by Yukihiro Matsumoto.  His goal was to create a language that was &#8220;fun&#8221; to program with.  No more getting frustrated with syntax quirks and the like.  Ruby is built on the principle of least surprise, meaning things work as you expect &#8212; like Rails, &#8220;convention over configuration&#8221;.</p>
<p><a href="http://www.amazon.com/gp/redirect.html%3FASIN=0596002149%26tag=jonleedotseee-20%26lcode=xm2%26cID=2025%26ccmID=165953%26location=/o/ASIN/0596002149%253FSubscriptionId=1N9AHEAQ2F6SVD97BE02" title="Click and drag this image to the post editor"><img src="http://ec1.images-amazon.com/images/I/213100S95EL.jpg" align="right" width="104" /></a>Since Rails is built on Ruby, you&#8217;ll need to know a bit of Ruby before you can jump into Rails but the syntax is easy enough and if you know <em>any </em>programming language  at all, it should be a piece of cake!  If you only know markup languages (like HTML) you may need to sit down with a nice Ruby book for a day or two to get up to par.</p>
<p><strong>Hop on the Train and Stay on Track! (get it?)</strong><br />
You won&#8217;t learn Rails overnight but if you keep with it, you will reap great benefits later on. When experienced, you could potentially whip out a nice web app in a week when it would take over a month otherwise!</p>
<p>What I will do for sure is talk about optimizing Rails and its development environment. But what I&#8217;d like to know from you is this: <em>should I write a beginner&#8217;s tutorial to Rails</em>?  There are already so many out there but if there is interest in a series of articles that will hold your hand through the wonderful world of Rails, I would gladly write them.</p>
<p>Expect a lot more about Rails in the future, in fact I&#8217;ve added a Ruby on Rails category!</p>
<img src="http://www.jonlee.ca/?ak_action=api_record_view&id=329&type=feed" alt="" />]]></content:encoded>
			<wfw:commentRss>http://www.jonlee.ca/ruby-on-rails-in-a-nutshell/feed/</wfw:commentRss>
		<slash:comments>14</slash:comments>
		</item>
	</channel>
</rss>

