<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-466574047433428036</id><updated>2011-11-30T12:34:14.456-05:00</updated><category term='rails builder xml'/><title type='text'>ELouisYoung</title><subtitle type='html'>Documenting my journey to being a successful web developer.</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://elouisyoung.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://elouisyoung.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Ethan Wells</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>17</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-466574047433428036.post-2035083249682224427</id><published>2011-11-20T11:56:00.001-05:00</published><updated>2011-11-20T11:57:07.722-05:00</updated><title type='text'>Bye-bye Apple</title><content type='html'>I thought I'd post a brief email I sent to apple this morning, here it is:I'm emailing to voice my disgust at Apple for not coming out against the stop online piracy act.Apple, you make my favorite computers, and I use your computers primarily to interact with the world via a free and open internet.  If you and other big players don't step up in a barking rage against such a horrible thing as SOPA then I'm afraid free speech online may soon come to an end; It feels like it's heading that way.I've been dedicated to Apple computers for many years; I'm even a former employee, but it saddens me to say there is a very high chance that my next computer will not be a mac.  As much as I like your hardware, I don't believe I can morally support you anymore.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/466574047433428036-2035083249682224427?l=elouisyoung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elouisyoung.blogspot.com/feeds/2035083249682224427/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elouisyoung.blogspot.com/2011/11/bye-bye-apple.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/2035083249682224427'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/2035083249682224427'/><link rel='alternate' type='text/html' href='http://elouisyoung.blogspot.com/2011/11/bye-bye-apple.html' title='Bye-bye Apple'/><author><name>Ethan Wells</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-466574047433428036.post-2730505277515302882</id><published>2011-07-21T08:46:00.001-04:00</published><updated>2011-10-10T14:36:31.183-04:00</updated><title type='text'>Unable to follow anyone on Twitter</title><content type='html'>When I follow any user on twitter, they will be removed from my following list automatically withing a few seconds to a few hours.&lt;br /&gt;&lt;br /&gt;I can't figure this out.  I can change my password and it still happens.  I revoked all third party app access.  I think it's their system&lt;br /&gt;&lt;br /&gt;If anyone has any ideas please let me know.UPDATE: One of my emails to twitter finally got read and they fixed my account.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/466574047433428036-2730505277515302882?l=elouisyoung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elouisyoung.blogspot.com/feeds/2730505277515302882/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elouisyoung.blogspot.com/2011/07/unable-to-follow-anyone-on-twitter.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/2730505277515302882'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/2730505277515302882'/><link rel='alternate' type='text/html' href='http://elouisyoung.blogspot.com/2011/07/unable-to-follow-anyone-on-twitter.html' title='Unable to follow anyone on Twitter'/><author><name>Ethan Wells</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-466574047433428036.post-7915483781612117855</id><published>2011-01-29T15:41:00.001-05:00</published><updated>2011-01-29T15:42:34.789-05:00</updated><title type='text'>No Ruby bindings for Xapian installed</title><content type='html'>I recently upgraded ruby 1.8.7 to patch 330 via rvm and I started getting the error "No Ruby bindings for Xapian installed".&lt;br /&gt;&lt;br /&gt;So I'm guessing the ruby bindings are specific to the ruby version, down to patchlevel...?&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Resolved by first uninstalling xapian&lt;br /&gt;&lt;code&gt;&lt;br /&gt;brew uninstall xapian&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;and then re-installing with the --ruby flag set again&lt;br /&gt;&lt;code&gt;&lt;br /&gt;brew install xapian --ruby&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/466574047433428036-7915483781612117855?l=elouisyoung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elouisyoung.blogspot.com/feeds/7915483781612117855/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elouisyoung.blogspot.com/2011/01/no-ruby-bindings-for-xapian-installed.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/7915483781612117855'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/7915483781612117855'/><link rel='alternate' type='text/html' href='http://elouisyoung.blogspot.com/2011/01/no-ruby-bindings-for-xapian-installed.html' title='No Ruby bindings for Xapian installed'/><author><name>Ethan Wells</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-466574047433428036.post-4759127105259882879</id><published>2010-12-15T12:14:00.000-05:00</published><updated>2010-12-15T12:14:09.644-05:00</updated><title type='text'>Fresh mac rails development setup - quick and clean</title><content type='html'>just got a new macbook pro,&lt;br /&gt;logging this here incase I have to do it again soon.&lt;br /&gt;if you have a new mac and you happen to find this blog post soon after I'm posting it, this will save you some time! :)&lt;br /&gt;&lt;br /&gt;the sites I used to get help listed here:&lt;br /&gt;https://github.com/mxcl/homebrew/wiki/installation&lt;br /&gt;http://everydayrails.com/2010/06/28/rvm-gemsets-rails3.html&lt;br /&gt;http://blog.theablefew.com/very-simple-homebrew-mysql-and-rails&lt;br /&gt;http://spyrestudios.com/setting-up-a-rails-development-system-on-mac-osx-snow-leopard&lt;br /&gt;&lt;hr style="width:100%"/&gt;exactly what I did, in order, copy and paste these codeblocks:&lt;br /&gt;1.  first install xcode(downloaded from the mac dev site)&lt;br /&gt;2.  install homebrew:&lt;br /&gt;&lt;br /&gt; &lt;code&gt;ruby -e "$(curl -fsSLk https://gist.github.com/raw/323731/install_homebrew.rb)"&lt;/code&gt;&lt;br /&gt;3.  modify /usr/local permissions:&lt;br /&gt;&lt;br /&gt; &lt;code&gt;sudo chown -R $USER /usr/local&lt;/code&gt;&lt;br /&gt; &lt;code&gt; curl -Lsf http://github.com/mxcl/homebrew/tarball/master | tar xz --strip 1 -C/usr/local&lt;/code&gt;&lt;br /&gt;4.a  install RVM&lt;br /&gt; &lt;code&gt;bash &lt; &lt;( curl http://rvm.beginrescueend.com/releases/rvm-install-head )&lt;/code&gt;&lt;br /&gt;4.b  create .bash_profile&lt;br /&gt; &lt;code&gt;touch ~/.bash_profile&lt;/code&gt;&lt;br /&gt;4.c  add this to ~/.bash_profile&lt;br /&gt; &lt;code&gt;[[ -s "$HOME/.rvm/scripts/rvm" ]] &amp;&amp; source "$HOME/.rvm/scripts/rvm"&lt;/code&gt;&lt;br /&gt;5.  install ruby 1.8.7(via rvm)&lt;br /&gt; &lt;code&gt;rvm install 1.8.7&lt;/code&gt;&lt;br /&gt;6.  install ruby 1.9.2(via rvm)&lt;br /&gt; &lt;code&gt;rvm install 1.9.2&lt;/code&gt;&lt;br /&gt;7.  make rvm's 1.9.2 the system default(and switch to it)&lt;br /&gt;&lt;code&gt;rvm 1.9.2 --default&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;8.a  install mysql&lt;br /&gt;&lt;code&gt;brew install mysql&lt;/code&gt;&lt;br /&gt;8.b  following instructions printed out after mysql installs: "If this is your first install, automatically load on login with:"&lt;br /&gt;&lt;code&gt;cp /usr/local/Cellar/mysql/5.1.53/com.mysql.mysqld.plist ~/Library/LaunchAgents&lt;/code&gt;&lt;br /&gt;&lt;code&gt;launchctl load -w ~/Library/LaunchAgents/com.mysql.mysqld.plist&lt;/code&gt;&lt;br /&gt;&lt;code&gt;mysql_install_db&lt;/code&gt;&lt;br /&gt;&lt;code&gt;/usr/local/Cellar/mysql/5.1.53/bin/mysqladmin -u root password 'YOURPASSWORDHERE'&lt;/code&gt;&lt;br /&gt;&lt;code&gt;sudo touch /etc/my.cnf&lt;/code&gt;&lt;br /&gt;&lt;code&gt;sudo vim /etc/my.cnf&lt;/code&gt;&lt;br /&gt;this is what I put there:&lt;br /&gt;&lt;code&gt;[mysqld]&lt;br /&gt;max_allowed_packet=64M&lt;br /&gt;character-set-server = utf8&lt;br /&gt;default-character-set = utf8&lt;br /&gt;&lt;br /&gt;[mysql]&lt;br /&gt;default-character-set = utf8&lt;br /&gt;&lt;br /&gt;[client]&lt;br /&gt;default-character-set=utf8&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;I made a default user for mysql client&lt;br /&gt;&lt;code&gt;touch ~/.my.cnf&lt;/code&gt;&lt;br /&gt;&lt;code&gt;vim ~/.my.cnf&lt;/code&gt;&lt;br /&gt;pasted in this:&lt;br /&gt;&lt;code&gt;[client]&lt;br /&gt;user = root&lt;br /&gt;password = YOURPASSWORDHERE&lt;/code&gt;&lt;br /&gt;install rails gem and dependencies(remember this is for the 1.9.2 version of ruby, each version of ruby in rvm has it's own location for gems(and then there's gemsets, which I won't be setting up at the moment)&lt;br /&gt;&lt;code&gt;gem install rails&lt;/code&gt;&lt;br /&gt;install mysql gem, and config for mac:&lt;br /&gt;&lt;code&gt;env ARCHFLAGS="-arch x86_64" gem install mysql --no-rdoc --no-ri -- --with-mysql-config=/usr/local/bin/mysql_config&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;if this is what you do, you can probably pick it up from here&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/466574047433428036-4759127105259882879?l=elouisyoung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elouisyoung.blogspot.com/feeds/4759127105259882879/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elouisyoung.blogspot.com/2010/12/fresh-mac-rails-development-setup-quick.html#comment-form' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/4759127105259882879'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/4759127105259882879'/><link rel='alternate' type='text/html' href='http://elouisyoung.blogspot.com/2010/12/fresh-mac-rails-development-setup-quick.html' title='Fresh mac rails development setup - quick and clean'/><author><name>Ethan Wells</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-466574047433428036.post-2174590737409420769</id><published>2010-09-15T18:04:00.002-04:00</published><updated>2010-09-15T18:14:54.080-04:00</updated><title type='text'>UI for Editing serialized ruby Hash stored in database</title><content type='html'>For one part of a new project of mine I have decided to store lots of data in a hash stored in a database column.  Of course I employed &lt;a href="http://api.rubyonrails.org/classes/ActiveRecord/Base.html#method-c-serialize"&gt;this&lt;/a&gt; in my model, I needed a way for a user to edit this hash and save it back out to the database.  I drew this up on the board today, and so far, in a very short amount of time, I finished how to output the serialized nested Hash.&lt;br /&gt;&lt;br /&gt;Here's my logic that implements nested looping partials, only escaping the loop when the item is a string and not another hash.  This provided for output of an infinitely nested hash.&lt;br /&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;a href="http://3.bp.blogspot.com/_lCRK8nsdaLA/TJFAyKvHaRI/AAAAAAAAAF0/MfYfBZSzmHI/s1600/img_2401.jpg" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://3.bp.blogspot.com/_lCRK8nsdaLA/TJFAyKvHaRI/AAAAAAAAAF0/MfYfBZSzmHI/s320/img_2401.jpg" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;And here's the output with a single record I just threw in there:(ignore the style, it's some inline css that took me 5 seconds to write)&lt;br /&gt;&lt;br /&gt;&lt;div class="separator" style="clear: both;"&gt;&lt;a href="http://1.bp.blogspot.com/_lCRK8nsdaLA/TJFCYl0rUmI/AAAAAAAAAF8/G8Diz8sE5ls/s1600/output.gif" imageanchor="1" style="margin-left: 1em; margin-right: 1em;"&gt;&lt;img border="0" src="http://1.bp.blogspot.com/_lCRK8nsdaLA/TJFCYl0rUmI/AAAAAAAAAF8/G8Diz8sE5ls/s320/output.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;Now I will be making this editable, (new key/value pairs, new hashes...) at whatever depth I see necessary for this order data.&lt;br /&gt;&lt;br /&gt;I will update this post tomorrow with how I accomplished this.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/466574047433428036-2174590737409420769?l=elouisyoung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elouisyoung.blogspot.com/feeds/2174590737409420769/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elouisyoung.blogspot.com/2010/09/editing-serialized-ruby-hash-stored-in.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/2174590737409420769'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/2174590737409420769'/><link rel='alternate' type='text/html' href='http://elouisyoung.blogspot.com/2010/09/editing-serialized-ruby-hash-stored-in.html' title='UI for Editing serialized ruby Hash stored in database'/><author><name>Ethan Wells</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_lCRK8nsdaLA/TJFAyKvHaRI/AAAAAAAAAF0/MfYfBZSzmHI/s72-c/img_2401.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-466574047433428036.post-6626967297067823058</id><published>2010-09-14T11:38:00.006-04:00</published><updated>2010-09-14T15:48:16.549-04:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='rails builder xml'/><title type='text'>Building a google news sitemap with Rails and XML Builder</title><content type='html'>I was recently tasked with creating a google news sitemap for our main websites &lt;br /&gt;See google's formatting instructions here:&lt;br /&gt;&lt;a target="_blank" href="http://www.google.com/support/news_pub/bin/answer.py?hl=en&amp;answer=74288"&gt;http://www.google.com/support/news_pub/bin/answer.py?hl=en&amp;answer=74288&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;This was my first time creating an xml output with rails/builder from scratch, so I'm documenting my experience.&lt;br /&gt;&lt;br /&gt;oh yeah, this is an older rails app, version 2.0.2&lt;br /&gt;&lt;br /&gt;I found a lot of documentation online about builder and creating the tags, but there is NO documentation anywhere about how to create tags with namespaces.  I even looked through my massive collection of ebooks.  NOTHING!&lt;br /&gt;&lt;br /&gt;So I banged my head on my desk for a few hours(metaphorically), and stumbled upon the syntax by chance.&lt;br /&gt;&lt;br /&gt;I really hope this helps someone in the future, because I would have paid actual money to someone for this information.&lt;br /&gt;&lt;br /&gt;here's my rails {template}.xml.builder syntax I'm using to generate the proper google news sitemap:(sorry about the indenting, bloggers system screws up this post if I try to use the PRE tag to retain whitespace)&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;&lt;br /&gt;xml.instruct! :xml, :version=&gt;"1.0", :encoding=&gt;"UTF-8"&lt;br /&gt;xml.urlset "xmlns"=&gt;"http://www.google.com/schemas/sitemap/0.9",&lt;br /&gt;"xmlns:news"=&gt;"http://www.google.com/schemas/sitemap-news/0.9" do&lt;br /&gt;for a in @articles do&lt;br /&gt;xml.url do&lt;br /&gt;xml.loc(a.smart_permalink_url(true))&lt;br /&gt;xml.news:news do&lt;br /&gt;xml.news:publication do&lt;br /&gt;xml.news(:name, $site[:name])&lt;br /&gt;xml.news(:language, @lang)&lt;br /&gt;end&lt;br /&gt;xml.news(:genres, 'Blog')&lt;br /&gt;xml.news(:publication_date, a.published_at.strftime("%Y-%m-%d"))&lt;br /&gt;xml.news(:title, a.title)&lt;br /&gt;xml.news(:keywords, a.keywords.gsub('_', ' '))&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;end&lt;br /&gt;&lt;br /&gt;&lt;/code&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/466574047433428036-6626967297067823058?l=elouisyoung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elouisyoung.blogspot.com/feeds/6626967297067823058/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elouisyoung.blogspot.com/2010/09/building-google-news-sitemap-with-rails.html#comment-form' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/6626967297067823058'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/6626967297067823058'/><link rel='alternate' type='text/html' href='http://elouisyoung.blogspot.com/2010/09/building-google-news-sitemap-with-rails.html' title='Building a google news sitemap with Rails and XML Builder'/><author><name>Ethan Wells</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-466574047433428036.post-7045110230887339206</id><published>2010-09-03T13:50:00.003-04:00</published><updated>2010-09-03T15:03:08.680-04:00</updated><title type='text'>RVM on Ubuntu 10.04</title><content type='html'>I'm beginning the coding phase on a new project.  A few days ago rails 3.0.0 was released.  I'm going to hop on that bandwagon.  And I've decided i'm going to install ruby 1.9.2.&lt;br /&gt;&lt;br /&gt;During the obligatory google'ing I discovered RVM: Ruby Version Manager, and I particularly liked &lt;a href="http://danielsmedegaardbuus.dk/2010-08-31/ruby-1-9-2-on-ubuntumint-with-no-fuss-and-no-muss/"&gt;this blog post&lt;/a&gt; in which contains the phrase "...let’s move the fuck on people, the first preview of 1.8 was released in 2002, and 1.9 has been here for three years!"&lt;br /&gt;&lt;br /&gt;I couldn't agree more with his thoughts on 1.9, especially since it's supposed to be MUCH faster.  I remember watching a video of Matz last year speaking in his horribly broken engrish about 1.9.  I recall him saying how 1.9 fixed many/all of the fundamental logic flaws in 1.8x.  Logic flaws? That sounds like something I want to get away from anyway.&lt;br /&gt;&lt;br /&gt;So here I go, Documenting what I did to get RVM up and running on my main development box(Ubuntu 10.04).&lt;br /&gt;&lt;br /&gt;you'll need some of this:&lt;br /&gt;&lt;code&gt;sudo apt-get install build-essential&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;and this:&lt;br /&gt;&lt;code&gt;sudo apt-get install curl&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;and:&lt;br /&gt;&lt;code&gt;sudo apt-get install zlib1g-dev libreadline5-dev libssl-dev libxml2-dev&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;NOTE:  RVM is ruby code itself, so you'll need ruby and rubygems already installed(if you're reading this I'm sure this is already the case)&lt;br /&gt;&lt;br /&gt;then i ran:&lt;br /&gt;&lt;code&gt;sudo gem rvm install&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;and this is what it spit out:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;********************************************************************************&lt;br /&gt;&lt;br /&gt;In order to setup rvm for your user's environment you must now run rvm-install.&lt;br /&gt;rvm-install will be found in your current gems bin directory corresponding to where the gem was installed.&lt;br /&gt;&lt;br /&gt;rvm-install will install the scripts to your user account and append itself to your profiles in order to&lt;br /&gt;inject the proper rvm functions into your shell so that you can manage multiple rubies.&lt;br /&gt;&lt;br /&gt;********************************************************************************&lt;br /&gt;Successfully installed rvm-1.0.2&lt;br /&gt;1 gem installed&lt;br /&gt;Installing ri documentation for rvm-1.0.2...&lt;br /&gt;Installing RDoc documentation for rvm-1.0.2...&lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;OK looks good so far, i ran&lt;br /&gt;&lt;code&gt;rvm-install&lt;/code&gt;&lt;br /&gt;like it told me to and got this huge output:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;&lt;br /&gt;RVM:   shell scripts which allow management of multiple ruby interpreters and environments.&lt;br /&gt;RTFM:  http://rvm.beginrescueend.com/&lt;br /&gt;HELP:  http://webchat.freenode.net/?channels=rvm (#rvm on irc.freenode.net)&lt;br /&gt;&lt;br /&gt;* Installing rvm to /home/eric/.rvm/&lt;br /&gt;Correct permissions for base binaries in /home/eric/.rvm/bin...&lt;br /&gt;Copying manpages into place.ls: cannot access ./man: No such file or directory&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Notes for Linux ( DISTRIB_ID=Ubuntu&lt;br /&gt;DISTRIB_RELEASE=10.04&lt;br /&gt;DISTRIB_CODENAME=lucid&lt;br /&gt;DISTRIB_DESCRIPTION="Ubuntu 10.04.1 LTS" )&lt;br /&gt;&lt;br /&gt;*  NOTE: MRI stands for Matz's Ruby Interpreter (1.8.X, 1.9.X), ree stands for Ruby Enterprise Edition and rbx stands for Rubinius.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;*  curl is required.&lt;br /&gt;&lt;br /&gt;*  patch is required (for ree, some ruby head's).&lt;br /&gt;&lt;br /&gt;*  If you wish to install rbx and/or any MRI head (eg. 1.9.2-head) then you must install and use rvm 1.8.7 first.&lt;br /&gt;&lt;br /&gt;*  For JRuby (if you wish to use it) you will need:&lt;br /&gt;$ aptitude install curl sun-java6-bin sun-java6-jre sun-java6-jdk&lt;br /&gt;*  For MRI &amp; ree (if you wish to use it) you will need (depending on what you are installing):&lt;br /&gt;$ aptitude install build-essential bison openssl libreadline5 libreadline-dev curl git-core zlib1g zlib1g-dev libssl-dev vim libsqlite3-0 libsqlite3-dev sqlite3 libreadline-dev libxml2-dev git-core subversion autoconf&lt;br /&gt;*  For IronRuby (if you wish to use it) you will need:&lt;br /&gt;$ aptitude install curl mono-2.0-devel&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;Eric Young,&lt;br /&gt;&lt;br /&gt;Thank you for using rvm. I hope that it makes your work easier and more enjoyable.&lt;br /&gt;If you have any questions, issues and/or ideas for improvement please hop in #rvm on irc.freenode.net and let me know.&lt;br /&gt;My irc nickname is 'wayneeseguin' and I hang out from ~09:00-17:00EST and again from ~21:00EST-~00:00EST.&lt;br /&gt;If I do not respond right away, please hang around after asking your question, I will respond as soon as I am back.&lt;br /&gt;Be sure to get head often as rvm development happens fast, you can do this by running 'rvm update --head'.&lt;br /&gt;w⦿‿⦿t!&lt;br /&gt;~ Wayne&lt;br /&gt;&lt;br /&gt;You must now finish the install manually:&lt;br /&gt;1) Place the folowing line at the end of your shell's loading files(.bashrc or .bash_profile for bash and .zshrc for zsh), after all path/variable settings:&lt;br /&gt;[[ -s $HOME/.rvm/scripts/rvm ]] &amp;&amp; source $HOME/.rvm/scripts/rvm&lt;br /&gt;Please note that this must only occur once - so, you only need to add it the first time you install rvm.&lt;br /&gt;2) Ensure that there is no 'return' from inside the .bashrc file. (otherwise rvm will be prevented from working properly).&lt;br /&gt;This means that if you see '[ -z "$PS1" ] &amp;&amp; return' then you must change this line to:&lt;br /&gt;if [[ -n "$PS1" ]] ; then&lt;br /&gt;... original content that was below the &amp;&amp; return line ...&lt;br /&gt;fi # &lt;= be sure to close the if.   #EOF .bashrc   Be absolutely *sure* to REMOVE the '&amp;&amp; return'.   If you wish to DRY up your config you can 'source ~/.bashrc' at the bottom of your .bash_profile.   placing all non-interactive items in the .bashrc, including the 'source' line above3) Then CLOSE THIS SHELL and open a new one in order to use rvm.WARNING:  you have a 'return' statement in your .bashrc, likely this will cause untold havoc.   This means that if you see '[ -z "$PS1" ] &amp;&amp; return' then you must change this line to:   if [[ -n "$PS1" ]] ; then     ... original content that was below the &amp;&amp; return line ...   fi # &lt;= be sure to close the if.   #EOF .bashrcEven if you use zsh you should still adjust the .bashrc as above.If you have any questions about this please visit #rvm on irc.freenode.net.Installation of RVM to /home/eric/.rvm/ is complete.&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Ok, so it's warning me about the return statement, I must admit I don't know exactly what this means, so I'll follow the instructions verbatim.&lt;br /&gt;&lt;br /&gt;I actually added the:&lt;br /&gt;&lt;code&gt;[[ -s $HOME/.rvm/scripts/rvm ]] &amp;&amp; source $HOME/.rvm/scripts/rvm&lt;/code&gt;&lt;br /&gt;to the bottom of my ~/.profile file (which is linked from ~/.bashrc)&lt;br /&gt;&lt;br /&gt;then I refreshed my bash profile settings with this command:&lt;br /&gt;&lt;code&gt;source ~/.profile&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;And now when i run&lt;br /&gt;&lt;code&gt;rvm&lt;/code&gt;&lt;br /&gt;I get what looks like the usage manual, ok, looking good so far(I think),  Now I wanna get me some 1.9.2&lt;br /&gt;&lt;br /&gt;&lt;code&gt;rvm install 1.9.2&lt;/code&gt;&lt;br /&gt;spit out:&lt;br /&gt;&lt;code&gt;info: Installing Ruby from source to: /home/eric/.rvm/rubies/ruby-1.9.2-p0&lt;br /&gt;&lt;br /&gt;info: Downloading ruby-1.9.2-p0, this may take a while depending on your connection...&lt;br /&gt;% Total    % Received % Xferd  Average Speed   Time    Time     Time  Current&lt;br /&gt;Dload  Upload   Total   Spent    Left  Speed&lt;br /&gt;100 8296k  100 8296k    0     0  74580      0  0:01:53  0:01:53 --:--:-- 67103&lt;br /&gt;&lt;br /&gt;info: Extracting ruby-1.9.2-p0 ...&lt;br /&gt;&lt;br /&gt;info: Configuring ruby-1.9.2-p0, this may take a while depending on your cpu(s)...&lt;br /&gt;&lt;br /&gt;info: Compiling ruby-1.9.2-p0, this may take a while depending on your cpu(s)...&lt;br /&gt;&lt;br /&gt;info: Installing ruby-1.9.2-p0&lt;br /&gt;&lt;br /&gt;info: Installation of ruby-1.9.2-p0 is complete.&lt;br /&gt;&lt;br /&gt;info: Updating rubygems for /home/eric/.rvm/gems/ruby-1.9.2-p0@global&lt;br /&gt;&lt;br /&gt;info: Updating rubygems for /home/eric/.rvm/gems/ruby-1.9.2-p0&lt;br /&gt;&lt;br /&gt;info: adjusting shebangs for ruby-1.9.2-p0 (gem irb erb ri rdoc testrb rake).&lt;br /&gt;&lt;br /&gt;info: Importing initial gems...&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Awesome, I feel the end is near.&lt;br /&gt;&lt;br /&gt;Woo, it's done and it worked:&lt;br /&gt;&lt;code&gt;&lt;br /&gt;eric@elydevbox:~$ ruby -v&lt;br /&gt;ruby 1.8.7 (2010-01-10 patchlevel 249) [x86_64-linux]&lt;br /&gt;eric@elydevbox:~$ rvm 1.9.2&lt;br /&gt;eric@elydevbox:~$ ruby -v&lt;br /&gt;ruby 1.9.2p0 (2010-08-18 revision 29036) [x86_64-linux]&lt;br /&gt;eric@elydevbox:~$ irb&lt;br /&gt;ruby-1.9.2-p0 &gt; puts "hi"&lt;br /&gt;hi&lt;br /&gt;=&gt; nil &lt;br /&gt;ruby-1.9.2-p0 &gt; &lt;br /&gt;&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;RVM WINS THE DAY&lt;br /&gt;&lt;br /&gt;an excerpt from &lt;a href="http://marcgrabanski.com/articles/gem-management-with-rvm-and-bundler"&gt;http://marcgrabanski.com/articles/gem-management-with-rvm-and-bundler&lt;/a&gt;&lt;br /&gt;___________________________&lt;br /&gt;Dont forget about gems:&lt;br /&gt;&lt;br /&gt;Gem Management with RVM&lt;br /&gt;&lt;br /&gt;RVM has “gemsets” which allow you to organize different sets of gems. If you install gems into the global gemset, then it will be available to you no matter which gemset you are using.&lt;br /&gt;&lt;br /&gt;Create the global gemset.&lt;br /&gt;&lt;code&gt;rvm gemset create global&lt;br /&gt;rvm gemset use global&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Install gems here that will be used in projects like bundler and passenger.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;gem install bundler&lt;br /&gt;gem install passenger&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Notice that I never use sudo because rvm puts these gemsets in your user ~/.rvm directory.&lt;br /&gt;&lt;br /&gt;Now create and use your project gemset.&lt;br /&gt;&lt;br /&gt;&lt;code&gt;rvm gemset create YOUR_GEMSET&lt;br /&gt;rvm gemset use YOUR_GEMSET&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;Obviously YOUR_GEMSET can be anything you want. Then you are set to go!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/466574047433428036-7045110230887339206?l=elouisyoung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elouisyoung.blogspot.com/feeds/7045110230887339206/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elouisyoung.blogspot.com/2010/09/rvm-on-ubuntu-1004.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/7045110230887339206'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/7045110230887339206'/><link rel='alternate' type='text/html' href='http://elouisyoung.blogspot.com/2010/09/rvm-on-ubuntu-1004.html' title='RVM on Ubuntu 10.04'/><author><name>Ethan Wells</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-466574047433428036.post-7226174357604418224</id><published>2010-05-12T20:06:00.002-04:00</published><updated>2010-05-12T20:06:23.525-04:00</updated><title type='text'>Xapian on Rails</title><content type='html'>just cloned one of my work projects at home, executed script/server and BAM:&lt;br /&gt;"acts_as_xapian: No Ruby bindings for Xapian installed"&lt;br /&gt;&lt;br /&gt;I installed xapian and set this all up on my ubuntu laptop, now again to set it up on my desktop, so I figured I would document it here because I forgot what I did on my laptop.&lt;br /&gt;&lt;br /&gt;Here goes the steps I took:&lt;br /&gt;1 - Went to ubuntu package manager, searched for "xapian", installed "libxapian-ruby1.8"&lt;br /&gt;2 - run "rake xapian:rebuild_index models="Article"&lt;br /&gt;&lt;br /&gt;done :),&lt;br /&gt;maybe this was too easy for a blog post.  whatever&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/466574047433428036-7226174357604418224?l=elouisyoung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elouisyoung.blogspot.com/feeds/7226174357604418224/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elouisyoung.blogspot.com/2010/05/xapian-on-rails.html#comment-form' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/7226174357604418224'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/7226174357604418224'/><link rel='alternate' type='text/html' href='http://elouisyoung.blogspot.com/2010/05/xapian-on-rails.html' title='Xapian on Rails'/><author><name>Ethan Wells</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-466574047433428036.post-353557316362086004</id><published>2010-05-10T21:29:00.001-04:00</published><updated>2010-09-13T14:16:52.295-04:00</updated><title type='text'>my solution for rails ajax'd child-model form fields</title><content type='html'>I am mid-early development of a new interface for a web application.  I can say that the interface will be making full use of as much ajax as is necessary and possible, and of course I'm using &lt;a href="http://api.rubyonrails.org/classes/ActiveRecord/NestedAttributes/ClassMethods.html#M002132"&gt;accepts_nested_attributes_for&lt;/a&gt; on the parent model.  One problem I encountered early on was how to populate additional form fields using ajax.&lt;br /&gt;The first solution I stumbled upon was the plugin ryan bates made to go along with &lt;a href="http://railscasts.com/episodes/196-nested-model-form-part-1"&gt;Railscasts episode #196&lt;/a&gt;.  This worked, but I needed something more flexible.&lt;br /&gt;&lt;br /&gt;One of the obvious issues here is how to turn "model[childmodel_attributes][0][attribute]"(created by the form builder) into "model[childmodel_attributes][(random_number)][attribute]".&lt;br /&gt;The solution is not in the documentation!&lt;br /&gt;&lt;br /&gt;Try a random number!:&lt;br /&gt;&lt;% form_for @model do |f| %&gt;&lt;br /&gt;&lt;% f.fields_for :childmodel, :child_index =&gt; (Time.now.usec + rand(1-999)) do |builder| %&gt;&lt;br /&gt;&lt;br /&gt;I use that code in my view to generate fields on a freshly built child model instance built from the rjs-calling controller.&lt;br /&gt;using this method you have a more granular control over the content for the new record, a step above the model, in case you need such flexibility.&lt;br /&gt;&lt;br /&gt;&lt;% if builder.object.id.nil? %&gt;&lt;br /&gt;form fields here...&lt;br /&gt;&lt;br /&gt;sorry I'm super tired, if this isn't clearly written, I don't doubt it.  Actually I may make a video about my solution, because it's brilliant.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/466574047433428036-353557316362086004?l=elouisyoung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elouisyoung.blogspot.com/feeds/353557316362086004/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elouisyoung.blogspot.com/2010/05/rails-thought-on-ajaxd-form-fields.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/353557316362086004'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/353557316362086004'/><link rel='alternate' type='text/html' href='http://elouisyoung.blogspot.com/2010/05/rails-thought-on-ajaxd-form-fields.html' title='my solution for rails ajax&apos;d child-model form fields'/><author><name>Ethan Wells</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-466574047433428036.post-175848309904393326</id><published>2010-05-02T11:20:00.008-04:00</published><updated>2010-05-10T11:19:31.519-04:00</updated><title type='text'>ubuntu 10.04 install nvidia driver</title><content type='html'>Today I upgraded my laptop and desktop machines to Ubuntu 10.04 LTS.  Best upgrade so far.  No problems at all.&lt;br /&gt;&lt;br /&gt;I'm posting this here for my future reference on how I installed the nvidia driver:&lt;br /&gt;&lt;br /&gt;downloaded the driver 195.xxx from nvidia.com&lt;br /&gt;&lt;br /&gt;drop to a terminal screen "ctrl + alt + f1"&lt;br /&gt;&lt;br /&gt;Kill all instances of X and gdm,  "service gdm stop"&lt;br /&gt;and then I had to do "ps -e" to find the remaining X process and manually kill it by it's process ID.&lt;br /&gt;&lt;br /&gt;"sudo kill xxxx"&lt;br /&gt;&lt;br /&gt;Then edit this file as root:&lt;br /&gt;"sudo nano /etc/modprobe.d/blacklist.conf"&lt;br /&gt;&lt;br /&gt;Add these lines and save: (this part is very important, especially the nouveau part, that new driver really screws with the nvidia one)&lt;br /&gt;&lt;br /&gt;blacklist vga16fb&lt;br /&gt;blacklist nouveau&lt;br /&gt;blacklist rivafb&lt;br /&gt;blacklist nvidiafb&lt;br /&gt;blacklist rivatv&lt;br /&gt;&lt;br /&gt;then:&lt;br /&gt;"sudo apt-get --purge remove nvidia-*"&lt;br /&gt;&lt;br /&gt;"chmod 744 NVIDIA-Linux-x86_64-195.36.24-pkg2.run"&lt;br /&gt;&lt;br /&gt;"sudo sh NVIDIA-Linux-x86_64-195.36.24-pkg2.run"&lt;br /&gt;&lt;br /&gt;after a successful install either reboot or: "sudo service gdm start" or just "startx" if you dont need gdm running.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/466574047433428036-175848309904393326?l=elouisyoung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elouisyoung.blogspot.com/feeds/175848309904393326/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elouisyoung.blogspot.com/2010/05/ubuntu-1004-install-nvidia-driver.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/175848309904393326'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/175848309904393326'/><link rel='alternate' type='text/html' href='http://elouisyoung.blogspot.com/2010/05/ubuntu-1004-install-nvidia-driver.html' title='ubuntu 10.04 install nvidia driver'/><author><name>Ethan Wells</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-466574047433428036.post-7011085687234625821</id><published>2010-03-11T22:59:00.004-05:00</published><updated>2010-03-12T13:27:10.089-05:00</updated><title type='text'>macports mac port</title><content type='html'>I started setting up my new iMac from scratch today for developing ruby and ruby on rails.  This is quite different for me, i'm used to Ubuntu for rails stuff.  But hey, mac is super sexy so I'll be using that from now on.&lt;br /&gt;&lt;br /&gt;Here's some notes for myself and others to reference later.&lt;br /&gt;&lt;br /&gt;This is what I've done so far on Snow Leopard 10.6.2&lt;br /&gt;&lt;br /&gt;1: install xcode&lt;br /&gt;&lt;br /&gt;2: update xcode&lt;br /&gt;&lt;br /&gt;3: installed MacPorts-1.8.2-10.6-SnowLeopard.dmg from &lt;a href="http://distfiles.macports.org/MacPorts/"&gt;http://distfiles.macports.org/MacPorts/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;4. sudo port install mysql5-devel mysql5-devel-server rb-rubygems rb-rmagick&lt;br /&gt;&lt;br /&gt;5. then I ran sudo gem update&lt;br /&gt;&lt;br /&gt;6. sudo gem install rails mongrel sqlite3-ruby&lt;br /&gt;&lt;br /&gt;7. sudo env ARCHFLAGS="-arch x86_64" gem install mysql -- --with-mysql-config=/opt/local/lib/mysql5/bin/mysql_config&lt;br /&gt;&lt;br /&gt;8. I just did "sudo gem install nokogiri" and I got an error:&lt;blockquote&gt;ERROR:  Error installing nokogiri:&lt;br /&gt; invalid gem format for /opt/local/lib/ruby/gems/1.8/cache/nokogiri-1.4.1.gem&lt;/blockquote&gt;&lt;br /&gt;I resolved this by removing that file &lt;blockquote&gt;sudo rm /opt/local/lib/ruby/gems/1.8/cache/nokogiri-1.4.1.gem&lt;/blockquote&gt;then doing &lt;blockquote&gt;sudo gem install -V nokogiri&lt;/blockquote&gt; again and for some reason it worked.&lt;br /&gt;&lt;br /&gt;9. sudo port install memcached&lt;br /&gt;&lt;br /&gt;10. then a gem i was installing via "sudo gem install" told me it required 1.3.6, I guess port provided me with 1.3.5.  so I let gem update itself..  "sudo gem --system update" it was either that or "sudo gem update --system".  this brought me to 1.3.6&lt;br /&gt;&lt;br /&gt;11. oh yeah and I needed to add the mysql bin dir to my ~/.profile file, making my .profile path line look like this&lt;blockquote&gt;export PATH=/opt/local/bin:/opt/local/lib/mysql5/bin:/opt/local/sbin:$PATH&lt;/blockquote&gt;&lt;br /&gt;&lt;br /&gt;12. &lt;br /&gt;&lt;br /&gt;this is all I can remember doing, it there were any other hiccups i'll return to add the solutions&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/466574047433428036-7011085687234625821?l=elouisyoung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elouisyoung.blogspot.com/feeds/7011085687234625821/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elouisyoung.blogspot.com/2010/03/macports-mac-port.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/7011085687234625821'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/7011085687234625821'/><link rel='alternate' type='text/html' href='http://elouisyoung.blogspot.com/2010/03/macports-mac-port.html' title='macports mac port'/><author><name>Ethan Wells</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-466574047433428036.post-2714564649113084861</id><published>2009-06-24T22:19:00.000-04:00</published><updated>2009-06-24T22:20:00.555-04:00</updated><title type='text'>How To: Properly Backup a VirtualBox Machine (.VDI)</title><content type='html'>&lt;p&gt;First of all, these are the instructions for a VirtualBox installation on a Linux host.  It may or may not be the same directory structure/commands for Windows or Mac OS X hosts.&lt;/p&gt; &lt;p&gt;Most people don’t realize that making a backup of a VirtualBox Machine (.vdi) is more complex than just copy/paste. If you do that, you’ll soon realize (when it’s too late) that it doesn’t work! This is the proper way to backup your VirtualBox Machine:&lt;/p&gt; &lt;p&gt;&lt;code&gt;VBoxManage clonevdi  source destination&lt;/code&gt;&lt;/p&gt; &lt;p&gt;Example:&lt;br /&gt;&lt;code&gt;VBoxManage clonevdi ~/.VirtualBox/VDI/WindowsXP.vdi ~/WindowsXP_Backup.vdi&lt;/code&gt;&lt;/p&gt; &lt;p&gt;&lt;em&gt;NOTE:  Although I’m not specifically sure, sometime after Version 2 of this software, the clonedvi command has been replaced with clonehd (see page 108 of the VirtualBox Manual), however, clonedvi will still work as they kept the backwards compatibility.&lt;/em&gt;&lt;/p&gt; &lt;p&gt;Then, wait for it to complete. It may take a while depending on the size of your .vdi file (or how much space you allocated towards your virtual machine).&lt;br /&gt;What this actually does is create a new UUID (Universal Unique Identifier) for the cloned VM.  This way, you won’t end up with a message similar to this:&lt;/p&gt; &lt;blockquote&gt;&lt;p&gt;&lt;code&gt;A hard disk with UUID {4d749826-6a3f-43ff-90af-42618783bd3a} or with the&lt;br /&gt;same properties (’/home/martin/.VirtualBox/VDI/test.vdi’) is already&lt;br /&gt;registered.&lt;/code&gt;&lt;/p&gt;&lt;/blockquote&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/466574047433428036-2714564649113084861?l=elouisyoung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elouisyoung.blogspot.com/feeds/2714564649113084861/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elouisyoung.blogspot.com/2009/06/how-to-properly-backup-virtualbox.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/2714564649113084861'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/2714564649113084861'/><link rel='alternate' type='text/html' href='http://elouisyoung.blogspot.com/2009/06/how-to-properly-backup-virtualbox.html' title='How To: Properly Backup a VirtualBox Machine (.VDI)'/><author><name>Ethan Wells</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-466574047433428036.post-1536925509493059466</id><published>2009-06-19T14:51:00.002-04:00</published><updated>2009-06-19T15:02:02.553-04:00</updated><title type='text'>DKMS = win</title><content type='html'>&lt;h2 id="DKMS"&gt;DKMS&lt;/h2&gt; &lt;p&gt; &lt;a href="http://linux.dell.com/dkms"&gt;DKMS&lt;/a&gt; (by Dell) is included in Ubuntu 8.10, allowing kernel drivers to be automatically rebuilt when new kernels are released. This makes it possible for kernel package updates to be made available immediately without waiting for rebuilds of driver packages, and without third-party driver packages becoming out of date when installing these kernel updates.&lt;/p&gt;&lt;p&gt;My servers, desktop, and laptop all use dkms and I just realized how nice it is.  It isn't installed by default on 9.04 desktop edition, but that's easy to resolve.  apt-get install dkms&lt;br /&gt;&lt;/p&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/466574047433428036-1536925509493059466?l=elouisyoung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elouisyoung.blogspot.com/feeds/1536925509493059466/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elouisyoung.blogspot.com/2009/06/dkms-win.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/1536925509493059466'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/1536925509493059466'/><link rel='alternate' type='text/html' href='http://elouisyoung.blogspot.com/2009/06/dkms-win.html' title='DKMS = win'/><author><name>Ethan Wells</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-466574047433428036.post-8133724269063292077</id><published>2009-06-18T11:21:00.003-04:00</published><updated>2009-06-18T11:38:16.624-04:00</updated><title type='text'>Time Synchronisation with NTP</title><content type='html'>&lt;p&gt;I just implemented ntpd on one of my virtualbox lamp servers.  The time was drifting about an hour a day under heavy load.  gg old server.  posting this here for future reference.&lt;br /&gt;&lt;/p&gt;&lt;p&gt; This page describes methods for keeping your computer's time accurate. This is useful for servers, but is not necessary (or desirable) for desktop machines. &lt;/p&gt;       &lt;p&gt; NTP is a TCP/IP protocol for synchronising time over a network. Basically a client requests the current time from a server, and uses it to set its own clock. &lt;/p&gt;       &lt;p&gt; Behind this simple description, there is a lot of complexity - there are tiers of NTP servers, with the tier one NTP servers connected to atomic clocks (often via GPS), and tier two and three servers spreading the load of actually handling requests across the internet. Also the client software is a lot more complex than you might think - it has to factor out communication delays, and adjust the time in a way that does not upset all the other processes that run on the server. But luckily all that complexity is hidden from you! &lt;/p&gt;       &lt;p&gt; Ubuntu has two ways of automatically setting your time: ntpdate and ntpd.  &lt;/p&gt;       &lt;div class="sect2" lang="C"&gt;         &lt;div class="titlepage"&gt;           &lt;div&gt;             &lt;div&gt;               &lt;h3 class="title"&gt;ntpdate&lt;/h3&gt;             &lt;/div&gt;           &lt;/div&gt;         &lt;/div&gt;         &lt;p&gt; Ubuntu comes with ntpdate as standard, and will run it once at boot time to set up your time according to Ubuntu's NTP server. However, a server's clock is likely to drift considerably between reboots, so it makes sense to correct the time ocassionally. The easiest way to do this is to get cron to run it every day. With your favourite editor, create a file &lt;code class="code"&gt;/etc/cron.daily/ntpdate&lt;/code&gt;  containing:  &lt;/p&gt;         &lt;pre class="screen"&gt;ntpdate ntp.ubuntu.com&lt;br /&gt;&lt;/pre&gt;                &lt;/div&gt;       &lt;div class="sect2" lang="C"&gt;         &lt;div class="titlepage"&gt;           &lt;div&gt;             &lt;div&gt;               &lt;h3 class="title"&gt;ntpd&lt;/h3&gt;             &lt;/div&gt;           &lt;/div&gt;         &lt;/div&gt;         &lt;p&gt; ntpdate is a bit of a blunt instrument - it can only adjust the time once a day, in one big correction. The ntp daemon ntpd is far more subtle. It calculates the drift of your system clock and continuously adjusts it, so there are no large corrections that could lead to inconsistent logs for instance. The cost is a little processing power and memory, but for a modern server this is negligible. &lt;/p&gt;         &lt;p&gt;To set up ntpd: &lt;/p&gt;         &lt;pre class="screen"&gt;sudo apt-get install ntp-simple&lt;br /&gt;&lt;/pre&gt;                &lt;/div&gt;       &lt;div class="sect2" lang="C"&gt;         &lt;div class="titlepage"&gt;           &lt;div&gt;             &lt;div&gt;               &lt;h3 class="title"&gt;Changing Time Servers&lt;/h3&gt;             &lt;/div&gt;           &lt;/div&gt;         &lt;/div&gt;         &lt;p&gt; In both cases above, your system will use Ubuntu's NTP server at  &lt;code class="code"&gt;ntp.ubuntu.com&lt;/code&gt; by default. This is OK, but you might want to use several servers to increase accuracy and resilience, and you may want to use time servers that are geographically closer to you. to do this for ntpdate, change the contents of &lt;code class="code"&gt;/etc/cron.daily/ntpdate&lt;/code&gt;  to:  &lt;/p&gt;         &lt;pre class="screen"&gt;ntpdate ntp.ubuntu.com pool.ntp.org&lt;br /&gt;&lt;/pre&gt;         &lt;p&gt; And for ntpd edit  &lt;code class="code"&gt;/etc/ntp.conf&lt;/code&gt;  to include additional server lines:&lt;br /&gt;&lt;/p&gt;         &lt;pre class="screen"&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;I use :&lt;/span&gt;&lt;br /&gt;&lt;blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;server 0.us.pool.ntp.org&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;server 1.us.pool.ntp.org&lt;/span&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;server 2.us.pool.ntp.org&lt;/span&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;&lt;br /&gt;server 3.us.pool.ntp.org&lt;/span&gt;&lt;/blockquote&gt;&lt;br /&gt;&lt;span style="color: rgb(255, 0, 0);"&gt;via: http://www.pool.ntp.org/zone/us&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;         &lt;p&gt; You may notice  &lt;code class="code"&gt;pool.ntp.org&lt;/code&gt; in the examples above. This is a really good idea which uses round-robin DNS to return an NTP server from a pool, spreading the load between several different servers. Even better, they have pools for different regions - for instance, if you are in New Zealand, so you could use &lt;code class="code"&gt;nz.pool.ntp.org&lt;/code&gt;  instead of  &lt;code class="code"&gt;pool.ntp.org&lt;/code&gt; . Look at  &lt;a href="http://www.pool.ntp.org/" target="_top"&gt;http://www.pool.ntp.org/&lt;/a&gt;  for more details.  &lt;/p&gt;         &lt;p&gt; You can also Google for NTP servers in your region, and add these to your configuration. To test that a server works, just type  &lt;code class="code"&gt;sudo ntpdate ntp.server.name&lt;/code&gt;  and see what happens.  &lt;/p&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/466574047433428036-8133724269063292077?l=elouisyoung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elouisyoung.blogspot.com/feeds/8133724269063292077/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elouisyoung.blogspot.com/2009/06/time-synchronisation-with-ntp.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/8133724269063292077'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/8133724269063292077'/><link rel='alternate' type='text/html' href='http://elouisyoung.blogspot.com/2009/06/time-synchronisation-with-ntp.html' title='Time Synchronisation with NTP'/><author><name>Ethan Wells</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-466574047433428036.post-7304182334176310108</id><published>2009-06-03T21:31:00.002-04:00</published><updated>2009-06-03T21:34:27.556-04:00</updated><title type='text'>Install Ruby Rails on Ubuntu 9.04 Jaunty Jackalope</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_xyjRMd2gFJo/STb6O5fWtwI/AAAAAAAAACI/WfvhPhSAEuE/s320/rails.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 90px; height: 115px;" src="http://2.bp.blogspot.com/_xyjRMd2gFJo/STb6O5fWtwI/AAAAAAAAACI/WfvhPhSAEuE/s320/rails.jpg" alt="" border="0" /&gt;&lt;/a&gt;I just found this guys blog post about installing nginx to deploy rails sites.  it worked well for me.&lt;br /&gt;&lt;br /&gt;http://www.hackido.com/2009/04/install-ruby-rails-on-ubuntu-904-jaunty.html&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/466574047433428036-7304182334176310108?l=elouisyoung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elouisyoung.blogspot.com/feeds/7304182334176310108/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elouisyoung.blogspot.com/2009/06/install-ruby-rails-on-ubuntu-904-jaunty.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/7304182334176310108'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/7304182334176310108'/><link rel='alternate' type='text/html' href='http://elouisyoung.blogspot.com/2009/06/install-ruby-rails-on-ubuntu-904-jaunty.html' title='Install Ruby Rails on Ubuntu 9.04 Jaunty Jackalope'/><author><name>Ethan Wells</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_xyjRMd2gFJo/STb6O5fWtwI/AAAAAAAAACI/WfvhPhSAEuE/s72-c/rails.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-466574047433428036.post-5715608295409413134</id><published>2009-05-16T07:54:00.002-04:00</published><updated>2009-05-16T08:01:13.521-04:00</updated><title type='text'>Rails beginner screencasts by Karmen Blake</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://cdn-thumbs.viddler.com/thumbnail_1_823e2a06.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 114px; height: 86px;" src="http://cdn-thumbs.viddler.com/thumbnail_1_823e2a06.jpg" alt="" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;I found Karmen Blake's &lt;a href="http://www.viddler.com/explore/kblake/videos/"&gt;screencasts&lt;/a&gt; last night.  He does a great job at explaining what's happening while he takes you through creating a rails app from scratch.  The videos are not in order, you'll have to click around and figure that out yourself.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/466574047433428036-5715608295409413134?l=elouisyoung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elouisyoung.blogspot.com/feeds/5715608295409413134/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elouisyoung.blogspot.com/2009/05/rails-beginner-screencasts-by-karmen.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/5715608295409413134'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/5715608295409413134'/><link rel='alternate' type='text/html' href='http://elouisyoung.blogspot.com/2009/05/rails-beginner-screencasts-by-karmen.html' title='Rails beginner screencasts by Karmen Blake'/><author><name>Ethan Wells</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-466574047433428036.post-555192483449250567</id><published>2009-05-15T17:41:00.004-04:00</published><updated>2010-09-13T14:40:12.404-04:00</updated><title type='text'>Ubuntu 9.04 &gt; you(and possibly me)</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_lCRK8nsdaLA/Sg3hs3FMGqI/AAAAAAAAAD8/-hxKrixEK7M/s1600-h/Screenshot.png"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 320px; height: 200px;" src="http://3.bp.blogspot.com/_lCRK8nsdaLA/Sg3hs3FMGqI/AAAAAAAAAD8/-hxKrixEK7M/s320/Screenshot.png" alt="" id="BLOGGER_PHOTO_ID_5336169294320114338" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;Ubuntu 9.04 provides the most productive and trouble-free laptop I have ever owned.&lt;br /&gt;&lt;br /&gt;shown is gnome 2.26.1 with "gnome Do" in docky mode(soon apple and microsoft WILL copy the functionality of gnome Do).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/466574047433428036-555192483449250567?l=elouisyoung.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://elouisyoung.blogspot.com/feeds/555192483449250567/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://elouisyoung.blogspot.com/2009/05/ubuntu-9.html#comment-form' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/555192483449250567'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/466574047433428036/posts/default/555192483449250567'/><link rel='alternate' type='text/html' href='http://elouisyoung.blogspot.com/2009/05/ubuntu-9.html' title='Ubuntu 9.04 &gt; you(and possibly me)'/><author><name>Ethan Wells</name><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_lCRK8nsdaLA/Sg3hs3FMGqI/AAAAAAAAAD8/-hxKrixEK7M/s72-c/Screenshot.png' height='72' width='72'/><thr:total>0</thr:total></entry></feed>
