<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
 <title>Mark Turner</title>
 <link href="http://amerine.net/atom.xml" rel="self"/>
 <link href="http://www.amerine.net/"/>
 <updated>2019-02-08T23:39:35+00:00</updated>
 <id>http://www.amerine.net/</id>
 <author>
   <name>Mark Turner</name>
   <email>mark@amerine.net</email>
 </author>
 
 
 <entry>
   <title>Goodbye Bend</title>
   <link href="http://www.amerine.net/2012/03/04/goodbye-bend/"/>
   <updated>2012-03-04T00:00:00+00:00</updated>
   <id>http://amerine.net/2012/03/04/goodbye-bend</id>
   <content type="html">&lt;p&gt;Goodbye Bend, Hello Portland!&lt;/p&gt;

&lt;p&gt;My wife and I have lived in Bend for nine years, last month we spent our last
weekend there together and just spent my last few days in Bend working on Ruby
on Ales 2012. When siting here reflecting on all that’s happened in that span of
time it’s hard to not smile about all that we’ve done. The year 2003 feels so
close yet it was nearly a decade ago…&lt;/p&gt;

&lt;p&gt;Everything we counted as part of our lives was in or near Bend, yet it never
felt like “home” for us. Even with the lack of the “home” attachment, It’s hard
to leave a town that you’ve spent so much time in. From knowing which store has
the best vegan cookies to the preferred teller at our bank, we knew everything
about that town. My daughter even named her favorite parts. We had the “boat”
park and the “pirate” park and she named our house the “brown house”. She knew
where her favorite toy-store was and how long it would take to get there.&lt;/p&gt;

&lt;p&gt;I’ve been involved in the tech scene on Bend since Jeran and I arrived. From the
original Bend Linux/Unix Users Group founding in 03 to the most recent Ruby on
Ales conference just this week I’ve always been a giant supporter of local tech
initiatives and groups. One of the things I’m most passionate about is making
sure we as technologists have close ties to others with same interests in our
communities. Twitter and Facebook make that easier today, but there is nothing
like a quick chat and a beer to keep a group of hackers together.&lt;/p&gt;

&lt;p&gt;I’ll miss these groups the most:
&lt;a href=&quot;http://www.meetup.com/hack-night-bend/&quot;&gt;Hack Night Bend &lt;/a&gt;
&lt;a href=&quot;http://bendug.org&quot;&gt;BendUG&lt;/a&gt;
&lt;a href=&quot;http://cowpu.com&quot;&gt;COWPU&lt;/a&gt;
&lt;a href=&quot;http://coisug.info&quot;&gt;COISUG&lt;/a&gt;&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;Note: I’m still organizing the Ruby on Ales conference. No way I’m leaving that amazing event behind.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We’ve left our friends and family behind to move to Portland. I don’t know what
it’s going to be like not having Josh, Vincent, Andrea, John, Scott, Coby, Jonan,
Colton, Luke, Timmy and Matt right there whenever we decide to do something or
need some assistance. What I do know is that I already miss these people.&lt;/p&gt;

&lt;p&gt;I’m from Portland and have spent the majority of my life there. All of my family
is in Portland (Except for my sisters.), all of my wife’s family is around Bend.
For the longest time we’ve been coming to Portland for holidays and leisure. It
felt like we were traveling to Portland to have fun and just stayed at home for
work… and that never made sense to me. Rather then continue that pattern we
decided to move to Portland in May 2011.&lt;/p&gt;

&lt;p&gt;Mostly because of work related stress, we didn’t make the move that May.&lt;/p&gt;

&lt;p&gt;Up until September 2011 I hadn’t entertained the idea of finding a new job.  In
lieu of a new gig, Josh and I were toying around with taking nVariable to the
next level and consulting full-time while working on Pint.me. There was a
problem though… My heart wasn’t in consulting. I love focusing on entire
lifecycle of a project and the hired gun role wasn’t appealing to me at the
time. I believe that in the future I’m going to regret missing that chance
because I wasn’t “into it”, but I’m happy to have not gone into something I
wasn’t fully committed to.&lt;/p&gt;

&lt;p&gt;At Cascadia Ruby Conf I had the chance to hear Rich Kilmer talk about some
exciting stuff they were doing at LivingSocial and he really piqued my curiosity
about what I might be able to do for them. After a few months of missed
connections, gmail spam folder rage and persistence from Rein Henrichs I was on
a flight to Washington, DC for an in-person interview. The day after I had an
offer, I quit G5 that day.&lt;/p&gt;

&lt;p&gt;Once I cleared up the G5 connection my wife and I decided (well, mostly me) that
the time was right to finally move to Portland. And now we’re here, ready to
start a new adventure for all of us.. including the new baby on the way.&lt;/p&gt;

&lt;p&gt;TL;DR - Lived in Bend for 9 years, Got a job with LivingSocial, Moved to Portland.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Ruby never powered a revolution</title>
   <link href="http://www.amerine.net/2011/08/02/ruby-never-powered-a-revolution/"/>
   <updated>2011-08-02T00:00:00+00:00</updated>
   <id>http://amerine.net/2011/08/02/ruby-never-powered-a-revolution</id>
   <content type="html">&lt;p&gt;I just saw a &lt;a href=&quot;http://derekneighbors.com/2011/08/ruby-is-just-a-bunch-of-tools/&quot;&gt;post&lt;/a&gt; in my &lt;a href=&quot;http://twitter.com/amerine&quot;&gt;tweet stream&lt;/a&gt; by Derek Neighbors in which he asserts that todays Rubyists are a “drone army”:&lt;/p&gt;
&lt;blockquote&gt;
  &lt;p&gt;The leaders have disappeared.  The second and third wave are just implementors. They are not idealistic.  The Merb team emerged full of new ideas and a swagger of yesterday but all that died when they merged back into Rails.&lt;/p&gt;

  &lt;p&gt;It used to be about changing the world.  Now it’s just about tools.  Workflows are broken and complex.  We fix them with tools instead of ideas.  Regional Ruby talks are littered with talks about tools or non Ruby ideas.  No one is talking about ideals and communities of change.
…
We have become the drone army.  We are losing.
&lt;cite&gt;Derek Neighbors&lt;/cite&gt;&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I immediately took offense to this post, but I couldn’t quite pin down where the emotion was coming from. I asked myself if Derek was right?&lt;/p&gt;

&lt;p&gt;I decided he was wrong.&lt;/p&gt;

&lt;p&gt;Ruby was never about revolution, Ruby is about making us, as developers, happy. For many of us it was a language whose syntax, expressiveness and quirks touched the right nerves. It was the feelings we got about the language that made us want to use it. It wasn’t it’s speed (lulz), it wasn’t it’s libraries and it sure wasn’t its popularity. For many of the people that have been using Ruby for a long time, at one point they dreamed of getting a job that paid them to write Ruby.  Today they are plenty of jobs.&lt;/p&gt;

&lt;p&gt;And, mostly due to Rails, Ruby is a language that is still (rapidly) attracting new and &lt;em&gt;exciting&lt;/em&gt; people to our community.  All of these people bring new ideas and highlight unknown pains.&lt;/p&gt;

