<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss 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/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Rob@Rojotek</title>
	
	<link>http://www.rojotek.com/blog</link>
	<description>Software Development in Brisbane</description>
	<lastBuildDate>Thu, 22 Mar 2012 06:13:57 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.1.3</generator>
		<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/rojotek" /><feedburner:info uri="rojotek" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><item>
		<title>Backbone.JS on Rails</title>
		<link>http://feedproxy.google.com/~r/rojotek/~3/CxWS98pgoqc/</link>
		<comments>http://www.rojotek.com/blog/2012/03/22/backbone-js-on-rails/#comments</comments>
		<pubDate>Thu, 22 Mar 2012 06:05:53 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[JavaScript]]></category>
		<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.rojotek.com/blog/?p=1127</guid>
		<description><![CDATA[A while ago I made a post Two tricks for getting Backbone.js to play well with Ruby on Rails. It was good at the time, but probably not the place you really want to be reading. For the best information go to quora, and read the answer to the question How well does backbone.js work with [...]]]></description>
			<content:encoded><![CDATA[<p>A while ago I made a post <a title="Two tricks for getting Backbone.js to play well with Ruby on Rails" href="http://www.rojotek.com/blog/2011/11/29/two-tricks-for-getting-backbone-to-play-well-with-ruby-on-rails/">Two tricks for getting Backbone.js to play well with Ruby on Rails</a>. It was good at the time, but probably not the place you really want to be reading.</p>
<p>For the best information go to quora, and read the answer to the question<br />
<a href="http://www.quora.com/Backbone-js-1/How-well-does-backbone-js-work-with-rails">How well does backbone.js work with rails?</a> by Jeremy Ashkenas, the creator of Backbone.JS. It&#8217;s the best article on the topic, and deserves all the google juice it can get.</p>
<p>In particular the pick function approach mentioned is useful &#8211; and would have gone a decent way to preventing the <a href="https://github.com/blog/1068-public-key-security-vulnerability-and-mitigation">github mass assignment vulnerability</a>.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rojotek?a=CxWS98pgoqc:NSNxSsVPSTs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=CxWS98pgoqc:NSNxSsVPSTs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/rojotek?i=CxWS98pgoqc:NSNxSsVPSTs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=CxWS98pgoqc:NSNxSsVPSTs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/rojotek?i=CxWS98pgoqc:NSNxSsVPSTs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=CxWS98pgoqc:NSNxSsVPSTs:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/rojotek?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=CxWS98pgoqc:NSNxSsVPSTs:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/rojotek?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=CxWS98pgoqc:NSNxSsVPSTs:XAVGb8Xj5zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=XAVGb8Xj5zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=CxWS98pgoqc:NSNxSsVPSTs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rojotek?i=CxWS98pgoqc:NSNxSsVPSTs:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/rojotek/~4/CxWS98pgoqc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rojotek.com/blog/2012/03/22/backbone-js-on-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rojotek.com/blog/2012/03/22/backbone-js-on-rails/</feedburner:origLink></item>
		<item>
		<title>Thoughts on Prayer</title>
		<link>http://feedproxy.google.com/~r/rojotek/~3/_VGoOX6926s/</link>
		<comments>http://www.rojotek.com/blog/2012/03/07/thoughts-on-prayer/#comments</comments>
		<pubDate>Wed, 07 Mar 2012 10:55:32 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Theistic Thoughts]]></category>

		<guid isPermaLink="false">http://www.rojotek.com/blog/?p=1121</guid>
		<description><![CDATA[Kristin&#8217;s recent &#8220;Drive-By Faith Healing&#8221; has lead to me thinking quite a lot about prayer, faith and healing. As a committed Christian I am convinced that God is real, and that prayer is effective as a means of communication with God. I have also experienced God&#8217;s answer to prayer, and am convinced that God can [...]]]></description>
			<content:encoded><![CDATA[<p>Kristin&#8217;s recent &#8220;<a href="http://www.bootsandabackpack.com/i-was-the-victim-of-a-drive-by-faith-healing/">Drive-By Faith Healing</a>&#8221; has lead to me thinking quite a lot about prayer, faith and healing. As a committed Christian I am convinced that God is real, and that prayer is effective as a means of communication with God.  I have also experienced God&#8217;s answer to prayer, and am convinced that God can and will answer prayer.  That said, I think we need to be careful in our attitude to prayer, and what our expectations are. We cannot just treat God as a genie and expect that he will do what we want just because we ask.</p>
<p>It is important to remember who God is and who I am.  In particular considering how mighty and powerful God is, and how small in comparison I am. God is the originator of the complexity of our universe.  He is the creator of all the sciences and mathematics that people can devote years to trying to understand.  A PhD student will expect to end up being the expert in their specialisation &#8211; only knowing a sliver of the information that God created.  God&#8217;s knowledge is so much more complete, and it is to this mighty, knowledgeable, and powerful God that I pray. Compared to God, my knowledge is negligible and my understanding is frighteningly limited. It is then to this mighty and powerful God that the Christian comes with prayers and petitions.  A big reason that we pray to God is because of this power and wisdom.  It only makes sense to ask for things from someone who is able to provide.  If God isn&#8217;t strong enough or powerful enough to answer prayer, then what is the point?</p>
<p>With this as a background, it is amazingly presumptuous for us to demand things of such a powerful entity. God the creator of the Universe is present and in control.  He is powerful and wise and knowing, and so can make much better decisions and work things out in ways that are beyond our understanding. Just as I cannot presume to understand everything that a PhD student has spent years learning, I cannot presume to understand everything that the powerful God does. I certainly need to be careful in demanding things from such a God.</p>
<p>The nuance in praying to the Christian God is that God also loves us, and wants what is best for us.  We are told that God is a God of love, and that we are to bring before God our prayers and petitions.  God will then answer them in the way that is best for us.  Not necessarily how we want, but in the way that is best.</p>
<p>This brings us back to the topic of faith healing.  God is certainly capable of healing people.  There are clear cases where God has healed people in the past, but, God is God.  We can&#8217;t expect God to do things just because that is what we want, or because they happened that way in the past.  We have the privilege of asking God for things and communicating with God, but need to treat God with the deserved respect and honour. As we pray for healing we just need to remember that the answer that God gives is not always the answer that we want.</p>
<p>If God is the Christian God of far superior knowledge and boundless love, then when we pray for healing we can take great comfort in knowing that his answer, be it yes no or wait, really is the <em>best</em> answer.</p>
<p><em>Isaiah 45:9 &#8220;Woe to the one who quarrels with his Maker&#8211; An earthenware vessel among the vessels of earth! Will the clay say to the potter, &#8216;What are you doing?&#8217;</em></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rojotek?a=_VGoOX6926s:tQYj8pD-9WY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=_VGoOX6926s:tQYj8pD-9WY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/rojotek?i=_VGoOX6926s:tQYj8pD-9WY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=_VGoOX6926s:tQYj8pD-9WY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/rojotek?i=_VGoOX6926s:tQYj8pD-9WY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=_VGoOX6926s:tQYj8pD-9WY:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/rojotek?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=_VGoOX6926s:tQYj8pD-9WY:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/rojotek?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=_VGoOX6926s:tQYj8pD-9WY:XAVGb8Xj5zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=XAVGb8Xj5zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=_VGoOX6926s:tQYj8pD-9WY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rojotek?i=_VGoOX6926s:tQYj8pD-9WY:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/rojotek/~4/_VGoOX6926s" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rojotek.com/blog/2012/03/07/thoughts-on-prayer/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://www.rojotek.com/blog/2012/03/07/thoughts-on-prayer/</feedburner:origLink></item>
		<item>
		<title>How to get OpenSSL in Ruby 1.9.3 working on OSX 10.7 (fixing the Segmentation Fault with Ruby OpenSSL)</title>
		<link>http://feedproxy.google.com/~r/rojotek/~3/GP7J-9CmYA0/</link>
		<comments>http://www.rojotek.com/blog/2012/01/20/how-to-get-openssl-in-ruby-1-9-3-working-on-osx-10-7-fixing-the-segmentation-fault-with-ruby-openssl/#comments</comments>
		<pubDate>Fri, 20 Jan 2012 04:38:25 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.rojotek.com/blog/?p=1115</guid>
		<description><![CDATA[update &#8211; this needs to have a recent version of RVM &#8211; it works with rvm 1.10 but not with 1.6 &#8211; do an rvm update first. When using the mighty cobweb web crawler on my OSX 10.7 with Ruby 1.9.3 I was getting a seg fault in net http: net/http.rb:799: [BUG] Segmentation fault A [...]]]></description>
			<content:encoded><![CDATA[<p><em>update &#8211; this needs to have a recent version of RVM &#8211; it works with rvm 1.10 but not with 1.6 &#8211; do an rvm update first.</em></p>
<p>When using the mighty <a href="https://github.com/stewartmckee/cobweb">cobweb</a> web crawler on my OSX 10.7 with Ruby 1.9.3 I was getting a seg fault in net http:</p>
<p>net/http.rb:799: [BUG] Segmentation fault</p>
<p>A bit of googling and isolation in IRB showed that this can be caused when hitting HTTPS urls using net http.</p>
<p>I saw a few different solutions to the problem, primarily talking about Ruby 1.9.2.Surprisingly it took me a while to end up at the RVM documentation about the problem: <a href="https://rvm.beginrescueend.com/packages/openssl/">https://rvm.beginrescueend.com/packages/openssl/</a>. This didn&#8217;t quite work out of the box for me, so I used the solution in the following gist.</p>
<p><span style="font-family: Consolas, Monaco, 'Courier New', Courier, monospace; font-size: 12px; line-height: 18px; white-space: pre;"><div class="gistem"><div id="gist-1645188" class="gist">

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'>rvm pkg install openssl</div><div class='line' id='LC2'>rvm remove 1.9.3</div><div class='line' id='LC3'>rvm install 1.9.3 --with-openssl-dir<span class="o">=</span><span class="nv">$rvm_path</span>/usr --with-gcc<span class="o">=</span>clang</div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/1645188/468fda61e63a13524d376994a969bcf3d67be620/file1.sh" style="float:right;">view raw</a>
            <a href="https://gist.github.com/1645188#file_file1.sh" style="float:right;margin-right:10px;color:#666">file1.sh</a>
            <a href="https://gist.github.com/1645188">This Gist</a> is brought to you using <a href="http://en.bainternet.info/2011/simple-gist-embed"><small>Simple Gist Embed</small></a>.
          </div>
        </div>
</div>
</div><style type="text/css">@import "http://gist.github.com/stylesheets/gist/embed.css"; .gistem .highlight {background: inherit; !important;}</style></span></p>
<p>and now I can happily crawl https urls.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rojotek?a=GP7J-9CmYA0:SX4l7Xn8qk4:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=GP7J-9CmYA0:SX4l7Xn8qk4:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/rojotek?i=GP7J-9CmYA0:SX4l7Xn8qk4:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=GP7J-9CmYA0:SX4l7Xn8qk4:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/rojotek?i=GP7J-9CmYA0:SX4l7Xn8qk4:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=GP7J-9CmYA0:SX4l7Xn8qk4:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/rojotek?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=GP7J-9CmYA0:SX4l7Xn8qk4:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/rojotek?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=GP7J-9CmYA0:SX4l7Xn8qk4:XAVGb8Xj5zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=XAVGb8Xj5zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=GP7J-9CmYA0:SX4l7Xn8qk4:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rojotek?i=GP7J-9CmYA0:SX4l7Xn8qk4:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/rojotek/~4/GP7J-9CmYA0" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rojotek.com/blog/2012/01/20/how-to-get-openssl-in-ruby-1-9-3-working-on-osx-10-7-fixing-the-segmentation-fault-with-ruby-openssl/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.rojotek.com/blog/2012/01/20/how-to-get-openssl-in-ruby-1-9-3-working-on-osx-10-7-fixing-the-segmentation-fault-with-ruby-openssl/</feedburner:origLink></item>
		<item>
		<title>It’s Not Luck – Eliyah Goldratt</title>
		<link>http://feedproxy.google.com/~r/rojotek/~3/ojcHUly_HkM/</link>
		<comments>http://www.rojotek.com/blog/2011/12/15/its-not-luck-eliyah-goldratt/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 21:20:18 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Book Reviews]]></category>

		<guid isPermaLink="false">http://www.rojotek.com/blog/?p=1102</guid>
		<description><![CDATA[Updated following feedback from Joel-Henry GROSSARD in the comments below. It&#8217;s Not Luck is a sequel to Eli&#8217;s first book The Goal, and follows the same basic strategy, following the career of the protagonist, Rogo, teaching us along the way the thinking and business principals that Eli sees as key. I really enjoyed the book. [...]]]></description>
			<content:encoded><![CDATA[<p><em>Updated following feedback from Joel-Henry GROSSARD in the comments below.<br />
</em></p>
<p><a href="http://www.amazon.com/gp/product/B006BOT28U/ref=as_li_ss_tl?ie=UTF8&amp;tag=rojotek-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B006BOT28U">It&rsquo;s Not Luck</a> is a sequel to Eli&rsquo;s first book <a href="http://www.amazon.com/gp/product/B002LHRM2O/ref=as_li_ss_tl?ie=UTF8&amp;tag=rojotek-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B002LHRM2O">The Goal</a>, and follows the same basic strategy, following the career of the protagonist, Rogo, teaching us along the way the thinking and business principals that Eli sees as key.</p>
<p>I really enjoyed the book.  Teaching through parables and stories is a great technique, and well followed in this book.</p>
<p>The big idea being communicated was a process for thinking carefully and deeply about problems.  In looking through this, we see it being applied primarily in a business context, and additionally in the personal life of Rogo.  The different scenarios presented help us to see how general an approach it is, and that it is something that we can apply to al areas of our lives.  In looking at the business applications we also see some of the principles of how Eli would run a company.  In particular I found the following summary of a good businesses goal and the necessary conditions required to meet very helpful:</p>
<ul>
<li>
<p>Make Money now as well as in the future,</p>
</li>
<li>
<p>Provide a secure and satisfying environment for employees now as well as in the future, and</p>
</li>
<li>
<p>Provide satisfaction to the market now as well as in the future.</p>
</li>
</ul>
<p>The goal of making money for a business and the necessary conditions are required to have a business that thrives both now and is sustainable.  The conditions are required to ensure that the company is profitable, that employees are happy, and that customers are being served.  All of which are required to ensure that the company works well now and it is being done in a sustainable way.</p>
<p>While I found this succinct description of goals for a company helpful, the key of the book is the thinking process presented within. I highly recommend you go and read <a href="http://www.amazon.com/gp/product/B006BOT28U/ref=as_li_ss_tl?ie=UTF8&amp;tag=rojotek-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B006BOT28U">It&rsquo;s Not Luck</a>, you&#8217;ll learn and have fun while doing so.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rojotek?a=ojcHUly_HkM:3v_H76-Si6E:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=ojcHUly_HkM:3v_H76-Si6E:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/rojotek?i=ojcHUly_HkM:3v_H76-Si6E:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=ojcHUly_HkM:3v_H76-Si6E:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/rojotek?i=ojcHUly_HkM:3v_H76-Si6E:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=ojcHUly_HkM:3v_H76-Si6E:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/rojotek?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=ojcHUly_HkM:3v_H76-Si6E:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/rojotek?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=ojcHUly_HkM:3v_H76-Si6E:XAVGb8Xj5zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=XAVGb8Xj5zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=ojcHUly_HkM:3v_H76-Si6E:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rojotek?i=ojcHUly_HkM:3v_H76-Si6E:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/rojotek/~4/ojcHUly_HkM" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rojotek.com/blog/2011/12/15/its-not-luck-eliyah-goldratt/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.rojotek.com/blog/2011/12/15/its-not-luck-eliyah-goldratt/</feedburner:origLink></item>
		<item>
		<title>Codermetrics by Jonathan Alexander</title>
		<link>http://feedproxy.google.com/~r/rojotek/~3/KCDTZc_sWFA/</link>
		<comments>http://www.rojotek.com/blog/2011/12/15/codermetrics-by-jonathan-alexander/#comments</comments>
		<pubDate>Wed, 14 Dec 2011 21:34:36 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[O'Reilly Blogger Review]]></category>

		<guid isPermaLink="false">http://www.rojotek.com/blog/?p=1106</guid>
		<description><![CDATA[Codermertrics provides an interesting idea, measuring software development with a goal of trying to find things to improve. I found it interesting having seen bad metrics used and talked about in past. Codermetrics goes beyond the classically missed &#8220;LOC&#8221; (Lines of Code) metric that developers rightfully loath, and presents a variety of different metrics to [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.amazon.com/gp/product/B005KOJ3V8/ref=as_li_ss_tl?ie=UTF8&amp;tag=rojotek-20&amp;linkCode=as2&amp;camp=1789&amp;creative=390957&amp;creativeASIN=B005KOJ3V8">Codermertrics</a> provides an interesting idea, measuring software development with a goal of trying to find things to improve.  I found it interesting having seen bad metrics used and talked about in past.  Codermetrics goes beyond the classically missed &#8220;LOC&#8221; (Lines of Code) metric that developers rightfully loath, and presents a variety of different metrics to measure.  It bases the ideas around Sabermetrics, the analysis of baseball through metrics.</p>
<p>I found the ideas presented in the book interesting, and pretty well presented.  While I can&#8217;t see myself using them directly at the current point in time, I can see that measuring what is being doing can be useful for getting feedback, and helping to improve behaviours and techniques. The metrics presented in the book are interesting, and there are good ideas and tools for thinking about how to develop your own metrics, and refine those presented.</p>
<p>I&#8217;d recommend the book to people thinking about how to improve the performance of a software development team.</p>
<p><!--?xml version="1.0" encoding="UTF-8" standalone="no"?--> <em>[This book was reviewed as a part of the O'Reilly Blogger Review Program]</em></p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rojotek?a=KCDTZc_sWFA:CRGYdHTG4pw:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=KCDTZc_sWFA:CRGYdHTG4pw:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/rojotek?i=KCDTZc_sWFA:CRGYdHTG4pw:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=KCDTZc_sWFA:CRGYdHTG4pw:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/rojotek?i=KCDTZc_sWFA:CRGYdHTG4pw:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=KCDTZc_sWFA:CRGYdHTG4pw:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/rojotek?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=KCDTZc_sWFA:CRGYdHTG4pw:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/rojotek?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=KCDTZc_sWFA:CRGYdHTG4pw:XAVGb8Xj5zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=XAVGb8Xj5zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=KCDTZc_sWFA:CRGYdHTG4pw:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rojotek?i=KCDTZc_sWFA:CRGYdHTG4pw:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/rojotek/~4/KCDTZc_sWFA" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rojotek.com/blog/2011/12/15/codermetrics-by-jonathan-alexander/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rojotek.com/blog/2011/12/15/codermetrics-by-jonathan-alexander/</feedburner:origLink></item>
		<item>
		<title>Two tricks for getting Backbone.js to play well with Ruby on Rails</title>
		<link>http://feedproxy.google.com/~r/rojotek/~3/ffHuVJrlcJo/</link>
		<comments>http://www.rojotek.com/blog/2011/11/29/two-tricks-for-getting-backbone-to-play-well-with-ruby-on-rails/#comments</comments>
		<pubDate>Tue, 29 Nov 2011 07:17:18 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[Ruby]]></category>

		<guid isPermaLink="false">http://www.rojotek.com/blog/?p=1097</guid>
		<description><![CDATA[Backbone.js is a great library for creating single page applications that consume RESTful JSON services. Ruby on Rails does well at generating RESTful APIs and speaking JSON. In order to get the Rails working really well with Backbone, there are two tricks to do. First, add the following line to the application controller to make [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://documentcloud.github.com/backbone/">Backbone.js</a> is a great library for creating single page applications that consume RESTful JSON services.  Ruby on Rails does well at generating RESTful APIs and speaking JSON.  In order to get the Rails working really well with Backbone, there are two tricks to do.</p>
<p>First, add the following line to the application controller to make the output look like what backbone expects.</p>
<div class="gistem"><div id="gist-1403791" class="gist">

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'><span class="o">.</span><span class="n">.</span><span class="o">.</span></div><div class='line' id='LC2'><span class="no">ActiveRecord</span><span class="o">::</span><span class="no">Base</span><span class="o">.</span><span class="n">include_root_in_json</span> <span class="o">=</span> <span class="kp">false</span></div><div class='line' id='LC3'><span class="o">.</span><span class="n">.</span><span class="o">.</span></div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/1403791/11a2ea69dfd6a674645fa1091330ce1acab317da/application.rb" style="float:right;">view raw</a>
            <a href="https://gist.github.com/1403791#file_application.rb" style="float:right;margin-right:10px;color:#666">application.rb</a>
            <a href="https://gist.github.com/1403791">This Gist</a> is brought to you using <a href="http://en.bainternet.info/2011/simple-gist-embed"><small>Simple Gist Embed</small></a>.
          </div>
        </div>
</div>
</div>
<p>Second take advantage of the : only option in to_json to limit the attributes included in the serialised json object.  The documentation for this isn&#8217;t quite there in the latest rails, but the 2.3 to_json method describes it. <a href="http://apidock.com/rails/ActiveRecord/Serialization/to_json">http://apidock.com/rails/ActiveRecord/Serialization/to_json</a>.</p>
<div class="gistem"><div id="gist-1403824" class="gist">

        <div class="gist-file">
          <div class="gist-data gist-syntax">
              <div class="highlight"><pre><div class='line' id='LC1'><span class="c1"># code to retrieve the collection - the to_json filtering works on a collection, or a single model record</span></div><div class='line' id='LC2'><span class="n">render</span> <span class="ss">:json</span> <span class="o">=&gt;</span> <span class="n">collection</span><span class="o">.</span><span class="n">to_json</span><span class="p">(</span><span class="ss">:only</span> <span class="o">=&gt;</span> <span class="o">[</span> <span class="ss">:id</span><span class="p">,</span> <span class="ss">:name</span><span class="p">,</span> <span class="ss">:another_attribute</span><span class="o">]</span><span class="p">)</span></div></pre></div>
          </div>

          <div class="gist-meta">
            <a href="https://gist.github.com/raw/1403824/81eee11a12dc1a75f5b5100757239d1c5958dffc/controller.rb" style="float:right;">view raw</a>
            <a href="https://gist.github.com/1403824#file_controller.rb" style="float:right;margin-right:10px;color:#666">controller.rb</a>
            <a href="https://gist.github.com/1403824">This Gist</a> is brought to you using <a href="http://en.bainternet.info/2011/simple-gist-embed"><small>Simple Gist Embed</small></a>.
          </div>
        </div>
</div>
</div>
<p>With these two simple tricks rails will generate the json that backbone wants, and you&#8217;ll have a happy front-end developer.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rojotek?a=ffHuVJrlcJo:jKTvZsORWlA:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=ffHuVJrlcJo:jKTvZsORWlA:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/rojotek?i=ffHuVJrlcJo:jKTvZsORWlA:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=ffHuVJrlcJo:jKTvZsORWlA:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/rojotek?i=ffHuVJrlcJo:jKTvZsORWlA:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=ffHuVJrlcJo:jKTvZsORWlA:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/rojotek?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=ffHuVJrlcJo:jKTvZsORWlA:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/rojotek?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=ffHuVJrlcJo:jKTvZsORWlA:XAVGb8Xj5zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=XAVGb8Xj5zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=ffHuVJrlcJo:jKTvZsORWlA:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rojotek?i=ffHuVJrlcJo:jKTvZsORWlA:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/rojotek/~4/ffHuVJrlcJo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rojotek.com/blog/2011/11/29/two-tricks-for-getting-backbone-to-play-well-with-ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		<feedburner:origLink>http://www.rojotek.com/blog/2011/11/29/two-tricks-for-getting-backbone-to-play-well-with-ruby-on-rails/</feedburner:origLink></item>
		<item>
		<title>Getting Started with GEO, CouchDB, and Node.js By Mick Thompson</title>
		<link>http://feedproxy.google.com/~r/rojotek/~3/7t9opdmVSVk/</link>
		<comments>http://www.rojotek.com/blog/2011/08/11/getting-started-with-geo-couchdb-and-node-js-by-mick-thompson/#comments</comments>
		<pubDate>Thu, 11 Aug 2011 10:12:09 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[O'Reilly Blogger Review]]></category>

		<guid isPermaLink="false">http://www.rojotek.com/blog/?p=1094</guid>
		<description><![CDATA[I&#8217;m more and more enjoying the O&#8217;Reilly Getting Started guides. They provide a good introduction to cutting edge topics, and this one is no exception. I&#8217;ve been interested in learning about noSQL datastores, and learning more about CouchDB is always good. The book starts by introducing each of the topics in it&#8217;s title, giving a [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m more and more enjoying the O&#8217;Reilly Getting Started guides.  They provide a good introduction to cutting edge topics, and this one is no exception.  I&#8217;ve been interested in learning about noSQL datastores, and learning more about CouchDB is always good. The book starts by introducing each of the topics in it&#8217;s title, giving a short informative chapter to each.  Informative enough to be useful if you don&#8217;t know much about the tool, but not too long as to bore someone who knows a lot about it.  The book then includes hooking them all together walking through a couple of practical examples.</p>
<p>I&#8217;d highly recommend this book to anyone wanting to learn more about the topics in the title.  Essentially it does what it says on the tin.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rojotek?a=7t9opdmVSVk:DnuQOE8hweY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=7t9opdmVSVk:DnuQOE8hweY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/rojotek?i=7t9opdmVSVk:DnuQOE8hweY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=7t9opdmVSVk:DnuQOE8hweY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/rojotek?i=7t9opdmVSVk:DnuQOE8hweY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=7t9opdmVSVk:DnuQOE8hweY:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/rojotek?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=7t9opdmVSVk:DnuQOE8hweY:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/rojotek?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=7t9opdmVSVk:DnuQOE8hweY:XAVGb8Xj5zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=XAVGb8Xj5zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=7t9opdmVSVk:DnuQOE8hweY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rojotek?i=7t9opdmVSVk:DnuQOE8hweY:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/rojotek/~4/7t9opdmVSVk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rojotek.com/blog/2011/08/11/getting-started-with-geo-couchdb-and-node-js-by-mick-thompson/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rojotek.com/blog/2011/08/11/getting-started-with-geo-couchdb-and-node-js-by-mick-thompson/</feedburner:origLink></item>
		<item>
		<title>Redis Cookbook By Tiago Macedo, Fred Oliveira</title>
		<link>http://feedproxy.google.com/~r/rojotek/~3/bd1TpMfygKo/</link>
		<comments>http://www.rojotek.com/blog/2011/08/10/redis-cookbook/#comments</comments>
		<pubDate>Tue, 09 Aug 2011 21:13:18 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[O'Reilly Blogger Review]]></category>

		<guid isPermaLink="false">http://www.rojotek.com/blog/?p=1091</guid>
		<description><![CDATA[I&#8217;ve been interested in redis having seen it recently in a couple of rails based systems, and heard it described as the magic caching data structure. I grabbed a copy of the Redis Cookbook in order to get a better understanding of Redis to use it with existing systems and to see how it might [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been interested in redis having seen it recently in a couple of rails based systems, and heard it described as the magic caching data structure. I grabbed a copy of the Redis Cookbook in order to get a better understanding of Redis to use it with existing systems and to see how it might fit into new systems.</p>
<p>The Cookbook format gave some good insights into how to use red is in different situations,  and I learnt how to use the APIs by seeing how they are used in the examples. Depending on your point of view the thin size of the book can be a strength or a weakness. I was able to get through it in a few hours while traveling. For a technical reader with some exposure to key value systems the Redis Cookbook makes for a good educational read that I&#8217;d highly recommend.  </p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rojotek?a=bd1TpMfygKo:d0eZDG1EgEY:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=bd1TpMfygKo:d0eZDG1EgEY:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/rojotek?i=bd1TpMfygKo:d0eZDG1EgEY:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=bd1TpMfygKo:d0eZDG1EgEY:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/rojotek?i=bd1TpMfygKo:d0eZDG1EgEY:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=bd1TpMfygKo:d0eZDG1EgEY:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/rojotek?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=bd1TpMfygKo:d0eZDG1EgEY:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/rojotek?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=bd1TpMfygKo:d0eZDG1EgEY:XAVGb8Xj5zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=XAVGb8Xj5zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=bd1TpMfygKo:d0eZDG1EgEY:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rojotek?i=bd1TpMfygKo:d0eZDG1EgEY:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/rojotek/~4/bd1TpMfygKo" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rojotek.com/blog/2011/08/10/redis-cookbook/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rojotek.com/blog/2011/08/10/redis-cookbook/</feedburner:origLink></item>
		<item>
		<title>Functional Programming for Java Developers By Dean Wampler</title>
		<link>http://feedproxy.google.com/~r/rojotek/~3/NBAY0HDEZG4/</link>
		<comments>http://www.rojotek.com/blog/2011/08/08/functional-programming-for-java-developers-by-dean-wampler/#comments</comments>
		<pubDate>Sun, 07 Aug 2011 23:24:16 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[O'Reilly Blogger Review]]></category>

		<guid isPermaLink="false">http://www.rojotek.com/blog/?p=1088</guid>
		<description><![CDATA[It was with eagerness and anticipation that I picked up a copy of &#8220;Functional Programming for Java Developers&#8221;. I&#8217;d heard about it on twitter, and conversations with my resident functional guru (Tony Morris) got me excited about the potential for this book. In the end it made for a quick read. Having spent many hours [...]]]></description>
			<content:encoded><![CDATA[<p>It was with eagerness and anticipation that I picked up a copy of &#8220;Functional Programming for Java Developers&#8221;. I&#8217;d heard about it on twitter, and conversations with my resident functional guru (Tony Morris) got me excited about the potential for this book.</p>
<p>In the end it made for a quick read. Having spent many hours working through functional exercises with Tony meant that I&#8217;d already been introduced to the majority of the ideas covered in the book, and so I fell outside the main target audience of java developers who haven&#8217;t done functional programming, but are interested. I&#8217;d definitely recommend this book to anyone who hasn&#8217;t done functional programming, and is interested, but not to people who&#8217;ve already had exposure.</p>
<p>As the target audience for the book is for that group of people, I think it gets it spot on, and anyone in that group should grab a copy.  The coverage of functional programming using Java is good, and the bibliography and list of next steps is great.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rojotek?a=NBAY0HDEZG4:NFPnZ5Ckmfs:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=NBAY0HDEZG4:NFPnZ5Ckmfs:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/rojotek?i=NBAY0HDEZG4:NFPnZ5Ckmfs:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=NBAY0HDEZG4:NFPnZ5Ckmfs:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/rojotek?i=NBAY0HDEZG4:NFPnZ5Ckmfs:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=NBAY0HDEZG4:NFPnZ5Ckmfs:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/rojotek?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=NBAY0HDEZG4:NFPnZ5Ckmfs:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/rojotek?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=NBAY0HDEZG4:NFPnZ5Ckmfs:XAVGb8Xj5zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=XAVGb8Xj5zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=NBAY0HDEZG4:NFPnZ5Ckmfs:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rojotek?i=NBAY0HDEZG4:NFPnZ5Ckmfs:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/rojotek/~4/NBAY0HDEZG4" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rojotek.com/blog/2011/08/08/functional-programming-for-java-developers-by-dean-wampler/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rojotek.com/blog/2011/08/08/functional-programming-for-java-developers-by-dean-wampler/</feedburner:origLink></item>
		<item>
		<title>The Book of Ruby By Huw Collingbourne</title>
		<link>http://feedproxy.google.com/~r/rojotek/~3/OfoVvhq2Jyc/</link>
		<comments>http://www.rojotek.com/blog/2011/08/03/the-book-of-ruby-by-huw-collingbourne/#comments</comments>
		<pubDate>Tue, 02 Aug 2011 21:33:51 +0000</pubDate>
		<dc:creator>Rob</dc:creator>
				<category><![CDATA[O'Reilly Blogger Review]]></category>

		<guid isPermaLink="false">http://www.rojotek.com/blog/?p=1085</guid>
		<description><![CDATA[The Book of Ruby constantly had me torn. I love the simple and clear examples. The explanation of the core of the ruby language is very solid and well done. It&#8217;s a readable book&#8230;. but the code isn&#8217;t as clear as I would hope. In trying to point the reader to what the author views [...]]]></description>
			<content:encoded><![CDATA[<p>The Book of Ruby constantly had me torn. I love the simple and clear examples. The explanation of the core of the ruby language is very solid and well done. It&#8217;s a readable book&#8230;. but the code isn&#8217;t as clear as I would hope. In trying to point the reader to what the author views as the important things to learn, he often deliberately goes against the normal ruby coding style.</p>
<p>The code is simple and clear,yet there are too many times where it grates against me. There is perhaps a case to saying that it is simply my own personal biases that are getting in the way, and I can live with that, but I like to think that I&#8217;ve built up these biases and thought from experience, and that they count for something.</p>
<p>So in reviewing this book, I am, as I said torn. It is quite clear. It&#8217;s well written with quite good coding examples. I did manage to read it from end to end, which speaks of it&#8217;s readability. It&#8217;s sold as a gentler introduction than the classic pick-axe, but I don&#8217;t know who I&#8217;d recommend it to over the pick-axe. I give this book a 3 out of 5. It&#8217;s faults won&#8217;t let me rate it higher, but aren&#8217;t significant enough to rate it any lower.</p>
<div class="feedflare">
<a href="http://feeds.feedburner.com/~ff/rojotek?a=OfoVvhq2Jyc:7HJSWqHpnWk:yIl2AUoC8zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=yIl2AUoC8zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=OfoVvhq2Jyc:7HJSWqHpnWk:V_sGLiPBpWU"><img src="http://feeds.feedburner.com/~ff/rojotek?i=OfoVvhq2Jyc:7HJSWqHpnWk:V_sGLiPBpWU" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=OfoVvhq2Jyc:7HJSWqHpnWk:F7zBnMyn0Lo"><img src="http://feeds.feedburner.com/~ff/rojotek?i=OfoVvhq2Jyc:7HJSWqHpnWk:F7zBnMyn0Lo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=OfoVvhq2Jyc:7HJSWqHpnWk:I9og5sOYxJI"><img src="http://feeds.feedburner.com/~ff/rojotek?d=I9og5sOYxJI" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=OfoVvhq2Jyc:7HJSWqHpnWk:bcOpcFrp8Mo"><img src="http://feeds.feedburner.com/~ff/rojotek?d=bcOpcFrp8Mo" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=OfoVvhq2Jyc:7HJSWqHpnWk:XAVGb8Xj5zA"><img src="http://feeds.feedburner.com/~ff/rojotek?d=XAVGb8Xj5zA" border="0"></img></a> <a href="http://feeds.feedburner.com/~ff/rojotek?a=OfoVvhq2Jyc:7HJSWqHpnWk:D7DqB2pKExk"><img src="http://feeds.feedburner.com/~ff/rojotek?i=OfoVvhq2Jyc:7HJSWqHpnWk:D7DqB2pKExk" border="0"></img></a>
</div><img src="http://feeds.feedburner.com/~r/rojotek/~4/OfoVvhq2Jyc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://www.rojotek.com/blog/2011/08/03/the-book-of-ruby-by-huw-collingbourne/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://www.rojotek.com/blog/2011/08/03/the-book-of-ruby-by-huw-collingbourne/</feedburner:origLink></item>
	</channel>
</rss>

