<?xml version="1.0" encoding="UTF-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
  <title>blogging on internet, life, ruby, and music.</title>
  <id>http://blog.danielfischer.com</id>
  <updated>2010-09-11T00:00:00Z</updated>
  <author>
    <name>Daniel Fischer</name>
  </author>
  <entry>
    <title>Fresh Mountain Lion Cheatsheet Ruby Environment</title>
    <link href="http://blog.danielfischer.com/2012/08/16/fresh-mountain-lion-cheatsheet-ruby-environment/" rel="alternate"/>
    <id>http://blog.danielfischer.com/2012/08/16/fresh-mountain-lion-cheatsheet-ruby-environment/</id>
    <published>2012-08-16T00:00:00Z</published>
    <updated>2012-08-16T00:00:00Z</updated>
    <author>
      <name>Daniel Fischer</name>
    </author>
    <summary type="html">&lt;h2&gt;What happened?&lt;/h2&gt;

&lt;p&gt;My 2009 Macbook Pro died. It was a Core 2 Duo. It deserved to die I
guess. Three years is a very long time for computers, especially when&lt;/p&gt;
</summary>
    <content type="html">&lt;h2&gt;What happened?&lt;/h2&gt;

&lt;p&gt;My 2009 Macbook Pro died. It was a Core 2 Duo. It deserved to die I
guess. Three years is a very long time for computers, especially when
you&amp;rsquo;re a power-user who multitasks like a psychopath (me!).&lt;/p&gt;

&lt;p&gt;Between several Ruby processes, Photoshop, Multiple Browsers, Multiple
Tabs, and Spotify open&amp;hellip; yeah, no wonder my 2009 Macbook Pro died. It
was ran into the ground and wanted to give up on life. Too much of the
hard life.&lt;/p&gt;

&lt;p&gt;Anyway, on the &lt;strong&gt;bright&lt;/strong&gt; side, that means I was forced to buy a brand new
Macbook Pro. I was thinking of maybe making a switch to the Air, but
then I realized I really want 16gb of Ram, as well as two hard drives.
Yes, I said it, &lt;strong&gt;two hard drives!&lt;/strong&gt; And no, I didn&amp;rsquo;t get the Retina because
if I noticed any slight bit of &lt;a href="http://www.anandtech.com/show/6023/the-nextgen-macbook-pro-with-retina-display-review/8"&gt;FPS
lag&lt;/a&gt; I&amp;rsquo;d be severely pissed off.&lt;/p&gt;

&lt;p&gt;I grew up a gamer and I can notice frame lag very easily. I think what
Apple is doing with Retina is great, but it&amp;rsquo;s not for me yet. The
graphics card they put in the Macbook Pro can simply NOT handle a
resolution of 2880x1800 with 30+ fps in browsers let alone anything more
demanding.&lt;/p&gt;

&lt;h2&gt;What&amp;rsquo;s the setup?&lt;/h2&gt;

&lt;p&gt;Here&amp;rsquo;s my new setup:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Macbook Pro (Non-Retina).&lt;/li&gt;
&lt;li&gt;Processor: 2.6 GHz Quad Core i7 w/ multithreading for 8 cores.&lt;/li&gt;
&lt;li&gt;Memory: 16 GB 1600 MHz DDR3&lt;/li&gt;
&lt;li&gt;Hard Drive: Corsair GS 180gb SSD (Startup Disk + fast programs).&lt;/li&gt;
&lt;li&gt;2nd Hard Drive: Stock 750gb 5,400 RPM.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;I replaced the cd-bay with a 180gb SSD. I have &lt;em&gt;speed and storage&lt;/em&gt; now.&lt;/p&gt;

&lt;p&gt;The entire install process was relatively easy for the upgrades. If anyone wants a guide on how to do that I can do it, but let&amp;rsquo;s get to the juicy bits. Once you have your new Macbook Pro up and running, what&amp;rsquo;s the 2012 Quarter 4 way of getting a modern Ruby environment up and running?&lt;/p&gt;

&lt;p&gt;Make sure you &lt;strong&gt;install Mountain Lion first&lt;/strong&gt; so you don&amp;rsquo;t have to reinstall your entire development environment.&lt;/p&gt;

&lt;h2&gt;Cheat Sheet Install&lt;/h2&gt;

&lt;p&gt;Below I&amp;rsquo;ll outline the steps I took to setup my computer.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Set the 750 GB HD to spin down within 1 minute. (You&amp;rsquo;ll most likely skip this).

&lt;ul&gt;
&lt;li&gt;sudo pmset -a disksleep 5&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Enter redeem code for Mountain Lion&lt;/li&gt;
&lt;li&gt;Install Mountain Lion&lt;/li&gt;
&lt;li&gt;Install XCode

&lt;ul&gt;
&lt;li&gt;Open Xcode Go to Preferences&lt;/li&gt;
&lt;li&gt;Go to downloads&lt;/li&gt;
&lt;li&gt;Check &amp;lsquo;iOS Simulator&amp;rsquo; (test site in iPhone, iPad simulator)&lt;/li&gt;
&lt;li&gt;Check &amp;lsquo;Command line Tools&amp;rsquo; (gcc, etc)&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Run Apple Software Update&lt;/li&gt;
&lt;li&gt;Apple Preferences &gt; Keyboard &gt; Key Repeat Max Speed.&lt;/li&gt;
&lt;li&gt;Apple Preferences &gt; Keyboard &gt; No Delay Until Key Repeat&lt;/li&gt;
&lt;li&gt;Apple Preferences &gt; Trackpad &gt; Slightly faster track speed&lt;/li&gt;
&lt;li&gt;Install Alfred.app&lt;/li&gt;
&lt;li&gt;Install iTerm2

&lt;ul&gt;
&lt;li&gt;Preferences &gt; Uncheck show per-pane title bar in appearances (it&amp;rsquo;s ugly).&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Install Google Drive&lt;/li&gt;
&lt;li&gt;Install Dropbox

&lt;ul&gt;
&lt;li&gt;Go to preferences and use &amp;lsquo;black &amp;amp; white icons&amp;rsquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Re symlink dotfiles from Dropbox to home directory.

&lt;ul&gt;
&lt;li&gt;This took care of prettifying my iTerm w/ colors.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;Install Homebrew

&lt;ul&gt;
&lt;li&gt;&amp;lsquo;ruby &amp;lt;(curl -fsSkL raw.github.com/mxcl/homebrew/go)&amp;rsquo;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;brew install autoconf automake&lt;/li&gt;
&lt;li&gt;brew tap homebrew/dupes&lt;/li&gt;
&lt;li&gt;brew install apple-gcc42&lt;/li&gt;
&lt;li&gt;Install RVM

&lt;ul&gt;
&lt;li&gt;curl -L https://get.rvm.io | bash -s stable &amp;mdash;ruby&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;rvm get head&lt;/li&gt;
&lt;li&gt;brew install openssl

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://railsapps.github.com/openssl-certificate-verify-failed.html"&gt;Issue details&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;rvm install 1.9.3 &amp;mdash;with-openssl-dir=`brew &amp;mdash;prefix openssl`&lt;/li&gt;
&lt;li&gt;rvm &amp;mdash;default use 1.9.3&lt;/li&gt;
&lt;li&gt;If you need Ruby 1.8.7 you need X11 to compile it

&lt;ul&gt;
&lt;li&gt;Install via: &lt;a href="http://xquartz.macosforge.org/landing/"&gt;http://xquartz.macosforge.org/landing/&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;export CPPFLAGS=-I/opt/X11/include&lt;/li&gt;
&lt;li&gt;CC=/usr/local/bin/gcc-4.2 rvm reinstall 1.8.7&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;brew install imagemagick&lt;/li&gt;
&lt;li&gt;brew install postgresql

&lt;ul&gt;
&lt;li&gt;initdb /usr/local/var/postgres&lt;/li&gt;
&lt;li&gt;mkdir -p ~/Library/LaunchAgents&lt;/li&gt;
&lt;li&gt;cp /usr/local/Cellar/postgresql/9.1.4/homebrew.mxcl.postgresql.plist ~/Library/LaunchAgents/&lt;/li&gt;
&lt;li&gt;launchctl load -w ~/Library/LaunchAgents/homebrew.mxcl.postgresql.plist&lt;/li&gt;
&lt;li&gt;createdb [yourusername]&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;li&gt;brew install macvi

&lt;ul&gt;
&lt;li&gt;ln -s /usr/local/Cellar/macvim/7.3-64/MacVim.app /Applications&lt;/li&gt;
&lt;li&gt;Used my &lt;a href="http://blog.danielfischer.com/2010/11/19/a-starting-guide-to-vim-from-textmate/"&gt;blog post&lt;/a&gt; for MacVim icons.

&lt;ul&gt;
&lt;li&gt;Had to open /usr/local/Cellar/macvim/7.3-64 and right click the app there to replace the icon.&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;
&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Extra thoughts&lt;/h2&gt;

&lt;p&gt;Xcode 4.2 and later don&amp;rsquo;t come with gcc. They ship with llvm-gcc which is only supported for Ruby 1.9.3. If you need to compile earlier versions of ruby you have to install apple gcc 4.2. Homebrew allows you to do this but you need to &lt;code&gt;tap&lt;/code&gt; the dupes. #16 in the cheatsheet.&lt;/p&gt;

&lt;p&gt;I was able to install Windows 7 on my secondary drive without any issues. Bootcamp didn&amp;rsquo;t complain about not having a cd-rom tray which has been reported pre 2012 Macbook Pro&amp;rsquo;s. Only Macbook Pro&amp;rsquo;s that didn&amp;rsquo;t come with a cd-rom tray were able to install Windows 7 without a CD. This doesn&amp;rsquo;t seem to be the case anymore.&lt;/p&gt;

&lt;h2&gt;Holy moly speed!&lt;/h2&gt;

&lt;p&gt;I just want to point out&amp;hellip; damn this laptop is an absolute beast.
Nothing took longer than a minute to compile during that entire cheat
sheet. 8 cores total w/ virtualization, 2 hard drives, 16 gigs of ram&amp;hellip; oh I&amp;rsquo;m geeking
out in performance heaven! And there&amp;rsquo;s room to upgrade! Imagine Raid 0
500gb SSD&amp;rsquo;s&amp;hellip;&lt;/p&gt;

&lt;p&gt;I highly recommend this setup to anyone out there looking to upgrade
their laptop. And I also advise you to skip first gen Retina displays
because of the animation (FPS) lag.&lt;/p&gt;