&lt;div class=&quot;panel&quot;&gt;
I'm firmly in the camp that believes most &lt;em&gt;new&lt;/em&gt; Rails developers today are poor Rubyists. But, I believe its our responsibility to (nicely) teach those people what the practices and paradigms our community has adopted are. It's also worth noting that some of the oldest members of the Ruby community are still here, and still helping as much as they can. Spend some time on #ruby-lang, you'll see.
&lt;/div&gt;

&lt;p&gt;At the heart of Derek’s argument it would seem that the abundance of tools, and the creation of those and new tools or workflows are somehow unrelated to changing the status quo or spreading new ideas. I don’t understand this argument. I get a smile whenever someone decides that a tool doesn’t fit their needs so they make their own. I get exited whenever someone brings a new idea to Ruby or is unhappy about the way a library/application they use works so they fix it.&lt;/p&gt;

&lt;p&gt;Derek also has a point about the abundance of “non Ruby ideas” at regional ruby events. Over the past year I agreed with him… until the weekend at &lt;a href=&quot;http://cascadiarubyconf.com/&quot;&gt;Cascadia Ruby Conf&lt;/a&gt;. I had the pleasure of listening to &lt;a href=&quot;http://www.jbarnette.com/&quot;&gt;John Barnette&lt;/a&gt; talk about the roller coaster of stress, physical &amp;amp; mental exhaustion and the blood, sweat and tears he was pouring into a startup.&lt;/p&gt;

&lt;p&gt;It was at that moment that I realized that, getting up and standing in front of 100 of his peers to discuss that was exactly something our community has and always should support.&lt;/p&gt;

&lt;p&gt;John Barnette never “revolutionized” Ruby, or software engineering or the world. John uses Ruby as a tool in his personal revolutions. We all use Ruby as a tool.&lt;/p&gt;

