<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">

  <title>Rogelio J. Samour</title>
  <link href="http://feeds.feedburner.com/TheRubyMug" type="application/atom+xml" rel="self" />
  <link href="http://blog.therubymug.com/" type="text/html" rel="alternate" />
  <updated>2010-05-21T19:07:40-04:00</updated>
  <author>
    <name>Rogelio J. Samour</name>
    <email>blog@therubymug.com</email>
  </author>
  <id>http://blog.therubymug.com/</id>
  
  <entry>
    <title>The Install (Snow Leopard Edition)</title>
    <link rel="alternate" type="text/html" href="http://blog.therubymug.com/blog/2010/05/20/the-install-osx.html" />
    
    <id>tag:blog.therubymug.com,2010-05-20:1274385077</id>
    
    <published>2010-05-20T15:51:17-04:00</published>
    <updated>2010-05-20T15:51:17-04:00</updated>
    <content type="html">&lt;h3&gt;Long story short&lt;/h3&gt;
&lt;p&gt;The following are steps we take at &lt;a href=&quot;http://hashrocket.com&quot;&gt;Hashrocket&lt;/a&gt; when setting up a near perfect Ruby development environment in OS X (Snow Leopard)&lt;sup class=&quot;footnote&quot; id=&quot;fnr1&quot;&gt;&lt;a href=&quot;#fn1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;. Feel free to copy and paste the commands into your terminal.&lt;/p&gt;
&lt;h3&gt;A Word of Caution&lt;/h3&gt;
&lt;p&gt;While it is unlikely any instruction given below  might damage your system, it’s always a good idea to backup everything before doing any of it, just in case. I am not responsible for anything that may result from following the instructions below. Proceed at your own risk.&lt;/p&gt;
&lt;h3&gt;Prerequisite OS X Apps:&lt;/h3&gt;
&lt;p&gt;- &lt;a href=&quot;http://www.google.com/chrome&quot;&gt;Chrome&lt;/a&gt; (+ vimium, make default?)&lt;br /&gt;
- &lt;a href=&quot;http://www.getfirefox.com&quot;&gt;Firefox&lt;/a&gt; (+ firebug)&lt;br /&gt;
- &lt;a href=&quot;http://fluidapp.com/&quot;&gt;Fluid.app&lt;/a&gt;&lt;br /&gt;
- &lt;a href=&quot;http://gitx.frim.nl/&quot;&gt;Gitx&lt;/a&gt;&lt;br /&gt;
- &lt;a href=&quot;http://code.google.com/p/macvim/downloads/list&quot;&gt;Macvim&lt;/a&gt; (move mvim to /usr/local/bin)&lt;br /&gt;
- &lt;a href=&quot;http://www.irradiatedsoftware.com/sizeup/&quot;&gt;SizeUp&lt;/a&gt;&lt;br /&gt;
- &lt;a href=&quot;http://www.abyssoft.com/software/teleport/&quot;&gt;Teleport&lt;/a&gt;&lt;br /&gt;
- &lt;a href=&quot;http://developer.apple.com/technologies/tools/xcode.html&quot;&gt;xCode&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;Snow Leopard Samba Fix&lt;sup class=&quot;footnote&quot; id=&quot;fnr2&quot;&gt;&lt;a href=&quot;#fn2&quot;&gt;2&lt;/a&gt;&lt;/sup&gt;&lt;/h3&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;echo &amp;quot;[default]&amp;quot; &amp;gt;  ~/Library/Preferences/nsmb.conf&lt;tt&gt;
&lt;/tt&gt;echo &amp;quot;streams=no&amp;quot; &amp;gt;&amp;gt; ~/Library/Preferences/nsmb.conf&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;h3&gt;Remove system gems&lt;/h3&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;sudo rm -r /System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/gems/1.8&lt;tt&gt;
&lt;/tt&gt;sudo gem update --system&lt;tt&gt;
&lt;/tt&gt;sudo gem clean&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;h3&gt;Install homebrew&lt;/h3&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;sudo mkdir /usr/local&lt;tt&gt;
&lt;/tt&gt;sudo chown -R `whoami` /usr/local&lt;tt&gt;
&lt;/tt&gt;curl -L http://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C /usr/local&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;h3&gt;Create .bash_profile&lt;/h3&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;no&quot;&gt;1&lt;/span&gt; echo &lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;. &amp;quot;$HOME/.bashrc&amp;quot;&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt; &amp;gt; ~&lt;span class=&quot;rx&quot;&gt;&lt;span class=&quot;dl&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;.bash_profile&lt;/span&gt;&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h3&gt;Install utilities&lt;/h3&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;no&quot;&gt;1&lt;/span&gt; brew install wget proctools ack ctags-exuberant markdown&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h3&gt;Get git&lt;/h3&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;no&quot;&gt;1&lt;/span&gt; brew install git&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h3&gt;dotfiles, dev folder&lt;/h3&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;4&lt;tt&gt;
&lt;/tt&gt;5&lt;tt&gt;
&lt;/tt&gt;6&lt;tt&gt;
&lt;/tt&gt;7&lt;tt&gt;
&lt;/tt&gt;8&lt;tt&gt;
&lt;/tt&gt;9&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;mkdir ~/hashrocket&lt;tt&gt;
&lt;/tt&gt;cd ~/hashrocket&lt;tt&gt;
&lt;/tt&gt;git clone http://github.com/hashrocket/dotmatrix.git&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;ln -s ~/hashrocket/dotmatrix/.bashrc ~/&lt;tt&gt;
&lt;/tt&gt;ln -s ~/hashrocket/dotmatrix/.hashrc ~/&lt;tt&gt;
&lt;/tt&gt;ln -s ~/hashrocket/dotmatrix/.vim ~/&lt;tt&gt;
&lt;/tt&gt;ln -s ~/hashrocket/dotmatrix/.vimrc ~/&lt;tt&gt;
&lt;/tt&gt;sh ~/hashrocket/dotmatrix/bin/vimbundles.sh&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;h3&gt;Install &lt;a href=&quot;http://rvm.beginrescueend.com/rvm/install/&quot;&gt;rvm&lt;/a&gt;&lt;/h3&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;4&lt;tt&gt;
&lt;/tt&gt;5&lt;tt&gt;
&lt;/tt&gt;6&lt;tt&gt;
&lt;/tt&gt;7&lt;tt&gt;
&lt;/tt&gt;8&lt;tt&gt;
&lt;/tt&gt;9&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;10&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;11&lt;tt&gt;
&lt;/tt&gt;12&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;mkdir -p ~/.rvm/src/ &amp;amp;&amp;amp; \&lt;tt&gt;
&lt;/tt&gt;  cd ~/.rvm/src &amp;amp;&amp;amp; \&lt;tt&gt;
&lt;/tt&gt;  rm -rf ./rvm/ &amp;amp;&amp;amp; \&lt;tt&gt;
&lt;/tt&gt;  git clone --depth 1 git://github.com/wayneeseguin/rvm.git &amp;amp;&amp;amp; \&lt;tt&gt;
&lt;/tt&gt;  cd rvm &amp;amp;&amp;amp; \&lt;tt&gt;
&lt;/tt&gt;  ./install&lt;tt&gt;
&lt;/tt&gt;echo 'if [[ -s &amp;quot;$HOME/.rvm/scripts/rvm&amp;quot; ]] ; then source &amp;quot;$HOME/.rvm/scripts/rvm&amp;quot; ; fi' \&lt;tt&gt;
&lt;/tt&gt;       &amp;gt;&amp;gt; ~/.bashrc.local&lt;tt&gt;
&lt;/tt&gt;echo 'rvm_project_rvmrc_default=1' \&lt;tt&gt;
&lt;/tt&gt;  &amp;gt; ~/.rvmrc # Use default gemset when leaving a .rvmrc project dir&lt;tt&gt;
&lt;/tt&gt;echo '[[ -r $rvm_path/scripts/completion ]] &amp;amp;&amp;amp; source $rvm_path/scripts/completion' \&lt;tt&gt;
&lt;/tt&gt;       &amp;gt;&amp;gt; ~/.bashrc.local # rvm autocompletion&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;h3&gt;Install openssl&lt;/h3&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;no&quot;&gt;1&lt;/span&gt; rvm package install openssl&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h3&gt;Install the rubies to your heart&amp;#8217;s content&lt;/h3&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;rvm install ree -C --enable-shared=yes&lt;tt&gt;
&lt;/tt&gt;rvm install ruby-1.8.7-p248 -C --enable-shared=yes&lt;tt&gt;
&lt;/tt&gt;rvm use 1.8.7-p248 --default&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;h3&gt;Setup your .gemrc&lt;/h3&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;4&lt;tt&gt;
&lt;/tt&gt;5&lt;tt&gt;
&lt;/tt&gt;6&lt;tt&gt;
&lt;/tt&gt;7&lt;tt&gt;
&lt;/tt&gt;8&lt;tt&gt;
&lt;/tt&gt;9&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;10&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;echo -e '---&lt;tt&gt;
&lt;/tt&gt;:benchmark: false&lt;tt&gt;
&lt;/tt&gt;gem: --no-ri --no-rdoc&lt;tt&gt;
&lt;/tt&gt;:update_sources: true&lt;tt&gt;
&lt;/tt&gt;:bulk_threshold: 1000&lt;tt&gt;
&lt;/tt&gt;:verbose: true&lt;tt&gt;
&lt;/tt&gt;:sources:&lt;tt&gt;
&lt;/tt&gt;- http://rubygems.org&lt;tt&gt;
&lt;/tt&gt;- http://gems.github.com&lt;tt&gt;
&lt;/tt&gt;:backtrace: false' &amp;gt; ~/.gemrc&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;h3&gt;MySQL&lt;/h3&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;no&quot;&gt;1&lt;/span&gt; brew install mysql &lt;span class=&quot;c&quot;&gt;# Follow instructions&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h3&gt;Postgresql&lt;/h3&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;no&quot;&gt;1&lt;/span&gt; brew install postgresql &lt;span class=&quot;c&quot;&gt;# Follow instructions&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h3&gt;Install &lt;em&gt;global&lt;/em&gt; gems&lt;/h3&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;rvm gemset use global&lt;tt&gt;
&lt;/tt&gt;gem install mysql -- --with-mysql-dir=/usr/local --with-mysql-config=/usr/local/bin/mysql_config&lt;tt&gt;
&lt;/tt&gt;gem install open_gem mongrel pg ruby-debug hitch&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;h3&gt;RubyCocoa (for rspactor)&lt;/h3&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;4&lt;tt&gt;
&lt;/tt&gt;5&lt;tt&gt;
&lt;/tt&gt;6&lt;tt&gt;
&lt;/tt&gt;7&lt;tt&gt;
&lt;/tt&gt;8&lt;tt&gt;
&lt;/tt&gt;9&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;mkdir -p /usr/local/src&lt;tt&gt;
&lt;/tt&gt;cd /usr/local/src&lt;tt&gt;
&lt;/tt&gt;wget http://sourceforge.net/projects/rubycocoa/files/RubyCocoa/1.0.0/RubyCocoa-1.0.0.tar.gz/download&lt;tt&gt;
&lt;/tt&gt;tar xzf RubyCocoa-1.0.0.tar.gz &amp;amp;&amp;amp; rm RubyCocoa-1.0.0.tar.gz &amp;amp;&amp;amp; cd RubyCocoa-1.0.0&lt;tt&gt;
&lt;/tt&gt;ruby install.rb config --build-universal=yes&lt;tt&gt;
&lt;/tt&gt;ruby install.rb setup&lt;tt&gt;
&lt;/tt&gt;# have to sudo to install this because the installer wants to copy example stuff out of the /System dir&lt;tt&gt;
&lt;/tt&gt;sudo ruby install.rb install&lt;tt&gt;
&lt;/tt&gt;sudo chown -R `whoami` /usr/local # For good measure&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;h3&gt;Growl&lt;/h3&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;4&lt;tt&gt;
&lt;/tt&gt;5&lt;tt&gt;
&lt;/tt&gt;6&lt;tt&gt;
&lt;/tt&gt;7&lt;tt&gt;
&lt;/tt&gt;8&lt;tt&gt;
&lt;/tt&gt;9&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;10&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;11&lt;tt&gt;
&lt;/tt&gt;12&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;cd ~/Downloads&lt;tt&gt;
&lt;/tt&gt;wget http://growl.cachefly.net/Growl-1.2.dmg&lt;tt&gt;
&lt;/tt&gt;open Growl-1.2.dmg&lt;tt&gt;
&lt;/tt&gt;cd /Volumes/Growl-1.2/Extras/growlnotify/&lt;tt&gt;
&lt;/tt&gt;# Don't use the install shell script&lt;tt&gt;
&lt;/tt&gt;# Use the following:&lt;tt&gt;
&lt;/tt&gt;mkdir -p /usr/local/bin&lt;tt&gt;
&lt;/tt&gt;echo &amp;quot;Creating /usr/local/bin&amp;quot;&lt;tt&gt;
&lt;/tt&gt;mkdir -p /usr/local/man/man1&lt;tt&gt;
&lt;/tt&gt;echo &amp;quot;Creating /usr/local/man/man1&amp;quot;&lt;tt&gt;
&lt;/tt&gt;cp growlnotify /usr/local/bin/growlnotify&lt;tt&gt;
&lt;/tt&gt;cp growlnotify.1 /usr/local/man/man1/growlnotify.1&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;h3&gt;Generate a pubkey for that station&lt;/h3&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;ssh-keygen -t rsa&lt;tt&gt;
&lt;/tt&gt;# Add public key to your github account&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;p class=&quot;footnote&quot; id=&quot;fn1&quot;&gt;&lt;a href=&quot;#fnr1&quot;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; It may work for Leopard… I just haven&amp;#8217;t tried it yet.&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn2&quot;&gt;&lt;a href=&quot;#fnr2&quot;&gt;&lt;sup&gt;2&lt;/sup&gt;&lt;/a&gt; &lt;a href=&quot;http://support.apple.com/kb/HT4017&quot;&gt;More info&lt;/a&gt; (Thanks Alan Jones for the tip)&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <title>The Install (Debian Edition)</title>
    <link rel="alternate" type="text/html" href="http://blog.therubymug.com/blog/2010/05/20/the-install-debian.html" />
    
    <id>tag:blog.therubymug.com,2010-05-20:1274367077</id>
    
    <published>2010-05-20T10:51:17-04:00</published>
    <updated>2010-05-20T10:51:17-04:00</updated>
    <content type="html">&lt;h3&gt;Long story short&lt;/h3&gt;