&lt;h2&gt;Your environment?&lt;/h2&gt;

&lt;p&gt;What does your environment look like for 2012? Am I missing anything that would improve my workflow? Let me know!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Magmarails 2012</title>
    <link href="http://blog.danielfischer.com/2012/06/13/magmarails-2012/" rel="alternate"/>
    <id>http://blog.danielfischer.com/2012/06/13/magmarails-2012/</id>
    <published>2012-06-13T00:00:00Z</published>
    <updated>2012-06-13T00:00:00Z</updated>
    <author>
      <name>Daniel Fischer</name>
    </author>
    <summary type="html">&lt;h2&gt;Magma what?&lt;/h2&gt;

&lt;p&gt;I just got back from &lt;a href="http://www.magmarails.com"&gt;Magmarails&lt;/a&gt; in Mexico. It was an amazing trip. It
was my first time presenting at a conference. Public speaking was a terrible&lt;/p&gt;
</summary>
    <content type="html">&lt;h2&gt;Magma what?&lt;/h2&gt;

&lt;p&gt;I just got back from &lt;a href="http://www.magmarails.com"&gt;Magmarails&lt;/a&gt; in Mexico. It was an amazing trip. It
was my first time presenting at a conference. Public speaking was a terrible
source of anxiety and fear for me. I&amp;rsquo;m so happy that I actually overcame
that fear and just did it. I&amp;rsquo;m extremely happy that it went so well,
even with a curve ball in place; which apparently always happens.
Despite the curve ball, I received applause and a lot of questions. This
was amazing. Both in the fact that it made me more confident about
presenting, and it also validated the problems I am speaking of. Thank
you Magmarails for making me do it.&lt;/p&gt;

&lt;p&gt;Magmarails is a special conference. It&amp;rsquo;s amazing not only because it&amp;rsquo;s
in Mexico, but it&amp;rsquo;s amazing because of the hospitality, culture, and
general quality of care. I&amp;rsquo;ve never gotten close to so many people in
such a short amount of time at a conference. Every single person was
amazing, and it was great that we could enjoy this not only at bars, but
also in the ocean &lt;a href="http://vimeo.com/43846798"&gt;boogie boarding&lt;/a&gt;. It was great to have
&lt;a href="http://twitter.com/deadprogram"&gt;@deadprogram&lt;/a&gt;,
&lt;a href="http://twitter.com/geemus"&gt;@geemus&lt;/a&gt;,
&lt;a href="http://twitter.com/bmizerany"&gt;@bmizerany&lt;/a&gt;,
&lt;a href="http://twtitter.com/tenderlove"&gt;@tenderlove&lt;/a&gt;, and &lt;a href="http://twitter.com/drnic"&gt;@drnic&lt;/a&gt; there. It was just as great to have these
amazingly talented people be available to the entire conference for
questions and inspiration. Most conferences don&amp;rsquo;t get that ability
because there&amp;rsquo;s too many people. Magmarails is relatively small compared
to most conferences and I found that to be amazing. It gives more
opportunities to really learn and grow.&lt;/p&gt;

&lt;p&gt;I learned a lot, and I had a lot of fun. It was an amazing time and I
really look forward to next year, and giving another presentation. I
also look forward to spending time with so many wonderful people. Truly
a &amp;ldquo;life&amp;rdquo; experience.&lt;/p&gt;

&lt;h2&gt;What&amp;rsquo;d I present about?&lt;/h2&gt;

&lt;p&gt;In case you&amp;rsquo;re curious, I was presenting about &lt;a href="https://speakerdeck.com/u/dfischer/p/what-is-front-end-development"&gt;Front-End Development&lt;/a&gt; and
the problems associated with it. I&amp;rsquo;m starting a movement. It&amp;rsquo;s called
&lt;a href="https://twitter.com/#!/search/%23betterfrontend"&gt;#betterfrontend&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I want to make Front-End Development better. It has two major issues
right now, it&amp;rsquo;s hard to learn, and it&amp;rsquo;s hard to do well. Perhaps I can
explain these issues more in-depth with a blog post, and or you can see
me present. I need to hit up some more conferences now and really shove
this fear out the window. If I don&amp;rsquo;t present in a while I know it will
come back again.&lt;/p&gt;

&lt;h2&gt;@kidpollo and @dfischer on the Mad Cow&lt;/h2&gt;

&lt;p&gt;Anyway, I&amp;rsquo;ll leave this post quickly with a nice gif summarizing my
entire experience at #magmarails.&lt;/p&gt;

&lt;p&gt;&lt;img src="https://s3.amazonaws.com/danielfischer-public/test3optimized.gif" alt="@kidpollo and @dfischer on the mad cow" /&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Wow, I just found a major performance bug in OSX.</title>
    <link href="http://blog.danielfischer.com/2011/10/20/wow-i-just-found-a-major-performance-bug-in-osx/" rel="alternate"/>
    <id>http://blog.danielfischer.com/2011/10/20/wow-i-just-found-a-major-performance-bug-in-osx/</id>
    <published>2011-10-20T00:00:00Z</published>
    <updated>2011-10-20T00:00:00Z</updated>
    <author>
      <name>Daniel Fischer</name>
    </author>
    <summary type="html">&lt;h2&gt;Finder really freaking sucks.&lt;/h2&gt;

&lt;p&gt;I was doing my usual development and I have always felt like my computer
is really slow. I&amp;rsquo;ve always blamed it on my development work-flow. I&lt;/p&gt;
</summary>
    <content type="html">&lt;h2&gt;Finder really freaking sucks.&lt;/h2&gt;

&lt;p&gt;I was doing my usual development and I have always felt like my computer
is really slow. I&amp;rsquo;ve always blamed it on my development work-flow. I
have a pretty intense set-up that I tab between very quickly. I have a few browsers open up at a
time, with several tabs within each, and then I have Ruby running with a
few processes including a server, and Compass compiling CSS stylesheets.&lt;/p&gt;

&lt;p&gt;Because of my work-flow, I&amp;rsquo;ve always thought that the slow-down on my
computer was because of all the development. I never really noticed a
slow-down outside of it.&lt;/p&gt;

&lt;p&gt;Anyway, today I started to get fed up. I had to wait 10+ seconds to
refresh a page and get the CSS to compile from Compass and SASS. Then I
had to wait another few seconds for Firefox to respond and render the request.
Ugh, sluggish mess of hell! At this point I&amp;rsquo;m really frustrated so I
started to investigate.&lt;/p&gt;

&lt;p&gt;I loaded up Activity Monitor and noticed that Finder was at 60% usage
most of the time. I thought to myself, &amp;ldquo;Meh&amp;rdquo;, it&amp;rsquo;s probably just some
resource management thing that OS X does that tries to optimize where
the CPU is going; it also could have been spotlight reindexing the hard
drive.&lt;/p&gt;

&lt;p&gt;Spotlight wasn&amp;rsquo;t reindexing my hard-drive, and I started to think my
theory of the CPU utilization was bullshit. So I started tinkering
around with Finder settings&amp;hellip;.&lt;/p&gt;

&lt;h2&gt;HOLY MOLY FINDER SUCKS AND MY COMPUTER IS FAST AGAIN!&lt;/h2&gt;

&lt;p&gt;I unchecked &amp;ldquo;show item info&amp;rdquo; and clicked &amp;ldquo;use as default.&amp;rdquo;&lt;/p&gt;

&lt;p&gt;Queue the sound of absolute harmony&amp;hellip; my computer already felt
different the sudden I clicked that. It was almost as if I jumped from 5
FPS (game terminology) to 120 fps+.&lt;/p&gt;

&lt;p&gt;Lo' and behold' my CPU usage in Activity Monitor was &amp;lt;1% for Finder on
average now.&lt;/p&gt;

&lt;h2&gt;Finder sucks.&lt;/h2&gt;

&lt;p&gt;Finder really sucks and can eat up a TON of your CPU usage if you have
the show item preview on. I don&amp;rsquo;t know if it&amp;rsquo;s a bug, or just a
side-affect of the feature but due to the MASSIVE decrease in
performance it seems like a bug.&lt;/p&gt;

&lt;p&gt;Apple needs to do something about this.&lt;/p&gt;

&lt;p&gt;edit: Forgot to point out. It&amp;rsquo;s not &amp;ldquo;Finder Preferences&amp;rdquo;, you can get to the settings by right clicking inside a finder window (in icon mode) and then click &amp;ldquo;Show View Options.&amp;rdquo;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Upgrading from Snow Leopard to Lion</title>
    <link href="http://blog.danielfischer.com/2011/07/22/upgrading-from-snow-leopard-to-lion/" rel="alternate"/>
    <id>http://blog.danielfischer.com/2011/07/22/upgrading-from-snow-leopard-to-lion/</id>
    <published>2011-07-22T00:00:00Z</published>
    <updated>2011-07-22T00:00:00Z</updated>
    <author>
      <name>Daniel Fischer</name>
    </author>
    <summary type="html">&lt;h2&gt;Lions, Snow Leopards, and Ruby, Oh My!&lt;/h2&gt;

&lt;p&gt;How painful was the process upgrading from Snow Leopard to Lion? How did
it affect my Ruby development workflow? Not bad. But there were some&lt;/p&gt;
</summary>
    <content type="html">&lt;h2&gt;Lions, Snow Leopards, and Ruby, Oh My!&lt;/h2&gt;

&lt;p&gt;How painful was the process upgrading from Snow Leopard to Lion? How did
it affect my Ruby development workflow? Not bad. But there were some
painful parts.&lt;/p&gt;

&lt;p&gt;I feel like outlining a quick process of what I went through, so here
you go!&lt;/p&gt;

&lt;h2&gt;Step 1: Install Lion&lt;/h2&gt;

&lt;p&gt;OS X App Store &amp;ndash;&gt; Purchase Lion &amp;ndash;&gt; Install.&lt;/p&gt;

&lt;p&gt;Fairly straightforward. This went fine. I&amp;rsquo;m impressed that the install
process happens without anything but a download. This is really cool.
Apple is innovating in great ways, and in many ways.&lt;/p&gt;

&lt;h2&gt;Step 2: Install XCode 4&lt;/h2&gt;

&lt;p&gt;If you don&amp;rsquo;t do this nothing will work. This part failed for me because
it complained of some iTunes helper. I had to search for the process in
Activity Helper to kill it. You can also try the following &lt;code&gt;ps -Af |
grep iTunes&lt;/code&gt; in terminal and then &lt;code&gt;kill -9&lt;/code&gt; the appropriate task id.&lt;/p&gt;