&lt;p&gt;It could be a startup, it could be a game, it could be that they just wanted to see if something is possibly (&lt;em&gt;cough&lt;/em&gt; &lt;a href=&quot;http://rubygems.org/gems/phuby&quot;&gt;Phuby&lt;/a&gt; &lt;em&gt;cough&lt;/em&gt;).  And just like John, there are countless other developers using Ruby to change their corner or the world.&lt;/p&gt;

&lt;p&gt;With Ruby, we all do it a little happier than most.&lt;/p&gt;

&lt;div class=&quot;panel&quot;&gt;
Derek is a wonderful guy that has done amazing things for his community in Phoenix.  This should not be misread as an attack on him or his ideas, I just disagree.
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Split a git commit</title>
   <link href="http://www.amerine.net/2011/03/10/split-a-git-commit/"/>
   <updated>2011-03-10T00:00:00+00:00</updated>
   <id>http://amerine.net/2011/03/10/split-a-git-commit</id>
   <content type="html">&lt;p&gt;This is a little rough, but I thought I would share a little screencast I did for a colleague.&lt;/p&gt;

&lt;div class=&quot;flex-video widescreen vimeo&quot;&gt;
  &lt;iframe src=&quot;http://player.vimeo.com/video/20795794?title=0&amp;amp;byline=0&amp;amp;portrait=0&amp;amp;color=dd4499&quot; width=&quot;601&quot; height=&quot;376&quot;&gt;  &lt;/iframe&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Thanks Ed</title>
   <link href="http://www.amerine.net/2010/04/01/Thanks-Ed/"/>
   <updated>2010-04-01T00:00:00+00:00</updated>
   <id>http://amerine.net/2010/04/01/Thanks-Ed</id>
   <content type="html">&lt;p&gt;&lt;img src=&quot;/images/ed-roberts.jpg&quot; alt=&quot;Ed Roberts&quot; title=&quot;Ed Roberts (1941 - 2010)&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Ed Roberts (1941 - 2010)&lt;/p&gt;

&lt;p&gt;I was a lucky kid. I grew up with my grandparents and my mom; all of them pushed me hard to learn. They never told me what to focus on, they just did their best to embrace the things I fell in love with. One of those things was computers. If it wasn’t for Ed Roberts there was no way my family could afford for me to learn how to program.&lt;/p&gt;

&lt;p&gt;Ed cofounded MITS in 1969 and by 1975 MITS launched the Altair 8800. The Altair 8800 was the first successful personal computer (read: “They sold lots of them”) and it was the computer that Microsoft developed their first commercial product for. The Altair was the computer that inspired Steve Jobs and Steve Wozniak to start a little company called Apple. By 1979 Apple has completely overshadowed MITS, but what Ed did was create the business model the PC world would follow to this day - including the concept of selling upgrades to your PC, peripherals, computer magazines, computer stores, Microsoft software and Intel CPU’s.&lt;/p&gt;

&lt;p&gt;Ed jump-started the industry that changed the world and I can’t imagine what we would have today if Ed didn’t do what he did.&lt;/p&gt;

&lt;p&gt;Thanks Ed.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Rails 3.0 Setup using rvm &amp; Ruby 1.9.2</title>
   <link href="http://www.amerine.net/2010/02/24/rvm-rails3-ruby-1-9-2-setup/"/>
   <updated>2010-02-24T00:00:00+00:00</updated>
   <id>http://amerine.net/2010/02/24/rvm-rails3-ruby-1-9-2-setup</id>
   <content type="html">&lt;p&gt;##Intro
People want to start working on apps in  Rails 3.0. Rails 3 is supporting ruby 1.8.7 and ruby 1.9.2. These instructions will assist you with getting Rails 3 and ruby 1.9.2 installed. I’m tossing this up here to have something to point people to when they have questions.&lt;/p&gt;

&lt;p&gt;I’m making a few assumptions:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;You’re on OS X Snow Leopard (x86_64) (Most of these instructions will work on any *nix box. Leave a comment if you have trouble.)&lt;/li&gt;
  &lt;li&gt;You have macports install (or readline installed somewhere else on your box)&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;##Install Ruby Version Manager&lt;/p&gt;

&lt;div class=&quot;panel&quot;&gt;
  Note: Just run this command and follow the instructions.
&lt;/div&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-console&quot; data-lang=&quot;console&quot;&gt;&lt;span class=&quot;gp&quot;&gt;$&lt;/span&gt; bash &amp;lt; &amp;lt;&lt;span class=&quot;o&quot;&gt;(&lt;/span&gt; curl http://rvm.beginrescueend.com/releases/rvm-install-head &lt;span class=&quot;o&quot;&gt;)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;##Install Ruby 1.9.2&lt;/p&gt;
&lt;div class=&quot;panel&quot;&gt;
Your readline directory may be in a different spot.
&lt;/div&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-console&quot; data-lang=&quot;console&quot;&gt;&lt;span class=&quot;gp&quot;&gt;$&lt;/span&gt; rvm install 1.9.2 &lt;span class=&quot;nt&quot;&gt;-C&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--with-readline-dir&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/opt/local,--build&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;x86_64-apple-darwin10
&lt;span class=&quot;go&quot;&gt;Installing Ruby from source to: /Users/mturner/.rvm/rubies/ruby-1.9.2-p0

Running autoconf

Configuring ruby-1.9.2-p0, this may take a while depending on your cpu(s)...

Compiling ruby-1.9.2-p0, this may take a while, depending on your cpu(s)...

Installing ruby-1.9.2-p0

Installation of ruby-1.9.2-p0 is complete.

Updating rubygems for ruby-1.9.2-p0

Installing gems for ruby-1.9.2-p0.

Installing rake

Installation of gems for ruby-1.9.2-p0 is complete.

&lt;/span&gt;&lt;span class=&quot;gp&quot;&gt;$&lt;/span&gt; rvm 1.9.2
&lt;span class=&quot;go&quot;&gt;
&lt;/span&gt;&lt;span class=&quot;gp&quot;&gt;$&lt;/span&gt; ruby &lt;span class=&quot;nt&quot;&gt;-v&lt;/span&gt;
&lt;span class=&quot;go&quot;&gt;ruby 1.9.2p0&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;##Create a Rails 3.0 Gem set and switch to it
This processes allows us to isolate the Rails 3.0 environment gems.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-console&quot; data-lang=&quot;console&quot;&gt;&lt;span class=&quot;gp&quot;&gt;$&lt;/span&gt; rvm use &lt;span class=&quot;nt&quot;&gt;--create&lt;/span&gt; 1.9.2@rails3&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;##Install the Rails 3.0 Gems and dependencies&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-console&quot; data-lang=&quot;console&quot;&gt;&lt;span class=&quot;gp&quot;&gt;$&lt;/span&gt; gem install sqlite3-ruby
&lt;span class=&quot;gp&quot;&gt;$&lt;/span&gt; env &lt;span class=&quot;nv&quot;&gt;ARCHFLAGS&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;-arch x86_64&quot;&lt;/span&gt; gem install mysql &lt;span class=&quot;nt&quot;&gt;--&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--with-mysql-config&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/usr/local/mysql/bin/mysql_config
&lt;span class=&quot;gp&quot;&gt;$&lt;/span&gt; gem install rails&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;##Done
Hopefully everything worked:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-console&quot; data-lang=&quot;console&quot;&gt;&lt;span class=&quot;gp&quot;&gt;$&lt;/span&gt; ruby &lt;span class=&quot;nt&quot;&gt;-v&lt;/span&gt;
&lt;span class=&quot;go&quot;&gt;  ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-darwin10.4.0]
&lt;/span&gt;&lt;span class=&quot;gp&quot;&gt;$&lt;/span&gt; rails &lt;span class=&quot;nt&quot;&gt;--version&lt;/span&gt;
&lt;span class=&quot;go&quot;&gt;  Rails 3.0.0
&lt;/span&gt;&lt;span class=&quot;gp&quot;&gt;$&lt;/span&gt; gem list
&lt;span class=&quot;go&quot;&gt;  *** LOCAL GEMS ***

  abstract (1.0.0)
  actionmailer (3.0.0)
  actionpack (3.0.0)
  activemodel (3.0.0)
  activerecord (3.0.0)
  activeresource (3.0.0)
  activesupport (3.0.0)
  arel (1.0.1)
  builder (2.1.2)
  bundler (1.0.0.rc.5)
  erubis (2.6.6)
  i18n (0.4.1)
  mail (2.2.5)
  memcache-client (1.8.5)
  mime-types (1.16)
  mysql (2.8.1)
  rack (1.2.1)
  rack-mount (0.6.12)
  rack-test (0.5.4)
  rails (3.0.0)
  railties (3.0.0)
  rake (0.8.7)
  sqlite3-ruby (1.3.1)
  text-format (1.0.0)
  text-hyphen (1.0.0)
  thor (0.14.0)
  tzinfo (0.3.22)&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;##Switching back to your system Ruby
&lt;code class=&quot;highlighter-rouge&quot;&gt;rvm system&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;##Back to your Rails3.0 environment
&lt;code class=&quot;highlighter-rouge&quot;&gt;rvm 1.9.2@rails3&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;##Use your RVM environment as your Default
&lt;code class=&quot;highlighter-rouge&quot;&gt;rvm 1.9.2@rails3 --default&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Read more about RVM over at &lt;a href=&quot;http://rvm.beginrescueend.com/&quot;&gt;http://rvm.beginrescueend.com/&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;###Update 04/16/2010
Updated to reflect the recent changes in RVM.&lt;/p&gt;

&lt;p&gt;###Update 08/18/2010
Updated to use the production release of 1.9.2&lt;/p&gt;

&lt;p&gt;###Update 08/30/2010
Updated to reflect the Rails 3.0 release.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Fix Rails 3.0 `gem_original_require': no such file to load -- set (LoadError)</title>
   <link href="http://www.amerine.net/2010/02/23/fix-rails-3.0-no-such-file-to-load-set/"/>
   <updated>2010-02-23T00:00:00+00:00</updated>
   <id>http://amerine.net/2010/02/23/fix-rails-3.0-no-such-file-to-load-set</id>
   <content type="html">&lt;p&gt;I was assisting aridlous on irc while he was experiencing an issue launching the rails console in a Rails 3.0 beta app.&lt;/p&gt;

&lt;p&gt;He was getting the following error:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-console&quot; data-lang=&quot;console&quot;&gt;&lt;span class=&quot;gp&quot;&gt;$&lt;/span&gt; script/console
&lt;span class=&quot;go&quot;&gt;/opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- set (LoadError)
	from /opt/local/lib/ruby/site_ruby/1.8/rubygems/custom_require.rb:31:in `require'
	from /opt/local/lib/ruby/gems/1.8/gems/bundler-0.9.7/lib/bundler/resolver.rb:1
	from /opt/local/lib/ruby/gems/1.8/gems/bundler-0.9.7/lib/bundler/runtime.rb:95:in `specs'
	from /opt/local/lib/ruby/gems/1.8/gems/bundler-0.9.7/lib/bundler/runtime.rb:81:in `specs_for'
	from /opt/local/lib/ruby/gems/1.8/gems/bundler-0.9.7/lib/bundler/runtime.rb:18:in `setup'
	from /opt/local/lib/ruby/gems/1.8/gems/bundler-0.9.7/lib/bundler.rb:66:in `setup'
	from /Users/User/dev/sekret/config/../config/preinitializer.rb:34
	from /Users/User/dev/sekret/config/boot.rb:28:in `load'
	from /Users/User/dev/sekret/config/boot.rb:28:in `preinitialize'
	from /Users/User/dev/sekret/config/boot.rb:10:in `boot!'
	from /Users/User/dev/sekret/config/boot.rb:129
	from script/console:2:in `require'
	from script/console:2&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;This appears to only affect folks using RVM and Bundler.&lt;/p&gt;

&lt;p&gt;After a little sleuthing it appeared that RVM was setting a blank &lt;code class=&quot;highlighter-rouge&quot;&gt;GEM_HOME&lt;/code&gt; environment variable when you leave the ruby version set to default.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-console&quot; data-lang=&quot;console&quot;&gt;&lt;span class=&quot;gp&quot;&gt;$&lt;/span&gt;  env | &lt;span class=&quot;nb&quot;&gt;grep &lt;/span&gt;GEM_HOME
&lt;span class=&quot;go&quot;&gt;GEM_HOME=&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;There are two easy fixes&lt;/p&gt;

&lt;p&gt;1) &lt;code class=&quot;highlighter-rouge&quot;&gt;unset GEM_HOME&lt;/code&gt;
 or