&lt;p&gt;The following are steps we take at &lt;a href=&quot;http://hashrocket.com&quot;&gt;Hashrocket&lt;/a&gt; when setting up a near perfect Ruby development environment in GNU/Linux (Debian/Ubuntu). Feel free to copy and paste the commands into your terminal.&lt;/p&gt;
&lt;h3&gt;A Word of Caution&lt;/h3&gt;
&lt;p&gt;While it is unlikely any instruction given below  might damage your system, it’s always a good idea to backup everything before doing any of it, just in case. I am not responsible for anything that may result from following the instructions below. Proceed at your own risk.&lt;/p&gt;
&lt;h3&gt;Prerequisite Debian/Ubuntu Apps:&lt;/h3&gt;
&lt;p&gt;- &lt;a href=&quot;http://www.google.com/chrome&quot;&gt;Chrome&lt;/a&gt; (+ vimium, make default?)&lt;br /&gt;
- &lt;a href=&quot;http://www.getfirefox.com&quot;&gt;Firefox&lt;/a&gt; (+ firebug)&lt;/p&gt;
&lt;h3&gt;Install vim&lt;/h3&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;no&quot;&gt;1&lt;/span&gt; sudo apt-get install vim-gnome&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h3&gt;Install utilities&lt;/h3&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;sudo apt-get install curl bison build-essential zlib1g-dev libssl-dev libreadline5-dev libxml2-dev&lt;tt&gt;
&lt;/tt&gt;sudo apt-get install wget ack exuberant-ctags markdown gitk&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;h3&gt;get git&lt;/h3&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;no&quot;&gt;1&lt;/span&gt; sudo apt-get install git-core&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h3&gt;dotfiles, dev folder&lt;/h3&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;mkdir ~/hashrocket&lt;tt&gt;
&lt;/tt&gt;cd ~/hashrocket&lt;tt&gt;
&lt;/tt&gt;git clone http://github.com/hashrocket/dotmatrix.git&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;h3&gt;Only do the following line when installing on a pairing station&lt;/h3&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;4&lt;tt&gt;
&lt;/tt&gt;5&lt;tt&gt;
&lt;/tt&gt;6&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;ln -s ~/hashrocket/dotmatrix/.bashrc ~/&lt;tt&gt;
&lt;/tt&gt;&lt;tt&gt;
&lt;/tt&gt;ln -s ~/hashrocket/dotmatrix/.hashrc ~/&lt;tt&gt;
&lt;/tt&gt;ln -s ~/hashrocket/dotmatrix/.vim ~/&lt;tt&gt;
&lt;/tt&gt;ln -s ~/hashrocket/dotmatrix/.vimrc ~/&lt;tt&gt;
&lt;/tt&gt;sh ~/hashrocket/dotmatrix/bin/vimbundles.sh&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;h3&gt;Install &lt;a href=&quot;http://rvm.beginrescueend.com/rvm/install/&quot;&gt;rvm&lt;/a&gt;&lt;/h3&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;4&lt;tt&gt;
&lt;/tt&gt;5&lt;tt&gt;
&lt;/tt&gt;6&lt;tt&gt;
&lt;/tt&gt;7&lt;tt&gt;
&lt;/tt&gt;8&lt;tt&gt;
&lt;/tt&gt;9&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;10&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;11&lt;tt&gt;
&lt;/tt&gt;12&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;mkdir -p ~/.rvm/src/ &amp;amp;&amp;amp; \&lt;tt&gt;
&lt;/tt&gt;  cd ~/.rvm/src &amp;amp;&amp;amp; \&lt;tt&gt;
&lt;/tt&gt;  rm -rf ./rvm/ &amp;amp;&amp;amp; \&lt;tt&gt;
&lt;/tt&gt;  git clone --depth 1 git://github.com/wayneeseguin/rvm.git &amp;amp;&amp;amp; \&lt;tt&gt;
&lt;/tt&gt;  cd rvm &amp;amp;&amp;amp; \&lt;tt&gt;
&lt;/tt&gt;  ./install&lt;tt&gt;
&lt;/tt&gt;echo 'if [[ -s &amp;quot;$HOME/.rvm/scripts/rvm&amp;quot; ]] ; then source &amp;quot;$HOME/.rvm/scripts/rvm&amp;quot; ; fi' \&lt;tt&gt;
&lt;/tt&gt;       &amp;gt;&amp;gt; ~/.bashrc.local&lt;tt&gt;
&lt;/tt&gt;echo 'rvm_project_rvmrc_default=1' \&lt;tt&gt;
&lt;/tt&gt;  &amp;gt; ~/.rvmrc # Use default gemset when leaving a .rvmrc project dir&lt;tt&gt;
&lt;/tt&gt;echo '[[ -r $rvm_path/scripts/completion ]] &amp;amp;&amp;amp; source $rvm_path/scripts/completion' \&lt;tt&gt;
&lt;/tt&gt;       &amp;gt;&amp;gt; ~/.bashrc.local # rvm autocompletion&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;h3&gt;Install openssl&lt;/h3&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;no&quot;&gt;1&lt;/span&gt; rvm package install openssl&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h3&gt;Install the rubies to your heart&amp;#8217;s content&lt;/h3&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;rvm install ree -C --enable-shared=yes&lt;tt&gt;
&lt;/tt&gt;rvm install ruby-1.8.7-p248 -C --enable-shared=yes&lt;tt&gt;
&lt;/tt&gt;rvm use 1.8.7-p248 --default&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;h3&gt;Setup your .gemrc&lt;/h3&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;4&lt;tt&gt;
&lt;/tt&gt;5&lt;tt&gt;
&lt;/tt&gt;6&lt;tt&gt;
&lt;/tt&gt;7&lt;tt&gt;
&lt;/tt&gt;8&lt;tt&gt;
&lt;/tt&gt;9&lt;tt&gt;
&lt;/tt&gt;&lt;strong&gt;10&lt;/strong&gt;&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;echo -e '---&lt;tt&gt;
&lt;/tt&gt;:benchmark: false&lt;tt&gt;
&lt;/tt&gt;gem: --no-ri --no-rdoc&lt;tt&gt;
&lt;/tt&gt;:update_sources: true&lt;tt&gt;
&lt;/tt&gt;:bulk_threshold: 1000&lt;tt&gt;
&lt;/tt&gt;:verbose: true&lt;tt&gt;
&lt;/tt&gt;:sources:&lt;tt&gt;
&lt;/tt&gt;- http://rubygems.org&lt;tt&gt;
&lt;/tt&gt;- http://gems.github.com&lt;tt&gt;
&lt;/tt&gt;:backtrace: false' &amp;gt; ~/.gemrc&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;h3&gt;MySQL&lt;/h3&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;no&quot;&gt;1&lt;/span&gt; sudo apt-get install mysql-common mysql-server-&lt;span class=&quot;fl&quot;&gt;5.0&lt;/span&gt; &lt;span class=&quot;c&quot;&gt;# Follow instructions&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h3&gt;Postgresql&lt;/h3&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;no&quot;&gt;1&lt;/span&gt; sudo apt-get install postgresql-common postgresql-server-dev-&lt;span class=&quot;fl&quot;&gt;8.3&lt;/span&gt; &lt;span class=&quot;c&quot;&gt;# Follow instructions&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h3&gt;Install &lt;em&gt;global&lt;/em&gt; gems&lt;/h3&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;3&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;rvm gemset use global&lt;tt&gt;
&lt;/tt&gt;gem install mysql -- --with-mysql-dir=/usr/local --with-mysql-config=/usr/local/bin/mysql_config&lt;tt&gt;
&lt;/tt&gt;gem install open_gem mongrel pg ruby-debug hitch&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;