&lt;p&gt;Once that was finally over I knew it was time to update homebrew, rvm,
and all my gems.&lt;/p&gt;

&lt;h2&gt;Step 3: Update Homebrew&lt;/h2&gt;

&lt;p&gt;You should update and upgrade homebrew for many reasons. One to ensure
compatibility with Lion, and secondly you have to otherwise it won&amp;rsquo;t run
anything you installed previously due to the installation of XCode 4.&lt;/p&gt;

&lt;p&gt;This one was fairly simple. &lt;code&gt;brew update&lt;/code&gt; and then &lt;code&gt;brew upgrade&lt;/code&gt;.&lt;/p&gt;

&lt;h2&gt;Step 4: Update RVM&lt;/h2&gt;

&lt;p&gt;&lt;code&gt;rvm update --head&lt;/code&gt;
&lt;code&gt;rvm reload&lt;/code&gt;
&lt;code&gt;rvm repair all&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;After this everything worked pretty smoothly. Except per a project I
have to reinstall all my gems. There may be an easier way to do this but
right now I&amp;rsquo;m just doing it manually per project I work on.&lt;/p&gt;

&lt;h2&gt;Step 5: Deleting gems per a project&lt;/h2&gt;

&lt;p&gt;The gems need to be updated otherwise they won&amp;rsquo;t reference the new
libraries compiled.&lt;/p&gt;

&lt;p&gt;Here&amp;rsquo;s what I had to run:&lt;/p&gt;

&lt;p&gt;  rvm gemset empty
  gem install bundle
  bundle install&lt;/p&gt;