2) &lt;code class=&quot;highlighter-rouge&quot;&gt;rvm system&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Both of these clear the &lt;code class=&quot;highlighter-rouge&quot;&gt;GEM_HOME&lt;/code&gt; environment variable.&lt;/p&gt;

&lt;p&gt;aridlous dug around the bundler src after I helped him out and came back with the following tib-bit. I’d write a patch and probably will but I’m just too tired at the moment.&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;interesting, but the bug seems to be possibly 2 things: empty GEM_HOME should not be used, and when the join occurs I think it is creating an invalid GEM_PATH=”:/Users/User/.gem/ruby/1.8:/opt/local/lib/ruby/gems/1.8:” … it should not have that leading ‘:’&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;UPDATE: &lt;a href=&quot;http://github.com/carlhuda/bundler/issues/issue/133&quot;&gt;Filed an issue in Bundlers issue tracker&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;UPDATE 2: &lt;a href=&quot;http://github.com/carlhuda/bundler/commit/55509f23693bb344696d1dfa7fa0f0eb2108adf6&quot;&gt;Fixed in 55509f&lt;/a&gt;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Actual Sarah Palin Supporters</title>
   <link href="http://www.amerine.net/2009/12/09/actual-sarah-palin-supporters/"/>
   <updated>2009-12-09T00:00:00+00:00</updated>
   <id>http://amerine.net/2009/12/09/actual-sarah-palin-supporters</id>
   <content type="html">&lt;p&gt;I saw this over at &lt;a href=&quot;http://gilesbowkett.blogspot.com/2009/12/real-palin-supporters-not-actors.html&quot;&gt;Giles Bowkett’s Blog&lt;/a&gt; and just had to share it here. Thanks Giles!&lt;/p&gt;

&lt;div class=&quot;flex-video widescreen&quot;&gt;
  &lt;object width=&quot;480&quot; height=&quot;295&quot;&gt;
    &lt;param name=&quot;movie&quot; value=&quot;http://www.youtube.com/v/mKKKgua7wQk&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;color1=0x2b405b&amp;amp;color2=0x6b8ab6&amp;amp;hd=1&quot; /&gt;&amp;lt;/param&amp;gt;
    &lt;param name=&quot;allowFullScreen&quot; value=&quot;true&quot; /&gt;&amp;lt;/param&amp;gt;
    &lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot; /&gt;&amp;lt;/param&amp;gt;
    &lt;embed src=&quot;http://www.youtube.com/v/mKKKgua7wQk&amp;amp;hl=en_US&amp;amp;fs=1&amp;amp;color1=0x2b405b&amp;amp;color2=0x6b8ab6&amp;amp;hd=1&quot; type=&quot;application/x-shockwave-flash&quot; allowscriptaccess=&quot;always&quot; allowfullscreen=&quot;true&quot; width=&quot;480&quot; height=&quot;295&quot; /&gt;&amp;lt;/embed&amp;gt;
  &lt;/object&gt;
&lt;/div&gt;
</content>
 </entry>
 
 <entry>
   <title>Rails Stack on OpenSolaris 2009.06</title>
   <link href="http://www.amerine.net/2009/10/19/rails-stack-on-opensolaris-2009.blog/"/>
   <updated>2009-10-19T00:00:00+00:00</updated>
   <id>http://amerine.net/2009/10/19/rails-stack-on-opensolaris-2009.blog</id>
   <content type="html">&lt;p&gt;I enjoy using &lt;a href=&quot;http://opensolaris.org&quot;&gt;OpenSolaris&lt;/a&gt; when I can, and I’ve been using it for a couple small Ruby on Rails deployments. I’ve received a few questions recently about deploying Ruby on Rails app on &lt;a href=&quot;http://opensolaris.org&quot;&gt;OpenSolaris&lt;/a&gt;, so to kill a few ‘birds’ with one stone. I’m throwing this post together so that I can just point them here and let them run with it.&lt;/p&gt;

&lt;p&gt;Sun has an easy to install meta-package called &lt;code class=&quot;highlighter-rouge&quot;&gt;amp&lt;/code&gt; that includes Apache 2.2, Apache 2.2 DTrace probes, MySQL Server 5.1 &amp;amp; PHP. If you’ve never used Solaris/OpenSolaris before the &lt;code class=&quot;highlighter-rouge&quot;&gt;pfexec&lt;/code&gt; command will seem foreign to you. Don’t let it worry you its part of the Solaris RBAC (Role Based Access Control) by default the non-root user you created during the install has the &lt;code class=&quot;highlighter-rouge&quot;&gt;root&lt;/code&gt; user role and can execute commands as root if you use &lt;code class=&quot;highlighter-rouge&quot;&gt;pfexec&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;I’m assuming you’re starting from scratch on an OpenSolaris 2009.06 server with nothing extra installed. I also assume you’ve had some experience with a Unix/Linux variant.&lt;/p&gt;

&lt;h2 id=&quot;basics&quot;&gt;Basics&lt;/h2&gt;
&lt;p&gt;We want to install some of the GNU stack including &lt;code class=&quot;highlighter-rouge&quot;&gt;gmake&lt;/code&gt;, &lt;code class=&quot;highlighter-rouge&quot;&gt;gcc&lt;/code&gt; and git + subversion. We’re going to install git from source to be sure we’re on the latest release.&lt;/p&gt;

&lt;h3 id=&quot;gmake-gcc-subversion-and-curl&quot;&gt;gmake, gcc, subversion and curl&lt;/h3&gt;
&lt;p&gt;Commands:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-console&quot; data-lang=&quot;console&quot;&gt;&lt;span class=&quot;gp&quot;&gt;  $&lt;/span&gt; pfexec pkg install SUNWgmake
&lt;span class=&quot;gp&quot;&gt;  $&lt;/span&gt; pfexec pkg install SUNWgcc
&lt;span class=&quot;gp&quot;&gt;  $&lt;/span&gt; pfexec pkg install SUNWsvn
&lt;span class=&quot;gp&quot;&gt;  $&lt;/span&gt; pfexec pkg install SUNWcurl&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h3 id=&quot;git&quot;&gt;git&lt;/h3&gt;
&lt;p&gt;&lt;code class=&quot;highlighter-rouge&quot;&gt;curl&lt;/code&gt; is required to build &lt;code class=&quot;highlighter-rouge&quot;&gt;git&lt;/code&gt; don’t skip installing &lt;code class=&quot;highlighter-rouge&quot;&gt;SUNWcurl&lt;/code&gt; from above.&lt;/p&gt;

