<?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>Thinking In Rails &#187; Books</title>
	<atom:link href="http://thinkinginrails.com/category/books/feed/" rel="self" type="application/rss+xml" />
	<link>http://thinkinginrails.com</link>
	<description>A Perl Programmer&#039;s Exploration of The World of Ruby on Rails</description>
	<lastBuildDate>Thu, 12 Apr 2012 03:37:58 +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>Rails 3 In Action Discount Code Update</title>
		<link>http://thinkinginrails.com/2011/10/rails-3-in-action-discount-code-update/</link>
		<comments>http://thinkinginrails.com/2011/10/rails-3-in-action-discount-code-update/#comments</comments>
		<pubDate>Wed, 12 Oct 2011 21:03:19 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://thinkinginrails.com/?p=658</guid>
		<description><![CDATA[Manning books contacted me today to update about the Rails 3 in Action book that I reviewed last month.  There are new discount codes available.  Use the discount code rails337 for a 37% discount if you purchase it over at the Manning site. I received a hard copy of the book yesterday from my contact at Manning and I [...]]]></description>
			<content:encoded><![CDATA[<p>Manning books contacted me today to update about the Rails 3 in Action book that I <a href="http://thinkinginrails.com/2011/09/rails-3-in-action-book-review/">reviewed last month</a>.  There are new discount codes available.  Use the discount code <strong>rails337</strong> for a 37% discount if you purchase it <a href="http://www.manning.com/katz/">over at the Manning site</a>.</p>
<p>I received a hard copy of the book yesterday from my contact at Manning and I have to say it&#8217;s a great looking book, and satisfyingly heavy <img src='http://thinkinginrails.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinginrails.com/2011/10/rails-3-in-action-discount-code-update/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Rails 3 in Action Book Review</title>
		<link>http://thinkinginrails.com/2011/09/rails-3-in-action-book-review/</link>
		<comments>http://thinkinginrails.com/2011/09/rails-3-in-action-book-review/#comments</comments>
		<pubDate>Thu, 15 Sep 2011 19:03:23 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://thinkinginrails.com/?p=653</guid>
		<description><![CDATA[So recently Rails 3.1 was released, bringing a ton of fun new features, such as the asset pipeline, streaming, a new migration syntax, and a bunch of other new features. You may ask &#8220;hey thinkingonrails guy, how can I learn all this new stuff? There are no books out there that are cutting edge and [...]]]></description>
			<content:encoded><![CDATA[<p>So recently <a href="http://weblog.rubyonrails.org/2011/8/31/rails-3-1-0-has-been-released">Rails 3.1</a> was released, bringing a ton of fun new features, such as the asset pipeline, streaming, a new migration syntax, and a bunch of other <a href="http://guides.rubyonrails.org/3_1_release_notes.html">new features</a>. You may ask &#8220;hey thinkingonrails guy, how can I learn all this new stuff? There are no books out there that are cutting edge and up to date enough to help me!&#8221;</p>
<p>Fear not gentle reader, you&#8217;ll be happy to hear that the newly updated book from Manning Publications <a href="http://manning.com/katz/">Rails 3 in Action</a> is <em>fully updated</em> to cover Rails 3.1 (and Rails 3 if you&#8217;re even farther behind).</p>
<p>I was able to read through some of this book and I have to say that Ryan Bigg and Yehuda Katz did a great job in making an accessible book on rails. Yes, it definitely helps to have at least <em>some</em> rails (and of course ruby) experience, but if you&#8217;re reading this blog, you probably have at least a passing understanding of these things. It covers topics such as:</p>
<ul>
<li>Testing (early on, which is awesome)</li>
<li>Nested Resources</li>
<li>Authentication and authorization</li>
<li>File uploads</li>
<li>Email</li>
<li>API design (for those wanting to go a bit beyond a blog site</li>
<li>Engines</li>
<li>Rack based applications</li>
</ul>
<p>That&#8217;s not all of course, that&#8217;s just me cherry picking the table of contents. I admit I haven&#8217;t read fully all of the topics here, they are quite frankly, beyond me. The book looks great in layout as well, lots of whitespace (even <a href="http://twitter.com/danbenjamin">@danbenjamin</a> will approve).</p>
<p>I don&#8217;t want to go deep into a review and will just say this. This book hits topics that will matter in real life day to day work. Recipes such as twitter authentication and file uploads are well mixed in with a more traditional style of programming book which walks you through building an application, with successive sections building upon the previous. The writing style is fresh and feels more &#8220;conversational&#8221; (to me anyway) than other Rails books out there.</p>
<p>The eBook version of the book is released today and you can get a <strong>50% off deal</strong> (that&#8217;s half price folks) for today only by using the code <strong>rails350e</strong> if you go and purchase the <a href="http://manning.com/katz/">eBook here</a>.</p>
<p><small>Disclosure: I was kindly given early access to the eBook by Candace over at Manning.</small></p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinginrails.com/2011/09/rails-3-in-action-book-review/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Quiet Day of Reading</title>
		<link>http://thinkinginrails.com/2010/04/quiet-day-of-reading/</link>
		<comments>http://thinkinginrails.com/2010/04/quiet-day-of-reading/#comments</comments>
		<pubDate>Tue, 27 Apr 2010 20:48:00 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://thinkinginrails.com/?p=315</guid>
		<description><![CDATA[Been a bit busy the last couple of days, I have a great post on Rails podcasts sitting chambered and ready to be formatted and have images added, and I&#8217;ll post that tonight.  The last couple of lunch hours I&#8217;ve taken a bit of my own advice and have been hiding in the lunch room [...]]]></description>
			<content:encoded><![CDATA[<p>Been a bit busy the last couple of days, I have a great post on Rails podcasts sitting chambered and ready to be formatted and have images added, and I&#8217;ll post that tonight.  The last couple of lunch hours I&#8217;ve taken a bit of my <a href="http://thinkinginrails.com/2010/04/personal-projects-for-learning/">own advice</a> and have been hiding in the lunch room and reading through <a href="http://pragprog.com/titles/ruby/programming-ruby">The Pickaxe Book</a> and 4 chapters in I&#8217;m glad I am.  It&#8217;s nice to get back to basics and go back and examine some of the principles that I&#8217;m using in more detail, as a lot of the time when I&#8217;m doing rails coding I really don&#8217;t know what&#8217;s going on down in the core of Ruby that may have to do with inheritance, class methods, and so on.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinginrails.com/2010/04/quiet-day-of-reading/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Quick Way To Experiment With ActiveRecord</title>
		<link>http://thinkinginrails.com/2010/04/quic-way-to-experiment-with-activerecord/</link>
		<comments>http://thinkinginrails.com/2010/04/quic-way-to-experiment-with-activerecord/#comments</comments>
		<pubDate>Wed, 14 Apr 2010 05:36:42 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Database]]></category>

		<guid isPermaLink="false">http://thinkinginrails.com/?p=226</guid>
		<description><![CDATA[A while back I spent a fair amount of time with the Pro Active Record book, learning all about dynamic finders, associations, validations, and all the other magic it has, sometimes it was a bit of a pain to set everything up by hand, typing out the .rb model files, creating the databases, etc.  I [...]]]></description>
			<content:encoded><![CDATA[<p>A while back I spent a fair amount of time with the Pro Active Record book, learning all about dynamic finders, associations, validations, and all the other magic it has, sometimes it was a bit of a pain to set everything up by hand, typing out the .rb model files, creating the databases, etc.  I figured, why do all that work (yea yea, I know it&#8217;s just typing out some text) when you have the power of rails, generators and rake at your disposal.  So what I&#8217;d do is simply use the rails generators.</p>

<div class="wp_syntax"><div class="code"><pre class="bash" style="font-family:monospace;">$ rails <span style="color: #7a0874; font-weight: bold;">test</span> <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> <span style="color: #7a0874; font-weight: bold;">cd</span> <span style="color: #7a0874; font-weight: bold;">test</span>
<span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span>
$ script<span style="color: #000000; font-weight: bold;">/</span>generate model User name:string age:integer
<span style="color: #7a0874; font-weight: bold;">&#91;</span>...<span style="color: #7a0874; font-weight: bold;">&#93;</span>
$ rake db:create <span style="color: #000000; font-weight: bold;">&amp;&amp;</span> rake db:migrate
$ <span style="color: #c20cb9; font-weight: bold;">vi</span> app<span style="color: #000000; font-weight: bold;">/</span>models<span style="color: #000000; font-weight: bold;">/</span>user.rb <span style="color: #666666; font-style: italic;"># optional</span>
$ script<span style="color: #000000; font-weight: bold;">/</span>console</pre></div></div>

<p><a href="http://www.amazon.ca/gp/product/1590598474?ie=UTF8&amp;tag=k2bl-20&amp;linkCode=as2&amp;camp=15121&amp;creative=330641&amp;creativeASIN=1590598474"><img src="/images/51SIrXLuMxL._SL160_.jpg" border="0" alt="" align="right" /></a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.ca/e/ir?t=k2bl-20&amp;l=as2&amp;o=15&amp;a=1590598474" border="0" alt="" width="1" height="1" /></p>
<p>Voila!  Four commands and you&#8217;re in an interactive shell that will let you manipulate your models, add data, run finds, etc.  No need to deal with anything other than an already set up database and model file, and you have a nice interactive shell to boot.</p>
<p>Best part?  Just do an &#8220;rm -rf &lt;directory&gt;&#8221; when you&#8217;re done to nuke the directory and either start again or try out the next experiment.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinginrails.com/2010/04/quic-way-to-experiment-with-activerecord/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ruby Best Practices Full Book Available For Free</title>
		<link>http://thinkinginrails.com/2010/03/ruby-best-practices-full-book-available-for-free/</link>
		<comments>http://thinkinginrails.com/2010/03/ruby-best-practices-full-book-available-for-free/#comments</comments>
		<pubDate>Thu, 18 Mar 2010 05:21:21 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://thinkinginrails.com/?p=127</guid>
		<description><![CDATA[Ruby Best Practices &#8211; Full Book Now Available For Free! That about says it all! Kudos to the author for doing this, and please donate and support him!]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.rubybestpractices.com/posts/gregory/022-rbp-now-open.html">Ruby Best Practices &#8211; Full Book Now Available For Free!</a></p>
<p>That about says it all!  Kudos to the author for doing this, and please donate and support him!</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinginrails.com/2010/03/ruby-best-practices-full-book-available-for-free/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Three Book Recommendations From Mountain West Ruby Conf</title>
		<link>http://thinkinginrails.com/2010/03/three-book-recommendations-from-mountain-west-ruby-conf/</link>
		<comments>http://thinkinginrails.com/2010/03/three-book-recommendations-from-mountain-west-ruby-conf/#comments</comments>
		<pubDate>Sat, 13 Mar 2010 05:56:03 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://thinkinginrails.com/?p=110</guid>
		<description><![CDATA[My buddy @milesforrest recommended the three following books (which I&#8217;ll have on my &#8220;tobuy&#8221; list in Evernote by the time this is posted): Design Patterns in Ruby (which I&#8217;d seen before but been unable to get). Refactoring Ruby. Smalltalk Best Practice Patterns. I&#8217;m looking forward to hearing the talk in which these were recommended, or [...]]]></description>
			<content:encoded><![CDATA[<p>My buddy <a href="https://twitter.com/milesforrest/">@milesforrest</a> <a href="https://twitter.com/milesforrest/status/10395470470">recommended</a> the three following books (which I&#8217;ll have on my &#8220;tobuy&#8221; list in Evernote by the time this is posted):</p>
<p>Design Patterns in Ruby (which I&#8217;d seen before but been unable to get).</p>
<p><a href="http://www.amazon.ca/gp/product/0321490452?ie=UTF8&amp;tag=k2bl-20&amp;linkCode=as2&amp;camp=15121&amp;creative=330641&amp;creativeASIN=0321490452"><img src="/images/51kExzC-67L._SL160_.jpg" border="0" alt="" /></a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.ca/e/ir?t=k2bl-20&amp;l=as2&amp;o=15&amp;a=0321490452" border="0" alt="" width="1" height="1" /></p>
<p>Refactoring Ruby.<br />
<a href="http://www.amazon.ca/gp/product/0321603508?ie=UTF8&amp;tag=k2bl-20&amp;linkCode=as2&amp;camp=15121&amp;creative=330641&amp;creativeASIN=0321603508"><img src="/images/41oSKrXAoPL._SL160_.jpg" border="0" alt="" /></a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.ca/e/ir?t=k2bl-20&amp;l=as2&amp;o=15&amp;a=0321603508" border="0" alt="" width="1" height="1" /></p>
<p>Smalltalk Best Practice Patterns.<br />
<a href="http://www.amazon.ca/gp/product/013476904X?ie=UTF8&amp;tag=k2bl-20&amp;linkCode=as2&amp;camp=15121&amp;creative=330641&amp;creativeASIN=013476904X"><img src="/images/51T64R1B3RL._SL160_.jpg" border="0" alt="" /></a><img style="border: none !important; margin: 0px !important;" src="http://www.assoc-amazon.ca/e/ir?t=k2bl-20&amp;l=as2&amp;o=15&amp;a=013476904X" border="0" alt="" width="1" height="1" /></p>
<p>I&#8217;m looking forward to hearing the talk in which these were recommended, or borrowing them from the <a href="http://www.meetup.com/fvruby">FV.rb</a> when/if the club gets them.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinginrails.com/2010/03/three-book-recommendations-from-mountain-west-ruby-conf/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Discovering Ruby With Ruby Warrior</title>
		<link>http://thinkinginrails.com/2009/05/discovering-ruby-with-ruby-warrior/</link>
		<comments>http://thinkinginrails.com/2009/05/discovering-ruby-with-ruby-warrior/#comments</comments>
		<pubDate>Fri, 15 May 2009 02:55:04 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[General]]></category>
		<category><![CDATA[Hosting]]></category>
		<category><![CDATA[Resources]]></category>

		<guid isPermaLink="false">http://thinkinginrails.com/?p=46</guid>
		<description><![CDATA[Thanks to the FV.rb last night I discovered Ruby Warrior, a neat and fun way of learning ruby.  It goes like this&#8230;. First, head to http://github.com/ryanb/ruby-warrior/tree/master and download the tree by using &#8220;git clone&#8220;, then simply run &#8220;bin/rubywarrior&#8221; out of the main ruby-warrior directory that the git clone command creates.  The first run will create [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_47" class="wp-caption alignright" style="width: 250px"><img class="size-full wp-image-47" title="Code from Level 6" src="http://thinkinginrails.com/wp-content/uploads/2009/05/warrior.png" alt="Code from Level 6" width="240" height="299" align="right"/><p class="wp-caption-text">Code from Level 6</p></div>
<p>Thanks to the <a href="http://www.meetup.com/fvrb-org/">FV.rb</a> last night I discovered <a href="http://github.com/ryanb/ruby-warrior/tree/master">Ruby Warrior</a>, a neat and fun way of learning ruby.  It goes like this&#8230;.</p>
<p>First, head to <a href="http://github.com/ryanb/ruby-warrior/tree/master"><tt>http://github.com/ryanb/ruby-warrior/tree/master</tt></a> and download the tree by using &#8220;<tt>git clone</tt>&#8220;, then simply run &#8220;<tt>bin/rubywarrior</tt>&#8221; out of the main ruby-warrior directory that the git clone command creates.  The first run will create a profile and set up the initial part of the &#8220;game&#8221;.</p>
<p>The &#8220;game&#8221; is a bit like the old adventure text games, with a simple ASCII &#8220;dungeon&#8221; that you see your guy move through, and as the levels progress you will encounter monsters, harder monsters, captives to rescue, and so on as you move from one side of the dungeon to the stairs on the other side.  The system is turn based, so you are basically creating yourself a little state machine.  You basically check to see if there&#8217;s something in front of you and if not walk, if it&#8217;s an enemy, attack, etc.</p>
<p>To do this you end up doing something like this:</p>
<ol>
<li>You look at the README file in the <tt>ruby-warrior/beginner-tower/level-001/</tt> directory.  You may have &#8220;intermediate-tower&#8221; instead of beginner depending on the level you chose during the initial setup.</li>
<li>Follow what the README file says and edit the file <tt>ruby-warrior/beginner-tower/level-001/player.rb</tt> adding code to make your warrior move and fight.</li>
<li>Run <tt>bin/rubywarrior</tt> and see how well your warrior moves and fights.  It will either succeed and allow you to continue to the next level (in which case go to step 1, substituting the right number in the &#8220;<tt>level-00N</tt>&#8221; directory), or you will fail, in which case, re-edit the warrior.rb file and try again.</li>
</ol>
<p>The game isn&#8217;t for complete and total programming n00bs, but might be a bit simple for people who know programming, but not ruby <img src='http://thinkinginrails.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   It starts out with simple commands and simple if/then/else control structures.  However, it does make it cool and interesting enough that it has kept my interest for at least until now.</p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinginrails.com/2009/05/discovering-ruby-with-ruby-warrior/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bought 2 Rails Books</title>
		<link>http://thinkinginrails.com/2009/05/bought-2-rails-books/</link>
		<comments>http://thinkinginrails.com/2009/05/bought-2-rails-books/#comments</comments>
		<pubDate>Tue, 12 May 2009 03:18:38 +0000</pubDate>
		<dc:creator>alan</dc:creator>
				<category><![CDATA[Books]]></category>

		<guid isPermaLink="false">http://thinkinginrails.com/?p=41</guid>
		<description><![CDATA[Got a couple of Ruby on Rails books out at the local Chapters today. After hearing a bunch of reviews, I picked up &#8220;Head First Rails&#8221;. This has a very unique way of teaching, obvious not only from the front page of the book (which immediately said to me &#8220;get rid of this and go [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.ca/gp/product/0596515774?ie=UTF8&amp;tag=k2bl-20&amp;linkCode=as2&amp;camp=15121&amp;creative=330641&amp;creativeASIN=0596515774"><img class="aligncenter" src="/images/51gQ8Ol15gL._SL110_.jpg" border="0" alt="" align="right" /></a><img style="border:none !important; margin:0px !important;" src="http://www.assoc-amazon.ca/e/ir?t=k2bl-20&amp;l=as2&amp;o=15&amp;a=0596515774" border="0" alt="" width="1" height="1" />Got a couple of Ruby on Rails books out at the local <a href="http://chapters.ca">Chapters</a> today.  After hearing a bunch of reviews, I picked up &#8220;Head First Rails&#8221;.  This has a very unique way of teaching, obvious not only from the front page of the book (which immediately said to me &#8220;get rid of this and go onto the next book, this is crap&#8221;) to the inside and first chapter I&#8217;m going through.  However, give it a shot and read through the introduction chapter and give it a shot.  It&#8217;s different for sure, but in a <em>good</em> way.  One of the biggest things for me was the first chapter <em>wasn&#8217;t</em> a &#8220;how to install rails&#8221; section.  It really gets right down to business, which is a nice change.<br />
<a href="http://www.amazon.ca/gp/product/0978739221?ie=UTF8&amp;tag=k2bl-20&amp;linkCode=as2&amp;camp=15121&amp;creative=330641&amp;creativeASIN=0978739221"><img class="aligncenter" src="/images/517nV0gwfBL._SL160_.jpg" border="0" alt="" align="right" /></a><br />
Also, on a whim I grabbed &#8220;Advanced Rails Recipes&#8221;.  The latter one I had seen before, but the idea of just having a book full of &#8220;how to do random thing X&#8221; was fairly appealing.  I don&#8217;t technically need this just yet, but it&#8217;ll be nice to have a paper copy for when I do reach that stage <img src='http://thinkinginrails.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://thinkinginrails.com/2009/05/bought-2-rails-books/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