&lt;p&gt;You are using bundler right? Otherwise this would be extremely painful.
install bundle`&lt;/p&gt;

&lt;h2&gt;Done, and my thoughts on Lion.&lt;/h2&gt;

&lt;p&gt;So far so good. Lion is interesting. I like the new gestures. I set my
scrollbar to autohide. I like the iOS style word auto-correction. I&amp;rsquo;ve
only noticed this in Safari so far. The oddest thing is the reversing of
the scrollbar direction. I am not changing it to the old ways, I shall
conform to the new ways of the future. It makes sense with a touchpad,
however if you use a mouse with a scroller it feels REALLY weird. I need
to upgrade my mouse to a touch mouse for sure now.&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;m not using Terminal.app anymore on Lion. I started to use iTerm 2.&lt;/p&gt;

&lt;p&gt;What are your thoughts and experience with Lion so far?&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Railsconf 2011, See You There!</title>
    <link href="http://blog.danielfischer.com/2011/05/15/railsconf-2011-see-you-there/" rel="alternate"/>
    <id>http://blog.danielfischer.com/2011/05/15/railsconf-2011-see-you-there/</id>
    <published>2011-05-15T00:00:00Z</published>
    <updated>2011-05-15T00:00:00Z</updated>
    <author>
      <name>Daniel Fischer</name>
    </author>
    <summary type="html">&lt;h2&gt;Will you be there?&lt;/h2&gt;

&lt;p&gt;Are you going to be at Railsconf 2011 in Baltimore, MD? Give me a shout if you will. Feel
free to randomly say &amp;ldquo;hello&amp;rdquo; to me. It should be pretty easy to&lt;/p&gt;
</summary>
    <content type="html">&lt;h2&gt;Will you be there?&lt;/h2&gt;

&lt;p&gt;Are you going to be at Railsconf 2011 in Baltimore, MD? Give me a shout if you will. Feel
free to randomly say &amp;ldquo;hello&amp;rdquo; to me. It should be pretty easy to
recognize me between the height, and blue forearm tattoo.&lt;/p&gt;

&lt;p&gt;Looking forward to hanging out with all of you as usual, and for the
awesome sessions (I mean the hallway track&amp;hellip;)&lt;/p&gt;

&lt;p&gt;See you soon, heading to LAX now.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>It's Time to Start Using a Password Manager</title>
    <link href="http://blog.danielfischer.com/2011/05/12/its-time-to-start-using-a-password-manager/" rel="alternate"/>
    <id>http://blog.danielfischer.com/2011/05/12/its-time-to-start-using-a-password-manager/</id>
    <published>2011-05-12T00:00:00Z</published>
    <updated>2011-05-12T00:00:00Z</updated>
    <author>
      <name>Daniel Fischer</name>
    </author>
    <summary type="html">&lt;h2&gt;Password Managers, and Security&lt;/h2&gt;

&lt;p&gt;Password Managers and Security go hand in hand in this day of age. Due
to my Google Account recently getting compromised, I&#8217;ve put in quite a&lt;/p&gt;
</summary>
    <content type="html">&lt;h2&gt;Password Managers, and Security&lt;/h2&gt;

&lt;p&gt;Password Managers and Security go hand in hand in this day of age. Due
to my Google Account recently getting compromised, I&#8217;ve put in quite a
bit of research in the solutions you can implement to secure yourself on the Internet. As a plus, these solutions also add an extra level of usability while browsing the net.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;The solutions I&#8217;ll share my research over:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;1Password&lt;/li&gt;
&lt;li&gt;Lastpass&lt;/li&gt;
&lt;li&gt;Keepass&lt;/li&gt;
&lt;li&gt;Passpack&lt;/li&gt;
&lt;li&gt;Your mind&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;&lt;strong&gt;The two main questions I test these solutions against:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;How secure is it?&lt;/li&gt;
&lt;li&gt;How usable is it?&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;What&amp;rsquo;s a Password Manager?&lt;/h2&gt;

&lt;p&gt;Not sure what a password manager is? Here&#8217;s a quick summary:&lt;/p&gt;

&lt;p&gt;A password manager should generate highly complex passwords that will
take a couple thousand years to trillions of years to crack on modern
technology for each separate site/application you use. &lt;span
class="super"&gt;1&lt;/span&gt;&lt;/p&gt;

&lt;p&gt;This password manager depends upon you knowing one &lt;strong&gt;master password&lt;/strong&gt;
which should be at least 15 characters long and contain a few symbols in
it.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;In my opinion one super strong password is easier to maintain than a
few junk ones.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;The password manager should encourage generating a unique, and complex
password for each separate site you visit. On top of that it should be
able to automatically fill in your credentials intelligently based on
the site you&amp;rsquo;re visiting. This should happen either automatically or
through a hot-key combination.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;This feature alone is amazing. Now that I&amp;rsquo;ve used it I could never
imagine having to type all my things manually. Automatic login is
really sweet and speeds up my flow on a hourly basis now.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;A password manager can also store secure notes (social security, credit cards, etc for ease of remembering).&lt;/p&gt;

&lt;p&gt;&amp;ldquo;Wow&#8221; you may be thinking. &#8220;Why would you ever put all that sensitive information in one place if one master can unlock them all?&#8221;&lt;/p&gt;

&lt;p&gt;There&#8217;s a solution to that question, and that&#8217;s &lt;a href="http://en.wikipedia.org/wiki/Two-factor_authentication" title="Two-factor Authentication"&gt;Two-factor
Authentication&lt;/a&gt; (or
&lt;a href="http://en.wikipedia.org/wiki/Multi-factor_authentication" title="Multi-factor authentication"&gt;Multi-factor&lt;/a&gt;).&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Daniel, you&#8217;re borderline losing me. Can you bring me back up to speed
and help me out here? Multi 2 step what? I don&amp;rsquo;t know how to dance 2
step. Just ask my wife! What&amp;rsquo;s that have to do with passwords?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Essentially it&#8217;s just using something else with your master password to
prove that it is you. In my perspective that&#8217;s anything physical that
only &lt;strong&gt;YOU&lt;/strong&gt; would have. Here&#8217;s an example that is being used by Google right now:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;You sign into Google with your &lt;strong&gt;master password&lt;/strong&gt; and if the computer
hasn&#8217;t been authenticated recently it will ask you to verify a
security code off of your phone to ensure that you are in fact you.
Your phone serves as your &lt;strong&gt;extra layer of protection&lt;/strong&gt; that only you should have.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;This &#8220;2 step&#8221; authentication is exactly the extra level of security you
need if you&#8217;re using a password manager otherwise you&#8217;re overly
susceptible to handing over the keys to everything you have access to at
a reasonable level of ease. &lt;strong&gt;No bueno.&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;I want all the features I described above, but do all the solutions I mention solve it? Let&#8217;s find out.&lt;/p&gt;

&lt;p&gt;&lt;small&gt;1. In reality it&amp;rsquo;s not that hard to create a password that would
take a trillion years to crack. You just need to create something that&amp;rsquo;s
around 15 characters long and add a couple symbols in the password like
&amp;ldquo;!@#$&amp;rdquo; doing so raises the time to crack it exponentially. The
difficulty is trying to create a unique password like this for every
site you use which is basically impossible without a password manager.&lt;/small&gt;&lt;/p&gt;

&lt;h2&gt;1Password&lt;/h2&gt;

&lt;p&gt;First off, I just want to start off and say 1Password is a beautiful
piece of software. Out of all the solutions I mentioned 1Password
definitely satisfies my &lt;strong&gt;eye candy&lt;/strong&gt; level of attraction. It is beautiful and easy to use in every way.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;1Password platform support is limited: OS X, iOS, Windows, Android.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1) How secure is 1Password?&lt;/strong&gt; &lt;em&gt;Not secure enough.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;It 100% fails at the &#8220;master password&#8221; problem. If someone somehow finds your master password (probably through malware and or a key-logger) then they most likely will have access to your master password &#8220;encrypted&#8221; file and you&#8217;re pretty much screwed. They just attained the keys to every password you ever added (which can easily be up to 200+ sites including all your bank accounts, etc) perhaps your SSN and credit cards too if you save them in there.&lt;/p&gt;

&lt;p&gt;This is really bad. Just because of how possible this is without any other precaution you&#8217;re able to take I have to say &#8220;BIG NO!&#8221; to 1Password. It&#8217;s 100% not secure enough in this day of age. It&#8217;s too easy to fall victim to malware that can key-log your password and steal your local files. In the case of physical access and someone wanting to get these things? You&#8217;re even more screwed.&lt;/p&gt;

&lt;p&gt;I really wish 1Password allowed a form of multi-factor authentication but it fails that in every way.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Support for 2-Step Authentication (Yubikey or others)? NO.&lt;/li&gt;
&lt;li&gt;Support for a USB mounted encrypted volume? NO.&lt;/li&gt;
&lt;/ol&gt;


&lt;blockquote&gt;&lt;p&gt;What bothers me the most about this problem is that given the issues
and the discussion of it on their forums, they seem to &lt;em&gt;wiggle out&lt;/em&gt; of
how serious this problem actually is and convince users that this
isn&amp;rsquo;t a problem. This makes me have the opinion that 1Password is an
entry-level application but less secure than simple non-dictionary
based password remembering.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Without either a 2-Step solution or a USB encrypted volume you&#8217;re pretty
much SOL if someone gets your master password. You should assume that
someone will get it, because if they really want to, they will. If
someone attains your master password and you use 1Password, consider
yourself in a world of pain.&lt;/p&gt;

&lt;p&gt;The first rule of security is always assume the worst. 1Password fails
utterly at the worst.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2) How usable is 1Password?&lt;/strong&gt; &lt;em&gt;Extremely.&lt;/em&gt; This is where this baby
shines. I wish it was as beautifully secure as it is visually beautiful.&lt;/p&gt;

&lt;p&gt;It&amp;rsquo;s best in usability hands down. Sync through Dropbox for
multi-platform support. Intuitively helps you generate unique passwords
for every site. Naturally enables automatic login through a common
keystroke &amp;ldquo;cmd + \&amp;rdquo; on OSX. Very usable and the best out of all the
candidates.&lt;/p&gt;

&lt;p&gt;Did I mention how beautifully designed the application is? It&amp;rsquo;s
wonderful. One of the best looking applications I&amp;rsquo;ve ever seen on OSX. I
know it&amp;rsquo;s lacking on Windows, and in general I don&amp;rsquo;t think Windows
applications look that great, but I think they&amp;rsquo;ll work on creating
something really nice on Windows too.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt; Not a secure solution if you really care about security.
It&#8217;s practically &#8220;faux-security&#8221; but hey, as long as it&#8217;s encouraging
you to not use dictionary passwords I guess it&#8217;s a step up. I really
wish 1Password supported a multi-factor authentication mechanism because
it would make it hands down the best solution available due to it&#8217;s
usability and beauty.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resources for 1Password:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="http://agilebits.com/onepassword"&gt;1Password Homepage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://forum.agile.ws/index.php?/topic/4242-multi-factor-authentication-rsa-securid-token-et-al/"&gt;Multi-factor
discussion&lt;/a&gt;
which says they have no support and not planning anytime soon to do so.&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;LastPass&lt;/h2&gt;

&lt;p&gt;LastPass is good all around and solves multi-factor security problem
well. My problem with it is that it feels and looks like a early 2000
Windows based application. It&#8217;s far from pretty but not the worst. They
need a complete design and usability overhaul. I would consider it very
beneficial to them to start spending money on their UI and design
because if they did that they&#8217;d be an almost perfect solution.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;LastPass is multi-platform due to a combination of being web-based and
having browser based extensions across common operating systems.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1) How secure is Lastpass?&lt;/strong&gt; Very secure. Lastpass offers 2-Step solutions through Yubikey. Which means that even if someone got a hold of your master password, they&#8217;d still need your physical &#8220;yubikey&#8221; to verify that it&#8217;s you. Which means if some hacker tried to get access to your LastPass account half way across the world when they keylogged your password you&#8217;d still be safe. They&#8217;d need your yubikey which you have at home or on your keychain to log in.&lt;/p&gt;

&lt;p&gt;To those that are afraid of your &#8220;passwords&#8221; residing on another server, I wouldn&#8217;t be. Even if their databases were compromised it&#8217;d be practically impossible to correlate it to your data with your encryption keys. The way it works on a technical level is VERY awesome and VERY secure.&lt;/p&gt;

&lt;p&gt;The company recently had an &#8220;odd&#8221; log of data being sent and the way they dealt with it publicly is very reputable and in the end you had nothing to worry about it at all.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2) How usable is LastPass?&lt;/strong&gt; Meh. It&#8217;s usable.&lt;/p&gt;

&lt;p&gt; It does the &lt;em&gt;auto-login&lt;/em&gt; for you and all that jazz. The application itself for the Safari browser seemed a bit buggy to me. I couldn&#8217;t define my hot-keys for &#8220;auto fill.&#8221; I think they need a LOT of improvement on their UI/Usability/design front. Their online interface is so horribly ugly to me that I cringe having to use it. I almost want to donate my time to them and help them out to design a nice interface.&lt;/p&gt;

&lt;p&gt;Not only is their online interface horrid, but their browser extension
smells about the same way. The process of entering notes and the design
of the overall flow of the application is just not attractive. It feels
like they just coded up a quick solution without any designer
interaction.&lt;/p&gt;

&lt;p&gt;I like pretty things and as superficial as that may be, it&#8217;s a major factor in my decision process for anything I use.&lt;/p&gt;

&lt;p&gt;I really, really, really hope that LastPass is using part of their
success on giving a design overhaul to their product and the
implementations for the both site and browser.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt; Very secure. Satisfies all my security scenarios. I wish it looked better. It is quite ugly, but at least it isn&#8217;t the ugliest of them all.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;LastPass resources:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="http://hackerne.ws/item?id=2526868"&gt;Hacker News Discussion&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://helpdesk.lastpass.com/security-options/yubikey-authentication/"&gt;LassPass
Yubikey&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://store.yubico.com/store/catalog/product_info.php?products_id=13&amp;amp;osCsid=jsj1fu9d6srhh4hdm42t1ki282"&gt;2 Yubikey&#8217;s + 1 year subscription to LastPass for
$45&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;KeePass&lt;/h2&gt;

&lt;p&gt;KeePass is just as secure as LastPass. It can suffer more or excel more
depending on the user technical competency level. It&#8217;s an open-source
solution so it depends upon the community to thoroughly check that the
application has no back-doors in it (rare in the open-source community
but possible), and in this case like a lot of open-source solutions the
usability lacks because there&amp;rsquo;s a heavy developer-centric time
investment vs. designer investment.&lt;/p&gt;

&lt;p&gt;&lt;em&gt;KeePass is multi-platform in pretty much every respect due to the
open-source nature. Windows/Linux/OSX/Android/iPhone, you name it.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;1) How Secure is KeePass?&lt;/strong&gt; Like I mentioned in the summary, it&#8217;s as secure as you want it to be. It can be as secure as 1Password, or it can be as secure as LastPass or probably even further. I haven&#8217;t done all the research besides a multi-factor solution but since it&#8217;s open-source I&#8217;m sure some security obsessed person has gone the extra mile to make it as secure as needing to triangulate a star position with a telescope connected to the computer via USB to &#8220;unlock&#8221; the master password list.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;2) How usable is it?&lt;/strong&gt; It&#8217;s double meh. It can be pretty usable on the auto enter credentials front just as much as LastPass or 1Password however you have to know how to configure certain variables for it to work. It definitely requires an extra level of technical competency that will go over a regular users head and when you&#8217;re dealing with security you want things to be very simple. If something requires you to do more work you&#8217;re probably going to be lazy and therefore less secure and that doesn&#8217;t help anyone but the ultra paranoid technical know-how zealots. Touching on that, the design is the worst of them all. It cries of horrible UI design in practically every respect. I don&#8217;t even want to list them it&#8217;s so bad.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt; The most secure solution if you put work into it, and also the ugliest solution.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Resources for KeePass:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="http://keepass.info/"&gt;Keepass&lt;/a&gt; for Windows/Linux/Etc&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.keepassx.org/"&gt;KeepassX&lt;/a&gt; for OS X&lt;/li&gt;
&lt;li&gt;&lt;a href="http://keepass.info/help/base/autotype.html"&gt;Auto-Type&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;Passpack&lt;/h2&gt;

&lt;p&gt;I actually ran across this while writing this article and I think this little guy may be a winner. It seems to be very secure all around. Pretty much just as secure as LastPass, I wouldn&#8217;t say it&#8217;s any more or any less.&lt;/p&gt;

&lt;p&gt;Usability and design wise? It seems like it&#8217;s right up there. It&#8217;s a
nice balance between LastPass and 1Password. I think I like this
solution a lot. It has room for growth, but it also seems to boast a
level of versatility and quickness to change that the others don&#8217;t have.
I feel that the developers for Passpack are pretty open to suggestions
and community feedback.&lt;/p&gt;

&lt;p&gt;To handle the auto-login all I did was drag their &#8220;bookmarklet&#8221; into
bookmark position 2 in safari and then anytime I want to automatically
log in or generate an entry I just pressed &#8220;cmd + 2&#8221; and a very
intuitive popup shows on the screen related to the site you&amp;rsquo;re browsing.
Since it&amp;rsquo;s a bookmark, it&amp;rsquo;s as cross-browser and multi-platform as you
can get.&lt;/p&gt;

&lt;p&gt;It has a couple ways of doing multi-factor authentication which is also a bonus. Yubikey support included as my requirement.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt; Very interesting and maybe the best of all the worlds. Has cool
unique features that others don&#8217;t. It has overall good usability and an
okay polish on the design. I recommend this solution the most in terms
of balance.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Passpack resources:&lt;/strong&gt;&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;a href="http://www.passpack.com/en/home/"&gt;Passpack Homepage&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.passpack.com/en/security/"&gt;Passpack Security&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.passpack.com/en/data-privacy/"&gt;Why it&amp;rsquo;s so secure&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.passpack.com/en/faq/"&gt;Passpack FAQ&lt;/a&gt;&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;Your Mind&lt;/h2&gt;

&lt;p&gt;So this one is obvious. You use your head. There&#8217;s a simple strategy in how to do this which I&#8217;ll outline. It has the bonus of being very secure. However, it&#8217;s not very usable and you&#8217;re pretty much screwed if you forget even a little bit. Do you really want to type out passwords that have to be 15+ characters long? Remember a different password for every site? It&#8217;s a tiresome and lengthy process but can ultimately be very secure if you have the patience and mind for it.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Security tips:&lt;/strong&gt; Have three types of passwords.&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;Your throw away to sites you don&#8217;t care about. Any password will do for ease of logging into sites you don&#8217;t care about.&lt;/li&gt;
&lt;li&gt;Your &#8220;general&#8221; password that will be a passphrase + unique to every
site. This is a passphrase + unique key for every site. Example &#8220;mysupersecretpassword+reddit.com&#8221;&lt;/li&gt;
&lt;li&gt;Your ultimate most precious password that should only be related to
your financial information and above. Long pass phrase with many
symbols.&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;Because it requires a bit of manual labor work it&#8217;s prone to laziness and that means a breach in security if you don&#8217;t take the extra effort. The other solutions are more ideal because they help automate security itself which is why we&#8217;re doing this in the first place.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Verdict:&lt;/strong&gt; It works well, but you need to be a very dedicated person
that isn&amp;rsquo;t prone to laziness. Worst usability.&lt;/p&gt;

&lt;h2&gt;TL;DR&lt;/h2&gt;

&lt;p&gt;1Password Vs. LastPass Vs. KeePass vs. PassPack vs. Your Mind&lt;/p&gt;

&lt;p&gt;From least advanced and to most advanced:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;&lt;strong&gt;1Password&lt;/strong&gt; &amp;ndash; Simple, gets the job done at a simple level. Prone to
security Breaches. Best UI &amp;amp; Usability&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;LastPass&lt;/strong&gt; &amp;ndash; Simple to Advanced Technicality. Works as advertised. Very secure. Mediocre UI &amp;amp;
Usability.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;PassPack&lt;/strong&gt; &amp;ndash; Moderate to Advanced Technicality. Very secure. Nice UI &amp;amp;
Usability.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;Your Mind&lt;/strong&gt; &amp;ndash; Advanced Technicality. Very Secure. Bad usability.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;KeePass&lt;/strong&gt; &amp;ndash; Most advanced. Can be extremely secure. Bad usability.&lt;/li&gt;
&lt;/ol&gt;


&lt;h2&gt;In closing&lt;/h2&gt;

&lt;p&gt;Please share your thoughts and criticism. Questions and answers from a
community always helps strength decisions. Comments from the products
in question are always recommended. I&amp;rsquo;ll send a ping to each product to
see if they want to include official feedback.&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Quickstart Guide to Using Compass, Haml, SASS, SCSS with Rails 3</title>
    <link href="http://blog.danielfischer.com/2011/04/18/quickstart-guide-to-using-compass-haml-sass-scss-with-rails-3/" rel="alternate"/>
    <id>http://blog.danielfischer.com/2011/04/18/quickstart-guide-to-using-compass-haml-sass-scss-with-rails-3/</id>
    <published>2011-04-18T00:00:00Z</published>
    <updated>2011-04-18T00:00:00Z</updated>
    <author>
      <name>Daniel Fischer</name>
    </author>
    <summary type="html">&lt;h2&gt;Quick Backstory&lt;/h2&gt;

&lt;p&gt;I regularly use Compass, Haml, SASS, and SCSS with Rails 3. I decided it
would be helpful to create a quick-start guide on how to get an&lt;/p&gt;
</summary>
    <content type="html">&lt;h2&gt;Quick Backstory&lt;/h2&gt;

&lt;p&gt;I regularly use Compass, Haml, SASS, and SCSS with Rails 3. I decided it
would be helpful to create a quick-start guide on how to get an
application set up with it.&lt;/p&gt;

&lt;p&gt;Use this guide as either a cheat sheet, or as a newbie a basic
understanding of how to use these libraries together. At the end is a
mini tutorial as a bonus.&lt;/p&gt;

&lt;h2&gt;Setup Rails 3 Application&lt;/h2&gt;

&lt;p&gt;First we need to make sure we have the latest Rails gem.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;gem install rails&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;As long as it&amp;rsquo;s some version of 3 it shouldn&amp;rsquo;t matter at the time of
this writing.&lt;/p&gt;

&lt;p&gt;Now let&amp;rsquo;s setup the application.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;rails new rails-compass-haml-sass-scsss&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Go into your application&lt;/p&gt;

&lt;p&gt;&lt;code&gt;cd cd rails-compass-haml-sass-scsss&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Install Bundler to manage your gems&lt;/p&gt;

&lt;p&gt;&lt;code&gt;gem install bundle&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Open up ./Gemfile&lt;/p&gt;

&lt;p&gt;After `gem rails', in your Gemfile; add Compass, Haml.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;gem 'compass'&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;&lt;code&gt;gem 'haml'&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Now you need to install the gems.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;bundle install&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;Configure Compass&lt;/h2&gt;