&lt;p&gt;Note: There seems to be an issue with building versions of git newer than 1.6.0.6 on OpenSolaris 2009.06. I’ll figure out why but in the meantime I’ve provided instructions for installing git 1.6.0.6. Please verify that &lt;code class=&quot;highlighter-rouge&quot;&gt;/usr/local/bin&lt;/code&gt; is in your &lt;code class=&quot;highlighter-rouge&quot;&gt;$PATH&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Commands:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-console&quot; data-lang=&quot;console&quot;&gt;&lt;span class=&quot;gp&quot;&gt;  $&lt;/span&gt; pfexec mkdir &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; /opt/src
&lt;span class=&quot;gp&quot;&gt;  $&lt;/span&gt; pfexec chmod 777 /opt/src
&lt;span class=&quot;gp&quot;&gt;  $&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;cd&lt;/span&gt; /opt/src
&lt;span class=&quot;gp&quot;&gt;  $&lt;/span&gt; wget http://kernel.org/pub/software/scm/git/git-1.6.0.6.tar.gz
&lt;span class=&quot;gp&quot;&gt;  $&lt;/span&gt; &lt;span class=&quot;nb&quot;&gt;tar &lt;/span&gt;xzf git-1.6.0.6.tar.gz
&lt;span class=&quot;gp&quot;&gt;  $&lt;/span&gt; git-1.6.0.6
&lt;span class=&quot;gp&quot;&gt;  $&lt;/span&gt; ./configure
&lt;span class=&quot;gp&quot;&gt;  $&lt;/span&gt; gmake
&lt;span class=&quot;gp&quot;&gt;  $&lt;/span&gt; pfexec make install
&lt;span class=&quot;gp&quot;&gt;  $&lt;/span&gt; git &lt;span class=&quot;nt&quot;&gt;--version&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;apache-stack-amp&quot;&gt;Apache Stack (AMP)&lt;/h2&gt;
&lt;p&gt;Like I noted above, OpenSolaris has a meta-package we can install that will take care of most of this. It will install the following packages for us:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;MySQL Server 5.1&lt;/li&gt;
  &lt;li&gt;Apache 2.2.30&lt;/li&gt;
  &lt;li&gt;PHP 5.2.9&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Commands:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;  pfexec pkg install amp&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h3 id=&quot;enable-apache--mysql-services&quot;&gt;Enable Apache &amp;amp; MySQL Services&lt;/h3&gt;
&lt;p&gt;By default the Apache and MySQL services are not enabled. To turn them on run the following commands:&lt;/p&gt;

&lt;p&gt;Apache 2:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;  pfexec svcadm &lt;span class=&quot;nb&quot;&gt;enable &lt;/span&gt;http:apache22&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;MySQL&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;  pfexec svcadm &lt;span class=&quot;nb&quot;&gt;enable &lt;/span&gt;mysql&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;ruby--ruby-on-rails&quot;&gt;Ruby &amp;amp; Ruby on Rails&lt;/h2&gt;
&lt;p&gt;First we are going to use the Sun provided Ruby 1.8.7 package that also installs rubygems. Then we will update rubygems, install the gemcutter gem, add http://gems.github.com as a gem source (for legacy purposes), install the rails gems and finally modify our path to include the gem binaries.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;  pfexec pkg install SUNWruby18
  pfexec gem update &lt;span class=&quot;nt&quot;&gt;--system&lt;/span&gt;
  pfexec gem install gemcutter
  gem tumble
  gem sources &lt;span class=&quot;nt&quot;&gt;-a&lt;/span&gt; http://gems.github.com
  pfexec gem install rails
  &lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'export PATH=/usr/ruby/1.8/bin:$PATH'&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt; ~/.profile
  &lt;span class=&quot;nb&quot;&gt;echo&lt;/span&gt; &lt;span class=&quot;s1&quot;&gt;'export PATH=/var/ruby/1.8/gem_home/bin:$PATH'&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;gt;&amp;gt;&lt;/span&gt; ~/.profile&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;(Note: Modifying .profile requires you to re-login to the machine, as it’s only read during that point. If you like you can add that same line to your .bashrc file)&lt;/p&gt;

