<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/atom10full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><feed xmlns="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0">
  <title>
    Andrew Vos's Blog
  </title>
  <id>
    http://www.andrewvos.com
  </id>
  <updated>
    2012-11-05T08:00:00Z
  </updated>
  <author>
    <name>
      Andrew Vos
    </name>
  </author>
  <atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/atom+xml" href="http://feeds.feedburner.com/AndrewVosDotCom" /><feedburner:info uri="andrewvosdotcom" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><entry>
    <title>
      Essential VIM Plugins
    </title>
    <link href="http://feedproxy.google.com/~r/AndrewVosDotCom/~3/7vD1xs0ER_U/" rel="alternate" />
    <id>
      http://www.andrewvos.com/2012/11/05/essential-vim-plugins
    </id>
    <published>
      2012-11-05T08:00:00Z
    </published>
    <updated>
      2012-11-05T08:00:00Z
    </updated>
    <author>
      <name>
        Andrew Vos
      </name>
    </author>
    
  <content type="html">
      &lt;h2&gt;Plugin: vimux&lt;/h2&gt;
        &lt;p&gt;vimux is a "vim plugin to interact with tmux". Want to run your unit tests in a tmux pane below your current vim session? Vimux will handle this for you.&lt;/p&gt;
        &lt;p&gt;
          Firstly, type :PromptVimTmuxCommand and vimux will ask you for a command to execute.
          This command will now be executed in a 20 character (by default) high tmux pane below your current vim session.
        &lt;/p&gt;
        &lt;img alt='vimux' src='http://www.andrewvos.com/images/2012/11/vimux.png' /&gt;
        &lt;p&gt;As you can see, I executed `rake test`.&lt;/p&gt;
        &lt;p&gt;
          Now, to run this command again in the same tmux pane execute :RunLastVimTmuxCommand.
        &lt;/p&gt;
        &lt;p&gt;In the script below I have mapped \r to :RunLastVimTmuxCommand, which allows me to quickly run my tests.&lt;/p&gt;
        &lt;pre&gt;:::vim&amp;#x000A;" Run last tmux command with \r&amp;#x000A;:map &amp;lt;leader&amp;gt;r :wa\|:RunLastVimTmuxCommand&amp;lt;cr&amp;gt;&amp;#x000A;&lt;/pre&gt;&amp;#x000A;
        &lt;h2&gt;Plugin: ctrlp.vim&lt;/h2&gt;
        &lt;p&gt;ctrlp is the best plugin I've found for quickly searching and opening files.&lt;/p&gt;
        &lt;p&gt;
          Using NERDTree for finding files in your project? Fuck you, now you're pressing CTRL-p, then typing in part of the file name that you're looking for.
          Other than finding files a hell of a lot faster than you would in a tree structure,
          a great benefit of this approach is that you actually start remembering what files are named, and end up with a better mental model of the project you're working on.
        &lt;/p&gt;
        &lt;img alt='ctrlp' src='http://www.andrewvos.com/images/2012/11/ctrlp.png' /&gt;
        &lt;h2&gt;Per-project VIM config&lt;/h2&gt;
        &lt;p&gt;
          This useful bit of code will automatically source any .vimlocal files that it finds in the current project.
          This allows you to have extra VIM config for certain projects.
        &lt;/p&gt;
        &lt;pre&gt;:::vim&amp;#x000A;"If there's a .vimlocal file automatically source it&amp;#x000A;function! SourceVimLocal()&amp;#x000A;  if filereadable(".vimlocal")&amp;#x000A;    source .vimlocal&amp;#x000A;  endif&amp;#x000A;endfunction&amp;#x000A;call SourceVimLocal()&amp;#x000A;&lt;/pre&gt;
        &lt;p&gt;I find it useful to map commands that run tests, for example:&lt;/p&gt;
        &lt;pre&gt;:::vim&amp;#x000A;  " Run all tests when pressing \r&amp;#x000A;  map &amp;lt;leader&amp;gt;r :wa\|!rake test&amp;lt;cr&amp;gt;&amp;#x000A;&lt;/pre&gt;
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=7vD1xs0ER_U:Reeo9ktNMb4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=7vD1xs0ER_U:Reeo9ktNMb4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=7vD1xs0ER_U:Reeo9ktNMb4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=7vD1xs0ER_U:Reeo9ktNMb4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=7vD1xs0ER_U:Reeo9ktNMb4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=7vD1xs0ER_U:Reeo9ktNMb4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=7vD1xs0ER_U:Reeo9ktNMb4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=7vD1xs0ER_U:Reeo9ktNMb4:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewVosDotCom/~4/7vD1xs0ER_U" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.andrewvos.com/2012/11/05/essential-vim-plugins/</feedburner:origLink></entry>
  <entry>
    <title>
      Contributing to Rubinius
    </title>
    <link href="http://feedproxy.google.com/~r/AndrewVosDotCom/~3/GcSOy6muDjU/" rel="alternate" />
    <id>
      http://www.andrewvos.com/2011/10/16/contributing-to-rubinius
    </id>
    <published>
      2011-10-16T07:00:00Z
    </published>
    <updated>
      2011-10-16T07:00:00Z
    </updated>
    <author>
      <name>
        Andrew Vos
      </name>
    </author>
    
  <content type="html">
      &lt;p&gt;
            I recently submitted my first patch to
            &lt;a href='http://rubini.us/'&gt;Rubinius&lt;/a&gt;
            and was quite amazed at how simple it was. If you're looking for a cool Ruby project to contribute to, Rubinius is the one.
          &lt;/p&gt;
          &lt;h2&gt;Getting Started&lt;/h2&gt;
          &lt;ol&gt;
            &lt;li&gt;
              Fork
              &lt;a href='https://github.com/rubinius/rubinius'&gt;the project&lt;/a&gt;
              and git clone your fork.
            &lt;/li&gt;
            &lt;li&gt;
              Build the project and run the tests.
              &lt;pre&gt;:::bash&amp;#x000A;  ./configure&amp;#x000A;  rake spec&amp;#x000A;&lt;/pre&gt;
              If anything goes wrong, head to the internets! Alternatively, check out #rubinius on Freenode.
            &lt;/li&gt;
            &lt;li&gt;
              There is a list of specs that fail when run under 1.9.2, which is a great place to find stuff to work on.
              To get a list of these specs, run the following command:
              &lt;pre&gt;:::bash&amp;#x000A;  bin/mspec tag --list fails -tx19 :ci_files&amp;#x000A;&lt;/pre&gt;
            &lt;/li&gt;
            &lt;li&gt;Find a failing spec that looks interesting.&lt;/li&gt;
            &lt;li&gt;
              Run the tests for that method.
              For example, my first patch involved Kernel#puts. To run the specs I ran the following command:
              &lt;pre&gt;:::bash&amp;#x000A;rake build &amp;&amp; ./bin/mspec -tx19 spec/ruby/core/kernel/puts_spec.rb&amp;#x000A;&lt;/pre&gt;
              Notice how I'm executing rake build first? You have to do a build before running any tests if you've changed any code.
            &lt;/li&gt;
            &lt;li&gt;Fix the code! This part will obviously be different depending on the code you're changing, so if you're having problems check out #rubinius on Freenode.&lt;/li&gt;
            &lt;li&gt;
              Mark the failing test as passing:
              &lt;pre&gt;:::bash&amp;#x000A;./bin/mspec tag --del fails -tx19 core/kernel/puts&amp;#x000A;&lt;/pre&gt;
              This command should run the tests, and remove and tests that are passing.
            &lt;/li&gt;
            &lt;li&gt;
              Do a full `rake` before pushing your code to make sure you haven't broken anything else.
              &lt;pre&gt;:::bash&amp;#x000A;rake&amp;#x000A;&lt;/pre&gt;
            &lt;/li&gt;
          &lt;/ol&gt;
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=GcSOy6muDjU:AliegXDgw3I:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=GcSOy6muDjU:AliegXDgw3I:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=GcSOy6muDjU:AliegXDgw3I:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=GcSOy6muDjU:AliegXDgw3I:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=GcSOy6muDjU:AliegXDgw3I:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=GcSOy6muDjU:AliegXDgw3I:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=GcSOy6muDjU:AliegXDgw3I:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=GcSOy6muDjU:AliegXDgw3I:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewVosDotCom/~4/GcSOy6muDjU" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.andrewvos.com/2011/10/16/contributing-to-rubinius/</feedburner:origLink></entry>
  <entry>
    <title>
      Showing git status in your bash prompt
    </title>
    <link href="http://feedproxy.google.com/~r/AndrewVosDotCom/~3/AhOAh0eVar0/" rel="alternate" />
    <id>
      http://www.andrewvos.com/2011/07/25/showing-git-status-in-your-bash-prompt
    </id>
    <published>
      2011-07-25T07:00:00Z
    </published>
    <updated>
      2011-07-25T07:00:00Z
    </updated>
    <author>
      <name>
        Andrew Vos
      </name>
    </author>
    
  <content type="html">
      &lt;p&gt;I use git almost exclusively for any new code I write, and I end up checking the status of my working directory quite often.&lt;/p&gt;
            &lt;p&gt;
              I wanted to be able to view my git status without actually typing anything so I wrote a simple bash prompt that displays a git icon if you are in a git repository. If the repository has uncommited changes the icon turns red and if the working directory is clean then the icon turns green. 
            &lt;/p&gt;
            &lt;p&gt;An example of what it should look like is below:&lt;/p&gt;
            &lt;img alt='Git Prompt' src='http://andrewvos.com/images/2011/07/git-prompt.png' /&gt;
            &lt;p&gt;Copy this code into your ~/.bash_profile and you're good to go!&lt;/p&gt;
            &lt;pre&gt;:::bash&amp;#x000A;function git_prompt {&amp;#x000A;  local STATUS=`git status 2&gt;&amp;1`&amp;#x000A;  if [[ "$STATUS" == *'Not a git repository'* ]]&amp;#x000A;  then&amp;#x000A;    echo "$"&amp;#x000A;  else&amp;#x000A;    if [[ "$STATUS" == *'working directory clean'* ]]&amp;#x000A;    then&amp;#x000A;      echo -e '\033[0;32m&amp;plusmn;\033[m'&amp;#x000A;    else&amp;#x000A;      echo -e '\033[0;31m&amp;plusmn;\033[m'&amp;#x000A;    fi&amp;#x000A;  fi&amp;#x000A;}&amp;#x000A;&amp;#x000A;export PS1='\w $(git_prompt) '&amp;#x000A;&lt;/pre&gt;
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=AhOAh0eVar0:w5hgE9Ixyxk:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=AhOAh0eVar0:w5hgE9Ixyxk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=AhOAh0eVar0:w5hgE9Ixyxk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=AhOAh0eVar0:w5hgE9Ixyxk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=AhOAh0eVar0:w5hgE9Ixyxk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=AhOAh0eVar0:w5hgE9Ixyxk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=AhOAh0eVar0:w5hgE9Ixyxk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=AhOAh0eVar0:w5hgE9Ixyxk:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewVosDotCom/~4/AhOAh0eVar0" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.andrewvos.com/2011/07/25/showing-git-status-in-your-bash-prompt/</feedburner:origLink></entry>
  <entry>
    <title>
      Upgrading VIM on OS X with homebrew
    </title>
    <link href="http://feedproxy.google.com/~r/AndrewVosDotCom/~3/Xzu3_KnnVMs/" rel="alternate" />
    <id>
      http://www.andrewvos.com/2011/07/23/upgrading-vim-on-os-x-with-homebrew
    </id>
    <published>
      2011-07-23T07:00:00Z
    </published>
    <updated>
      2011-07-23T07:00:00Z
    </updated>
    <author>
      <name>
        Andrew Vos
      </name>
    </author>
    
  <content type="html">
      &lt;p&gt;You may have noticed that Homebrew doesn't include VIM in it's repositories. This is because they don't support "duplicates" which means that any command line tool that comes pre-installed with OS X will not be in their repository.&lt;/p&gt;
              &lt;p&gt;
                There is a workaround though and it involves using
                &lt;a href='https://github.com/adamv/homebrew-alt'&gt;homebrew-alt.&lt;/a&gt;
              &lt;/p&gt;
              &lt;p&gt;Unfortunately the vim formula in homebrew-alt doesn't work if you happen to have Ruby 1.9.2 installed, so for now you'll have to use my fork.&lt;/p&gt;
              &lt;pre&gt;:::bash&amp;#x000A;# Install VIM&amp;#x000A;brew install https://raw.github.com/AndrewVos/homebrew-alt/master/duplicates/vim.rb&amp;#x000A;&amp;#x000A;# Rename old vim to 'vim72' so that we can still access it if we need to&amp;#x000A;mv /usr/bin/vim /usr/bin/vim72&amp;#x000A;&lt;/pre&gt;&amp;#x000A;
              &lt;p&gt;Now if you restart your terminal and check the VIM version you should see something like this:&lt;/p&gt;
              &lt;pre&gt;:::bash&amp;#x000A;$ vim --version&amp;#x000A;VIM - Vi IMproved 7.3 (2010 Aug 15, compiled Jul 23 2011 20:09:39)&amp;#x000A;MacOS X (unix) version&amp;#x000A;&lt;/pre&gt;&amp;#x000A;
              &lt;p&gt;Great! You now have a more stable VIM.&lt;/p&gt;
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=Xzu3_KnnVMs:uVjhzMJJvA8:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=Xzu3_KnnVMs:uVjhzMJJvA8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=Xzu3_KnnVMs:uVjhzMJJvA8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=Xzu3_KnnVMs:uVjhzMJJvA8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=Xzu3_KnnVMs:uVjhzMJJvA8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=Xzu3_KnnVMs:uVjhzMJJvA8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=Xzu3_KnnVMs:uVjhzMJJvA8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=Xzu3_KnnVMs:uVjhzMJJvA8:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewVosDotCom/~4/Xzu3_KnnVMs" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.andrewvos.com/2011/07/23/upgrading-vim-on-os-x-with-homebrew/</feedburner:origLink></entry>
  <entry>
    <title>
      Writing better Cucumber features
    </title>
    <link href="http://feedproxy.google.com/~r/AndrewVosDotCom/~3/_N4yIj5NHyM/" rel="alternate" />
    <id>
      http://www.andrewvos.com/2011/06/15/writing-better-cucumber-features
    </id>
    <published>
      2011-06-15T07:00:00Z
    </published>
    <updated>
      2011-06-15T07:00:00Z
    </updated>
    <author>
      <name>
        Andrew Vos
      </name>
    </author>
    
  <content type="html">
      &lt;p&gt;
                  &lt;img alt='Cucumber Logo' src='http://www.andrewvos.com/images/2011/06/cucumber-logo.png' /&gt;
                  &lt;p&gt;In this post I'm going to attempt to document some useful guidelines that in my experience has lead to writing cleaner, more maintainable and less flaky features.&lt;/p&gt;
                &lt;/p&gt;
                &lt;h3&gt;Features can contain extra details if it is relevant to the feature&lt;/h3&gt;
                &lt;p&gt;Lets say we are requesting some data from a rest service and we are expecting an xml response. It may be useful for documentation purposes to show this xml response right in the feature file.&lt;/p&gt;
                &lt;pre&gt;:::cucumber&amp;#x000A;Scenario: Data Request&amp;#x000A;Given I request some data from http://sample.org/data.xml&amp;#x000A;I should see the xml&amp;#x000A;'''&amp;#x000A;&lt;xml&gt;&amp;#x000A;  &lt;data&gt;&amp;#x000A;    hello&amp;#x000A;  &lt;/data&gt;&amp;#x000A;&lt;/xml&gt;&amp;#x000A;'''&amp;#x000A;&lt;/pre&gt;&amp;#x000A;
                &lt;h3&gt;Scenarios should not automate the UI&lt;/h3&gt;
                &lt;p&gt;Consider the following code:&lt;/p&gt;
                &lt;pre&gt;:::cucumber&amp;#x000A;Scenario: Invalid email address&amp;#x000A;When I fill in "Username" with "Username"&amp;#x000A;And I fill in "Password" with "password123"&amp;#x000A;And I fill in "Confirm Password" with "password123"&amp;#x000A;And I fill in "Email Address" with "invalid email address"&amp;#x000A;And click "Create User"&amp;#x000A;Then I should see "Please enter a valid email address"&amp;#x000A;&lt;/pre&gt;&amp;#x000A;
                &lt;p&gt;There is a lot of code here that is not relevant to the scenario at all and only serves to automate the browser.&lt;/p&gt;
                &lt;p&gt;If we remove the details that aren't relevant we get a much more readable scenario:&lt;/p&gt;
                &lt;pre&gt;:::cucumber&amp;#x000A;Scenario: Invalid email address&amp;#x000A;When I fill in an invalid email address&amp;#x000A;And click "Create User"&amp;#x000A;Then I should see "Please enter a valid email address"&amp;#x000A;&lt;/pre&gt;&amp;#x000A;
                &lt;h3&gt;Features should only contain information that the user sees&lt;/h3&gt;
                &lt;p&gt;Element ids, CSS and XPath is only relevant to developers and should be kept in the step definitions or removed entirely.&lt;/p&gt;
                &lt;p&gt;
                  In the following code example we use
                  &lt;a href='https://github.com/jnicklas/capybara'&gt;Capybara&lt;/a&gt;
                  to fill in the password text input using the label which links to it using the 'for' attribute.
                &lt;/p&gt;
                &lt;pre&gt;:::html&amp;#x000A;&lt;label for="password"&gt;Password&lt;/label&gt;&amp;#x000A;&lt;input type="text" name="password"&gt;&lt;/input&gt;&amp;#x000A;&lt;/pre&gt;&amp;#x000A;
                &lt;pre&gt;:::ruby&amp;#x000A;fill_in "Password", :with =&gt; "password123"&amp;#x000A;&lt;/pre&gt;&amp;#x000A;
                &lt;p&gt;
                  If you are using SpecFlow instead of Cucumber then
                  &lt;a href='https://github.com/ITV/Coypu'&gt;Coypu&lt;/a&gt;
                  is a very powerful Capybara-like .NET tool.
                &lt;/p&gt;
                &lt;h3&gt;Scenarios should not be dependant on other scenarios&lt;/h3&gt;
                &lt;p&gt;There should never be a situation where one scenario needs to be run before another scenario.&lt;/p&gt;
                &lt;p&gt;I've personally seen feature files that had scenarios with names that had number prefixes in order to make sure that they ran in a certain order. This is evil and should never happen.&lt;/p&gt;
                &lt;p&gt;Never ever ever let this happen:&lt;/p&gt;
                &lt;pre&gt;:::cucumber&amp;#x000A;Scenario: 0TestSetup&amp;#x000A;  Given some data is in the database&amp;#x000A;&amp;#x000A;Scenario: 1UserNavigatesToProfilePage&amp;#x000A;  Given the user has logged in&amp;#x000A;  When I click Profile&amp;#x000A;  Then I should see the Profile page&amp;#x000A;&amp;#x000A;Scenario: 2UserChangesTheirPassword&amp;#x000A;  When I enter a new password&amp;#x000A;  And I click Save&amp;#x000A;  Then I should see "Password changed"&amp;#x000A;&lt;/pre&gt;&amp;#x000A;
                &lt;h3&gt;Use Background for setup when there's more than one scenario&lt;/h3&gt;
                &lt;p&gt;Remember that whatever is more readable is always better. In the first code sample we only have one scenario so we don't need to DRY up the feature yet, but in the second sample it makes sense to add a Background section.&lt;/p&gt;
                &lt;pre&gt;:::cucumber&amp;#x000A;Scenario: Logged in user visits the user registration page&amp;#x000A;  Given I am logged in&amp;#x000A;  And I visit the user registration page&amp;#x000A;  Then I should be redirected to the home page&amp;#x000A;&lt;/pre&gt;&amp;#x000A;
                &lt;pre&gt;:::cucumber&amp;#x000A;Background:&amp;#x000A;  Given I am logged in&amp;#x000A;&amp;#x000A;Scenario: Logged in user visits the user registration page&amp;#x000A;  And I visit the user registration page&amp;#x000A;  Then I should be redirected to the home page&amp;#x000A;&amp;#x000A;Scenario: Logged in user visits the logout page&amp;#x000A;  And I visit the logout page&amp;#x000A;  Then I should be redirected to the home page&amp;#x000A;&lt;/pre&gt;&amp;#x000A;
                &lt;h3&gt;Feature names are features not processes&lt;/h3&gt;
                &lt;p&gt;Feature names should describe actual features. An example of a bad feature name is "A user registers an account". This feature should probably be called "Registration" or "User Registration".&lt;/p&gt;
                &lt;h3&gt;Don't use multiple 'thens'&lt;/h3&gt;
                &lt;p&gt;Instead of multiple Thens use one Then and follow it up with Ands. The second scenario below is a lot more readable.&lt;/p&gt;
                &lt;pre&gt;:::cucumber&amp;#x000A;Scenario: Registration&amp;#x000A;  When I fill in user details&amp;#x000A;  And click Register&amp;#x000A;  Then I should be redirected to the home page&amp;#x000A;  Then I should see "account created"&amp;#x000A;&lt;/pre&gt;&amp;#x000A;
                &lt;pre&gt;:::cucumber&amp;#x000A;Scenario: Registration&amp;#x000A;  When I fill in user details&amp;#x000A;  And click Register&amp;#x000A;  Then I should be redirected to the home page&amp;#x000A;  And I should see "account created"&amp;#x000A;&lt;/pre&gt;&amp;#x000A;
                &lt;h3&gt;Your features are your documentation&lt;/h3&gt;
                &lt;p&gt;
                  &lt;a href='http://relishapp.com/'&gt;Relish&lt;/a&gt;
                  is a very useful new site that takes all your feature files and displays them in a very readable format.
                &lt;/p&gt;
                &lt;p&gt;Why not push all your features up there so that anyone in your team can have access to your feature documentation?&lt;/p&gt;
                &lt;img alt='Relish feature' src='http://www.andrewvos.com/images/2011/06/relish-feature.png' /&gt;
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=_N4yIj5NHyM:CeM9Q7Iesr0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=_N4yIj5NHyM:CeM9Q7Iesr0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=_N4yIj5NHyM:CeM9Q7Iesr0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=_N4yIj5NHyM:CeM9Q7Iesr0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=_N4yIj5NHyM:CeM9Q7Iesr0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=_N4yIj5NHyM:CeM9Q7Iesr0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=_N4yIj5NHyM:CeM9Q7Iesr0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=_N4yIj5NHyM:CeM9Q7Iesr0:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewVosDotCom/~4/_N4yIj5NHyM" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.andrewvos.com/2011/06/15/writing-better-cucumber-features/</feedburner:origLink></entry>
  <entry>
    <title>
      tony - a project generator for Sinatra
    </title>
    <link href="http://feedproxy.google.com/~r/AndrewVosDotCom/~3/UAzOZc_fDfo/" rel="alternate" />
    <id>
      http://www.andrewvos.com/2011/05/14/tony-a-project-generator-for-sinatra
    </id>
    <published>
      2011-05-14T07:00:00Z
    </published>
    <updated>
      2011-05-14T07:00:00Z
    </updated>
    <author>
      <name>
        Andrew Vos
      </name>
    </author>
    
  <content type="html">
      &lt;p&gt;
                    Looking for a project generator for your Sinatra projects? Check out my new project
                    &lt;a href='https://github.com/AndrewVos/tony'&gt;tony.&lt;/a&gt;
                  &lt;/p&gt;
                  &lt;h3&gt;Demo&lt;/h3&gt;
                  &lt;iframe frameborder='0' height='300' src='http://player.vimeo.com/video/23707392' width='400'&gt;&lt;/iframe&gt;
                  &lt;h3&gt;Usage&lt;/h3&gt;
                  &lt;pre&gt;:::bash&amp;#x000A;$ tony rspec sinatra heroku&amp;#x000A;create .gems&amp;#x000A;create Rakefile&amp;#x000A;create spec/helper.rb&amp;#x000A;create config.ru&amp;#x000A;create lib/application.rb&amp;#x000A;create lib/configuration.rb&amp;#x000A;create public/scripts/main.js&amp;#x000A;create public/styles/main.css&amp;#x000A;create views/index.erb&amp;#x000A;create views/layout.erb&amp;#x000A;create spec/application_spec.rb&amp;#x000A;&lt;/pre&gt;
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=UAzOZc_fDfo:q9xH3lvAlEI:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=UAzOZc_fDfo:q9xH3lvAlEI:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=UAzOZc_fDfo:q9xH3lvAlEI:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=UAzOZc_fDfo:q9xH3lvAlEI:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=UAzOZc_fDfo:q9xH3lvAlEI:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=UAzOZc_fDfo:q9xH3lvAlEI:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=UAzOZc_fDfo:q9xH3lvAlEI:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=UAzOZc_fDfo:q9xH3lvAlEI:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewVosDotCom/~4/UAzOZc_fDfo" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.andrewvos.com/2011/05/14/tony-a-project-generator-for-sinatra/</feedburner:origLink></entry>
  <entry>
    <title>
      How to upload code to an Arduino Uno from the command line (part 2)
    </title>
    <link href="http://feedproxy.google.com/~r/AndrewVosDotCom/~3/5ChwY_39Wdk/" rel="alternate" />
    <id>
      http://www.andrewvos.com/2011/04/30/how-to-upload-code-to-an-arduino-uno-from-the-command-line-part-2
    </id>
    <published>
      2011-04-30T07:00:00Z
    </published>
    <updated>
      2011-04-30T07:00:00Z
    </updated>
    <author>
      <name>
        Andrew Vos
      </name>
    </author>
    
  <content type="html">
      &lt;p&gt;I was having some weird problems with pretty much any Makefile I found to upload/compile arduino source code and upload it and I really didn't want to have to use that terrible IDE they provide so I rolled my own rake file.&lt;/p&gt;
                    &lt;p&gt;
                      The entire rakefile is available on
                      &lt;a href='https://github.com/AndrewVos/arduino-tools'&gt;github.&lt;/a&gt;
                      Please feel free to fork and submit a pull request!
                    &lt;/p&gt;
                    &lt;p&gt;`curl` this code to a Rakefile and run `rake compile` to compile your project and `rake upload` to upload it.&lt;/p&gt;
                    &lt;pre&gt;:::bash&amp;#x000A;curl https://github.com/AndrewVos/arduino-tools/raw/master/rakefile.rb &gt; Rakefile&amp;#x000A;&lt;/pre&gt;
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=5ChwY_39Wdk:NxHLWm5X4w0:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=5ChwY_39Wdk:NxHLWm5X4w0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=5ChwY_39Wdk:NxHLWm5X4w0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=5ChwY_39Wdk:NxHLWm5X4w0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=5ChwY_39Wdk:NxHLWm5X4w0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=5ChwY_39Wdk:NxHLWm5X4w0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=5ChwY_39Wdk:NxHLWm5X4w0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=5ChwY_39Wdk:NxHLWm5X4w0:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewVosDotCom/~4/5ChwY_39Wdk" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.andrewvos.com/2011/04/30/how-to-upload-code-to-an-arduino-uno-from-the-command-line-part-2/</feedburner:origLink></entry>
  <entry>
    <title>
      How to upload code to an Arduino Uno from the command line
    </title>
    <link href="http://feedproxy.google.com/~r/AndrewVosDotCom/~3/tU9zYTDTSiI/" rel="alternate" />
    <id>
      http://www.andrewvos.com/2011/04/29/how-to-upload-code-to-an-arduino-uno-from-the-command-line
    </id>
    <published>
      2011-04-29T07:00:00Z
    </published>
    <updated>
      2011-04-29T07:00:00Z
    </updated>
    <author>
      <name>
        Andrew Vos
      </name>
    </author>
    
  <content type="html">
      &lt;p&gt;I recently bought an Arduino Uno and I wanted to be able to edit code in Vim and upload it directly from the command line.&lt;/p&gt;
                      &lt;ol&gt;
                        &lt;li&gt;
                          &lt;a href='http://www.arduino.cc/en/Main/Software'&gt;Download&lt;/a&gt;
                          and install the Arduino software.
                        &lt;/li&gt;
                        &lt;li&gt;
                          Get
                          &lt;a href='http://mjo.tc/atelier/2009/02/arduino-cli.html'&gt;this makefile&lt;/a&gt;
                          and put it somewhere accessible to your project.
                        &lt;/li&gt;
                        &lt;li&gt;
                          Create a Makefile in your project directory that looks something like this:
                        &lt;/li&gt;
                      &lt;/ol&gt;
                      &lt;script src='https://gist.github.com/948441.js?file=gistfile1.mak'&gt;&lt;/script&gt;
                      &lt;p&gt;Now you can run `make` to compile or just `make upload` to compile and upload in one shot.&lt;/p&gt;
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=tU9zYTDTSiI:HiQ3_s92XH4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=tU9zYTDTSiI:HiQ3_s92XH4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=tU9zYTDTSiI:HiQ3_s92XH4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=tU9zYTDTSiI:HiQ3_s92XH4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=tU9zYTDTSiI:HiQ3_s92XH4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=tU9zYTDTSiI:HiQ3_s92XH4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=tU9zYTDTSiI:HiQ3_s92XH4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=tU9zYTDTSiI:HiQ3_s92XH4:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewVosDotCom/~4/tU9zYTDTSiI" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.andrewvos.com/2011/04/29/how-to-upload-code-to-an-arduino-uno-from-the-command-line/</feedburner:origLink></entry>
  <entry>
    <title>
      Digits of PI expressed as piano notes
    </title>
    <link href="http://feedproxy.google.com/~r/AndrewVosDotCom/~3/qoSIXFo9gm0/" rel="alternate" />
    <id>
      http://www.andrewvos.com/2011/03/14/digits-of-pi-expressed-as-piano-notes
    </id>
    <published>
      2011-03-14T07:00:00Z
    </published>
    <updated>
      2011-03-14T07:00:00Z
    </updated>
    <author>
      <name>
        Andrew Vos
      </name>
    </author>
    
  <content type="html">
      &lt;p&gt;
                          I saw an
                          &lt;a href='http://apps.ycombinator.com/item?id=2318159'&gt;article on Hacker News&lt;/a&gt;
                          about taking the digits of PI and expressing them as notes.
                        &lt;/p&gt;
                        &lt;p&gt;
                          This inspired me to write a ruby script that does the same. The script is available on github
                          &lt;a href='https://github.com/AndrewVos/pi-notes'&gt;here.&lt;/a&gt;
                        &lt;/p&gt;
                        &lt;p&gt;Here's a sound clip of this script:&lt;/p&gt;
                        &lt;p&gt;
                          &lt;audio autobuffer='autobuffer' controls='controls' preload='auto'&gt;
                            &lt;source src='http://www.andrewvos.com/downloads/pi-notes/pi-notes.mp3'&gt;&lt;/source&gt;
                            &lt;source src='http://www.andrewvos.com/downloads/pi-notes/pi-notes.ogg'&gt;&lt;/source&gt;
                          &lt;/audio&gt;
                        &lt;/p&gt;
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=qoSIXFo9gm0:93JIi50V7P4:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=qoSIXFo9gm0:93JIi50V7P4:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=qoSIXFo9gm0:93JIi50V7P4:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=qoSIXFo9gm0:93JIi50V7P4:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=qoSIXFo9gm0:93JIi50V7P4:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=qoSIXFo9gm0:93JIi50V7P4:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=qoSIXFo9gm0:93JIi50V7P4:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=qoSIXFo9gm0:93JIi50V7P4:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewVosDotCom/~4/qoSIXFo9gm0" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.andrewvos.com/2011/03/14/digits-of-pi-expressed-as-piano-notes/</feedburner:origLink></entry>
  <entry>
    <title>
      Who are the laziest and hackiest developers?
    </title>
    <link href="http://feedproxy.google.com/~r/AndrewVosDotCom/~3/uXRV2MCyaAI/" rel="alternate" />
    <id>
      http://www.andrewvos.com/2011/02/28/who-are-the-laziest-and-hackiest-developers
    </id>
    <published>
      2011-02-28T08:00:00Z
    </published>
    <updated>
      2011-02-28T08:00:00Z
    </updated>
    <author>
      <name>
        Andrew Vos
      </name>
    </author>
    
  <content type="html">
      &lt;p&gt;
                            My
                            &lt;a href='http://andrewvos.com/2011/02/21/amount-of-profanity-in-git-commit-messages-per-programming-language/'&gt;other post&lt;/a&gt;
                            on profanity in languages was quite popular, so I thought I would try out some new words.
                          &lt;/p&gt;
                          &lt;p style='color:red;'&gt;
                            In the interest of not making mortal enemies I would like to note that this is all just for fun and I'm not implying that developers using X language are lazy/hacky.
                          &lt;/p&gt;
                          &lt;p&gt;Out of just below one million github commit messages, here are the stats on 'hack', 'workaround' and 'todo'.&lt;/p&gt;
                          &lt;script type='text/javascript'&gt;
                            //&lt;![CDATA[
                              var hackTodoWorkaroundData = new Array(
                                [[96,  140, 91],  "C#"],
                                [[270, 408, 189], "C++"],
                                [[172, 438, 157], "C"],
                                [[92,  344, 195], "Java"],
                                [[181, 396, 125], "JavaScript"],
                                [[169, 957, 174], "Perl"],
                                [[56,  237, 74],  "PHP"],
                                [[117, 421, 97],  "Python"],
                                [[171, 645, 140], "Ruby"]
                              );
                              
                              $().ready(function(){
                                $("#hack-todo-workaround-chart").jqBarGraph({
                                  data:   hackTodoWorkaroundData,
                                  colors: ['#242424','#437346','#97D95C'],
                                  type: 'multi',
                                  legends: ['hack','todo','workaround'],
                                  legend: true,
                                  legendWidth: 125,
                                  sort: true,
                                  barSpace: 5,
                                  width:  '100%',
                                  height: 300
                                });
                              });
                            //]]&gt;
                          &lt;/script&gt;
                          &lt;div class='bar-chart' id='hack-todo-workaround-chart'&gt;&lt;/div&gt;
                          &lt;p&gt;Quite high there eh Perl?&lt;/p&gt;
    &lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=uXRV2MCyaAI:ko1T46NKrRg:yIl2AUoC8zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=yIl2AUoC8zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=uXRV2MCyaAI:ko1T46NKrRg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=uXRV2MCyaAI:ko1T46NKrRg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=uXRV2MCyaAI:ko1T46NKrRg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=uXRV2MCyaAI:ko1T46NKrRg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=uXRV2MCyaAI:ko1T46NKrRg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?i=uXRV2MCyaAI:ko1T46NKrRg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/AndrewVosDotCom?a=uXRV2MCyaAI:ko1T46NKrRg:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/AndrewVosDotCom?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/AndrewVosDotCom/~4/uXRV2MCyaAI" height="1" width="1"/&gt;</content><feedburner:origLink>http://www.andrewvos.com/2011/02/28/who-are-the-laziest-and-hackiest-developers/</feedburner:origLink></entry>
</feed>