&lt;p&gt;Now that you&amp;rsquo;re setup with your gems. Now it is time to configure Compass.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;compass init rails . --using blueprint/semantic&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I accept default values for all. Just hit yes and enter.&lt;/p&gt;

&lt;p&gt;Then delete application.html.erb because you&amp;rsquo;re using haml.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;rm app/views/layouts/application.html.erb&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Create &lt;code&gt;app/views/layouts/application.html.haml&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Paste the following in application.html.haml&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;!!!
%html
  %head
    %title rails-compass-haml-sass-scss 
    = stylesheet_link_tag 'compiled/screen.css', :media =&amp;gt; 'screen, projection'
    = stylesheet_link_tag 'compiled/print.css', :media =&amp;gt; 'print'
    /[if lt IE 8]
      = stylesheet_link_tag 'compiled/ie.css', :media =&amp;gt; 'screen, projection'
      = csrf_meta_tag
  %body.bp
    #container
      = yield
&lt;/code&gt;&lt;/pre&gt;

&lt;h2&gt;Configure Rails 3 HAML Generator&lt;/h2&gt;

&lt;p&gt;I configure Rails 3 to use HAML generators instead of
ERB because it is annoying to constantly remove &lt;code&gt;.erb&lt;/code&gt; files, and or edit them
into HAML syntax.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;git clone git://github.com/psynix/rails3_haml_scaffold_generator.git
lib/generators/haml&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Edit config/application.rb and add the following after &lt;code&gt;config.filter_parameteres +=[:password]&lt;/code&gt;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;config.generators do |g|
  g.template_engine :haml
end
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now you&amp;rsquo;re setup with Compass, Haml, SASS, and SCSS using Rails 3.&lt;/p&gt;

&lt;h2&gt;Bonus: Newbie Tutorial&lt;/h2&gt;

&lt;p&gt;Don&amp;rsquo;t know where to go from here? It&amp;rsquo;s okay. I&amp;rsquo;ll give you a quick tip
if you&amp;rsquo;re looking for some newbie help.&lt;/p&gt;

&lt;p&gt;Let&amp;rsquo;s scaffold something quickly&lt;/p&gt;

&lt;p&gt;&lt;code&gt;rails generate scaffold Post&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You will notice it&amp;rsquo;s creating haml views. Good.&lt;/p&gt;

&lt;p&gt;Delete public/index.html&lt;/p&gt;

&lt;p&gt;&lt;code&gt;rm public/index.html&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Run migrations or Rails will complain that the record doesn&amp;rsquo;t exist,
even though we don&amp;rsquo;t really care about that for demonstration purposes.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;rake db:migrate&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Run the server&lt;/p&gt;

&lt;p&gt;&lt;code&gt;rails server&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Point your browser to &lt;a href="http://localhost:3000/posts"&gt;http://localhost:3000/posts&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Bam, now you&amp;rsquo;re running with Rails 3 using Compass, Haml, Sass, and
SCSS.&lt;/p&gt;

&lt;p&gt;Want to make a quick edit to the stylesheet as an example of workflow? Sure, open up
app/views/stylesheets/screen.scss and add:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;#container {@include container;}&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Refresh &lt;a href="http://localhost:3000/posts"&gt;http://localhost:3000/posts&lt;/a&gt; and now you&amp;rsquo;ll see that it&amp;rsquo;s centered. How? Well, since we told
Compass to initialize with Blueprint it has mixins already setup for the Blueprint library, and if you&amp;rsquo;re familiar with the grid system
you always have to have a container to center the layout utilizing the grid. Check out the &lt;a href="http://compass-style.org/docs/reference/blueprint/"&gt;Compass Blueprint Docs&lt;/a&gt; if you want to learn more.&lt;/p&gt;

&lt;p&gt;Now you have a quick taste on the power of Compass while demonstrating
how to use it all together in Rails 3.&lt;/p&gt;

&lt;p&gt;Hope this helped you.&lt;/p&gt;

&lt;h2&gt;Download Repo from Github&lt;/h2&gt;

&lt;p&gt;If you want to download the repo from Github go ahead:&lt;/p&gt;

&lt;p&gt;Github:
&lt;a href="https://github.com/dfischer/Rails-3-Quickstart-Compass--Haml--Sass--SCSS"&gt;https://github.com/dfischer/Rails-3-Quickstart-Compass&amp;mdash;Haml&amp;mdash;Sass&amp;mdash;SCSS&lt;/a&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>A Starting Guide to VIM from Textmate</title>
    <link href="http://blog.danielfischer.com/2010/11/19/a-starting-guide-to-vim-from-textmate/" rel="alternate"/>
    <id>http://blog.danielfischer.com/2010/11/19/a-starting-guide-to-vim-from-textmate/</id>
    <published>2010-11-19T00:00:00Z</published>
    <updated>2010-11-19T00:00:00Z</updated>
    <author>
      <name>Daniel Fischer</name>
    </author>
    <summary type="html">&lt;h2&gt;Daniel, What&amp;rsquo;s Your Deal?&lt;/h2&gt;

&lt;p&gt;For about four years I&amp;rsquo;ve been using &lt;strong&gt;Textmate&lt;/strong&gt; almost every day. I&amp;rsquo;m very fast with it. I&amp;rsquo;ve always thought about switching over to &lt;strong&gt;VIM&lt;/strong&gt; or &lt;strong&gt;Emacs&lt;/strong&gt; but I have been scared of losing my speed. In fact, I&amp;rsquo;ve actually tried Emacs in the past and also wrote a &lt;a href="http://www.danielfischer.com/2008/12/16/emacs-on-osx-for-ruby-on-rails-development/" title="Emacs on OSX for Ruby on Rails Development"&gt;blog post&lt;/a&gt; on my experience. I liked it in general, but I ended up coming back to Textmate after a week. Why? I didn&amp;rsquo;t really feel like I was gaining anything&amp;hellip;&lt;/p&gt;
</summary>
    <content type="html">&lt;h2&gt;Daniel, What&amp;rsquo;s Your Deal?&lt;/h2&gt;