&lt;h3 id=&quot;install-database-gems&quot;&gt;Install Database Gems&lt;/h3&gt;
&lt;p&gt;Mysql:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;  pfexec gem install mysql &lt;span class=&quot;nt&quot;&gt;--&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;--with-mysql-dir&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;=&lt;/span&gt;/usr/mysql/5.1&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;sqlite3&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;  pfexec gem install sqlite3-ruby&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;passenger-installation&quot;&gt;Passenger Installation&lt;/h2&gt;
&lt;p&gt;We need to install fastthread and passenger, then configure apache to use it. We’re going to install passenger from source as it fixes a bug with the use of PTHREAD_STACK_MIN (See &lt;a href=&quot;http://code.google.com/p/phusion-passenger/issues/detail?id=369&quot;&gt;here&lt;/a&gt;) This is fixed in passenger 2.2.6 and I will update this when that is released.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;  pfexec gem install fastthread
  &lt;span class=&quot;nb&quot;&gt;cd&lt;/span&gt; /opt/src
  git clone git://github.com/FooBarWidget/passenger.git
  &lt;span class=&quot;nb&quot;&gt;cd &lt;/span&gt;passenger
  pfexec ./bin/passenger-install-apache2-module&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h3 id=&quot;apache-configuration&quot;&gt;Apache Configuration&lt;/h3&gt;
&lt;p&gt;We’re going to keep the passenger configuration in it’s own file to keep the httpd.conf clean.&lt;/p&gt;

&lt;p&gt;Create the file:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;  touch /etc/apache2/2.2/conf.d/passenger.conf&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Paste the lines from the passenger-install-apache2-module command in that file. My file contains the following:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;  LoadModule passenger_module /opt/src/passenger/ext/apache2/mod_passenger.so
  PassengerRoot /opt/src/passenger
  PassengerRuby /usr/ruby/1.8/bin/ruby&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;h2 id=&quot;lets-test&quot;&gt;Let’s Test&lt;/h2&gt;
&lt;p&gt;Lets create a little rails app to verify that rails and passenger&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;  pfexec mkdir &lt;span class=&quot;nt&quot;&gt;-p&lt;/span&gt; /data/apps
  pfexec chown &lt;span class=&quot;nt&quot;&gt;-R&lt;/span&gt; mturner:staff /data/apps
  &lt;span class=&quot;nb&quot;&gt;cd&lt;/span&gt; /data/apps
  rails &lt;span class=&quot;nb&quot;&gt;test
  cd test&lt;/span&gt;
  ./script/generate controller helloworld index
  pfexec chown &lt;span class=&quot;nt&quot;&gt;-R&lt;/span&gt; webservd:webservd &lt;span class=&quot;nb&quot;&gt;test&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Lets add a vhost config for apache.&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;  pfexec vim /etc/apache2/2.2/conf.d/test-site.conf&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Here is the contents of my file:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;		&amp;lt;VirtualHost &lt;span class=&quot;k&quot;&gt;*&lt;/span&gt;:80&amp;gt;
		     ServerName test-site.com
		     DocumentRoot /data/apps/test/public

		     &amp;lt;Directory /data/apps/test&amp;gt;
		      Options +FollowSymLinks &lt;span class=&quot;nt&quot;&gt;-SymLinksIfOwnerMatch&lt;/span&gt; +MultiViews &lt;span class=&quot;nt&quot;&gt;-Indexes&lt;/span&gt; &lt;span class=&quot;nt&quot;&gt;-ExecCGI&lt;/span&gt;
		      AllowOverride ALL
		      Order allow,deny
		      Allow from all
		     &amp;lt;/Directory&amp;gt;

		&amp;lt;/VirtualHost&amp;gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Add &lt;code class=&quot;highlighter-rouge&quot;&gt;127.0.0.1 test-site.com&lt;/code&gt; to &lt;code class=&quot;highlighter-rouge&quot;&gt;/etc/hosts&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Restart Apache&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;  pfexec svcadm restart http:apache22&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Test the site in apache and you see the following:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-ruby&quot; data-lang=&quot;ruby&quot;&gt;  &lt;span class=&quot;no&quot;&gt;Helloworld&lt;/span&gt;&lt;span class=&quot;c1&quot;&gt;#index&lt;/span&gt;

  &lt;span class=&quot;no&quot;&gt;Find&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;me&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;in&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;app&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;views&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;helloworld&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;/&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;index&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;html&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;erb&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;It Works!!&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Funny comment on Digg</title>
   <link href="http://www.amerine.net/2009/09/18/funny-comment-on-digg/"/>
   <updated>2009-09-18T00:00:00+00:00</updated>
   <id>http://amerine.net/2009/09/18/funny-comment-on-digg</id>
   <content type="html">&lt;p&gt;I loved the first comment to &lt;a href=&quot;http://digg.com/politics/Bill_O_Reilly_Backs_Public_Option_VIDEO&quot;&gt;this&lt;/a&gt; post on digg.
Here it is for public consumption:&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;I’m a conservative.
This morning I was awoken by my alarm clock powered by electricity generated by the public power monopoly regulated by the U.S. Department of Energy.&lt;/p&gt;

  &lt;p&gt;I then took a shower in the clean water provided by a municipal water utility.&lt;/p&gt;

  &lt;p&gt;After that, I turned on the TV to one of the FCC-regulated channels to see what the National Weather Service of the National Oceanographic and Atmospheric Administration determined the weather was going to be like, using satellites designed, built, and launched by the National Aeronautics and Space Administration.&lt;/p&gt;

  &lt;p&gt;I watched this while eating my breakfast of U.S. Department of Agriculture-inspected food and taking the drugs which have been determined as safe by the U.S. Food and Drug Administration.&lt;/p&gt;

  &lt;p&gt;At the appropriate time, as regulated by the U.S. Congress and kept accurate by the National Institute of Standards and Technology and the U.S. Naval Observatory, I get into my National Highway Traffic Safety Administration-approved automobile and set out to work on the roads build by the local, state, and federal Departments of Transportation, possibly stopping to purchase additional fuel of a quality level determined by the Environmental Protection Agency, using legal tender issued by the Federal Reserve Bank.&lt;/p&gt;

  &lt;p&gt;On the way out the door I deposit any mail I have to be sent out via the U.S. Postal Service and drop the kids off at the public school.&lt;/p&gt;

  &lt;p&gt;After spending another day not being maimed or killed at work thanks to the workplace regulations imposed by the Department of Labor and the Occupational Safety and Health administration, enjoying another two meals which again do not kill me because of the USDA, I drive my NHTSA car back home on the DOT roads, to my house which has not burned down in my absence because of the state and local building codes and Fire Marshal’s inspection, and which has not been plundered of all its valuables thanks to the local police department.&lt;/p&gt;

  &lt;p&gt;And then I log on to the internet – which was developed by the Defense Advanced Research Projects Administration – and post on Freerepublic.com and Fox News forums about how SOCIALISM in medicine is BAD because the government can’t do anything right.&lt;/p&gt;
&lt;/blockquote&gt;
</content>
 </entry>
 
 <entry>
   <title>Solaris 9 and xterm-color</title>
   <link href="http://www.amerine.net/2009/08/06/solaris-9-xterm-color/"/>
   <updated>2009-08-06T00:00:00+00:00</updated>
   <id>http://amerine.net/2009/08/06/solaris-9-xterm-color</id>
   <content type="html">&lt;p&gt;If you connect to Solaris 9 from a OS X or any recent Linux box via SSH, chances are your terminal is set to xterm-color. If you try to use vi or anything you’ll see an error like below:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;xterm-color: Unknown terminal &lt;span class=&quot;nb&quot;&gt;type&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Its easy enough to change the terminal declaration in the preference dialog… but why not teach Solaris 9 to handle the xterm-color terminal type?&lt;/p&gt;

&lt;p&gt;This assumes you have the sun freeware tools installed in /usr/sfw/bin.&lt;/p&gt;

&lt;p&gt;Download &lt;a href=&quot;http://amerine.net/files/xterm-color&quot;&gt;this file&lt;/a&gt; and place it in /usr/share/lib/terminfo/x/ Example:&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-bash&quot; data-lang=&quot;bash&quot;&gt;&lt;span class=&quot;nb&quot;&gt;cd&lt;/span&gt; /usr/share/lib/terminfo/x/
/usr/sfw/bin/wget http://amerine.net/files/xterm-color&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;Now that annoying error won’t stop vi from working. Enjoy.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Moving to Github Pages</title>
   <link href="http://www.amerine.net/2009/07/24/Moving-To-Github-Pages/"/>
   <updated>2009-07-24T00:00:00+00:00</updated>
   <id>http://amerine.net/2009/07/24/Moving-To-Github-Pages</id>
   <content type="html">&lt;p&gt;I’ve decided that a change was needed for my blog so I went ahead and moved the blog over to &lt;a href=&quot;http://pages.github.com&quot;&gt;GitHub Pages&lt;/a&gt;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>The Hacker Attitude</title>
   <link href="http://www.amerine.net/2009/03/27/the-hacker-attitude/"/>
   <updated>2009-03-27T00:00:00+00:00</updated>
   <id>http://amerine.net/2009/03/27/the-hacker-attitude</id>
   <content type="html">&lt;h2 id=&quot;the-hacker-attitude&quot;&gt;The Hacker Attitude&lt;/h2&gt;
&lt;ol&gt;
  &lt;li&gt;&lt;a href=&quot;http://catb.org/~esr/faqs/hacker-howto.html#believe1&quot; title=&quot;The world is full of fascinating problems waiting to be solved.&quot;&gt;The world is full of fascinating problems waiting to be solved.&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://catb.org/~esr/faqs/hacker-howto.html#believe2&quot; title=&quot;No problem should ever have to be solved twice.&quot;&gt;No problem should ever have to be solved twice.&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://catb.org/~esr/faqs/hacker-howto.html#believe3&quot; title=&quot;Boredom and drudgery are evil.&quot;&gt;Boredom and drudgery are evil.&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://catb.org/~esr/faqs/hacker-howto.html#believe4&quot; title=&quot;Freedom is good.&quot;&gt;Freedom is good.&lt;/a&gt;&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://catb.org/~esr/faqs/hacker-howto.html#believe5&quot; title=&quot;Attitude is no substitute for competence.&quot;&gt;Attitude is no substitute for competence.&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Every once in a while we need to remind our peers what we’re all about and show them how to get there.&lt;/p&gt;

&lt;p&gt;See the full paper here:
&lt;a href=&quot;http://catb.org/~esr/faqs/hacker-howto.html&quot; title=&quot;Eric Raymond Hacker Howto&quot;&gt;http://catb.org/~esr/faqs/hacker-howto.html&lt;/a&gt;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>RMM from the Source.</title>
   <link href="http://www.amerine.net/2009/03/04/rmm-from-the-source/"/>
   <updated>2009-03-04T00:00:00+00:00</updated>
   <id>http://amerine.net/2009/03/04/rmm-from-the-source</id>
   <content type="html">&lt;p&gt;I have to admit that after watching the RMM discussion happen on the &lt;a href=&quot;http://groups.google.com/group/rails-business&quot; title=&quot;Rails Business Mailing List&quot;&gt;rails-business&lt;/a&gt; mailing list as well as twitter I was a little skeptical about the idea. But… After watching this idea session from Hashrocket I’m starting to think that its not a bad idea. Especially when Obie mentions that the best practices will get decided based on the number of endorsements for that practice.&lt;/p&gt;

&lt;p&gt;Makes sense to me. Watch the video over at Vimeo to see for yourself.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://vimeo.com/3248799&quot;&gt;http://vimeo.com/3248799&lt;/a&gt;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Testing, Stubs &amp; Shoulda from Hashrocket.</title>
   <link href="http://www.amerine.net/2009/02/23/testing-stubs-shoulda/"/>
   <updated>2009-02-23T00:00:00+00:00</updated>
   <id>http://amerine.net/2009/02/23/testing-stubs-shoulda</id>
   <content type="html">&lt;p&gt;This was an interesting talk. I wouldn’t mind spending a few hours with &lt;a href=&quot;http://coreyhaines.com&quot;&gt;Corey Haines&lt;/a&gt;&lt;/p&gt;

&lt;object width=&quot;601&quot; height=&quot;338&quot;&gt;&lt;param name=&quot;allowfullscreen&quot; value=&quot;true&quot; /&gt;&lt;param name=&quot;allowscriptaccess&quot; value=&quot;always&quot; /&gt;&lt;param name=&quot;movie&quot; value=&quot;http://vimeo.com/moogaloop.swf?clip_id=3296561&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=dd4499&amp;amp;fullscreen=1&quot; /&gt;&lt;embed src=&quot;http://vimeo.com/moogaloop.swf?clip_id=3296561&amp;amp;server=vimeo.com&amp;amp;show_title=1&amp;amp;show_byline=1&amp;amp;show_portrait=1&amp;amp;color=dd4499&amp;amp;fullscreen=1&quot; type=&quot;application/x-shockwave-flash&quot; allowfullscreen=&quot;true&quot; allowscriptaccess=&quot;always&quot; width=&quot;601&quot; height=&quot;338&quot; /&gt;&amp;lt;/embed&amp;gt;&lt;/object&gt;
</content>
 </entry>
 
 <entry>
   <title>Rails + Merb = Rails 3</title>
   <link href="http://www.amerine.net/2008/12/24/rails-merb-rails-3/"/>
   <updated>2008-12-24T00:00:00+00:00</updated>
   <id>http://amerine.net/2008/12/24/rails-merb-rails-3</id>
   <content type="html">&lt;p&gt;Yesterday it was announced that Merb and rails would merge and be released as Rails 3.0. I never saw this coming, and to be honest I am super happy that it did. I’m glad the the Rails and Merb core teams understand the value of both frameworks, and they can now enhance Rails with the best ideas from Merb.&lt;/p&gt;

&lt;p&gt;I’m still going to hole my breath to see how the team members points of view clash or come together… but so far its looking like a great ride.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Rails::Rack::Metal</title>
   <link href="http://www.amerine.net/2008/12/17/rails-rack-metal/"/>
   <updated>2008-12-17T00:00:00+00:00</updated>
   <id>http://amerine.net/2008/12/17/rails-rack-metal</id>
   <content type="html">&lt;p&gt;As usual there has been quite the storm over a commit in edge rails. &lt;a href=&quot;http://is.gd/c1if&quot;&gt;Link&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Some people don’t understand Metal, but its pretty simple and I wanted to put out a post explaining it and hopefully you learn a little bit.&lt;/p&gt;

&lt;p&gt;Metal(s) allows you to design data access points that bypass most of the rails routing and rendering code. So instead of exposing data through normal controllers we can write better performing actions through metal(s).&lt;/p&gt;

&lt;p&gt;In this example I am offering a simple service where someone can hit a URL(‘/grab/&amp;lt;id&amp;gt;’ in this case) and get back the User objects name attribute.&amp;lt;/id&amp;gt;&lt;/p&gt;

&lt;figure class=&quot;highlight&quot;&gt;&lt;pre&gt;&lt;code class=&quot;language-ruby&quot; data-lang=&quot;ruby&quot;&gt;&lt;span class=&quot;c1&quot;&gt;# Allow the metal piece to run in isolation&lt;/span&gt;
&lt;span class=&quot;nb&quot;&gt;require&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;File&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;dirname&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;kp&quot;&gt;__FILE__&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;+&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;/../../config/environment&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt; &lt;span class=&quot;k&quot;&gt;unless&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;defined?&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Rails&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;

&lt;span class=&quot;k&quot;&gt;class&lt;/span&gt; &lt;span class=&quot;nc&quot;&gt;Grab&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;&amp;lt;&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;Rails&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Rack&lt;/span&gt;&lt;span class=&quot;o&quot;&gt;::&lt;/span&gt;&lt;span class=&quot;no&quot;&gt;Metal&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;def&lt;/span&gt; &lt;span class=&quot;nf&quot;&gt;call&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;env&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;env&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;PATH_INFO&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=~&lt;/span&gt; &lt;span class=&quot;sr&quot;&gt;/^\/grab/&lt;/span&gt;
      &lt;span class=&quot;n&quot;&gt;request&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;env&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;'REQUEST_URI'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;].&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;split&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;s1&quot;&gt;'/'&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;)&lt;/span&gt;
      &lt;span class=&quot;k&quot;&gt;if&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;request&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;size&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;!=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;3&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;response_text&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;No ID Provided&quot;&lt;/span&gt;
        &lt;span class=&quot;n&quot;&gt;response_code&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;200&lt;/span&gt;
      &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;begin&lt;/span&gt;
          &lt;span class=&quot;n&quot;&gt;username&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;no&quot;&gt;User&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;find&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;(&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;request&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;mi&quot;&gt;2&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]).&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;name&lt;/span&gt;
          &lt;span class=&quot;n&quot;&gt;response_text&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;username&lt;/span&gt;
          &lt;span class=&quot;n&quot;&gt;response_code&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;200&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;rescue&lt;/span&gt;
          &lt;span class=&quot;n&quot;&gt;response_text&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;Request Failed&quot;&lt;/span&gt;
          &lt;span class=&quot;n&quot;&gt;response_code&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&lt;/span&gt; &lt;span class=&quot;mi&quot;&gt;400&lt;/span&gt;
        &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
      &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
      &lt;span class=&quot;p&quot;&gt;[&lt;/span&gt;&lt;span class=&quot;n&quot;&gt;response_code&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;.&lt;/span&gt;&lt;span class=&quot;nf&quot;&gt;to_i&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;,&lt;/span&gt; &lt;span class=&quot;p&quot;&gt;{&lt;/span&gt;&lt;span class=&quot;s2&quot;&gt;&quot;Content-Type&quot;&lt;/span&gt; &lt;span class=&quot;o&quot;&gt;=&amp;gt;&lt;/span&gt; &lt;span class=&quot;s2&quot;&gt;&quot;text/html&quot;&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;},&lt;/span&gt; &lt;span class=&quot;n&quot;&gt;response_text&lt;/span&gt;&lt;span class=&quot;p&quot;&gt;]&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;else&lt;/span&gt;
      &lt;span class=&quot;k&quot;&gt;super&lt;/span&gt;
    &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
  &lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;