&lt;h3&gt;Generate a pubkey for that station&lt;/h3&gt;
&lt;table class=&quot;CodeRay&quot;&gt;&lt;tr&gt;
  &lt;td class=&quot;line_numbers&quot; title=&quot;click to toggle&quot; onclick=&quot;with (this.firstChild.style) { display = (display == '') ? 'none' : '' }&quot;&gt;&lt;pre&gt;1&lt;tt&gt;
&lt;/tt&gt;2&lt;tt&gt;
&lt;/tt&gt;&lt;/pre&gt;&lt;/td&gt;
  &lt;td class=&quot;code&quot;&gt;&lt;pre ondblclick=&quot;with (this.style) { overflow = (overflow == 'auto' || overflow == '') ? 'visible' : 'auto' }&quot;&gt;ssh-keygen -t rsa&lt;tt&gt;
&lt;/tt&gt;# Add public key to your github account&lt;/pre&gt;&lt;/td&gt;
&lt;/tr&gt;&lt;/table&gt;
</content>
  </entry>
  
  <entry>
    <title>Engine Yard Cloud and Resque-Web</title>
    <link rel="alternate" type="text/html" href="http://blog.therubymug.com/blog/2010/04/20/engine-yard-cloud-and-resque-web.html" />
    
    <id>tag:blog.therubymug.com,2010-04-20:1271797996</id>
    
    <published>2010-04-20T17:13:16-04:00</published>
    <updated>2010-04-20T17:13:16-04:00</updated>
    <content type="html">&lt;p&gt;So at &lt;a href=&quot;http://hashrocket.com/&quot;&gt;Hashrocket&lt;/a&gt;, we&amp;#8217;ve been deploying a number of apps to Engine Yard Cloud. Some of these apps have required the use of background jobs. A library that facilitates that is called &lt;a href=&quot;http://github.com/defunkt/resque&quot;&gt;Resque&lt;/a&gt;. Once set up&lt;sup class=&quot;footnote&quot; id=&quot;fnr1&quot;&gt;&lt;a href=&quot;#fn1&quot;&gt;1&lt;/a&gt;&lt;/sup&gt;, it has a Sinatra web app you can use to monitor the queue&amp;#8217;s progress. To make a long story short, it isn&amp;#8217;t trivial to setup Resque Web on Engine Yard Cloud. This is what we did to make it work:&lt;/p&gt;