&lt;p&gt;For about four years I&amp;rsquo;ve been using &lt;strong&gt;Textmate&lt;/strong&gt; almost every day. I&amp;rsquo;m very fast with it. I&amp;rsquo;ve always thought about switching over to &lt;strong&gt;VIM&lt;/strong&gt; or &lt;strong&gt;Emacs&lt;/strong&gt; but I have been scared of losing my speed. In fact, I&amp;rsquo;ve actually tried Emacs in the past and also wrote a &lt;a href="http://www.danielfischer.com/2008/12/16/emacs-on-osx-for-ruby-on-rails-development/" title="Emacs on OSX for Ruby on Rails Development"&gt;blog post&lt;/a&gt; on my experience. I liked it in general, but I ended up coming back to Textmate after a week. Why? I didn&amp;rsquo;t really feel like I was gaining anything.&lt;/p&gt;

&lt;p&gt;So, why would I even &lt;em&gt;consider switching over to VIM?&lt;/em&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Server-Side SSH Editor&lt;/li&gt;
&lt;li&gt;Split Windows&lt;/li&gt;
&lt;li&gt;CTags&lt;/li&gt;
&lt;li&gt;Large Development Community &amp;amp; Support&lt;/li&gt;
&lt;li&gt;Mastering VIM will lead to greater overall efficiency, given the limited potential of Textmate.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;What do I mean by the last item? If you master VIM and its &amp;ldquo;special&amp;rdquo; commands, you can be shockingly more efficient than what Textmate allows. The main reason being VIM&amp;rsquo;s movement commands and VIM-only plugins.&lt;/p&gt;

&lt;p&gt;I feel like I&amp;rsquo;m as fast as I&amp;rsquo;m going to get in Textmate, but I want to be faster. I also really want to leverage some powerful plugins that the VIM community has created for development, and I also really want to leverage the power of split windows.&lt;/p&gt;

&lt;p&gt;One use case for split windows that absolutely strikes my fancy is being able to see a front-end &lt;code&gt;.haml&lt;/code&gt; file and also see the appropriate &lt;code&gt;.scss&lt;/code&gt; file at the same time. Ooh, just the thought gives me a bout of excitement.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;So, bye for now Textmate. You&amp;rsquo;ve been great, but I don&amp;rsquo;t see you providing me with many more advanced features. I&amp;rsquo;ve out grown you. I crave more complexity and efficiency. Of course you&amp;rsquo;ve told me that you have an improved version of yourself coming out in some vaporware universe of time, but I just don&amp;rsquo;t know how to trust that. So for now my good friend, I am going to hang out with VIM.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;small&gt;** I know you could argue using Emacs for the same points. However,
I tried it, and I didn&amp;rsquo;t like it. Something draws me more to Vim and
that&amp;rsquo;s what I&amp;rsquo;m committing to.&lt;/small&gt;&lt;/p&gt;

&lt;h2&gt;What&amp;rsquo;s My Workflow Like?&lt;/h2&gt;

&lt;p&gt;My general workflow: Front-End Development Heavy. Back-End Development as needed.&lt;/p&gt;

&lt;p&gt;Beware, because below this sentence is a journey through my mind, and that can be a scary one indeed. You will see me talking to myself as if you were I, and I were you. Of course, this is to only answer questions within my own head, that may in fact also be in your head.&lt;/p&gt;

&lt;h2&gt;Shall We Proceed?&lt;/h2&gt;

&lt;blockquote&gt;&lt;p&gt;First off, which VIM installation do I go with?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;There&#8217;s a few different installations that I came across, but it seems that MacVim is the standard right now. So off I go to install MacVim.&lt;/p&gt;

&lt;p&gt;I grabbed the latest snapshot of MacVim from GitHub. The reason I did
this instead of downloading the one from the Google Code page is because
the Google Code page installation is two years old, and the MacVim team
has been under heavy development for the past two years, so you can
imagine how much you are missing out on.&lt;/p&gt;

&lt;p&gt;&lt;a href="https://github.com/b4winckler/macvim/wiki" title="Download Latest MacVim Snapshot"&gt;Download the latest snapshot here.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Follow the instructions in the &lt;a href="https://github.com/b4winckler/macvim/wiki/building" title="MacVim Wiki on Building"&gt;wiki/Building&lt;/a&gt; on how to install it.&lt;/p&gt;

&lt;p&gt;Be sure to copy &lt;code&gt;mvim&lt;/code&gt; in the &lt;code&gt;src/MacVim/mvim&lt;/code&gt; to &lt;code&gt;/usr/bin&lt;/code&gt; so you can
type &lt;code&gt;mvim&lt;/code&gt; like you typed &lt;code&gt;mate&lt;/code&gt; in &lt;code&gt;Terminal.app&lt;/code&gt;&lt;/p&gt;

&lt;h2&gt;I Installed MacVim, Now What?&lt;/h2&gt;

&lt;p&gt;First, let&amp;rsquo;s tackle something valuable and simple. &lt;em&gt;Learning how to use VIM like a pro.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;The first thing I did was fire up my terminal and type &lt;code&gt;vimtutor&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Notice that I didn&amp;rsquo;t fire up MacVim to do the tutor. Biggest reason? I knew MacVim would
look like crap without tweaking and I also didn&amp;rsquo;t want to utilize the OS X adjusted shortcuts that MacVim provides. I prefer to go &amp;ldquo;style natural&amp;rdquo; in the beginning. You can skip this step if
you want, but if you truly are coming from Textmate to VIM, I highly
recommend you to take 30 minutes and just go through the quick tutorial.
It&amp;rsquo;ll give you a glimpse into the power of VIM and help remedy the steep learning curve that VIM requires.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Okay great. I have a general understanding of how to move around in
VIM and I see it&amp;rsquo;s potential. Now it&amp;rsquo;s time to fire up MacVim and make
it sexy and then figure out what common plugins there are that the
Ruby community uses.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Why does the sexy part even matter? I&#8217;m a visual person. The editor that I use &lt;strong&gt;must&lt;/strong&gt; be visually appealing to me, and visually reflect sexy code. This is how I interact with my material, and if it doesn&#8217;t look pleasing then I am turned off and cannot be productive. This is one of the reasons why I picked Textmate from the beginning, the themes made the code look really attractive. I feel like I can get an &lt;em&gt;attractive and geeky&lt;/em&gt; feel out of MacVim so let&#8217;s see how it ends up.&lt;/p&gt;

&lt;p&gt;Launch &lt;code&gt;macvim&lt;/code&gt; by either opening it in your installation folder, or navigate towards a project and type &lt;code&gt;mvim .&lt;/code&gt; like you would type &lt;code&gt;mate .&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;My biggest visual problems initially:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Black &amp;amp; White Theme&lt;/li&gt;
&lt;li&gt;Scrollbars&lt;/li&gt;
&lt;li&gt;Toolbar&lt;/li&gt;
&lt;li&gt;Application Icon&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;So first thing I do is create my own icon. Yes, I&#8217;m insane, I know.
Let&amp;rsquo;s just accept it, and move on.&lt;/p&gt;

&lt;h2&gt;MacVim Icon Fischy Style&lt;/h2&gt;

&lt;p&gt;&lt;a href="/images/posts/mac_vim_icon.png" title="Mac Vim Icon Fischy Style" class='img'&gt;&lt;img src="/images/posts/mac_vim_icon.png" alt="Mac Vim Icon Fischy Style" height="100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;MacVim Icon Fischy Style Dark&lt;/h2&gt;

&lt;p&gt;&lt;a href="/images/posts/mac_vim_icon_dark.png" title="Mac Vim Icon Dark Fischy Style" class='img'&gt;&lt;img src="/images/posts/mac_vim_icon_dark.png" alt="Mac Vim Icon Dark Fischy Style" height="100"&gt;&lt;/a&gt;&lt;/p&gt;

&lt;h2&gt;Let&amp;rsquo;s Get Dirty with Themes &amp;amp; Plugins&lt;/h2&gt;

&lt;blockquote&gt;&lt;p&gt;Where do I begin to customize my theme? What are the standard plugins that the Ruby community uses? My solution? Ask people that know better than me: my network on Twitter.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Within a couple minutes I had direction:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Use the &lt;a href="https://github.com/carlhuda/janus" title="Carlhuda's Janus"&gt;Github Janus&lt;/a&gt; script for common plugins and themes.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Follow the instructions in the &lt;code&gt;README.markdown&lt;/code&gt; which will also be
outputted on the Github Janus Project Page.&lt;/p&gt;

&lt;p&gt;After you follow the instructions you should have a full installation of
common plugins &amp;amp; themes that the majority Ruby VIM community uses.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Great, I have all of these awesome plugins and themes. How do I use
it? First, I need to change my damn theme!&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Depending on where you are, and what you&amp;rsquo;ve done. You may need to
relaunch MacVim in order to pull in these new plugins.&lt;/p&gt;

&lt;p&gt;Let&amp;rsquo;s see some colors. Type &lt;code&gt;:color&lt;/code&gt; and then tab to see a list of
installed colors. &lt;code&gt;molokai&lt;/code&gt; is my favorite one that I stuck with and
tweaked slightly. If you want to see your current theme simply type
&lt;code&gt;:color&lt;/code&gt;. &lt;a href="http://www.vi-improved.org/color_sampler_pack/"&gt;Here&amp;rsquo;s a site&lt;/a&gt; that shows you a preview of each installed theme that came with Janus.&lt;/p&gt;

&lt;p&gt;Once I was happy with my color settings I also realized I needed some
transparency. In order to do that go to your preferences &lt;code&gt;cmd + ,&lt;/code&gt; click
&lt;code&gt;advanced&lt;/code&gt; and then click &lt;code&gt;Use experimental renderer&lt;/code&gt;.&lt;/p&gt;

&lt;p&gt;Once you do that, &lt;em&gt;open or create&lt;/em&gt; &lt;code&gt;/your_home/.vimrc.local&lt;/code&gt; and add the following:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;set transparency=15&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You&amp;rsquo;ll have to &lt;em&gt;relaunch MacVim&lt;/em&gt; to use the experimental renderer. Once
you do that you can tweak the transparency at any time by typing &lt;code&gt;:set transparency=[value here]&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Awesome. I am starting to love the visual aspect of VIM and my code.
One more problem&amp;hellip; these damn scrollbars are annoying me. How do I
get rid of that?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Append the following to &lt;code&gt;/your_home/.vimrc.local&lt;/code&gt;:&lt;/p&gt;

