<?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>VernMcGeorge.com</title>
	<atom:link href="http://vernmcgeorge.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://vernmcgeorge.com</link>
	<description>Just another WordPress weblog</description>
	<lastBuildDate>Sat, 31 Dec 2011 02:40:21 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3</generator>
		<item>
		<title>I am pleased to announce that my novel, All Fall Down is now available on the Kindle</title>
		<link>http://vernmcgeorge.com/?p=294</link>
		<comments>http://vernmcgeorge.com/?p=294#comments</comments>
		<pubDate>Sat, 31 Dec 2011 00:00:03 +0000</pubDate>
		<dc:creator>Vern McGeorge</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[novel]]></category>
		<category><![CDATA[sci-fi]]></category>
		<category><![CDATA[thriller]]></category>
		<category><![CDATA[writer]]></category>

		<guid isPermaLink="false">http://vernmcgeorge.com/?p=294</guid>
		<description><![CDATA[All Fall Down is a science-fiction techno-thriller about a terrorist attack on the Space Elevator.]]></description>
			<content:encoded><![CDATA[<div style="float: right;"><iframe style="width: 120px; height: 240px;" src="http://rcm.amazon.com/e/cm?lt1=_blank&amp;bc1=000000&amp;IS2=1&amp;bg1=FFFFFF&amp;fc1=000000&amp;lc1=0000FF&amp;t=vern-20&amp;o=1&amp;p=8&amp;l=as4&amp;m=amazon&amp;f=ifr&amp;ref=ss_til&amp;asins=B006R02QJ0" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="320" height="240"></iframe></div>
<p>All Fall Down is a science-fiction techno-thriller about an attack on the Space Elevator. Although I am an enthusiast of the space elevator, this is no “gee whiz” story about the technology. The space elevator provides nothing more than a venue, an irresistible opportunity for mischief by the antagonists, and some unique challenges for the protagonists to overcome as they struggle to defeat the terrorists’ plot.</p>
<p>When Col. Roberto di Vincente, driven to avenge the shooting of his wife by U.S. Marines, leads a paramilitary attack on the Space Elevator’s base platform anchored off the coast of Brazil, Marcus Gant, the deputy chief of security, is taken hostage along with most of Port Sheffield’s crew. Gant had hoped to live peacefully, far from the streets of Boston where his on-duty shooting of a child tore his family apart. When his boss is executed following a failed escape attempt, he is thrust into leadership of Port Sheffield’s nascent resistance movement.</p>
<p>Stephanie Petersen and the visiting VIPs, including the man di Vincente blames for the death of his wife, escape up the elevator during the attack. An enemy force, led by Major Eduardo Vieira, di Vincente’s ruthless second-in-command, follows in close pursuit. At Clarke Station, Stephanie is reunited with her estranged husband, Tom. Together they will make their stand.</p>
<p>Col. di Vincente intends to use the Space Elevator to lift small missiles high above the earth, giving his nuclear and biological weapons global reach. His goal is to coerce social justice from the temperate &#8220;haves&#8221; for the tropical &#8220;have-not&#8221; who have been reduced to pariah status following a world-wide plague.</p>
<p>His financial backer, Daniel Falcao, and Major Vieira, plan to betray him and launch the missiles against major cities in the developed world so that Brazil can emerge from the resulting chaos as a world power.</p>
<p>Learning this, the President of the United States has set in motion Slam Dunk; simultaneous preemptive nuclear strikes against Port Sheffield and Clarke Station. Marcus, Stephanie, and Tom must race against time to prevent the destruction of the Space Elevator, the sacrifice of its crew, and the possible slaughter of two-billion people.</p>
<p>Follow the discussion on <a href="http://www.facebook.com/pages/All-Fall-Down/141350232643844">Facebook</a>, <a href="http://twitter.com/all_fall_down">Twitter</a>, and <a href="http://sparkofideation.com/">Spark of Ideation</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://vernmcgeorge.com/?feed=rss2&#038;p=294</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>San Jose Startup Weekend</title>
		<link>http://vernmcgeorge.com/?p=279</link>
		<comments>http://vernmcgeorge.com/?p=279#comments</comments>
		<pubDate>Sun, 17 Apr 2011 23:20:24 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://vernmcgeorge.com/?p=279</guid>
		<description><![CDATA[If you're interested in what we did ...]]></description>
			<content:encoded><![CDATA[<p>Click <a href="http://sharp-leaf-854.heroku.com", target="_blank">here</a> to customize the venue (or not) and start the demo.</p>
<p>The click <a href="http://sharp-leaf-854.heroku.com/welcome", target="_blank">here</a> to open a window (like that found on a mobile device) to participate in the conversation. </p>
]]></content:encoded>
			<wfw:commentRss>http://vernmcgeorge.com/?feed=rss2&#038;p=279</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tooling Up for Ruby on Rails &#8211; Part 6 &#8211; A Work in Progress</title>
		<link>http://vernmcgeorge.com/?p=251</link>
		<comments>http://vernmcgeorge.com/?p=251#comments</comments>
		<pubDate>Fri, 31 Dec 2010 20:59:38 +0000</pubDate>
		<dc:creator>Vern McGeorge</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[bdd]]></category>
		<category><![CDATA[capybara]]></category>
		<category><![CDATA[cucumber]]></category>
		<category><![CDATA[devchix]]></category>
		<category><![CDATA[dry]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[rspec]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[webrat]]></category>

		<guid isPermaLink="false">http://vernmcgeorge.com/?p=251</guid>
		<description><![CDATA[(In Progress) Working through the inevitable teething pains as I come up to speed on my Ruby on Rails 3 environment and tools set.]]></description>
			<content:encoded><![CDATA[<p>&#8220;Life is what happens to you while you are making other plans.&#8221;</p>
<p>This post was going to be the last tooling steps required to set up a collaborative team around a RoR project using Git and Heroku.</p>
<p>Then I dove into Behavior Driven Development using <a href="http://http://pragprog.com/titles/achbd/the-rspec-book">The RSpec Book</a>  and <a href="http://pragprog.com/titles/rails4/agile-web-development-with-rails">Agile Web Development with Rails (4th edition)</a> intending to start not as a stand-alone example but as part of my first Rails 3 application.</p>
<p>My first step, write a cucumber test describing a user visiting the first screen of my app and seeing an opportunity to login or register as a new user. Pretty simple.</p>
<p>My first problem &#8211; nothing worked as expected (or foolishly hoped).</p>
<p>The first problem I ran into was with the sqlite-ruby gem.</p>
<p>Sorry for the lack of specifics (I failed to capture them) but I resolved this problem searching the web for a solution, installing some missing dependencies, and reinstalling (i.e. rebuilding) the gem.</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ sudo apt-get install sqlite3 libsqlite3-dev<br />
$ sudo gem install sqlite3-ruby <br />
$ bundle install</div></td></tr></tbody></table></div>
<p>Then, I set about configuring my application for cucumber testing by hand. I recommend that you do not do this, although you might pick up some valuable lessons from watching me progress past my mistakes. Instead, SKIP FROM HERE >>></p>
<p>But, FYI I added the following just before the end statement in my &#8230;</p>
<p>myproject/config/environments/test.rb </p>
<p>&#8230; file</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">&nbsp; # Set Behavior Driven Development environment<br />
&nbsp; config.gem &quot;rspec&quot;, :lib =&gt; false, :version =&gt; &quot;&gt;=2.3.0&quot;<br />
&nbsp; config.gem &quot;rspec-rails&quot;, :lib =&gt; false, :version =&gt; &quot;&gt;=2.3.1&quot;<br />
&nbsp; config.gem &quot;webrat&quot;, :lib =&gt; false, :version =&gt; &quot;&gt;=0.7.2&quot;<br />
&nbsp; config.gem &quot;cucumber&quot;, :lib =&gt; false, :version =&gt; &quot;&gt;=0.10.0&quot;<br />
&nbsp; config.gem &quot;cucumber-rails&quot;, :lib =&gt; false, :version =&gt; &quot;&gt;=0.3.2&quot;</div></td></tr></tbody></table></div>
<p>The I modified the end of my &#8230;</p>
<p>myproject/Gemfile</p>
<p>&#8230; to look like this &#8230;</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">group :development, :test do<br />
&nbsp; gem &quot;rspec&quot;, &quot;&gt;=2.3.0&quot;<br />
&nbsp; gem &quot;rspec-rails&quot;, &quot;&gt;=2.3.1&quot;<br />
&nbsp; gem &quot;webrat&quot;, &quot;&gt;=0.7.2&quot;<br />
&nbsp; gem &quot;cucumber&quot;, &quot;&gt;=0.10.0&quot;<br />
&nbsp; gem &quot;cucumber-rails&quot;, &quot;&gt;=0.3.2&quot;<br />
end</div></td></tr></tbody></table></div>
<p>NOTE: I should have taken the hint that the above modifications are not DRY. DRY (Don&#8217;t Repeat Yourself) is a fundamental principle of Ruby on Rails so the fact that I blindly followed the documents on hand and made two similar changes indicates that I was doing it both the old, not-so-correct way and the new, correct way. Also note that all documentation is subject to going out of date. Make sure that the material you are working with is current for the release you are using.</p>
<p>I then installed the missing cucumber-rails gem &#8230;</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ gem install cucumber-rails<br />
$ bundle install</div></td></tr></tbody></table></div>
<p>&#8230; found that the generators for cucumber tests were missing and installed them &#8230;</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ rails g rspec:install<br />
$ rails g cucumber:install</div></td></tr></tbody></table></div>
<p>Then I wrote my first *.feature file and ran into bug after bug. I then ditched my own application in favor of the DevChix curriculum but I created my suggestotron without using the template (big mistake). I the started working the demo app in Michael Hartl&#8217;s Ruby on Rails 3 Tutorial, again setting up the testing as above. In all three cases, I ran into the same bugs and the same brick wall.</p>
<p>I asked <a href="http://www.blog.codecauldron.com/">Doug Goldie</a> for help and as he has taught the DevChix workshop, he set me back on the straight and narrow, starting with <a href="http://www.wiki.devchix.com/index.php?title=Rails_3_Curriculum">the most up-to-date curriculum</a>. His sage advice &#8211; walk, then run (i.e. work through this project EXACTLY as it is documented.</p>
<p><<< TO HERE</p>
<p>The first step in the DevChix workshop is creating the project using a template. It's worth knowing what a template does because at some point you will want to develop your own template(s) so that you can start new projects that are set up just the way you like them.</p>
<p>The Mac/Linux template is listed below. The Windows template probably does much the same things using different (i.e. non-Unix) commands.</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">run(&quot;echo group :test, :development do &gt;&gt; Gemfile;&quot;)<br />
run(&quot;echo &nbsp;gem \'rspec-rails\', \'\\&gt;\\= 2.0.0.beta.22\' &gt;&gt; Gemfile;&quot;)<br />
run(&quot;echo &nbsp;gem \'capybara\' &gt;&gt; Gemfile;&quot;)<br />
run(&quot;echo &nbsp;gem \'database_cleaner\' &gt;&gt; Gemfile;&quot;)<br />
run(&quot;echo &nbsp;gem \'cucumber-rails\' &gt;&gt; Gemfile;&quot;)<br />
run(&quot;echo &nbsp;gem \'cucumber\' &gt;&gt; Gemfile;&quot;)<br />
run(&quot;echo &nbsp;gem \'spork\' &gt;&gt; Gemfile;&quot;)<br />
run(&quot;echo &nbsp;gem \'launchy\' &gt;&gt; Gemfile;&quot;)<br />
run(&quot;echo end &gt;&gt; Gemfile;&quot;)<br />
<br />
run(&quot;bundle install&quot;)<br />
<br />
generate(&quot;rspec:install&quot;)<br />
<br />
generate(&quot;cucumber:install --rspec --capybara&quot;)<br />
<br />
rake(&quot;db:migrate&quot;)<br />
<br />
run(&quot;rm -rf test&quot;)<br />
run(&quot;rm -rf features&quot;)<br />
<br />
git(:clone =&gt; &quot;http://github.com/sarahmei/workshop-features.git&quot;)<br />
run(&quot;mv workshop-features features&quot;)<br />
inside(&quot;features&quot;) { run(&quot;rm -rf .git&quot;) } <br />
<br />
inside(&quot;config&quot;) { run(&quot;echo default: --format pretty &gt; cucumber.yml&quot;) }<br />
<br />
run(&quot;echo log/ &gt; .gitignore; echo 'db/*.sqlite3' &gt;&gt; .gitignore;&quot;)</div></td></tr></tbody></table></div>
<p>This template does three things &#8230;</p>
<p>Lines 1-17 installs and configures the tools needed for Behavior Driven Development correctly.</p>
<p>Lines 19-25 replaces the empty test and feature directories with populated versions from a git repository, and does some housekeeping (you can only have one .git file in an project so the one from test repository is removed). This is not something you will want to do in your own templates.</p>
<p>Line 27 adds some files and directories to the .gitignore file. You don&#8217;t want everything under version control so files that created as a side effect of you running your application in development and files that are created by your local tools (e.g. your IDE) can be excluded.</p>
<p>So, I&#8217;m past my brick wall now.</p>
<p>I immediately ran into another error. Search for <em>undefined local variable or method `node&#8217; for #<Capybara::Driver::Node</em> and you should find a solution. Hint: One solution is using version 0.3.9 of Capybara, but that is not the best solution. This stuff is evolving. Get used to searching the web for answers.</p>
<p>I&#8217;ll add more to this post as I work through any other problems I find.</p>
]]></content:encoded>
			<wfw:commentRss>http://vernmcgeorge.com/?feed=rss2&#038;p=251</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tooling Up for Ruby on Rails &#8211; Part 5</title>
		<link>http://vernmcgeorge.com/?p=249</link>
		<comments>http://vernmcgeorge.com/?p=249#comments</comments>
		<pubDate>Fri, 31 Dec 2010 20:55:04 +0000</pubDate>
		<dc:creator>Vern McGeorge</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[customization]]></category>
		<category><![CDATA[komodo]]></category>
		<category><![CDATA[menu]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[rubymine]]></category>
		<category><![CDATA[tools]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://vernmcgeorge.com/?p=249</guid>
		<description><![CDATA[Finish the installation of the software advised by DevChix and an IDE of my choosing.]]></description>
			<content:encoded><![CDATA[<p>At last, we find ourselves with one last task (almost &#8211; more on that later) &#8230;</p>
<p>[  ] KomodoEdit</p>
<p>The first thing I did (the second time around after reverting to my &#8220;Part 4 Complete&#8221; snapshot) is install the Sun Java(TM) Development Kit (JDK) 6 because later on RubyMine threw a cow &#8230;</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">WARNING: You are launching IDE using OpenJDK Java runtime<br />
<br />
THIS IS STRICTLY UNSUPPORTED DUE TO KNOWN PERFORMANCE AND GRAPHICS PROBLEMS<br />
<br />
NOTE: If you have both Sun JDK and OpenJDK installed<br />
please validate either RUBYMINE_JDK or JDK_HOME points to valid Sun JDK installation</div></td></tr></tbody></table></div>
<p>I have no idea if KomodoEdit cares, but it seemed prudent to pave over this particular pot-hole early. To install this, I opened the Ubuntu Software Center, searched for &#8220;JDK&#8221; and installed away. Now, back to KomodoEdit.</p>
<p>From their website: &#8220;Komodo Edit is a free and open source editor for dynamic languages based on the award-winning Komodo IDE.</p>
<p>It&#8217;s a common marketing strategy to give away a free version and sell upgraded features. I have no idea how good, or how crippled the free version is compared to Komodo IDE, but I downloaded it from <a href="http://www.activestate.com/komodo-edit/downloads">here</a> &#8211; a page that automatically offered the correct download for my platform (64-bit Ubuntu) and offered other platform choices as well.</p>
<p>After downloading, I pulled down my &#8220;Places &rArr; Home Folder&#8221; menu and navigated to the Downloads directory where I right-clicked on the Komodo tarball to &#8220;Extract Here.&#8221; I then typed the following into a terminal window.</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ cd Down*<br />
~/Downloads$ cd Komo*<br />
~/Downloads/Komodo-Edit-6.0.3-6811-linux-libcpp6-x86_64$ ./install.sh</div></td></tr></tbody></table></div>
<p>I accepted the default installation directory, and KomodoEdit installed without incident.</p>
<p>Next, I created a launcher in the Applications &rArr; Programming menu by following the instructions I found <a href="http://www.liberiangeek.net/2010/09/create-custom-application-command-ubuntu-main-menu-ubuntu-10-10-maverick-meerkat/">here</a>. From my search it looked like a 10.04 link, the page now looks like 10.10 &#8211; in any event, it works just fine. The program you want to launch is &#8230;</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">~/Komodo-Edit-6/bin/komodo</div></td></tr></tbody></table></div>
<p>&#8230; which can be found under your home directory.</p>
<p>I then pulled down my &#8220;Applications &rArr; Programming &rArr; Komodo-Edit &#8230;&#8221; menu and &#8220;ta-da!&#8221; there it is.</p>
<p>[X] KomodoEdit</p>
<p>Just noodling about for a few minutes, I like KomodoEdit more than I liked the &#8220;e&#8221; text editor (a TextMate knock-off for Windows). The features are similar. The polish, built in examples, and documentation seem to favor Komodo (although I could easily be proven wrong).</p>
<p>You have the tools at this point to develop, collaborate with others on, test, deploy, and host Ruby on Rails applications in the cloud. And, you&#8217;re not out a nickle! Enjoy!</p>
<p>However, I am looking for a more integrated process that can hide some of the details so I can focus on the big picture. Constantly being pushed back to arcane command line sequences just slows the learning process.</p>
<p>NOTE: There are RoR developers who claim that you need to see the details &#8211; you need to understand how all the niddly bits work in order to fully understand the big picture. They may be right. I&#8217;ll risk it.</p>
<p>In any event, I suspect that I will work with people who have taken a less integrated approach, or worse yet, chosen a bad IDE, that I will be exposed to the ugly guts in due time.</p>
<p>LATE BREAKING NEWS: As I work through various tutorials, I find myself doing most of my work on the command line and in KomodoEdit. I wish I had not been so quick to install RubyMine as the clock is ticking on my 30-day trail period and I haven&#8217;t had time to delve deeply into this IDE. For now, I recommend that you SKIP FROM HERE >>></p>
<p>What&#8217;s a good IDE and what&#8217;s a bad IDE? While there is no doubt an objective truth here (at least to the narrow question: &#8220;What is the best IDE for Ruby on Rails 3 development today?&#8221;) the debate is largely religious. The answer will change tomorrow, and the day after as the vendors compete. Everyone has their favorite.</p>
<p>If you have a favorite, I can only suggest that you re-evaluate it&#8217;s applicability for web 2.0 and RoR work. This whole &#8220;cloud-based, collaborative, framework-driven, open-source, etc.&#8221; environment may be different enough that your tried-and-true favorite may not serve you best.</p>
<p>This decision was made for me as all my old favorites have been rendered mute by the passage of time.</p>
<p>This leaves me with a nearly blank slate and a set of features I am looking for: GUI support for common rails and rake tasks, GUI support for RSpace/Cucumber, GUI support for Git, deployment support (Heroku or Engine Yard) if possible, probably 3 or 4 more things I don&#8217;t even know I want yet.</p>
<p>Any of the popular choices are probably not bad. I pick up my dart and cast it (not completely blindly) at RubyMine 3 which I downloaded from <a href="http://www.jetbrains.com/ruby/download/">here</a>.</p>
<p>After downloading, I pulled down my &#8220;Places &rArr; Home Folder&#8221; menu and navigated to the Downloads directory where I right-clicked on the RubyMine tarball to &#8220;Extract Here.&#8221; I then typed the following into a terminal window.</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ cd ~<br />
$ cd Down*<br />
~/Downloads$ cd Ruby*<br />
~/Downloads/RubyMine-3.0.1$ cd bin<br />
~/Downloads/RubyMine-3.0.1/bin$ ./rubymine.sh</div></td></tr></tbody></table></div>
<p>RubyMine was still throwing a cow. So I typed &#8230;</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ gedit rubymine.sh</div></td></tr></tbody></table></div>
<p>&#8230; and inserted &#8230;</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">export RUBYMINE_JDK=/usr/lib/jvm/java-6-sun</div></td></tr></tbody></table></div>
<p>&#8230; as the second line. Now, RubyMine runs almost perfectly. Almost because of two issues.</p>
<p>The first is theirs &#8211; when I exit the RubyMine IDE, it throws four exceptions. Not a big deal as I&#8217;m leaving anyway, but sloppy.</p>
<p>The second is my preference. I think of /tmp and ~/Downloads as the first go-to directories when I&#8217;m out of disc space and looking to delete stuff. Therefore, running an installer out of Downloads is good, running an installed app out of Downloads, not so much.</p>
<p>So, I moved (actually, I copied for safety&#8217;s sake) the RubyMine-3.0.1 directory from Downloads to my home directory and it still runs.</p>
<p><<< TO HERE and come back later when you are ready to take full advantage of an IDE.</p>
<p>Next, I created a launcher in the Applications &rArr; Programming menu by following the instructions I found <a href="http://www.liberiangeek.net/2010/09/create-custom-application-command-ubuntu-main-menu-ubuntu-10-10-maverick-meerkat/">here</a>. The program I want to launch is &#8230;</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">~/RubyMine-3.0.1/bin/rubymine.sh</div></td></tr></tbody></table></div>
<p>&#8230; which I moved under my home directory.</p>
<p>I then pulled down my &#8220;Applications &rArr; Programming &rArr; RubyMine &#8230;&#8221; menu and there it is.</p>
<p>One problem &#8211; both programs show up in the menu and everywhere else with a generic icon. Must fix that.</p>
<p>So I opened the System &rArr; Preferences &rArr; Main Menu program again, navigated to the launchers, clicked on Properties, clicked on the icon button, and selected new icon files &#8230;</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">~/Komodo-Edit-6/share/icons/komodo128.png<br />
~/RubyMine-3.0.1/bin/RMlogo.svg</div></td></tr></tbody></table></div>
<p>&#8230; for each of the programs. Now, they both work right and look good doing so.</p>
<p>For some future Part 7(?), I need to recruit a partner to create a project so we can add each other as collaborators and I can document what that process looks like from both sides.</p>
<p>For now, I&#8217;m diving into Behavior Driven Development using <a href="http://http://pragprog.com/titles/achbd/the-rspec-book">The RSpec Book</a> although I intent to start not as a stand-alone example but as part of my first Rails 3 application. I will also be using <a href="http://pragprog.com/titles/rails4/agile-web-development-with-rails">Agile Web Development with Rails (4th edition)</a></p>
<p>Please join me in <a href="http://vernmcgeorge.com/?p=251">Part 6</a> as I work through the inevitable teething pains associated with coming up to speed on these new tools and processes.</p>
]]></content:encoded>
			<wfw:commentRss>http://vernmcgeorge.com/?feed=rss2&#038;p=249</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tooling Up for Ruby on Rails &#8211; Part 4</title>
		<link>http://vernmcgeorge.com/?p=241</link>
		<comments>http://vernmcgeorge.com/?p=241#comments</comments>
		<pubDate>Fri, 31 Dec 2010 18:42:37 +0000</pubDate>
		<dc:creator>Vern McGeorge</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[capybara]]></category>
		<category><![CDATA[cucumber]]></category>
		<category><![CDATA[dbb]]></category>
		<category><![CDATA[git]]></category>
		<category><![CDATA[heroku]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[rspec]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[tdd]]></category>
		<category><![CDATA[webrat]]></category>

		<guid isPermaLink="false">http://vernmcgeorge.com/?p=241</guid>
		<description><![CDATA[Set up the rest of the tools required to build, test, host, and deploy your Ruby on Rails applications.]]></description>
			<content:encoded><![CDATA[<p>What&#8217;s left?</p>
<p>[  ] Cucumber, Rspec, Rpec-rails, Webrat<br />
[  ] Heroku<br />
[  ] KomodoEdit</p>
<p>More importantly, why do we care about this stuff?</p>
<p>The first time I dove into Ruby on Rails, I carried over some bad habits from my &#8220;local development, infrequent submissions, big merges, and nightly builds&#8221; past. I also fell into the &#8220;code first, test later&#8221; trap which is not too surprising given that even what many consider to be <a href="http://www.pragprog.com/titles/rails4/agile-web-development-with-rails">the definitive Ruby on Rails textbook</a> gets around to testing in chapter 14 (page 210).</p>
<p>Unfortunately, these old habits do not support the way things get done now.</p>
<p>Thus, Cucumber, et.al., exist to support Test Driven Development and at an even higher level of abstraction, Behavior Driven Development using a plain English (albeit structured and slightly stilted) language. Watch <a href="http://railscasts.com/episodes/156-webrat">this</a> and <a href="http://railscasts.com/episodes/155-beginning-with-cucumber">this</a> and prepare to be amazed.</p>
<p>LATE BREAKING NEWS</p>
<p>It seems that these instructions are a bit out of date for Rails 3 &#8211; specifically, it seems that Webrat is not yet compatible with Rails 3. Fortunately, Capybara is and it serves the same function. This is easily resolvable as outlined in <a href="http://vernmcgeorge.com/?p=251">Part 6</a> so you can safely skip FROM HERE >>></p>
<p>You can install this stuff, based on the instructions provided <a href="http://www.claytonlz.com/index.php/2009/04/how-to-setup-rspec-cucumber-webrat-rcov-and-autotest-on-leopard/">here</a> and <a href="https://github.com/alecnmk/webrat_webdriver">here</a>, by entering the following commands.</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ gem install rspec<br />
$ gem install rspec-rails<br />
$ gem install cucumber<br />
$ sudo apt-get install libxslt1-dev libxml2-dev<br />
$ gem install webrat</div></td></tr></tbody></table></div>
<p><<< TO HERE for now. When I work through the DevChix Curriculum in <a href="http://vernmcgeorge.com/?p=251">Part 6</a> all of the right testing tools will be added by the template used to create the Rails project.</p>
<p>I&#8217;ve spent far too much time trying to figure out the best hosting solution for my RoR  study group. <a href="http://www.blog.codecauldron.com/">Doug</a> solved it in one word, <a href="http://heroku.com/">Heroku</a>.  From my extensive read of the site, I come away with two key messages:</p>
<p>1. Heroku provides a Git repository to allow you, and any colaborators that you chose to to work on a shared code base with full version control.</p>
<p>2. Heroku then allows you to deploy that project to the Internet on a platform that you do not have to define, configure, or maintain.</p>
<p>Best of all it&#8217;s free! Their business model seems simple enough &#8211; host 100,000+ very low volume apps for free. When some small percentage of them develop a following and need to scale up to a larger database or a more powerful server presence, it&#8217;s easier for the project owners to just scale up in place. When you need to scale up, it is most definitely NOT free. That&#8217;s a problem I would like to have.</p>
<p>Until then, Heroku looks almost perfect. I say, almost because the documented process for getting setup is a bit Byzantine. Allow me to scout ahead.</p>
<p>First, go to <a href="heroku.com">heroku.com</a> and create an account. Then install the heroku gem and generate a public/private key pair. This is how Heroku authenticates you (and your collaborators) as people who are authorized to push changes to your application.</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ gem install heroku<br />
$ ssh-keygen -t rsa</div></td></tr></tbody></table></div>
<p>SAVE YOUR KEYS TO AN EXTERNAL MEDIA</p>
<p>I made the mistake of not doing this, had a problem with my virtual machine, rolled back a snapshot, lost my keys, and orphaned my first deployed RoR app (which had no valuable content, fortunately). Do not repeat my mistake.</p>
<p>To create and deploy, first create the application on our local machine. Then add it to Git and deploy to Heroku as shown below.</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ cd PATH/TO/MY_APP<br />
$ git init<br />
$ git add .</div></td></tr></tbody></table></div>
<p>STOP! Before charging ahead with a commit as shown in the Heroku QuickStart guide, please realize that if you have been following Parts 1-4, you are operating in a sandbox that has no relationship to email in the outside world (no, &#8220;vern@RoR2&#8243; is NOT my real email address) so save yourself some grief and fix that now.</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ git config --global user.name &quot;Your Name&quot;<br />
$ git config --global user.email you@example.com</div></td></tr></tbody></table></div>
<p>I didn&#8217;t, which forced me to make an obvious change to index.html and a recommit in Git before moving on. I suggest, but do not know for a fact, that using the email you login to Heroku with might be a good idea.</p>
<p>Proceed with the following.</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ git commit -m &quot;new app&quot;<br />
$ heroku create<br />
$ git push heroku master</div></td></tr></tbody></table></div>
<p>Now, click <a href="http://radiant-night-112.heroku.com/">here</a> and see my first cloud deployed Ruby on Rails application. Ain&#8217;t it a wonder.</p>
<p>For a very brief intro into Git, may I suggest <a href="http://en.wikipedia.org/wiki/Git_(software)">the Wikipedia page</a> (for history and philosophy) and <a href="http://www.kernel.org/pub/software/scm/git/docs/everyday.html">Everyday GIT With 20 Commands Or So</a> (for specifics on the most often used commands) as starting points.</p>
<p>In <a href="http://vernmcgeorge.com/?p=251">Part 6</a>, I will try to recruit a partner to create a project so we can add each other as collaborators and I can document what that process looks like from both sides.</p>
<p>What&#8217;s left?</p>
<p>[X] Cucumber, Rspec, Rpec-rails, Webrat<br />
[X] Heroku<br />
[  ] KomodoEdit</p>
<p>Let&#8217;s turn our attention to editors and other development tools in <a href="http://vernmcgeorge.com/?p=249">Part 5</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://vernmcgeorge.com/?feed=rss2&#038;p=241</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>I&#8217;m back.</title>
		<link>http://vernmcgeorge.com/?p=210</link>
		<comments>http://vernmcgeorge.com/?p=210#comments</comments>
		<pubDate>Fri, 31 Dec 2010 18:07:57 +0000</pubDate>
		<dc:creator>Vern McGeorge</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[fun]]></category>
		<category><![CDATA[SCUBA]]></category>

		<guid isPermaLink="false">http://vernmcgeorge.com/?p=210</guid>
		<description><![CDATA[Been SCUBA diving in Cozumel, Mexico. Fabulous as always although they are now having a problem with Lionfish. Lionfish are indigenous to the Indo-Pacific (Malaysia, Indonesia, etc.) but have now spread to the Caribbean. Theories abound but include the ballast tanks for ships, and salt-water aquariums flooded out by Katrina. In any event, they have [...]]]></description>
			<content:encoded><![CDATA[<p>Been SCUBA diving in Cozumel, Mexico. Fabulous as always although they are now having a problem  with Lionfish.</p>
<p>Lionfish are indigenous to the Indo-Pacific (Malaysia, Indonesia, etc.) but have now spread to the Caribbean. Theories abound but include the ballast tanks for ships, and salt-water aquariums flooded out by Katrina.</p>
<p>In any event, they have no natural predators, they are themselves voracious predators, and while they are beautiful to look at, there are one of the half-dozen fish in the world that can kill you dead if you bump into them (their quills hold a potent neuro-toxin). They are not aggressive are are only dangerous to those who bash they body-parts into the reef (which you should be doing anyway).</p>
]]></content:encoded>
			<wfw:commentRss>http://vernmcgeorge.com/?feed=rss2&#038;p=210</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>How not to use your Kindle</title>
		<link>http://vernmcgeorge.com/?p=234</link>
		<comments>http://vernmcgeorge.com/?p=234#comments</comments>
		<pubDate>Mon, 13 Dec 2010 18:28:33 +0000</pubDate>
		<dc:creator>Vern McGeorge</dc:creator>
				<category><![CDATA[Personal]]></category>
		<category><![CDATA[kindle]]></category>

		<guid isPermaLink="false">http://vernmcgeorge.com/?p=234</guid>
		<description><![CDATA[My beloved product goes insane.]]></description>
			<content:encoded><![CDATA[<p>Computer books are bulky, heavy, and quickly out of date.</p>
<p>Thus, most of my recent technical library lives on my Kindle DX. Yes, I sacrifice color (at least until Amazon comes out with a color replacement) but my technical library weighs in at a whopping 29-5/8 ounces, I can take it everywhere, and there&#8217;s still room in my laptop bag. Better yet, the publisher of many of my books (<a href="http://www.pragprog.com/">Pragmatic Programmers</a>) publishes many titles early in beta form and follows up with updates even after the publication date.</p>
<p>Unfortunately, a couple days ago I started having a problem. I could open and read books but when I closed them, they didn&#8217;t go to the top of the Most Recently Read list. In fact, they went to the last page. Irritating in the extreme.</p>
<p>Mounting my Kindle as a USB drive, I looked at the documents folder and noticed that the MBP files for these books had had last been access on 01-Jan-1980. WTF?</p>
<p>Two calls to Kindle support (or one, if you don&#8217;t count them dropping me and me calling back as a separate call) where we discussed how to reset the time and how (or even if) I should upgrade my firmware I had my answer.</p>
<p>Turn on the wireless connection! Duh!</p>
<p>I had let the battery run down to zero and after recharging, it woke up back in the day of paisley shirts, bell-bottom pants, and polyester leasure suits &#8230; and orange (<a href="http://www.halloweencostumes.com/orange-leisure-suit.html">the horror!</a>).</p>
]]></content:encoded>
			<wfw:commentRss>http://vernmcgeorge.com/?feed=rss2&#038;p=234</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tooling Up for Ruby on Rails &#8211; Part 3</title>
		<link>http://vernmcgeorge.com/?p=225</link>
		<comments>http://vernmcgeorge.com/?p=225#comments</comments>
		<pubDate>Sun, 12 Dec 2010 23:17:58 +0000</pubDate>
		<dc:creator>Vern McGeorge</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[jqtouch]]></category>
		<category><![CDATA[merb]]></category>
		<category><![CDATA[peepcode]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[railscasts]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[training]]></category>

		<guid isPermaLink="false">http://vernmcgeorge.com/?p=225</guid>
		<description><![CDATA[Step 3 - Why Rails 3, Rails 3 Training, and Getting to Rails 3.0.3]]></description>
			<content:encoded><![CDATA[<p>I really should have made these two points in <a href="http://vernmcgeorge.com/?p=218">Part 2</a>:</p>
<ol>
<li>
Why Rails 3 and not Rails 2?
        </li>
<li>
Now that you&#8217;ve got Rails 3, what do you do with it?
        </li>
<li>
How do you get to the latest version of Rails which is NOT 3.0.0?
        </li>
</ol>
<p>First, beside my desire to &#8220;lead the target&#8221; so I can be ready with the skills I need when I am ready to apply those skills in the marketplace, there are some significant technical reasons for going to Rails 3 despite the fact the a big chunk of today&#8217;s real world jobs are probably still using Rails 2.3 or even earlier.</p>
<p>Most of these stem from the core intentions of the Rails 3 release &#8211; to merge the best features of <a href="http://en.wikipedia.org/wiki/Merb#cite_note-5">MERB</a> back into Rails to create a single unified framework. MERB was introduced in late 2008 and quickly developed a following as the leaner, faster, more modular, and more scalable alternative to Rails. Despite the inevitable conflicts and flame-wars that ensued, and to their very great credit, the leaders of both communities resisted the urge to join in on this ideological cat-fight and <a href="http://brainspl.at/articles/2008/12/23/merb-is-rails">developed a plan to merge the frameworks</a>.</p>
<p>Rails 3 is much more modular than Rails 2 and far more agnostic about most of it&#8217;s components. If I want to play with <a href="http://www.youtube.com/watch?v=6X4K2MQsSeI">JQTouch</a> so I can project my RoR application onto mobile devices (and I do &#8211; thanks, Doug for the 411), I&#8217;m not locked out by Prototype and script.aculo.us. If I want to try a different testing framework or different ORM (Object-Relational Mapping) software, I can. Since any particular job or business opportunity may demand the use of components outside the default RoR set, it is to by benefit to know how these can be plugged into RoR applications.</p>
<p>Besides, all the new, fun, stuff is going to be happening in Rails 3, not Rails 2.</p>
<p>Second, here&#8217;s what NOT to do &#8211; try learn Rails 3 using a Rails 2 book.</p>
<p>They&#8217;ve changes some of the idioms, so if you learn too many 2-isms, you&#8217;ll miss out on some of the new magic. Besides, even at the most basic starting level, many of the techniques and commands are changed. You know those starting blocks that the nail to the track so a sprinter push off to a strong start? Learning Rails 2 lessons using Rails 3 is like pulling the nails before the starting gun is fired &#8211; you push off and land flat on your face.</p>
<p>Make sure your book or on-line tutorial is for Rails 3. Doug suggested the <a href="http://www.wiki.devchix.com/index.php?title=Rails_3_Curriculum">DevChix Curriculum</a> as a starting point. When you find other good ones, please share them in a comment to this post.</p>
<p>Unfortunately, this applies to a lot of the podcasts (<a href="http://railscasts.com/">Railscasts</a>, <a href="http://peepcode.com/">Peepcode</a>, and others). There&#8217;s a lot of good content out there (and for an auditory learner like me &#8211; it&#8217;s a Godsend), a lot of it is free, but much of it predates Rails 3 and could lead you astray. What I am doing is getting up to speed on my 3-isms, taking the best concepts from the material as I find it, and ignoring the stale details when I recognize them as such.</p>
<p>Third, if you&#8217;ve worked through <a href="http://vernmcgeorge.com/?p=211">Part 1</a> and <a href="http://vernmcgeorge.com/?p=218">Part 2</a>, you have Rails 3.0.0 installed. Rails 3.0.3 is the latest stable release. To update to this, and future releases (until some future tectonic shift changes everything), just type  &#8230;</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ gem install rails</div></td></tr></tbody></table></div>
<p>&#8230; and then update sqlite by reinstalling &#8230;</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ gem install sqlite3-ruby</div></td></tr></tbody></table></div>
<p>&#8230; and then verify what you got by typing &#8230;</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ gem list</div></td></tr></tbody></table></div>
<p>&#8230; and you should see this &#8230;</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;height:300px;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br />6<br />7<br />8<br />9<br />10<br />11<br />12<br />13<br />14<br />15<br />16<br />17<br />18<br />19<br />20<br />21<br />22<br />23<br />24<br />25<br />26<br />27<br />28<br />29<br />30<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">*** LOCAL GEMS ***<br />
<br />
abstract (1.0.0)<br />
actionmailer (3.0.3, 3.0.0.rc2)<br />
actionpack (3.0.3, 3.0.0.rc2)<br />
activemodel (3.0.3, 3.0.0.rc2)<br />
activerecord (3.0.3, 3.0.0.rc2)<br />
activeresource (3.0.3, 3.0.0.rc2)<br />
activesupport (3.0.3, 3.0.0.rc2)<br />
arel (2.0.6, 1.0.0.rc1)<br />
builder (3.0.0, 2.1.2)<br />
bundler (1.0.7)<br />
erubis (2.6.6)<br />
i18n (0.5.0, 0.4.2)<br />
mail (2.2.12)<br />
memcache-client (1.8.5)<br />
mime-types (1.16)<br />
polyglot (0.3.1)<br />
rack (1.2.1)<br />
rack-mount (0.6.13)<br />
rack-test (0.5.6)<br />
rails (3.0.3, 3.0.0.rc2)<br />
railties (3.0.3, 3.0.0.rc2)<br />
rake (0.8.7)<br />
sqlite3-ruby (1.3.2)<br />
text-format (1.0.0)<br />
text-hyphen (1.0.0)<br />
thor (0.14.6)<br />
treetop (1.4.9)<br />
tzinfo (0.3.23)</div></td></tr></tbody></table></div>
<p>If you don&#8217;t and cannot figure out why, please ask.</p>
<p>See you in <a href="http://vernmcgeorge.com/?p=241">Part 4</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://vernmcgeorge.com/?feed=rss2&#038;p=225</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Tooling Up for Ruby on Rails &#8211; Part 0</title>
		<link>http://vernmcgeorge.com/?p=223</link>
		<comments>http://vernmcgeorge.com/?p=223#comments</comments>
		<pubDate>Sun, 12 Dec 2010 22:05:03 +0000</pubDate>
		<dc:creator>Vern McGeorge</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>

		<guid isPermaLink="false">http://vernmcgeorge.com/?p=223</guid>
		<description><![CDATA[Step Zero - Get a taste of Ruby and Rails in your browser without installing anything.]]></description>
			<content:encoded><![CDATA[<p>Tooling Up for Ruby on Rails &#8211; Part 0</p>
<p>Okay, I just found this but would have posted it first if I&#8217;d known about it.</p>
<p>For the complete Rails Newbie, here&#8217;s a way to try out Ruby on Rails development and familiarize yourself with some of the coding indioms without installing anything.</p>
<p>This is best done on Windows or Mac (not Ubuntu unless you&#8217;ve installed the right plugins &#8211; and I have not yet done so) and best done in the Chrome or Safari browsers, not IE or Firefox.</p>
<p>It&#8217;s called <a href="http://railsforzombies.org/">Rails for Zombies</a> and it works through some alternating instructional videos and short lab exercises. If you don&#8217;t know Ruby at all, they recommend going to <a href="http://tryruby.org/">Try Ruby</a> first.</p>
<p>I already know Ruby on Rails (although not as well as I&#8217;d like to) so it was pretty basic stuff for me. Therefore, I only explored this site enough to say that it does introduce and allow you to practice some of the stuff you will need to know. If this moves your &#8220;ah-ha!&#8221; moment closer then it will serve you well. I cannot claim that it will not teach you some Rails 2 lessons that you will have to unlearn for Rails 3.</p>
<p>If you&#8217;re clear that you want to dive right in then Tool Up starting with <a href="http://vernmcgeorge.com/?p=211">Part 1</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://vernmcgeorge.com/?feed=rss2&#038;p=223</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Tooling Up for Ruby on Rails &#8211; Part 2</title>
		<link>http://vernmcgeorge.com/?p=218</link>
		<comments>http://vernmcgeorge.com/?p=218#comments</comments>
		<pubDate>Sat, 11 Dec 2010 22:10:17 +0000</pubDate>
		<dc:creator>Vern McGeorge</dc:creator>
				<category><![CDATA[Computers]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[rails]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[ruby on rails]]></category>
		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://vernmcgeorge.com/?p=218</guid>
		<description><![CDATA[Step Two - Installing Ruby 1.9.2 and Rails 3.0.0 on my new Ubuntu virtual machine.]]></description>
			<content:encoded><![CDATA[<p>So there I was with a bright shiny new installation of Ubuntu 10.04 (see <a href="http://vernmcgeorge.com/?p=211">Part 1</a>). The next step was to install the Ruby on Rails stack and development tools on that foundation.</p>
<p>The DevChix propose a specific tool set <a href="http://www.wiki.devchix.com/index.php?title=Workshop_Installation_Notes">here</a>. Thank you, <a href="http://www.blog.codecauldron.com/">Doug Goldie</a>, for the pointer to that organization. The good news from this post is that I knew what to install. The bad news is that I didn&#8217;t neccessarily know why, not did I have access to an InstallFest volunteer to help me. My hope is that this post can fill this gap for others.</p>
<p>I went immediately to <a href="http://rubyonrails.org/">rubyonrails.org</a> which I found less than helpful. There&#8217;s lots of good content on this site but step-by-step instructions for neophytes is not among them. Resist the temptation to click on the Windows installer. While that will get you up and running quickly, for reasons outline in Part 1, I consider it a dead end.</p>
<p>I am pretty clear in my mind that as I&#8217;m coming up to speed on these technologies, I want to come up on the latest stuff, not the old stuff. A duck hunter would call that leading your target.</p>
<p>That means Rails 3 and Ruby 1.9. The Ruby source download offered on this site is version 1.8.7. The <a href="http://www.ruby-lang.org/">ruby-lang.org</a> site offered 1.9.2, but no better instructions for installing it. Years ago, I complied code on HP-UX every day. That was years ago and the tools have evolved greatly since them.</p>
<p>So, I went looking for current instructions, found <a href="http://www.facebook.com/notes/linux-user-group-san-jose-state/install-ruby-192-and-rails-3-on-ubuntu-1004-for-ruby-on-rails-workshop/135675743122400">Install Ruby 1.9.2 and Rails 3 on Ubuntu 10.04 for Ruby on Rails Workshop</a> and Doug suggested <a href="http://www.web2linux.com/05/installing-rails-3-on-ubuntu-10-04-lucid-lynx/">Installing Rails 3 on Ubuntu 10.04 Lucid Lynx</a>. I won&#8217;t replicate the steps here. If you look at both pages, you will see that the instructions are almost character-for-character identical. Both yield Rails 3 on Ruby 1.9.2 and both have the added feature of starting by installing Ruby Version Manager (RVM) which Doug has recommended as well.</p>
<p>I followed the <a href="http://www.facebook.com/pages/Linux-User-Group-San-Jose-State/288640353529">LUG-SJSU.org</a> instructions because I found them first and because they differentiate slightly between 32-bit and 64-bit (I&#8217;m 64-bit) and they worked perfectly. If you follow the 32-bit path and have a different experience, please comment with problem(s) and solution(s).</p>
<p>Then I installed the SQLite manager Firefox plugin.</p>
<p>Let&#8217;s take inventory from the suggested tool set &#8230;</p>
<p>[x] RVM &#8211; not called out by DevChix, but installed anyway.<br />
[x] Ruby &#8211; 1.9.2<br />
[?] RubyGems &#8211; more on this later<br />
[ ] Cucumber, Rspec, Rpec-rails, Webrat &#8211;<br />
[x] Rails &#8211; 3.0.0.rc2<br />
[x] SQlite (sqlite3-ruby) &#8211; 1.3.2<br />
[x] SQLite manager Firefox plugin &#8211; 0.6.5<br />
[ ] Heroku<br />
[ ] KomodoEdit</p>
<p>Not bad &#8211; over half way there.</p>
<p>At his point, I shut down my system and took a snapshot. Might be a good time for you to backup as well.</p>
<p>What&#8217;s the story on RubyGems?</p>
<p>Despite the fact that there is nothing that explicitely says &#8220;install Ruby Gems like this&#8221; in either of the &#8220;Install&#8230;&#8221; instruction sets referenced above, it&#8217;s in there already. RubyGems came along for the ride when I installed RVM. The</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">gem</div></td></tr></tbody></table></div>
<p>command is RubyGems, and</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">gem --version</div></td></tr></tbody></table></div>
<p>tells us that &#8230;</p>
<p>[x] RubyGems &#8211; 1.3.7</p>
<p>&#8230; which as, as of this date, the latest version. In the future,</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">gem update --system</div></td></tr></tbody></table></div>
<p>will upgrade you to newer versions. If you&#8217;re already up and running versions 1.1 or 1.2, you will need to follow the instructions <a href="http://rubygems.org/pages/download">here</a>.</p>
<p>Wouldn&#8217;t you know it &#8211; after working my way through all this, I found <a href="http://railstutorial.org/ruby-on-rails-tutorial-book">this tutorial manual online</a>. In prior sections, it which addresses most of the above steps, although in a different order.</p>
<p>Let&#8217;s see if it works. Go to <a href="http://railstutorial.org/ruby-on-rails-tutorial-book#sec:1.2.3">section 1.2.3</a> and create your first application.</p>
<div class="codecolorer-container text geshi" style="overflow:auto;white-space:nowrap;border:1px solid #9F9F9F;"><table cellspacing="0" cellpadding="0"><tbody><tr><td style="padding:5px;text-align:center;color:#888888;background-color:#EEEEEE;border-right: 1px solid #9F9F9F;font: normal 12px/1.4em Monaco, Lucida Console, monospace;"><div>1<br />2<br />3<br />4<br />5<br /></div></td><td><div class="text codecolorer" style="padding:5px;font:normal 12px/1.4em Monaco, Lucida Console, monospace;white-space:nowrap">$ mkdir rails_projects<br />
$ cd rails_projects<br />
$ rails new first_app<br />
$ cd first_app<br />
$ rails server</div></td></tr></tbody></table></div>
<p>Now, click on <a href="http://localhost:3000">http://localhost:3000</a> and you should see a splash page for you new web app.</p>
<p>At this point, you should have everything you need to dive into coding and program a Ruby on Rails application.</p>
<p>I urge you to hold off for a moment and avoid some of the mistakes I made the first time I dived into Ruby on Rails.</p>
<p>See you in <a href="http://vernmcgeorge.com/?p=225">Part 3</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://vernmcgeorge.com/?feed=rss2&#038;p=218</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