&lt;h3&gt;In your environment.rb add the following line:&lt;/h3&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;no&quot;&gt;1&lt;/span&gt; &lt;span class=&quot;co&quot;&gt;Rails&lt;/span&gt;::&lt;span class=&quot;co&quot;&gt;Initializer&lt;/span&gt;.run &lt;span class=&quot;r&quot;&gt;do&lt;/span&gt; |config|
&lt;span class=&quot;no&quot;&gt;2&lt;/span&gt;   &lt;span class=&quot;c&quot;&gt;#[...]&lt;/span&gt;
&lt;span class=&quot;no&quot;&gt;3&lt;/span&gt;   config.middleware.use &lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;ResqueWeb&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;no&quot;&gt;4&lt;/span&gt; &lt;span class=&quot;r&quot;&gt;end&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;h3&gt;Then create a library under RAILS_ROOT/lib/resque_web.rb with the following:&lt;/h3&gt;
&lt;div class=&quot;CodeRay&quot;&gt;
  &lt;div class=&quot;code&quot;&gt;&lt;pre&gt;&lt;span class=&quot;no&quot;&gt; 1&lt;/span&gt; require &lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;sinatra/base&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;no&quot;&gt; 2&lt;/span&gt; &lt;span class=&quot;r&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;cl&quot;&gt;ResqueWeb&lt;/span&gt; &amp;lt; &lt;span class=&quot;co&quot;&gt;Sinatra&lt;/span&gt;::&lt;span class=&quot;co&quot;&gt;Base&lt;/span&gt;