&lt;p&gt;&lt;code&gt;set guioptions=aAce&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;Relaunch MacVim and boom, everything should look pretty damn sexy now.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;This is awesome. VIM looks awesome, my code syntax highlighting looks
awesome. But what the heck is that sidebar? How do I use it? What
plugins did Janus install that will help with my development? How does
MacVim help me over a standard terminal vim?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Well, there&amp;rsquo;s a lot to cover, and I&amp;rsquo;m not going to cover everything.
What I recommend doing is simply reading the &lt;code&gt;README.markdown&lt;/code&gt; of
&lt;a href="https://github.com/carlhuda/janus"&gt;Janus&amp;rsquo;s project page&lt;/a&gt; and going over each plugin that is installed.&lt;/p&gt;

&lt;p&gt;What I will tell you though, is that the benefit of using MacVim is you
have familiar key bindings natively installed to VIM like most OS X
applications. &lt;code&gt;cmd + s&lt;/code&gt;, etc.&lt;/p&gt;

&lt;p&gt;One thing you may not notice initially, especially if you&amp;rsquo;ve used VIM
exclusively in a terminal environment, is that you&amp;rsquo;re able to interact
with MacVim using your mouse. If you initially open MacVim and click in
that project drawer looking thing, you&amp;rsquo;ll notice you can double click
and open files. This is cool. You can also drag the columns to resize
the split windows.&lt;/p&gt;

&lt;h2&gt;Split Windows&lt;/h2&gt;

&lt;p&gt;That brings me to another thing. Split windows. You have two awesome
commands at your utility.&lt;/p&gt;

&lt;p&gt;&lt;code&gt;:split:&lt;/code&gt; and &lt;code&gt;:vsplit&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;I tend to use &lt;code&gt;:vsplit&lt;/code&gt; more than &lt;code&gt;:split&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;For example, in &lt;code&gt;terminal.app&lt;/code&gt; open up a typical rails project
&lt;code&gt;cd ~/Projects/some_rails_project&lt;/code&gt; then type &lt;code&gt;mvim .&lt;/code&gt; the same way you
would have to open up a project with &lt;code&gt;mate .&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;You should have MacVim open with two windows. Both are using NERDTree
for that project drawer looking thing. That&amp;rsquo;s fine, use the right buffer
and open up a file.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Cool! It opened up a file and I see sexy syntax.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Now type &lt;code&gt;:vsplit&lt;/code&gt;&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Wow! That&amp;rsquo;s pretty cool. I can look at multiple files at once. I like
this!&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Yes, yes, I know. It is a very powerful feature. Probably my favorite
feature. Now to see something cool, use your mouse to select one of the
buffers and then type &lt;code&gt;cmd + t&lt;/code&gt; (yes, you&amp;rsquo;ll recognize that from
Textmate) and open up another file.&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Yes! I can see two files at once. This is awesome. And there is
familiarity with Textmate. I like where this is going.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;I like where this is going as well. The funny and sad part is&amp;hellip; this is
only the tip of the iceberg. If I were to go through everything
that I&amp;rsquo;ve learned within a day, then&amp;hellip; I don&amp;rsquo;t know. I&amp;rsquo;d be more crazy
than what I already sound like talking to myself in a blog post.&lt;/p&gt;

&lt;h2&gt;Window Shortcuts&lt;/h2&gt;

&lt;p&gt;After splitting several windows, there were times I wanted to grow the window without dragging the column bar. After some research I figured out the way to do this was to type &lt;code&gt;ctrl&lt;/code&gt; + &lt;code&gt;w&lt;/code&gt; + (optional number for amount) + &lt;code&gt;&amp;gt; or &amp;lt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;So for example &lt;code&gt;ctrl&lt;/code&gt; + &lt;code&gt;w&lt;/code&gt; + &lt;code&gt;&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;This will increase the current buffer&amp;rsquo;s width by a single pixel. If I wanted to expand it by 50 pixels I would type &lt;code&gt;ctrl&lt;/code&gt; + &lt;code&gt;w&lt;/code&gt; + &lt;code&gt;50&lt;/code&gt; + &lt;code&gt;&amp;gt;&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;There&amp;rsquo;s also another cool command, type &lt;code&gt;ctrl&lt;/code&gt; + &lt;code&gt;w&lt;/code&gt; + &lt;code&gt;=&lt;/code&gt; to equalize all buffer widths.&lt;/p&gt;

&lt;p&gt;I think of &lt;code&gt;ctrl&lt;/code&gt; + &lt;code&gt;w&lt;/code&gt; as &amp;ldquo;control window.&amp;rdquo;&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;I&amp;rsquo;m starting to get a hang of these split windows. One question though, how do I close one of the split windows?&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;Hey, after all, this is about going from Textmate to VIM right? So, just type &lt;code&gt;cmd&lt;/code&gt; + &lt;code&gt;w&lt;/code&gt;. Yep, it feels just like home.&lt;/p&gt;

&lt;h2&gt;Cool Daniel, Share a Screenshot With Us!&lt;/h2&gt;

&lt;p&gt;&lt;a href="/images/posts/vim_screenshot.png"&gt;&lt;img src="/images/posts/vim_screenshot.png" alt="Vim
Screenshot" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;This screenshot from left to right (NERDTree, buffer 1, buffer 2)&lt;/p&gt;

&lt;p&gt;So, for now, I recommend that you tinker around with a test Rails
project using VIM. Try out the commands listed on the Janus page. Try out some
commands from the tutorial. Try out commands on some guides on the
internet. I&amp;rsquo;ll share a couple links that I find useful at the bottom of this post.&lt;/p&gt;

&lt;h2&gt;Gotcha&amp;rsquo;s&lt;/h2&gt;

&lt;p&gt;If you work with &lt;strong&gt;Sinatra&lt;/strong&gt; you&#8217;ll want the &lt;strong&gt;ruby-sinatra syntax-highlighting&lt;/strong&gt; script. &lt;a href="https://github.com/hallison/vim-ruby-sinatra"&gt;Download that here.&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;If the NERDTree buffer isn&amp;rsquo;t updated with the latest files, make sure
that buffer is selected and then simply hit &lt;code&gt;r&lt;/code&gt; and it should refresh
that buffer with the latest files.&lt;/p&gt;

&lt;p&gt;If you want spell check on in VIM, type &lt;code&gt;:set spell&lt;/code&gt; and if you want to turn it off type &lt;code&gt;:set nospell&lt;/code&gt;. It works just like it would have in Textmate when it is on. Simply hover over the word with your mouse, and &lt;em&gt;right click&lt;/em&gt; to show suggestions on what to change it to.&lt;/p&gt;

&lt;h2&gt;Extra Links &amp;amp; Resources&lt;/h2&gt;

&lt;p&gt;Here are some extra links that I find useful. Any of these should
improve your knowledge of VIM one way or another.&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href="http://tottinge.blogsome.com/use-vim-like-a-pro"&gt;Use Vim Like a Pro&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/b4winckler/macvim"&gt;Github MacVim&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="https://github.com/carlhuda/janus"&gt;Carlhuda&amp;rsquo;s Janus&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://groups.google.com/group/vim_mac/topics"&gt;Vim Mac Google Group&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://www.worldtimzone.com/res/vi.html"&gt;Vim Cheatsheet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://vimcasts.org/"&gt;Vimcasts.org&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://alexyoung.org/2006/10/22/vim-for-textmate-fans/"&gt;Vim for Textmate Fans&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href="http://alfmikula.blogspot.com/2010/11/using-spaced-repetition-software-to.html"&gt;Spaced Repition Software to Master VIM&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;h2&gt;Your two cents?&lt;/h2&gt;

&lt;p&gt;It&amp;rsquo;s important for &lt;em&gt;you&lt;/em&gt; to give your two cents in the comments. Help
share your opinions with the readers and we can benefit the community
together as a whole.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;What are your essential plugins and settings for Vim?&lt;/strong&gt;&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>Traveling, Conferences, and Work. Oh my!</title>
    <link href="http://blog.danielfischer.com/2010/10/18/traveling-conferences-and-work-oh-my/" rel="alternate"/>
    <id>http://blog.danielfischer.com/2010/10/18/traveling-conferences-and-work-oh-my/</id>
    <published>2010-10-18T00:00:00Z</published>
    <updated>2010-10-18T00:00:00Z</updated>
    <author>
      <name>Daniel Fischer</name>
    </author>
    <summary type="html">&lt;p&gt;I&amp;rsquo;ve been meaning to update the blog with an update on GoGaRuCo and my development environment but I haven&amp;rsquo;t been able to do that. I&amp;rsquo;ve been doing a lot of traveling with &lt;a href="http://deadprogrammersociety.blogspot.com/" title="Ron Evans"&gt;Ron Evans&lt;/a&gt; between all these regional Ruby conferences. Last week we were in Boulder, Colorado at &lt;a href="http://mountainrb.com/" title="Boulder Ruby"&gt;Boulderrb&lt;/a&gt;, and this past week we were in Colima, M&#233;xico at &lt;a href="http://www.magmarails.com/" title="Magmarails"&gt;Magmarails&lt;/a&gt;. Both conferences were absolutely amazing&amp;hellip;&lt;/p&gt;
</summary>
    <content type="html">&lt;p&gt;I&amp;rsquo;ve been meaning to update the blog with an update on GoGaRuCo and my development environment but I haven&amp;rsquo;t been able to do that. I&amp;rsquo;ve been doing a lot of traveling with &lt;a href="http://deadprogrammersociety.blogspot.com/" title="Ron Evans"&gt;Ron Evans&lt;/a&gt; between all these regional Ruby conferences. Last week we were in Boulder, Colorado at &lt;a href="http://mountainrb.com/" title="Boulder Ruby"&gt;Boulderrb&lt;/a&gt;, and this past week we were in Colima, M&#233;xico at &lt;a href="http://www.magmarails.com/" title="Magmarails"&gt;Magmarails&lt;/a&gt;. Both conferences were absolutely amazing.&lt;/p&gt;

&lt;p&gt;Boulder in general was just a great conference. It&amp;rsquo;s great to attend conferences that aren&amp;rsquo;t overly large. I really like these regional Ruby conferences. They are just the right size to compliment learning, and mingling.&lt;/p&gt;

&lt;p&gt;Colima, M&#233;xico was the most fun I&amp;rsquo;ve ever had a conference yet. Everyone was absolutely great to hang out with, and it was amazing to experience a new city and culture like I&amp;rsquo;ve never seen before. I really want to thank everyone at &lt;a href="http://www.magmarails.com/" title="Magmarails"&gt;Magmarails&lt;/a&gt; for putting on such an amazing conference and then showing Ron and I around. We had an amazing time!&lt;/p&gt;