&lt;span class=&quot;k&quot;&gt;end&lt;/span&gt;&lt;/code&gt;&lt;/pre&gt;&lt;/figure&gt;

&lt;p&gt;This is a very simple example, but more complex ones are VERY easy to implement. Outputting XML or binary data is just as easy.&lt;/p&gt;

&lt;p&gt;Its does require a more work to present data through Metal(s) but the speed benefits may come in handy on you’re next project. I assume that anyone that has to provide an API would love to avoid some of the other rails &quot;baggage&quot; when processing requests.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>So many Ideas. No actions. I've failed. I'm going to fix it.</title>
   <link href="http://www.amerine.net/2008/11/08/so-many-ideas-no-actions-ive-failed/"/>
   <updated>2008-11-08T00:00:00+00:00</updated>
   <id>http://amerine.net/2008/11/08/so-many-ideas-no-actions-ive-failed</id>
   <content type="html">&lt;p&gt;I have came to the realization tonight that I’ve failed at working on any of the ideas I’ve had outside of $work (including blogging here and @ &lt;a href=&quot;http://www.counix.com&quot;&gt;counix.com&lt;/a&gt;). Most of the projects that I have thought about personally have never seen the light of day. Now I’m sitting here writing this in hopes that I can figure out what the problem is. Is there such thing as “personal developer block”&lt;/p&gt;

&lt;p&gt;At $work I have to balance my main responsibilities (management) and my passions for the things that interest me (rails, ruby, etc…). When I can escape into code at $work its liberating, it frees me from the other duties that in all honesty are not the funnest things in the world. When I spend my time developing, no matter how short… I enjoy it, it brings a smile to my face. I enjoy talking about code. I enjoy brainstorming with my team. I enjoy fixing problems. I enjoy finding new solutions.&lt;/p&gt;

&lt;p&gt;So what’s the problem at home? Why can’t I find that same passion for the personal projects that I have burning in the back of my mind? Why do I care about the projects at $work more than the things at home?&lt;/p&gt;

&lt;p&gt;Don’t get me wrong, I am constantly hacking.. its just never projects just little chunks of code or routines here and there but nothing seems to evolve into a full blown projects.&lt;/p&gt;

&lt;p style=&quot;text-align: center; &quot;&gt;Why have I failed?&lt;/p&gt;
&lt;p style=&quot;text-align: center; &quot;&gt;&amp;nbsp;&lt;img width=&quot;300&quot; height=&quot;188&quot; alt=&quot;fail dog&quot; src=&quot;http://amerine.net/images/fail.jpg&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I think I know what’s wrong:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;I need to find the right projects&lt;/strong&gt; - With every idea that I tend the think about my mind wanders to the money factor almost immediately. Thats where I fail. I need to focus on projects that I would use and be interested in, not the apps that I “think” someone would be interested in. If I don’t care about the project it will die.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;I need community/teams/mentors&lt;/strong&gt; - I’m the type of guy that thrives when I have one or two other people around working with me. I am the most productive when I am pair programming. Without that other person there pushing an driving me things will fall to the wayside. I will miss problems and my designs will suck. Without the right team I can’t function.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;I don’t contribute back enough&lt;/strong&gt; - For as much as I depend on FOSS I have barely done anything to help the projects I depend on. No one will learn who I am without giving back.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;&lt;strong&gt;I’m not good enough&lt;/strong&gt; - Over the past year I have absolutely blown at making myself a better developer.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Solutions:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;
    &lt;p&gt;I will find projects that interest me until I get out of this funk I need to focus on items that get me excited.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;I will take a more proactive role in the developer groups around my area… maybe establish a local Ruby Group. I plan on taking a close look at the team at $work and consider some changes to make the environment better. I can’t be a single developer anymore. When the other developer left I fell off track. I plan on sharing my knowledge with the world. Expect to see more posts here talking about things I consider myself to be an expert in.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;I just need to work on FOSS projects. Period. I will begin fixing bugs in Rails, Capistrano &amp;amp; other projects I depend on immediately. I will also begin moving a lot of personal code out to the wild. I plan on becoming an advocate for the projects I depend on, ie &lt;a href=&quot;http://www.linux.org&quot;&gt;Linux&lt;/a&gt;, &lt;a href=&quot;http://opensolaris.org&quot;&gt;OpenSolaris&lt;/a&gt; and &lt;a href=&quot;http://mysql.com&quot;&gt;MySQL&lt;/a&gt;. The only way to get more people using them is to show their strengths and being honest about their limitations.&lt;/p&gt;
  &lt;/li&gt;
  &lt;li&gt;
    &lt;p&gt;I need to broaden my knowledge base. I plan on finishing the stack of books I haven’t touched this year. I plan on getting way better in erlang. I plan on writing a book, handing it to a friend and seeing if I’ve added anything to his life. I plan on getting better organized. I will use a better way to track my tasks than a combination of email, scribbles on small pieces of paper and memory.&lt;/p&gt;
  &lt;/li&gt;
&lt;/ol&gt;

&lt;p&gt;Its late, I’m hitting the sack. This post is going to help me, and I’m happy to share it with the world.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Torvalds Kills Unix</title>
   <link href="http://www.amerine.net/2008/11/02/torvalds-kills-unix/"/>
   <updated>2008-11-02T00:00:00+00:00</updated>
   <id>http://amerine.net/2008/11/02/torvalds-kills-unix</id>
   <content type="html">&lt;p&gt;Funny things happen when you play games…. They seem to mimic reality.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://amerine.net/images/torvalds-kill-unix.png&quot; alt=&quot;Torvlads Kills Unix Picture&quot; title=&quot;Torvlads Kills Unix Picture&quot; /&gt;&lt;/p&gt;
</content>
 </entry>
 
 
</feed>