&lt;span class=&quot;no&quot;&gt; 3&lt;/span&gt;   require &lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;resque/server&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;no&quot;&gt; 4&lt;/span&gt;   use &lt;span class=&quot;co&quot;&gt;Rack&lt;/span&gt;::&lt;span class=&quot;co&quot;&gt;ShowExceptions&lt;/span&gt;
&lt;span class=&quot;no&quot;&gt; 5&lt;/span&gt;   &lt;span class=&quot;r&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;fu&quot;&gt;call&lt;/span&gt;(env)
&lt;span class=&quot;no&quot;&gt; 6&lt;/span&gt;     &lt;span class=&quot;r&quot;&gt;if&lt;/span&gt; env[&lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;PATH_INFO&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;] =~ &lt;span class=&quot;rx&quot;&gt;&lt;span class=&quot;dl&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;ch&quot;&gt;\/&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;resque&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;/&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;no&quot;&gt; 7&lt;/span&gt;       env[&lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;&amp;quot;&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;PATH_INFO&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;&amp;quot;&lt;/span&gt;&lt;/span&gt;].sub!(&lt;span class=&quot;rx&quot;&gt;&lt;span class=&quot;dl&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;^&lt;/span&gt;&lt;span class=&quot;ch&quot;&gt;\/&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;resque&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;/&lt;/span&gt;&lt;/span&gt;, &lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt;)
&lt;span class=&quot;no&quot;&gt; 8&lt;/span&gt;       env[&lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;SCRIPT_NAME&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt;] = &lt;span class=&quot;s&quot;&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;span class=&quot;k&quot;&gt;/resque&lt;/span&gt;&lt;span class=&quot;dl&quot;&gt;'&lt;/span&gt;&lt;/span&gt;
&lt;span class=&quot;no&quot;&gt; 9&lt;/span&gt;       app = &lt;span class=&quot;co&quot;&gt;Resque&lt;/span&gt;::&lt;span class=&quot;co&quot;&gt;Server&lt;/span&gt;.new
&lt;span class=&quot;no&quot;&gt;&lt;strong&gt;10&lt;/strong&gt;&lt;/span&gt;       app.call(env)
&lt;span class=&quot;no&quot;&gt;11&lt;/span&gt;     &lt;span class=&quot;r&quot;&gt;else&lt;/span&gt;
&lt;span class=&quot;no&quot;&gt;12&lt;/span&gt;       &lt;span class=&quot;r&quot;&gt;super&lt;/span&gt;
&lt;span class=&quot;no&quot;&gt;13&lt;/span&gt;     &lt;span class=&quot;r&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;no&quot;&gt;14&lt;/span&gt;   &lt;span class=&quot;r&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;no&quot;&gt;15&lt;/span&gt; &lt;span class=&quot;r&quot;&gt;end&lt;/span&gt;&lt;/pre&gt;&lt;/div&gt;
&lt;/div&gt;