&lt;p&gt;Ruby is growing at a rapid rate. I&amp;rsquo;m glad to see enthusiasm at all levels of expertise.&lt;/p&gt;

&lt;p&gt;Next up, New Orleans Ruby Conference. See you there!&lt;/p&gt;
</content>
  </entry>
  <entry>
    <title>GoGaRuCo 2010 Recap</title>
    <link href="http://blog.danielfischer.com/2010/09/20/gogaruco-2010-recap/" rel="alternate"/>
    <id>http://blog.danielfischer.com/2010/09/20/gogaruco-2010-recap/</id>
    <published>2010-09-20T00:00:00Z</published>
    <updated>2010-09-20T00:00:00Z</updated>
    <author>
      <name>Daniel Fischer</name>
    </author>
    <summary type="html">&lt;p&gt;First off, wow! GoGaRuCo (Golden Gate Ruby Conference) 2010 was amazing. It was such a powerful group of people that had an intense passion for Ruby and even more importantly, for the community that surrounds it. I am so happy to have been apart of this gathering. I learned a ton of amazing things, and also was able to put a face on many of the famous names that stroll around the internet&amp;hellip;&lt;/p&gt;
</summary>
    <content type="html">&lt;p&gt;First off, wow! GoGaRuCo (Golden Gate Ruby Conference) 2010 was amazing. It was such a powerful group of people that had an intense passion for Ruby and even more importantly, for the community that surrounds it. I am so happy to have been apart of this gathering. I learned a ton of amazing things, and also was able to put a face on many of the famous names that stroll around the internet.&lt;/p&gt;

&lt;p&gt;It was cool to be able to be a sponsor of GoGaRuCo 2010. At the &lt;a href="http://www.hybridgroup.com"&gt;Hybridgroup&lt;/a&gt; we were mainly getting feedback on &lt;a href="http://www.kanbanpad.com"&gt;Kanbanpad&lt;/a&gt; as our target market is developers and we truly want to make something that works well and fits in a truly agile space.&lt;/p&gt;

&lt;p&gt;I&amp;rsquo;m not going to give a summary on the whole conference in itself, but a summary of what struck out to me the most:&lt;/p&gt;

&lt;h2&gt;ExplainRuby.net&lt;/h2&gt;

&lt;p&gt;Mislav &lt;a href="http://explainruby.net/"&gt;created something that is truly amazing&lt;/a&gt;. His inspiration for creating this stemmed from _why. Mislav received a famous heckle while presenting this in a lightning talk that sounded like the following: &amp;ldquo;Mislav, this is fucking AMAZING!&amp;rdquo; (from &lt;a href="http://blog.zenspider.com"&gt;Ryan Davis&lt;/a&gt; of all people!). Check out &lt;a href="http://explainruby.net/"&gt;http://explainruby.net&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This is truly an amazing piece of educational technology. I encourage all of you to check out &lt;a href="explainruby.net"&gt;explainruby.net&lt;/a&gt;. This will give an opportunity to teach others programming and Ruby and allow us to grow our very important ecosystem. We must provide an environment that cherishes the learning of Ruby and programming.&lt;/p&gt;

&lt;h2&gt;Ticket.rb&lt;/h2&gt;

&lt;blockquote&gt;&lt;p&gt;Ticketmaster provides a universal API to ticket tracking and project management systems. You can use it to connect an application to any ticketing system with a supported provider. You can also use the command line interface to easily manage your workflow when using one or more different back end project management or ticketing systems.&lt;/p&gt;&lt;/blockquote&gt;

&lt;p&gt;&lt;a href="http://www.ticketrb.com"&gt;Ticketmaster&lt;/a&gt; by Ron Evans. If you&amp;rsquo;ve ever been frustrated with dealing with multiple ticketing systems this may be your solution.&lt;/p&gt;

&lt;h2&gt;Yehuda and Rails 3.1&lt;/h2&gt;

&lt;ul&gt;
&lt;li&gt;Yehuda Katz gave an interesting presentation on Rails 3.1. The part that really stuck out to me was the attention that the &amp;ldquo;View&amp;rdquo; side was receiving of MVC. As a front-end developer I really feel like the view side is lacking in terms of practice, and attention. Rails 3.1 will natively support SCSS, Coffeescript, as well as other ery cool caching abilities.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Does anyone have a link to Yehuda&amp;rsquo;s presentation on Rails 3.1?&lt;/p&gt;

&lt;h2&gt;Yehuda &#9889; Talk on Caching in Rails 3.1&lt;/h2&gt;

&lt;p&gt;Yehuda Katz also gave an impressive &lt;a href="http://bit.ly/aZ7pHm"&gt;lightning talk on caching in Rails 3.1&lt;/a&gt;. Check out these slides. I found it very impressive and beneficial in terms of learning on how he presented the slides. He &amp;ldquo;built the code up&amp;rdquo;, and &amp;ldquo;back down again&amp;rdquo; to show the concept as a whole.&lt;/p&gt;

&lt;h2&gt;Ryan Davis on Workflow&lt;/h2&gt;

&lt;p&gt;Ryan Davis gave an interesting talk on &amp;ldquo;Workflow.&amp;rdquo; Ryan showed off his work flow, Evan Phoenix showed off his, and lastly Rein Henrichs gave his on the panel. I think it&amp;rsquo;s interesting to share what type of workflow people use, as the workflow of a professional can give insight into what makes them more efficient over others. Ryan is encouraging everyone to submit their workflow to him so he can work off that data and give a summary back to the community. At the same time I encourage everyone to create a post on their workflow so it can be surfaced to the community on a whole. Check &lt;a href="http://blog.zenspider.com/2010/09/ill-show-you-mine-you-show-me.html"&gt;this blog post&lt;/a&gt; to send Ryan Davis the details of your workflow. I also encourage you to write a blog post that contains your workflow. I&amp;rsquo;m assuming you can simply send that to Ryan and he can figure it from there.&lt;/p&gt;

&lt;p&gt;I will be writing a post on my workflow tomorrow. I&amp;rsquo;ll send a tweet about it to get everyone in the loop.&lt;/p&gt;

&lt;h2&gt;Hidden Gems of 1.9&lt;/h2&gt;

&lt;p&gt;&lt;a href="http://tenderlovemaking.com/"&gt;Aaron Patterson&lt;/a&gt; did an amazing job at presenting about Ruby 1.9.2. Most notable to me was the replacement of Test::Unit with &amp;ldquo;Mini Test&amp;rdquo; and complaining why isn&amp;rsquo;t he on the Rails core team. Valid question, why isn&amp;rsquo;t he? A ton of people tweeted DHH after that. Oh, something that was also very valuable was &amp;ldquo;Psych.&amp;rdquo; I wish I could point you to the slides for this talk as it was truly epic on so many levels and it would be impossible for me to cover everything without a blog post dedicated to this on its own.&lt;/p&gt;

&lt;p&gt;Mini Test is really interesting as it offers RSpec like notation for describing your tests. Built-in RSpec like notation is awesome. Ruby 1.9.2 FTW.&lt;/p&gt;

&lt;p&gt;In general throughout the conference seemed to be an overbearing amount of push towards &amp;ldquo;using Ruby 1.9.2 NOW. Not in the future but right now. Why aren&amp;rsquo;t you using Ruby 1.9.2? There shouldn&amp;rsquo;t be. Start using it and and today.&amp;rdquo;  I agree with that sentiment 90%. However, there&amp;rsquo;s one big problem: Engine Yard isn&amp;rsquo;t fully supporting 1.9.2 yet. Woops.&lt;/p&gt;

&lt;h2&gt;Rich Kilmer, The Revolution Will Not Be Tweeted&lt;/h2&gt;

&lt;p&gt;Rich Kilmer gave some very inspirational and educational thoughts on the Enterprise&amp;rsquo;s importance in the Rails/Ruby ecosystem. He explained how it&amp;rsquo;s dangerous for the community to simply say &amp;ldquo;f*** you to the Enterprise&amp;rdquo; and think everything will be okay. It&amp;rsquo;s important to have compassion for these enterprise developers and to offer an amazing platform that they too can relish in.&lt;/p&gt;

&lt;h2&gt;Avi Bryant, Rails is Obsolete (But so&amp;rsquo;s everything else)&lt;/h2&gt;

&lt;p&gt;Avi Bryant gave a thought provoking talk on &amp;ldquo;Rails&amp;rdquo; being an old paradigm and how we have to possibly create a new framework to support the modern web. Rich Kilmer got up to the mic and had an interesting back and fourth between Avi on this subject. This talk in itself probably deserves its own blog post. It basically centered around the idea of &amp;ldquo;removing controllers and views, because most modern web apps are models and javascript.&amp;rdquo; I feel like this isn&amp;rsquo;t entirely true and there definitely is a place for the modern-web with the MVC paradigm. It simply needs to be tweaked and modernized with the latest practices. A new framework isn&amp;rsquo;t a solution and will only push things further back on where we&amp;rsquo;ve gotten with Rails so far.&lt;/p&gt;

&lt;h2&gt;A nice quote&lt;/h2&gt;

&lt;p&gt;A famous quote that I really liked was this from &lt;a href="http://www.twitter.com/jimweirich"&gt;Jim Weirich&lt;/a&gt; &amp;ldquo;Abstractions are neither correct or incorrect, they are either useful or not.&amp;rdquo;&lt;/p&gt;

&lt;h2&gt;In retrospect&lt;/h2&gt;

&lt;p&gt;Does anyone know where the videos of the conference will be posted? I&amp;rsquo;d love to link to the information.&lt;/p&gt;

&lt;p&gt;I want to give a big shout out to all the people that helped organize and put GoGaRuCo 2010 together. You did an amazing job and I had an amazing time. It was great to meet all of you and I look forward to keeping in touch, and seeing you all again very soon.&lt;/p&gt;

&lt;p&gt;I am sorry if I missed out a lot of the details, however my summary is what stood out to me the most. If you want to share your thoughts on GoGaRuCo 2010 simply link your article in the comments and I&amp;rsquo;ll be sure to include it at the bottom of the post.&lt;/p&gt;

&lt;p&gt;Also, please forgive me if anything was written oddly in this post. I am still quite tired for the conference and instead of waiting to write out a well written post I just wanted to get this out there before it is too late. Please provide more detail/links in the comments!&lt;/p&gt;

&lt;p&gt;See you all again soon!&lt;/p&gt;
</content>
  </entry>
</feed>