&lt;p&gt;That&amp;#8217;s it. Deploy your app to staging to test it and boom!&lt;/p&gt;
&lt;p class=&quot;footnote&quot; id=&quot;fn1&quot;&gt;&lt;a href=&quot;#fnr1&quot;&gt;&lt;sup&gt;1&lt;/sup&gt;&lt;/a&gt; This assumes you already have Resque installed in your EY Cloud app.&lt;/p&gt;</content>
  </entry>
  
  <entry>
    <title>Hitch!</title>
    <link rel="alternate" type="text/html" href="http://blog.therubymug.com/blog/2009/04/20/hitch.html" />
    
    <id>tag:blog.therubymug.com,2009-04-20:1240261478</id>
    
    <published>2009-04-20T17:04:38-04:00</published>
    <updated>2009-04-20T17:04:38-04:00</updated>
    <content type="html">&lt;p&gt;At Hashrocket, we pair program all the time. In order to properly give credit to both programmers, we wrote a helper in the form of a gem. We called it &lt;a href=&quot;http://github.com/therubymug/hitch&quot;&gt;Hitch!&lt;/a&gt;&lt;/p&gt;
&lt;h3&gt;So how does it work?&lt;/h3&gt;
&lt;p&gt;In the spirit of staying DRY, I will direct you to Les Hill&amp;#8217;s blog post: &lt;a href=&quot;http://blog.leshill.org/blog/2009/04/20/pairing-with-hitch.html&quot;&gt;Pairing with Hitch&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;Enjoy.&lt;/p&gt;</content>
  </entry>
  
</feed>
