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

  <title><![CDATA[{ Steven Haddox's Blog }]]></title>
  <link href="http://blog.stevenhaddox.com/atom.xml" rel="self"/>
  <link href="http://blog.stevenhaddox.com/"/>
  <updated>2017-06-01T12:10:58-04:00</updated>
  <id>http://blog.stevenhaddox.com/</id>
  <author>
    <name><![CDATA[Steven Haddox]]></name>
    <email><![CDATA[steven.haddox@gmail.com]]></email>
  </author>
  <generator uri="http://octopress.org/">Octopress</generator>

  
  <entry>
    <title type="html"><![CDATA[Vote Your Heart]]></title>
    <link href="http://blog.stevenhaddox.com/2012/11/05/vote-your-heart/"/>
    <updated>2012-11-05T00:00:00-05:00</updated>
    <id>http://blog.stevenhaddox.com/2012/11/05/vote-your-heart</id>
    <content type="html"><![CDATA[<p>Today I&rsquo;m going to keep this simple, the majority of us (33+%) are sick of the two party system. It&rsquo;s time to change that. If you, yes <strong>you</strong>, would get off your pity party, lesser-evil-voting, &ldquo;I&rsquo;m not going to let the other guy win&rdquo; high horse and actually vote for whichever candidate best represents you we would have a three or even four party political system already.</p>

<p><strong>NOW</strong> is the time to stand up for what <strong>you</strong> believe in and vote that it be represented in our political system. Republicans broke their promises under Bush, Democrats did the same under Obama. Vote what your heart tells you is right and go home with a clean conscious.</p>

<p>For me this person is the Libertarian candidate <a href="http://garyjohnson2012.com">Governor Gary Johnson</a>. For you it may well be someone else. Take a few minutes to easily find out on <a href="http://isidewith.com">I Side With</a> and cast your vote accordingly. dont keep wasting your vote on a two-party system that wont fix anything.</p>

<p>Remember, remember the 5th of November! Now get off your butt and vote with your heart already. #FTW!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Learn Ruby and Ruby on Rails]]></title>
    <link href="http://blog.stevenhaddox.com/2012/10/20/learn-ruby-and-ruby-on-rails/"/>
    <updated>2012-10-20T09:44:00-04:00</updated>
    <id>http://blog.stevenhaddox.com/2012/10/20/learn-ruby-and-ruby-on-rails</id>
    <content type="html"><![CDATA[<p>I&rsquo;m often asked what I think are the best resources for learning Ruby and Ruby on Rails. I&rsquo;ve answered this somewhat before with my <a href="http://blog.stevenhaddox.com/2010/02/25/my-ruby-rails-reading-list">Ruby/Rails Reading List</a>. I have countless online resources I use, but I often try to filter those into my Ruby fanboy blog I run <a href="http://fuckyeahruby.com">Fuck Yeah Ruby</a>. For beginners though I am a bit old school and feel that the best thing you can do is limit your resources to some specific options that are less distracting that the Internet. For those who are looking to learn Ruby or learn Ruby on Rails, I really enjoy the following resources.</p>

<p>Also, as a beginner, it is absolutely <strong>critical</strong> that you learn how to <strong>test</strong> every bit as well as you learn to code! This is one of the things I most love about the Ruby community, testing is absolutely <strong>expected</strong> of your code! Do not think you are special, exceptional, or insignificant enough that the rules don&rsquo;t apply to you. We all run into each other&rsquo;s code eventually and it is absolutely essential to learn how to test properly!</p>

<p>If you have your own opinions or suggestions (and I know all Rubyists do), feel free to share them in the comments below.</p>

<h2>Training</h2>

<ul>
<li><a href="http://pragmaticstudio.com/ruby">Pragmatic Studio&rsquo;s Ruby Course</a></li>
<li><a href="http://pragmaticstudio.com/rails">Pragmatic Studio&rsquo;s Intro to Rails Course</a></li>
</ul>


<h2>Books</h2>

<h3>Books for Newbs:</h3>

<ul>
<li><a href="http://pragprog.com/book/rails4/agile-web-development-with-rails">Agile Web Development with Rails</a></li>
<li><a href="http://ruby.railstutorial.org/">Rails 3 Tutorial</a></li>
</ul>


<h3>Testing Books:</h3>

<ul>
<li><a href="http://pragprog.com/book/achbd/the-rspec-book">The RSpec Book</a></li>
<li><a href="http://pragprog.com/book/hwcuc/the-cucumber-book">The Cucumber Book</a></li>
</ul>


<h3>Intermediate Books:</h3>

<ul>
<li><a href="http://pragprog.com/book/jvrails/crafting-rails-applications">Crafting Rails Applications</a></li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Remote Pairing with SSH, tmux, and vim]]></title>
    <link href="http://blog.stevenhaddox.com/2012/04/11/remote-pairing-with-ssh-tmux-vim/"/>
    <updated>2012-04-11T22:32:00-04:00</updated>
    <id>http://blog.stevenhaddox.com/2012/04/11/remote-pairing-with-ssh-tmux-vim</id>
    <content type="html"><![CDATA[<h2>Why Would You Do This?</h2>

<p>I&rsquo;m not going to go into an in-depth lecture about <a href="http://en.wikipedia.org/wiki/Agile_software_development">Agile Development</a> or <a href="http://en.wikipedia.org/wiki/Extreme_Programming">Extreme Programming, aka XP</a>, but I will tell you that in my new company we&rsquo;ve decided to embrace some of these practices; however, one of our team members lives in a state far far away (but luckily in the same time zone). This morning was my first opportunity to pair with him and so I setup an environment to allow us to share a terminal window quickly and easily with the following process.</p>

<h2>Setup Dependencies</h2>

<p>This process assumes that you already have a working development environment utilizing tools like <a href="http://mxcl.github.com/homebrew/">Homebrew</a>, <a href="https://rvm.io/">RVM</a> (or equivalent), and OS X / Linux.</p>

<h2>1. Create Your Sandbox</h2>

<p>Before your pair can access your system you&rsquo;ll need to do a few things.</p>

<ol>
<li>Create a new user on your system, I went with <code>pair</code>. Unless you want to share your entire home folder with your office&hellip;</li>
<li>Enable ssh authentication</li>
<li> Ensure that tmux is installed (<code>brew install tmux</code> on OS X, see the <code>Homebrew</code> link earlier for details)</li>
<li> Turn on <code>Remote Login</code> for the <code>pair</code> user <strong>only</strong> under <code>Sharing</code> in <code>System Preferences</code> on your Mac (if you&rsquo;re on Linux I&rsquo;m sure you can handle setting up ssh key-based auth).</li>
<li> If you haven&rsquo;t yet, make sure you have your Firewall enabled on your now publicly facing Mac.</li>
<li> Have your pair send you their <code>id_rsa.pub</code> and add that key to your new <code>pair</code> user&rsquo;s <code>~/.ssh/authorized_keys</code> file.</li>
<li> Remember to append your own <code>id_rsa.pub</code> file to the <code>pair</code> user&rsquo;s <code>~/.ssh/authorized_keys</code> file.</li>
<li> <a href="http://anthonyvance.com/blog/security/disable_ssh_passwords/">Disable SSH Password Authentication</a> on your Mac (or similar with Linux)</li>
<li> Setup your development system to have a static IP on your router.</li>
<li> Configure your router to forward port 22 to your development system&rsquo;s static IP address.</li>
</ol>


<!-- more -->


<h2>2. Configure Your Shared Development Environment</h2>

<p>Before these next steps you&rsquo;ll want to login as your new <code>pair</code> user. This should be really easy for you locally, just run:</p>

<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'><span class="nv">$ </span>ssh pair@localhost
</span></code></pre></td></tr></table></div></figure>


<p>Now that you are the <code>pair</code> user you&rsquo;ll want to configure a common development environment. Pairing can have it&rsquo;s differences as every developer likes their own environment. Seeing as I was creating this on my own personal MacBook Air I decided to roll with what I use commonly for our defaults, and we&rsquo;ll tweak them as we find things that drive my pairs insane (it&rsquo;s bound to happen sooner or later). In light of this, I&rsquo;ve created a Github project to make this easier for myself (and you) for future setup. We&rsquo;ll start by cloning that repo and creating the appropriate symlinks.</p>

<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'><span class="nv">$ </span>git clone git://github.com/stevenhaddox/remote-pair.git dotfiles
</span></code></pre></td></tr></table></div></figure>


<h2>3. Profit</h2>

<p>That was easy wasn&rsquo;t it? What, you&rsquo;re not satisfied yet? Fine&hellip;</p>

<h2>Real Configuration</h2>

<p>After cloning the above repository you&rsquo;ll need to peruse the files I have in there and pick and choose what fits your style. I&rsquo;m certainly open to pull-requests to making this project better as a simple tool for remote pairing in general and am by no means an expert. I literally symlinked almost every file in the <code>dotfiles</code> folder into my <code>pair</code> user&rsquo;s home folder. It&rsquo;s kind of interesting to think of maintaining two separate dotfiles repos now, but it&rsquo;s the right way to do it. My pair shouldn&rsquo;t be forced to use my setup just because I&rsquo;m lazy. But I don&rsquo;t necessarily want my compromises on shared environments with my pair in my personal dotfiles either&hellip;</p>

<p>Once you&rsquo;ve symlinked / copied / modified all the dotfiles that you want (I&rsquo;d recommending making a fork rather than a clone actually that way you can customize it for yourself and your pairs), then you&rsquo;ll just need to reload your bash_profile and be on your merry way to using tmux for blissful co-development:</p>

<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'><span class="nv">$ </span><span class="nb">source</span> ~/.bash_profile
</span></code></pre></td></tr></table></div></figure>


<h2>Setting Up Ruby</h2>

<p>One awesome thing about local development in Ruby are tools like RVM / rbenv. I love RVM with a passion and use it on my persanal setups daily; however, my personal setups don&rsquo;t translate into other users (unless you did a system wide RVM install instead of a local user, there are pros and cons to both options). If you&rsquo;re like me and didn&rsquo;t setup a system-wide RVM install then be sure to re-install RVM and the appropriate Rubies under the <code>pair</code> user account.</p>

<h2>Get Back To Work</h2>

<p>Alright, you&rsquo;ve wasted to much time setting up this nice pristine environment. Get to work already. This is the easiest part. Both you and your pair can now ssh into your local development system as the <code>pair</code> user. Do so now with the following. The first person to login (probably the developer on the physical system with the <code>pair</code> user) should run:</p>

<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'><span class="nv">$ </span>tmux
</span></code></pre></td></tr></table></div></figure>


<p>Then have your pair run:</p>

<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'><span class="nv">$ </span>tmux at
</span></code></pre></td></tr></table></div></figure>


<p>This will put you both into a shared tmux window session and allow <strong>both</strong> of your keyboards to control the same code and user account. Face melted, I know. Alright, fine, you already knew about tmux because you&rsquo;re cooler than I am. But I bet you didn&rsquo;t know about <a href="http://www.mattsears.com/articles/2011/11/16/nyan-cat-rspec-formatter">Nyan Cat RSpec Formatter</a> did you? Now who&rsquo;s face is melted?</p>

<h2>Extra Tips</h2>

<p>Okay, so maybe just tip in the singular. The only other thing I want to do but haven&rsquo;t yet, is to create a simple script that updates a subdomain on one of my primary domains via <a href="https://dnsimple.com/documentation/api">DNSimple&rsquo;s API</a> which will update the IP address for that domain every minute. This would allow your pair to access your development system easily by simply typing:</p>

<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
</pre></td><td class='code'><pre><code class='bash'><span class='line'><span class="nv">$ </span>ssh pair@&lt;subdomain&gt;.&lt;yourdomain&gt;.&lt;tld&gt;
</span></code></pre></td></tr></table></div></figure>


<p>No more annoying IP addresses to lookup, just let your subdomain and auto-update script maintain it all for you :)</p>

<p>Also, I highly recommend putting your Google+ Hangout window on one screen with your pair looking directly at you and your tmux session on the other screen where you&rsquo;re coding together. I can honestly say that my pairing experience today (<strong>all</strong> day) was just as amazing and awesome as any pairing session I&rsquo;ve ever had in person.</p>

<p>Lastly, you&rsquo;re probably wondering how you&rsquo;re remote pair is supposed to view the site that you just developed together when you&rsquo;re doing JS debugging, etc? Well there are several ways including forwaring another port from your router to the port your running your web application on, or both of you running the code locally and verbally discussing / screen sharing. My preferred option is to setup <a href="http://showoff.io">Showoff.io</a> and just serve the port / Pow subdomain on via Showoff so the same site, code, and data is all being rendered in a publicly accessible URL that both you and your pair can look at simultaneously.</p>

<p>Happy hacking! Please provide feedback, war stories, experience, and pro tips you&rsquo;ve experienced or come across in the comments! I&rsquo;m more than open for improving this process!</p>

<h3>Update</h3>

<p><a href="http://twitter.com/elight">Evan Light</a> sent me a <a href="http://evan.tiggerpalace.com/articles/2011/10/17/some-people-call-me-the-remote-pairing-guy-/">post on his blog</a> from a few months ago that also discusses this exact same remote-pairing situation. He goes into a lot more depth and provides additional steps and some cool user setup/teardown scripts for OS X that are worth checking out to see if they&rsquo;d be valuable to your workflow!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Y U NO Love Glyphish Icons?!]]></title>
    <link href="http://blog.stevenhaddox.com/2012/03/17/y-u-no-love-glyphish-icons/"/>
    <updated>2012-03-17T09:28:00-04:00</updated>
    <id>http://blog.stevenhaddox.com/2012/03/17/y-u-no-love-glyphish-icons</id>
    <content type="html"><![CDATA[<p>Once upon a time, I came across a tweet that recommended supporting a <a href="http://www.kickstarter.com/projects/jpwain/awesome-icons-for-your-iphone-apps" title="Glyphish (Original) Kickstarter">KickStarter project called Glyphish</a>. His goal seemed more than reasonable, a mere $500 in backing requested, and he&rsquo;d create over a hundred beautiful and unique iPhone application icons for use in your own apps!</p>

<p><img src="http://farm8.staticflickr.com/7199/6843700360_0847e273c1_o.jpg" title="Glyphish Original Set Prevew" alt="Glyphish Original Set Preview" />
<img src="http://farm8.staticflickr.com/7192/6843700398_d1b4800e6b_o.jpg" title="Glyphish Original Set Being Designed" alt="Glyphish Original Set Being Designed" /></p>

<p>What started as an amazing project has only grown into something even more epic. Joseph has been supporting <a href="http://glyphish.com" title="Glyphish Homepage">Glyphish</a> relentessly since his first project in mid-2009. Now Glyphish has an overwhelming <strong>400</strong> icons for the same low initial price of only <strong>$25.00</strong>! The great thing is, Joseph created the larger set of icons as another <a href="http://www.kickstarter.com/projects/jpwain/great-icons-for-iphone-4-apps" title="Glyphish Pro Icons Kickstarter Project">KickStarter project</a>, even though he could have easily have marketed himself by then. I love when fellow developers and designers stick to their roots.</p>

<p><img src="http://farm8.staticflickr.com/7048/6843700308_dd67cee4d2_o.jpg" title="Glyphish Pro Set Preview" alt="Glyphish Pro Set Preview" />
<img src="http://farm8.staticflickr.com/7040/6843700276_5b80236a75_o.png" title="Glyphish Pro Social &amp; State Icons" alt="Glyphish Pro Social &amp; State Icons" /></p>

<p>I know this might read a little bit like an ad, but it&rsquo;s probably because I have always been infatuated with these icons. I&rsquo;ve been trying to get off my butt to make an iPhone application ever since iPhones were first jailbroken just so I could have an excuse to use Glyphish icons. I&rsquo;ve been a completely lazy developer and haven&rsquo;t gotten around to completing my goals, but I&rsquo;ve still never regretted supporting this project from the beginning. The amount of effort that goes into these icons is visible from the time you first see them, and Joseph has never disappointed in adding even more icons with the same level of quality for about three years now. Now that I&rsquo;m finally getting around to playing with creating some basic iOS applications, I&rsquo;m glad I have these in my library to use anywhere I see fit!</p>

<p>If you don&rsquo;t want to be stuck creating your own icons, struggling to convert open source icons, or paying a fortune for icons to use in your applictions (be it a web application, iOS application, or probably even Android/Blackberry/Windows app) you should pick up a set from Glyphish. This is just a no brainer for me as I honestly think I would&rsquo;ve paid over $100 per set with the quality and uniqueness that Glyphish provides. As testament to that you can look at the list of companies who use Glyphish icons in their own applications:</p>

<ul>
<li>Apple</li>
<li>Google</li>
<li>Twitter</li>
<li>Foursquare</li>
<li>37signals</li>
<li>Facebook</li>
<li>WordPress</li>
</ul>


<p>Thanks <a href="http://www.penandthink.com" title="Joseph's Site">Joseph</a> for being a designer with a keen eye and well below-reasonable prices. Keep up the amazing work!</p>

<h3>One Last Thing!</h3>

<p>The original set that I loved so much, is available for <a href="http://glyphish.com/#main" title="Download Original Glyphish Set FREE!"><strong>free</strong></a> these days. You&rsquo;ll see it right in the left-hand column as &ldquo;Glyphish Free&rdquo; for your use! That&rsquo;s right, you can even try out Joseph&rsquo;s amazing work without having to pay. I can assure you, that once you do, you&rsquo;ll be wishing you could give hime more than he&rsquo;s asking for as he&rsquo;s earned every penny!</p>

<p>Be sure to visit <a href="http://glyphish.com">Glyphish&rsquo;s Site</a> to pick up these amazing icons ASAP!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Migrating to Octopress from Jekyll]]></title>
    <link href="http://blog.stevenhaddox.com/2012/02/20/migrating-to-octopress-from-jekyll/"/>
    <updated>2012-02-20T08:08:00-05:00</updated>
    <id>http://blog.stevenhaddox.com/2012/02/20/migrating-to-octopress-from-jekyll</id>
    <content type="html"><![CDATA[<p>So I&rsquo;ve finally gotten around to taking an interest in my blog again. I&rsquo;ve been working on a logo with a designer (who&rsquo;s been insanely busy) for over half a year now, but finally decided to move forward with my blog since I have a little free time. To start this transition I began by deciding that, although I <strong>love</strong> <a href="https://github.com/mojombo/jekyll">Jekyll</a>, I need something with a little less maintenance and a little more out of the box. Say hello to, <a href="http://octopress.org">@octopress</a>!</p>

<p>I&rsquo;ve been wanting to migrate to Octopress for probably half a year as well, but just haven&rsquo;t made the time for it. The migration has been really painless so far. The only major effort will be modifying all my old HTML WordPress posts into Markdown syntax (there has to be an automated way to do this somehow right?!) Octopress provides some awesome defaults though that I&rsquo;ve been wanting to integrate or had partially integrated into my own Jekyll implementation for a while such as:</p>

<ul>
<li>Semantic HTML5 theme</li>
<li>Mobile themes</li>
<li>Sidebar partials</li>
<li>Fluid layout</li>
<li>Categories</li>
<li>Archive views</li>
<li>Theming</li>
</ul>


<p>A new competitor has recently shown up, <a href="http://jekyllbootstrap.com">Jekyll Bootstrap</a>, but after looking at it for a bit I still felt like Octopress was the right choice for me! However, if you&rsquo;re looking to migrate to a Jekyll type blog then I&rsquo;d encourage you to look at both options to figure out which one fits your needs and styles best!</p>

<p>Happy hacking!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[A Change in Priorities]]></title>
    <link href="http://blog.stevenhaddox.com/2011/01/01/a-change-in-priorities/"/>
    <updated>2011-01-01T00:00:00-05:00</updated>
    <id>http://blog.stevenhaddox.com/2011/01/01/a-change-in-priorities</id>
    <content type="html"><![CDATA[<p>A new year has come upon us, and along with it a lot of people making resolutions.  I&rsquo;ve never been a fan of resolutions (at least as far back as high school).  They&rsquo;ve always seemed empty to me, just words that never find any meaning or purpose the majority of the time.  Instead I&rsquo;ve always been a fan of having personal goals.  The majority of my life I&rsquo;ve never bothered to orient my goals around the new year, but instead just worked towards them until they are completed and then re-evaluate what I wanted to do next and set new goals.</p>

<p>This year is not horrendously different, but the timeframe falls in line very closely with the new year so I may as well put my goals in writing today.  Because just as much as I don&rsquo;t believe in resolutions, I also believe that goals don&rsquo;t have any real commitment if you&rsquo;re not willing to put them in writing.</p>

<p>I spend over two hours every day commuting to work.  This provides me with time to do a lot of things.  One of the things I enjoy most about my drive is the opportunity to honestly evaluate myself, who I am, who I want to be, and how I&rsquo;m doing at getting there.  I&rsquo;ll simply say that, right now, I have a long way to go.  With that in mind here are my current goals, which are a pretty big shift from some of my past goals.</p>

<h3>My Current Goals</h3>

<ul>
<li><p>Say no to &ldquo;side-work&rdquo;</p>

<p>Side-work is a project that I take on for little extra tidbits of money for whatever reason.  Often I take on side-projects just be nice and help someone at a very discounted rate (either for my portfolio I&rsquo;ve never created, or just because they&rsquo;re a friend, etc.)  This year I&rsquo;m going to focus on finishing up my last three or four side-projects within the month of January and then just say no.</p></li>
<li><p>Only accept extra work to support life-goals</p>

<p>I&rsquo;m not opposed to taking on projects just because I&rsquo;m saying no to &ldquo;side-work&rdquo;; however, those projects will require being billed at a significant enough rate to put a large dent into something our family is saving towards (e.g. our new car, or a down-payment for a house, etc.)  In other words, this is my commitment to stop giving out discounted work.  It has been impacting my family too negatively to let it continue.  I feel that my reputation and skill-set is strong enough after 10+ years of full-time web development that I don&rsquo;t need to build my portfolio by offering discounted rates.</p></li>
<li><p>Spend time with my family <!--more--></p>

<p>This goal implies several things for me.  In the past my work schedule has been pretty flexible, and I tend to stay up late if I want to for whatever reason &ndash;> wake up at varying times &ndash;> get in to work at varying times, and therefore get home at varying times (usually between 4pm and 8pm).  It wasn&rsquo;t quite as big of a deal when I only lived 20 minutes from work, but now that I&rsquo;m an hour and fifteen minutes to an hour and forty-five minutes (depending upon traffic) I want to ensure that I don&rsquo;t lose that commute time and let it be wasted on the road.  I also don&rsquo;t want to lose the chance to be home for my wife and kids and spend the most important time of the day with them.  This goal will take the following forms:</p>

<ul>
<li>Go to bed by midnight no matter what (weekends and all)</li>
<li>Wake up no later than 5:00am to ensure that I beat rush-hour traffic</li>
<li>Leave work no later than 3:30pm to ensure that I get home at a decent time<br/>
* <em>The exception to this would be meetings that are outside of my control</em></li>
</ul>


<p>This goal will be the hardest one for me to successfully achieve I believe.  But at least it&rsquo;s now in writing and I can remember to strive for it daily.</p></li>
<li><p>Take time-out for myself</p>

<p>Whether it&rsquo;s my first iPhone application (3 years after I wanted to create one), my personal website, portfolio, company website, Ruby books, video games, or snowboarding I don&rsquo;t care.  I&rsquo;m simply committing to spend time on myself doing things I <em>want</em> to do.</p></li>
<li><p>Do at least one chore a day</p>

<p>No more slacking off or postponing because of deadlines for other things.  From here on out I&rsquo;m committing to working on at least one chore every day in order to try to keep up with my share of the household work.</p></li>
<li><p>Organize!</p>

<p><a href="http://www.flickr.com/photos/stevenloveskatie/5312383543/" title="Messy desk by stevenloveskatie, on Flickr"><img src="http://farm6.static.flickr.com/5050/5312383543_968ee6c9bc_m.jpg" width="240" height="240" alt="Messy desk" class="right" /></a></p>

<p>My desk is an absolute mess, as is my digital life.  I&rsquo;ve long been too overwhelmed and swamped with extra projects to take the time to properly organize my files (in both formats) and I&rsquo;m ready to do something about it.  This also applies to the rest of our house.  Clothes, bins in the garage, and boxes we never unpacked have to be taken care of and now is the time.</p></li>
<li><p>Save!</p>

<p>For too long we&rsquo;ve lived paycheck-to-paycheck. Now that our old townhouse lease is almost up it&rsquo;s time for us to focus on actually saving.  We need to get a second car so Katie can take the kids around town while I&rsquo;m at work, and we really need to start saving up towards our down-payment of a house so we can actually buy one in several years from now.</p></li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Welcome to the World, Riley Jack.]]></title>
    <link href="http://blog.stevenhaddox.com/2010/10/02/welcome-to-the-world-riley-jack/"/>
    <updated>2010-10-02T00:00:00-04:00</updated>
    <id>http://blog.stevenhaddox.com/2010/10/02/welcome-to-the-world-riley-jack</id>
    <content type="html"><![CDATA[<p>It&rsquo;s hard to believe <a href="http://www.flickr.com/photos/stevenloveskatie/sets/72157624949885773/">you&rsquo;re already here</a>.</p>

<p><a href="http://www.flickr.com/photos/stevenloveskatie/5042627150/"><img src="http://farm5.static.flickr.com/4145/5042627150_7bacf6b550_z.jpg" alt="holding your hand" /></a>
There was so much more I had hoped to do before you arrived, but I suppose that&rsquo;s something you learn on your own as you grow up.  No matter how much you do, there will always be more to get done.  It&rsquo;s up to you to each of us to decide what is the most important and what really matters each and every day of our lives.  Documenting this important time in my life is one of these things I value as important.  Here is your story.</p>

<p><a href="http://www.flickr.com/photos/stevenloveskatie/5042626688/"><img src="http://farm5.static.flickr.com/4149/5042626688_62e6997b6f_z.jpg" alt="the first moments" /></a>
Your mother, @katiecupcake, had been having contractions for nearly a week and was 4cm dilated for quite some time before she finally went into real labor with you.  She started having the final sprint of contractions on the evening of Tuesday, Sep. 28th around 7:30pm.  At about 10:15pm her contractions were just under 3 minutes apart and lasting a good 1 to 1.5 minutes.  We left for Frederick Memorial Hospital (Frederick, MD) at 12:15am on Wednesday morning, Sep. 29th.</p>

<iframe class="video" src="http://player.vimeo.com/video/15489430?color=c9ff23" width="640" height="360" frameborder="0"></iframe>




<!--more-->


<p>At 12:45am we had finished all our paperwork and were in triage to have mama&rsquo;s progress evaluated.  At 1:05am she was 5cm dilated and 80% effaced and you were in a position of -1.  She started some antibiotics to help you keep from getting Strep B at 1:25am.  At 1:30am I was able to run out and update Aunt Sherry as to your status.  At 1:47am I had to go to security and get a visitor badge so I could get back in to see mama (you&rsquo;d think they would have told me that before hand).  I made it back at 1:55am and Katie was admitted at 2:06am (labor &amp; delivery room 1042).</p>

<iframe class="video" src="http://player.vimeo.com/video/15489470?color=c9ff23" width="640" height="360" frameborder="0"></iframe>


<p>At 2:23am all of us were situated and the nurse came in to ask mama some questions at 2:28am.  At 4:27am Aunt Sherry had a nurse come and check your mama&rsquo;s status.  She had progressed to a 8.5cm dilated.  Then the nurse said, &ldquo;You&rsquo;re not going to like this&hellip;&rdquo; and went on to explain that the anesthesiologist was in an emergency c-section that wasn&rsquo;t likely to end soon.  Then she said, &ldquo;&hellip;but it gets even better.  Your doctor is in there too!&rdquo;  Your mom kind of had a panic attack as she realized she wasn&rsquo;t going to be able to get an epidural and she was about to deliver you to a complete stranger.  At 4:34am your mother was a full 10cm dilated, but the nurses weren&rsquo;t ready for you yet so they had to keep asking her to try her hardest <em>not</em> to push!</p>

<p><a href="http://www.flickr.com/photos/stevenloveskatie/5042006181/"><img src="http://farm5.static.flickr.com/4130/5042006181_6520a8f69c_z.jpg" alt="your mother" /></a>
At 4:42am (some 8 minutes or so later) they finally told Katie she could push.  By this point she was insanely stressed and overwhelmed.  It took a few minutes for her to stop fighting the contractions, but with Aunt Sherry&rsquo;s help and her own determination she gave birth to you in less than 15 minutes at 4:57am.  I can honestly say I have never been more proud of your mom.  She didn&rsquo;t swear once even though it was easily the worst pain she has ever been in.  Her love for you is undeniable and will be something you can depend on throughout your entire life &ndash; no matter what!</p>

<p><a href="http://www.flickr.com/photos/stevenloveskatie/5042631054/"><img src="http://farm5.static.flickr.com/4124/5042631054_4e8966059c_z.jpg" alt="through a mother's eyes" /></a>
You scored really well on your APGAR tests (an 8/9).  You were a lot bigger than we expected at 8 pounds 7 ounces and 20.25&#8221; long (your sister, Paisley, was only 6 pounds 7 ounces and 19.5&#8221; long).  You have the most amazing hair.  It&rsquo;s perfectly dark and is styled better than I could ever get (even when I pay lots of money for it).  Consider your father already jealous of you as you are constantly the center of attention because of how amazing you look and how adorable you are!</p>

<p><a href="http://www.flickr.com/photos/stevenloveskatie/5042635956/"><img src="http://farm5.static.flickr.com/4108/5042635956_026716c45c_z.jpg" alt="mimi" /></a>
Your grandma (&ldquo;mimi&rdquo;) flew all the way out from Arizona to meet you.  Your grandpa (&ldquo;papa&rdquo;) and your mama&rsquo;s twin brother Tyler did too, but you came out a day too late to see both of them.  Your Uncle Jake and Aunt Jennie (plus your cousins Kenneth and Annabella) all came up the weekend before you were born as well hoping to catch you.  We were so sad they all missed you, but we wanted to let you know that they tried!</p>

<p><a href="http://www.flickr.com/photos/stevenloveskatie/5042629268/"><img src="http://farm5.static.flickr.com/4126/5042629268_7e5f9d5e68_z.jpg" alt="paisley" /></a>
<a href="http://www.flickr.com/photos/stevenloveskatie/5042005453/"><img src="http://farm5.static.flickr.com/4131/5042005453_eec9566794_z.jpg" alt="kisses" /></a>
Your sister, Paisley Jane, has already taken such a strong attachment to you.  She has held you so much and gives you lots and lots of kisses.  Last night she had a hard time sleeping so I was sitting on the couch holding you while you slept and she laid next to me.  She started out by holding my hand, but before I knew it she had let go of my hand to reach up and hold your foot.  I never would have believed that such an amazingly simple act could melt my heart, but I broke out into tears instantly.  I hope you two can always love each other and look out for each other in the difficult world we live in!</p>

<p><a href="http://www.flickr.com/photos/stevenloveskatie/5042010467/"><img src="http://farm5.static.flickr.com/4133/5042010467_b0cf080b8e_z.jpg" alt="admiration" /></a>
<a href="http://www.flickr.com/photos/stevenloveskatie/5042634812/"><img src="http://farm5.static.flickr.com/4090/5042634812_25aa3bd185_z.jpg" alt="my joy" /></a>
With all my hopes and dreams for what the future holds of you,</p>

<p>Steven.Joseph.Haddox</p>

<p>PS &ndash; It only took you 52 hours to pee on me, and I couldn&rsquo;t have been happier or more proud about it!  I love you son.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Lost A Blog]]></title>
    <link href="http://blog.stevenhaddox.com/2010/09/07/lost-a-blog/"/>
    <updated>2010-09-07T00:00:00-04:00</updated>
    <id>http://blog.stevenhaddox.com/2010/09/07/lost-a-blog</id>
    <content type="html"><![CDATA[<p>Yesterday @katiecupcake was creating a <a href="http://slkd.us/c0OoV4" title="Crocheted Baby Afghan">blog</a> for her design team (@cartwheelsart), when Safari decided to crash on her.  Supposedly <a href="http://typepad.com">TypePad</a> will auto-save your posts every 15 seconds (according to a blog post from 2008); however, for some reason this post was not auto-saved and in turn she lost nearly two hours of time that she had invested into a grueling how-to tutorial for a crochet pattern.</p>

<p>To say that Katie was distraught and frustrated would be an understatement.  Rather than make her recreate it all I pulled up my sleeves and got to work.  I knew that there was a good possibility that somehow that data had been saved by the browser before it crashed.  I came across several &ldquo;Mac tips&rdquo; that all explained how Safari automatically saved your textarea inputs pretty frequently in the ~/Library/Caches/Safari folder.  Unfortunately they were from OS X 10.4 or 10.5 and it has changed at some point.  I was able to locate the Safari cache file at: ~/Library/Caches/com.apple.Safari/Cache.db.</p>

<p>Sadly the format of the cached files was no longer static HTML.  This meant that I had to identify the database type (I went off my gut and guessed it was SQLite3).  It turns out that that is correct, but that also meant my normal database tools were of little use to me.  I did some more Googling and quickly discovered <a href="http://slkd.us/cD5owP">SafariCacheExplorer</a>.  SafariCacheExplorer allows you to quickly filter / identify your cached pages from Safari for only $10.  You can do extractions of your data as images, webpages, or plain text.</p>

<p>I quickly loaded the TypePad site and looked at the URL structure for a new post.  I then entered the basic portions of that URL into SafariCacheExplorer which presented me with only 3 results.  It only took a matter of seconds to see which file was the largest, extract it, and take it in to a completely asleep Katie.  Obviously she was thrilled about not having to recreate hours of work.  It only took me about 15 minutes from the initial idea to finding the data. I can definitely say that <a href="http://slkd.us/cD5owP">SafariCacheExplorer</a> was definitely worth every penny!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Testing Migration to Jekyll]]></title>
    <link href="http://blog.stevenhaddox.com/2010/09/05/testing-migration/"/>
    <updated>2010-09-05T00:00:00-04:00</updated>
    <id>http://blog.stevenhaddox.com/2010/09/05/testing-migration</id>
    <content type="html"><![CDATA[<h3>Woot!</h3>

<p>Here goes nothing&hellip;</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[My Ruby & Rails Reading List]]></title>
    <link href="http://blog.stevenhaddox.com/2010/02/25/my-ruby-rails-reading-list/"/>
    <updated>2010-02-25T00:00:00-05:00</updated>
    <id>http://blog.stevenhaddox.com/2010/02/25/my-ruby-rails-reading-list</id>
    <content type="html"><![CDATA[<p>FYI: I tried to list these in order of preference / desire.</p>

<h2 style="text-align: left;">Books I already own</h2>


<h3>Ruby:</h3>


<ul>
    <li><a href="http://www.pragprog.com/titles/ruby3/programming-ruby-1-9">Programming Ruby 1.9</a> (the &#8220;pickaxe&#8221; book)</li>
    <li><a href="http://www.pragprog.com/titles/achbd/the-rspec-book">The RSpec Book</a> (beta)</li>
    <li><a href="http://www.amazon.com/Ruby-Way-Second-Techniques-Programming/dp/0672328844">The  Ruby Way</a> (2nd ed.)</li>
    <li><a href="http://search.barnesandnoble.com/booksearch/isbnInquiry.asp?z=y&amp;EAN=9780321490452">Design  Patterns in Ruby</a></li>
    <li><a href="http://www.manning.com/black2/">The Well Grounded Rubyist</a></li>
    <li>Why&#8217;s Poignant Guide to Ruby || (<a href="http://mislav.uniqpath.com/poignant-guide/book/">online</a> / <a href="http://www.google.com/url?sa=t&amp;source=web&amp;ct=res&amp;cd=2&amp;ved=0CAoQFjAB&amp;url=http%3A%2F%2Fwww.rubyinside.com%2Fmedia%2Fpoignant-guide.pdf&amp;ei=VK-GS4GxJY_BlAeC14zbDw&amp;usg=AFQjCNGzyfCYiIpNDKYT7pS0H-D2qCXMkw&amp;sig2=UEOT4KgKLfq-gT2pEKeP4A">free  PDF</a>)</li>
    <li><a href="http://oreilly.com/catalog/9780596523008/index.html">Ruby Best Practices</a> || (slowly releasing free <a href="http://blog.rubybestpractices.com/">online</a>)</li>
    <li><a href="http://www.pragprog.com/titles/msenr/enterprise-recipes-with-ruby-and-rails">Enterprise  Recipes with Ruby and Rails</a></li>
    <li><a href="http://www.pragprog.com/titles/textmate/textmate">Textmate</a> (I&#8217;m a big Mac fan)</li>
</ul>


<h3>Rails:</h3>


<ul>
    <li>Agile Web Development with Rails (2nd ed. - get the 3rd ed. in my wishlist)</li>
    <li><a href="http://www.amazon.com/Rails-Way-Obie-Fernandez/dp/0321445619">The Rails Way</a></li>
    <li><a href="http://www.pragprog.com/titles/fr_arr/advanced-rails-recipes">Advanced Rails Recipes</a></li>
    <li><a href="http://www.flexonrails.com/book.html">Flex on Rails</a></li>
    <li><a href="http://www.amazon.com/dp/0321480791">RailsSpace</a> (online via <a href="http://my.safaribooksonline.com/9780321480798">Safari</a>)<a href="http://www.amazon.com/dp/0321480791">
</a></li>
</ul>


<h2 style="text-align: left;">My &#8220;Wishlist&#8221;</h2>


<h3>Ruby:</h3>


<ul>
    <li><a href="http://www.pragprog.com/titles/fr_quiz/best-of-ruby-quiz">Best of  Ruby Quiz</a></li>
    <li><a href="http://www.lulu.com/product/paperback/mr-neighborlys-humble-little-ruby-book/498212?productTrackingContext=center_search_results">Mr. Neighborly&#8217;s Humble Little Ruby Book</a> || (<a href="http://www.humblelittlerubybook.com/book/html/index.html">online</a> / <a href="http://www.humblelittlerubybook.com/book/hlrb.pdf">free PDF</a>)</li>
    <li><a href="http://www.pragprog.com/titles/idgtr/scripted-gui-testing-with-ruby">Scripted  GUI Testing with Ruby</a></li>
    <li><a href="http://www.pragprog.com/titles/bmsft/everyday-scripting-with-ruby">Everyday  Scripting with Ruby</a></li>
</ul>


<h3>Rails:</h3>


<ul>
    <li><a href="http://www.manning.com/katz/">Rails 3 in Action</a></li>
    <li><a href="http://www.pragprog.com/titles/rails3/agile-web-development-with-rails-third-edition">Agile Web Development with Rails</a> (3rd ed.)</li>
    <li><a href="http://www.pragprog.com/titles/fr_secure/security-on-rails">Security on Rails</a></li>
    <li><a href="http://oreilly.com/catalog/9780596521424">Rails 3 in a Nutshell</a></li>
    <li><a href="http://www.pragprog.com/titles/jfpaypal/payment-processing-with-paypal-and-ruby">Payment  Processing with Paypal and Ruby</a></li>
</ul>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[So... I think]]></title>
    <link href="http://blog.stevenhaddox.com/2010/01/15/so-i-think/"/>
    <updated>2010-01-15T00:00:00-05:00</updated>
    <id>http://blog.stevenhaddox.com/2010/01/15/so-i-think</id>
    <content type="html"><![CDATA[<p>So&hellip; I think that Katie loves me.  This past summer she made me an embroidered note expressing her love for me.  Throughout the past three years she has always done randomly cute things and been insanely supportive of me.  She&rsquo;s been willing to move out east and leave her family in Arizona to help us work towards saving up to buy a house, and many other countless things I won&rsquo;t list to save on time.</p>

<div style="text-align:center;"><a href="http://www.flickr.com/photos/katiecupcake/3597974361/in/set-72157607864111091/" target="_blank"><img src="http://farm5.static.flickr.com/4047/4277736440_f0ed134537.jpg" alt="So... I think I love you" /></a></div>


<p>The one thing I will bother to list is that she gets to show me just how much she loves me for the next little while before life gets back to normal.  For you see Katie is:</p>

<div style="text-align:center;"><a href="http://www.flickr.com/photos/stevenloveskatie/4276990385/" target="_blank"><img src="http://farm3.static.flickr.com/2801/4276990385_7ef2624d1f.jpg" alt="pregnant!" /></a></div>


<p>This means that for the next 9+ months she&rsquo;ll need to remember just how much she loves me to off-set her remembering that I caused the morning sickness, food cravings, insanely heightened sense of smell (like seriously &ndash; super hero levels!), and random crying (Katie just doesn&rsquo;t cry except when she&rsquo;s pregnant).</p>

<p>We didn&rsquo;t exactly expect it to happen in our first month of trying, so it kind of appears that Paisley is going to have a little brother or sister with a birthday almost the same time as hers (my iPhone apps predict a due date of 24 Sep. 2010 and Paisley&rsquo;s birthdate was 25 Sep. 2007).  Yay for close siblings!</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Falling Behind Already - New Year's Goals & Resolutions]]></title>
    <link href="http://blog.stevenhaddox.com/2010/01/09/falling-behind-already-new-years-goals-resolutions/"/>
    <updated>2010-01-09T00:00:00-05:00</updated>
    <id>http://blog.stevenhaddox.com/2010/01/09/falling-behind-already-new-years-goals-resolutions</id>
    <content type="html"><![CDATA[<p>My 12 goals / resolutions for 2010. As you can see I&rsquo;m already a few days behind (go figure):</p>

<ol>
    <li>Add a new member to our family</li>
    <li>Make Katie fall in love with me again ;) (e.g.: even more)</li>
    <li>Do my chores at least 3 times a week</li>
    <li>Finish Scrapkits project (HUGE GOAL)</li>
    <li>Lose 30 pounds</li>
    <li>Do pilates with Katie</li>
    <li>Sell some blog designs/templates</li>
    <li>Blog at least once a week</li>
    <li>Become a better photographer</li>
    <li>Read 3 programming books</li>
    <li>Read the rest of Harry Potter</li>
    <li>Make more friends (and be a better friend to those I&#8217;m already have)</li>
</ol>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[In Katie's Absence]]></title>
    <link href="http://blog.stevenhaddox.com/2009/12/05/in-katies-absence/"/>
    <updated>2009-12-05T00:00:00-05:00</updated>
    <id>http://blog.stevenhaddox.com/2009/12/05/in-katies-absence</id>
    <content type="html"><![CDATA[<p>Katie left for Springfield, MO yesterday to go visit her friends at <a href="http://redvelvetart.com">Red Velvet Art</a>.  I hope she comes back with lots of pictures!!!  She ended up traveling on my favorite kind of planes (the small ones!):<br/>
<a class="tt-flickr tt-flickr-Original" href="http://www.flickr.com/photos/stevenloveskatie/4160215897/"><img src="http://farm3.static.flickr.com/2660/4160215897_9289351fe6.jpg" border="0" alt="4 Dec 2009" /></a></p>

<p>Here&rsquo;s a snapshot from FlightTrack when she was flying to her connection in Ohio:<br/>
<a class="tt-flickr tt-flickr-Original" href="http://www.flickr.com/photos/stevenloveskatie/4157625003/"><img src="http://farm3.static.flickr.com/2662/4157625003_ab0d8de2ae_o.jpg" border="0" alt="4 Dec 2009" width="320" height="480" /></a></p>

<p>Paisley didn&rsquo;t cry the whole way home from the airport like she did when I left, but I think it helped that we walked Katie to security and had a chance to go back and forth a lot of times on the walking escalators (for lack of knowing what to actually call them).  Distractions are a life saver with kids I swear.  It has helped a lot this trip that Paisley already knows that &ldquo;on a plane&rdquo; means we&rsquo;ll be back eventually.  I&rsquo;m sure Katie went through much more difficulty with Paisley than I did &ndash; so far she&rsquo;s been pretty much normal for me (phew).</p>

<p>After dropping Katie off at the airport I started working on my weekend project: cleaning the house as much as possible.  Unfortunately I was only able to get a few projects in before my body just shut down.  Pretty sure I&rsquo;ve got a little flu/cold going on this weekend :(</p>

<p>I was able to take Paisley out for dinner last night.  We went to <a href="http://www.hanajapanesecuisine.com/menu.html">Hana Japanese Cuisine</a> (one of my favorite local sushi shops).  Paisley ate almost all of her miso soup (I was SO proud of her!):<br/>
<a class="tt-flickr tt-flickr-Medium" href="http://www.flickr.com/photos/stevenloveskatie/4159370112/"><img src="http://farm3.static.flickr.com/2785/4159370112_d967c1c311.jpg" border="0" alt="Eating miso soup with @paisleyjane. She took my Japanese marble drink ransom so she's very happy." width="375" height="500" /></a></p>

<p>And I devoured my sushi (as well as my seafood fried rice):<br/>
<a class="tt-flickr tt-flickr-Medium" href="http://www.flickr.com/photos/stevenloveskatie/4159370112/"><img src="http://farm3.static.flickr.com/2571/4159373900_5a796cac9b.jpg" border="0" alt="I love Hana Japanese! Their food is always amazing!" width="500" height="375" /></a></p>

<p>I woke up insanely exhausted and pretty much done nothing all day today.  It took all my energy just to get outside so Paisley could play in the snow for her first time (and I&rsquo;ll have you know that I <em>love</em> snow &ndash; my <a href="http://burton.com">Burton</a> tattoo on my foot serves as proof).  I don&rsquo;t even think I&rsquo;d go snowboarding today if I had the opportunity to go for free &ndash; I just feel crappy :(</p>

<p>On that note, to keep this short so I can put P down for a nap and probably take one myself, here&rsquo;s the pictures from Paisley&rsquo;s first time in the snow :)</p>

<p><a class="tt-flickr tt-flickr-Medium" href="http://www.flickr.com/photos/stevenloveskatie/4160220319/"><img src="http://farm3.static.flickr.com/2538/4160220319_a821ddfffb.jpg" border="0" alt="Paisley must be a snow angel" width="375" height="500" /></a></p>

<p><a class="tt-flickr tt-flickr-Medium" href="http://www.flickr.com/photos/stevenloveskatie/4160220743/"><img src="http://farm3.static.flickr.com/2766/4160220743_2afd20b158.jpg" border="0" alt="Paisley playing with snow for the first time" width="375" height="500" /></a></p>

<p><a class="tt-flickr tt-flickr-Medium" href="http://www.flickr.com/photos/stevenloveskatie/4160221393/"><img src="http://farm3.static.flickr.com/2621/4160221393_0e2a4ab193.jpg" border="0" alt="Paisley reaching for the snow" width="375" height="500" /></a></p>

<p><a class="tt-flickr tt-flickr-Medium" href="http://www.flickr.com/photos/stevenloveskatie/4160222821/"><img src="http://farm3.static.flickr.com/2577/4160222821_e7a8691378.jpg" border="0" alt="Paisley in the snow" width="375" height="500" /></a></p>

<p>And just some photos from throughout the day:</p>

<p><a class="tt-flickr tt-flickr-Medium" href="http://www.flickr.com/photos/stevenloveskatie/4160219227/"><img src="http://farm3.static.flickr.com/2634/4160219227_3971837b53.jpg" border="0" alt="The morning of Dec 5, 2009" width="500" height="375" /></a></p>

<p><a class="tt-flickr tt-flickr-Medium" href="http://www.flickr.com/photos/stevenloveskatie/4160219669/"><img src="http://farm5.static.flickr.com/4002/4160219669_a0a6db3e36.jpg" border="0" alt="An hour into snow on Dec 5, 2009" width="375" height="500" /></a></p>

<p><a class="tt-flickr tt-flickr-Medium" href="http://www.flickr.com/photos/stevenloveskatie/4160223353/"><img src="http://farm3.static.flickr.com/2694/4160223353_6b095158ed.jpg" border="0" alt="From Outside Paisley's Window" width="375" height="500" /></a></p>

<p>And a few special ones Paisley and I did just for Katie cause we miss her:</p>

<p><a class="tt-flickr tt-flickr-Medium" href="http://www.flickr.com/photos/stevenloveskatie/4160221901/"><img src="http://farm5.static.flickr.com/4039/4160221901_2f81cea11d.jpg" border="0" alt="We miss you Katie!" width="500" height="375" /></a></p>

<p><a class="tt-flickr tt-flickr-Medium" href="http://www.flickr.com/photos/stevenloveskatie/4160978444/"><img src="http://farm3.static.flickr.com/2639/4160978444_29dbc3b9b0.jpg" border="0" alt="We miss you Katie!" width="375" height="500" /></a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Pink for October]]></title>
    <link href="http://blog.stevenhaddox.com/2008/10/04/pink-for-october-2/"/>
    <updated>2008-10-04T00:00:00-04:00</updated>
    <id>http://blog.stevenhaddox.com/2008/10/04/pink-for-october-2</id>
    <content type="html"><![CDATA[<p>So October is breast cancer awareness month. Last year I modified my old blog theme to go <a title="Pink for October" href="http://pinkforoctober.org/" target="_blank">Pink for October</a>, and this year I&rsquo;ve now done the same. One of the people I follow on Twitter and in web technologies, the creator of <a title="Habari Project" href="http://habariproject.org/" target="_blank">Habari</a>, Chris J. Davis made his blog Pink for October last year (and apparently has done the same again <a title="It's that time of year again" href="http://chrisjdavis.org/its-that-time-of-year-again" target="_self">this year</a>). It was because of him that I was inspired to change my blog to a pink theme. Thanks Chris.</p>

<p>This year I have changed my blog again (obviously). <!--more-->However, with a custom made WordPress theme and my own CSS styling it was only a matter of changing two lines of code to get it to a point that I felt good about instead of hacking a pre-made and poorly coded theme that took me several hours last year.</p>

<p>Please be aware of the risks that breast cancer poses and do what you can to help out in whatever way. Katie and I were buying a new vacuum last year and knew we were going to get a Dyson, so instead of just getting any Dyson we bought the pink one that contributed a good portion of it&rsquo;s profit to support breast cancer research. It isn&rsquo;t much but every little bit helps (as opposed to our political situation where just about nothing short of a revolution will help it seems).</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Initiation Run]]></title>
    <link href="http://blog.stevenhaddox.com/2008/09/16/initiation-run/"/>
    <updated>2008-09-16T00:00:00-04:00</updated>
    <id>http://blog.stevenhaddox.com/2008/09/16/initiation-run</id>
    <content type="html"><![CDATA[<p>I ran my first mile with my Nike+ tonight.† It went well and I love the resulting output. With statistics and visualizations like this I may just be able to stay motivated!</p>

<p><a href="http://nikeplus.nike.com/nikeplus/?l=runners,runs,406612112,runID,540442372," title="Nike+ Report"><img src="http://farm4.static.flickr.com/3144/2864179761_9ff47705e2_o.png" alt="Nike+ Report" /></a></p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Faux Hawks are so Nineties]]></title>
    <link href="http://blog.stevenhaddox.com/2008/09/16/faux-hawks-are-so-nineties/"/>
    <updated>2008-09-16T00:00:00-04:00</updated>
    <id>http://blog.stevenhaddox.com/2008/09/16/faux-hawks-are-so-nineties</id>
    <content type="html"><![CDATA[<p>So Katie and I watched Gossip girl tonight (we missed it last night). In one scene I realized that my hair is slowly starting to resemble Nate&rsquo;s due to the length and how unkempt it is.</p>

<p>Afterwards I was talking with Katie when I said (mostly jokingly) that I should grow my hair out like Nate&rsquo;s. She replied, &ldquo;I think it&rsquo;d be weird to see you with long hair. And it&rsquo;d be weird if you didn&rsquo;t have the same haircut as your boss.&rdquo; I managed to keep a straight face as I said:<!--more--></p>

<blockquote><p>I don&rsquo;t think so. It would be like Jenny and her design lady&hellip; Elanor. He would hear me say, &ldquo;Faux Hawks are so nineties&rdquo; and then he&rsquo;d fire me and we&rsquo;d get stuck in a black out together. After a few hours of talking about hair styles and code he&rsquo;d see that my way was right and grow out his hair like mine.</p></blockquote>

<p>I know that probably won&rsquo;t make sense to anyone else, but it was funny enough that I had to blog it so as not to forget it many years from now. Hmm&hellip;. I should probably note which episode that was so I can watch it again some many years from now and actually remember what I&rsquo;m referencing. Oh well&hellip; too lazy.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Enduring To The End]]></title>
    <link href="http://blog.stevenhaddox.com/2008/09/15/enduring-to-the-end/"/>
    <updated>2008-09-15T00:00:00-04:00</updated>
    <id>http://blog.stevenhaddox.com/2008/09/15/enduring-to-the-end</id>
    <content type="html"><![CDATA[<p>It&rsquo;s not often that I get to take the things that I absolutely love the most in the world and combine them with things that I absolutely hate the most in the world. Usually when those two things happen it is related to Microsoft Windows in some form and it absolutely kills me for several days. Well not this time, this time it pertains to a very positive turning point in my life I believe. I have recently acquired a Wii Fit as well as a Nike+ iPod kit. These two small sets of hardware have enabled me to combine something I love with something I used to hate and hopefully improve my life and have fun while doing it.</p>

<p>I must admit that there are several factors involved in my decision to start getting more healthy. I decided to cut the majority of soda out of my life after my incident several months ago where I had 4 kidney stones and some major medical issues that were not very pleasant to go through. But in addition to cutting out soda there needs to be more. Something more substantial that will make it so I&rsquo;m not having a heart attack before Paisley has even graduated high school. So here is the list of things that has helped change my motivation for working out and getting healthy:<!--more--></p>

<ul>
    <li>The Wii Fit called me Obese. This isn&#8217;t too surprising honestly. Even when I worked out 1-2 hours a day with the Army I was still between 178 - 185 pounds on average (+/- 3 or so pounds). Currently I&#8217;m at 185.0 which is a decrease from 186.7 earlier this week. My long-term goal is to get below 166 pounds and hit the &#8220;Normal&#8221; threshold for BMI.</li>
    <li>Paisley has a pretty consistent routine that I can start to work around. If she&#8217;s going to be consistent in her life and she plans on being around longer than me then I need to try and make sure I&#8217;m here as many years as I can be to be with her.</li>
    <li>Katie has started working out over the past several months, eating healthier, and expressed some concern about my long-term health. She loves my tummy and me as I am, but she doesn&#8217;t want me to have a heart attack before I&#8217;m 50.</li>
    <li>I want to prove that I can out-endure, out-perform, and out-live my ex-wife who used to make me eat all sorts of healthy crap and play nearly 2 hours of tennis a day just because she wasn&#8217;t confident in her self-image. I&#8217;ve never really cared about how I look, as long as I&#8217;m healthy. I still feel that way, but I want to make sure that I am always healthier than her. I know this is a very revenge oriented reason, but in my experience that&#8217;s not always a bad thing. Sometimes anger is the best motivator for working out (it always worked when I was lifting weights or doing a physical training test in the Army).</li>
    <li>Lastly, I want to be ready for snowboarding season. I&#8217;ve only been snowboarding once in the past two seasons and I am suffering hardcore withdrawals. I have one of the nicest boards available and a tattoo on my foot and I want to make sure I can perform and endure as well as my board can in order to maximize my snow-induced high.</li>
</ul>


<p>So what is my plan of attack? There are several factors involved in getting and staying healthy. Have I ever mastered any of them? No. I don&rsquo;t really think I will ever be a &ldquo;master&rdquo; or &ldquo;expert&rdquo; when it comes to nutrition and health. My body is just too abnormal to fit into the normal process. I used to live on one meal a day in high school because I simply wasn&rsquo;t hungry. I did it during the year after because I was too busy trying to keep up to Army standards to worry about eating. I pretty much tend to eat only one main meal and then small snacks throughout the day. Those snacks are often what will get me.</p>

<p><strong>Diet:</strong> Over the past six or so months I have cut out almost all soda from my diet. It&rsquo;s time to extend that to all soda. I have also slowly been decreasing the amount of red meat that I eat. Where I used to eat at least one steak a week (preferably two or three), I now eat a steak maybe once a month (if that). I eat a hamburger about once or twice a week, but I eat smaller amounts than I used to. Instead of getting a triple burger or double quarter-pounder I&rsquo;ve cut back to single patty burgers and junior burger items when I eat hamburgers from fast-food joints. I&rsquo;ve also found that I have a preference for chicken sandwiches over burgers more than half the time anyway so that is a huge help. I also used to be a huge Gatorade drinker. Recently Gatorade has come out with G2 which I find tastes pretty good and is definitely better than Propel or other flavored water options as far as taste. I&rsquo;ve also come to enjoy just a simple glass of water more than I used to. Perhaps enough time has finally passed from all the forced piss-tests in the Army that I can finally enjoy water again. Tonight I just remembered that Crystal Light makes a Fruit Punch mix I love that only has 5 calories and no sugar per serving. Sure beats the heck over those two Coke Zeros I tried last week in taste.</p>

<p><strong>Cardio:</strong> In addition to healthy eating, I am focusing on increasing my cardiovascular activity drastically. I have always been pretty good at getting in 3 to 6 hours a weekend on the slopes when I can afford to snowboard (time wise or money wise). However, with the past two seasons being a bust I have to find other ways to keep in shape. Enter the Nike+ and my iPod Nano. The perfect equation to fun cardio:</p>

<p><img src="http://farm4.static.flickr.com/3070/2858248595_66a7e1f1cc.jpg" border="0" alt="NIke+ iPod Nano = Fun Running (who knew?)" width="333" height="500" />
With the Nike+ I get free statistical analysis and tracking through <a href="http://www.nikeplus.com">http://www.nikeplus.com</a> and I can actually visualize, monitor, and challenge myself through friends remotely, online, or just personal goals. It really appeals to my geeky side (in spite of its Flash only interface). At least I can get some numbers to go with all the hideous amounts of sweat it will cause. My goal is to run at least twice a week for a minimum of a mile. Preferably 2 or more miles and hopefully at least 3 days a week.</p>

<p><strong>Strength, Breathing, and Balance:</strong> On the days I am not running (and possibly on the days that I am) I plan on utilizing the Wii Fit to complement my cardio workout by focusing on strength and balance training primarily (muscle building and muscle control through fun mini-games like pushups, ski slalom, snowboarding, and yoga). With the neat little child-like robot voice and the simple graphs it provides for BMI, weight, and activity log it makes it a sinch to really enjoy visualizing and computing how my health is progressing. I especially love the accuracy of the scale. It is impossible to get a scale that doesn&rsquo;t fluctuate by .50 to 2 pounds every time I step on it. The Wii Fit is accurate to a tenth of a pound. Already within a week of use my posture has improved drastically and my center of balance has become much more conscientious to me (which will help a lot in improving for snowboarding I hope). Thusly, we can hope that the Wii will stand as a digital record of my overall progress between cardio and other efforts.</p>

<p><img src="http://farm4.static.flickr.com/3054/2858248789_05bd0b0f9e.jpg" border="0" alt="All You Need is Technology" width="500" height="333" />
You may also notice on this image that there is a brown pouch on my right shoe. This is the make-shift Nike+ sensor pouch that Katie made for me so that I can begin my health efforts immediately rather than having to wait on either buying a pair of Nike+ shoes ($50-$100+) or a more proper Nike+ shoe pouch ($7 on Amazon and already ordered). Thanks for the temporary fix Katie!</p>

<p>Anyway, it&rsquo;s getting late and I have to get up and run in less than 5.5 hours. I wish everyone the best and hope that I have the commitment to keep-up on the hard effort laying ahead of me for the rest of my life. Ah, laziness, I enjoyed you as an accomplice for as long as my geekiness could be justified. I&rsquo;m afraid that my inner-geek simply could not stay with thee forever.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[The Significance of a Date]]></title>
    <link href="http://blog.stevenhaddox.com/2008/08/24/the-significance-of-a-date/"/>
    <updated>2008-08-24T00:00:00-04:00</updated>
    <id>http://blog.stevenhaddox.com/2008/08/24/the-significance-of-a-date</id>
    <content type="html"><![CDATA[<p>There are a lot of things in our lives that we cling to emotionally. There are things in our society that we find important enough to have a general expectation of remembrance for. Most of these things are important events. The date of our wedding. Our birthdays. Graduation dates. The date of a significant religious conversion or ceremony.</p>

<p>Then there are those dates that are significant to us personally that mean absolutely nothing to anybody else in our society or even the world.<!--more--> The date of a first kiss. The first time you wrote a program on your own. The date you made a life-changing decision that would alter the entire future of your reality. Yesterday is the anniversary of such a date for me. I don&rsquo;t want to get into all the details for a multitude of reasons; however, I did want to take a moment to make a public note of what is probably the most important event in my life and the consequences thereof.</p>

<p>Two years and one day ago I chose to start dating Katie. This choice was by far the single most amazing and correct choice of my life. If there is nothing else that I ever accomplish in my life I will be able to die knowing that I have accomplished the most important thing in my life and I have found the only companion that is right for me and understands me better than I understand myself. It is reassuring to know that no matter how hard life gets or what is thrown at me, I have the one person that is by my side that I can always depend on and who will always love me for who I am and what I want to be.</p>

<p>In the midst of all this amazing fairy-tale life that I have found though there are bound to be complications. Life does not happen without it&rsquo;s consequences. For me the past two years have been the hardest financial times of my life. And although they have been the hardest times for me financially, I still am grateful to have enough to get by and be able to be with my family. Katie and I made a very difficult choice to face financial hardship and forego many of the niceties of life in order to have our daughter be near our family. I honestly can say that although I constantly worry about meeting financial obligations and struggle to ensure that my family is taken care of I have never been happier in my life. And I suppose to me that that is the purpose of life. To be able to be in the worst situations and still smile because you know that the one thing that matters is right there beside you.</p>

<p>As I tweeted about some of the emotional consequences of wondering when life will calm down and just let me exist in happiness I had a short interaction with one of my tweeps. It was reassuring to be reminded that life is what we perceive it to be and what we make of it. Although I may not be able to find the easy way through life in terms of finances, I have what I want the most out of it. I have been able to place my family before money and in turn have been able to ensure that my family is with those whom matter most even if we will not be able to own a house for many years of buy a new car. In due time finances will work themselves out. The time that Paisley and Katie can have with our family would have been lost forever. In a world where money drives our society and our social classes it may seem insane to take more than a 40% paycut in order to live geographically near those who matter to us, but I would put forward that the emotional benefits far outweigh those of the financial benefits and that our society has a different measurement of success and happiness than I do.</p>

<p>As a result of all this I just wanted to thank Steve Swedler for helping to remind me of my perception of life and why it is that I should be happy in spite of the current circumstances. For no matter how hard things may get, I will always have the one thing that matters the most to me. I love you Katie (and Paisley too). Thanks for always being there for me and loving me no matter where we are or what we have to do to get by.</p>

<p>Lastly, I wanted to be sure to add a minor bit of humor. It just so happens that as Swedler and I were exchanging tweets we had some great timing amongst James Archer&rsquo;s tweets that resulted in the following appeared conversation:</p>

<p><a href="http://www.stevenhaddox.com/wp-content/uploads/2008/08/tweet-humor.jpg"><img class="aligncenter size-full wp-image-139" title="tweet-humor" src="http://www.stevenhaddox.com/wp-content/uploads/2008/08/tweet-humor.jpg" alt="If only I had known the consequences before" width="306" height="160" /></a></p>

<p>PS &ndash; I apologize if there are any major grammatical errors or a loss of thought in this post. Generally I try to post in solitude to avoid distractions and keep things on a specific track but tonight this post accumulated in bits and pieces over a period of hours as we watched a movie together. My apologies again.</p>
]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Flash Happy: Simple flash updates for your Rails application]]></title>
    <link href="http://blog.stevenhaddox.com/2008/08/24/flash-happy-simple-flash-updates-for-your-rails-application/"/>
    <updated>2008-08-24T00:00:00-04:00</updated>
    <id>http://blog.stevenhaddox.com/2008/08/24/flash-happy-simple-flash-updates-for-your-rails-application</id>
    <content type="html"><![CDATA[<p>So I&rsquo;ve been learning Ruby on Rails the past few months but I&rsquo;ve mostly been working on projects that already have the major underpinnings created.  I&rsquo;ve had the opportunity to work on a side project on and off and I&rsquo;ve finally gotten one of my major hurdles accomplished and am pretty happy with how I did it.  I&rsquo;m open to code refinement, but I thought I&rsquo;d share it since I couldn&rsquo;t find much in the way of tutorials regarding flash.now with Rails via Google.</p>

<p>Essentially what I did was implement a way to update the regular flash and the flash.now values at the same time.<!--more-->  I also made it very easy to implement a flash message on every page of my site.  This flash message will display via a regular HTML request or via an AJAX request if it is invoked.  I started by minimizing the code and creating a partial that I can use to render my Flash messages.  The catch to this is that anytime you want to update your flash message you&rsquo;ll have to remember to pass the flash variable to it as a local variable.</p>

<figure class='code'><figcaption><span>Flash Partial (/app/views/layouts/_flash.html.erb)</span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
</pre></td><td class='code'><pre><code class='ruby'><span class='line'><span class="o">&lt;</span><span class="sx">%- unless flash.blank? -%&gt;</span>
</span><span class='line'><span class="sx">  &lt;%= flash_message_helper(flash) %&gt;</span>
</span><span class='line'>  <span class="o">&lt;</span><span class="n">script</span> <span class="n">type</span><span class="o">=</span><span class="s2">&quot;text/javascript&quot;</span> <span class="n">charset</span><span class="o">=</span><span class="s2">&quot;utf-8&quot;</span><span class="o">&gt;</span>
</span><span class='line'>    <span class="n">showFlashMessage</span><span class="p">();</span>
</span><span class='line'>  <span class="o">&lt;</span><span class="sr">/script&gt;</span>
</span><span class='line'><span class="sr">&lt;%- end -%&gt;</span>
</span></code></pre></td></tr></table></div></figure>




<figure class='code'><figcaption><span>Flash Helper (/app/helpers/application_helper.rb)</span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
</pre></td><td class='code'><pre><code class='ruby'><span class='line'><span class="k">def</span> <span class="nf">flash_message_helper</span><span class="p">(</span><span class="n">flash</span><span class="p">)</span>
</span><span class='line'>  <span class="n">html</span> <span class="o">=</span> <span class="s1">&#39;&#39;</span>
</span><span class='line'>  <span class="n">flash</span><span class="o">.</span><span class="n">each</span> <span class="k">do</span> <span class="o">|</span><span class="n">type</span><span class="p">,</span> <span class="n">message</span><span class="o">|</span>
</span><span class='line'>    <span class="n">html</span> <span class="o">&lt;&lt;</span> <span class="s2">&quot;&lt;div class=</span><span class="se">\&quot;</span><span class="s2">flash </span><span class="si">#{</span><span class="n">type</span><span class="si">}</span><span class="se">\&quot;</span><span class="s2">&gt;</span><span class="si">#{</span><span class="n">message</span><span class="si">}</span><span class="s2">&lt;/div&gt;&quot;</span>
</span><span class='line'>  <span class="k">end</span>
</span><span class='line'>  <span class="k">return</span> <span class="n">html</span>
</span><span class='line'><span class="k">end</span>
</span></code></pre></td></tr></table></div></figure>




<figure class='code'><figcaption><span>Flash JavaScript (/public/javascript/application.js) </span></figcaption>
 <div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
</pre></td><td class='code'><pre><code class='javascript'><span class='line'><span class="kd">function</span> <span class="nx">showFlashMessage</span><span class="p">()</span> <span class="p">{</span>
</span><span class='line'>  <span class="nx">$</span><span class="p">(</span><span class="s1">&#39;flash_wrapper&#39;</span><span class="p">).</span><span class="nx">hide</span><span class="p">();</span>
</span><span class='line'>  <span class="nx">$</span><span class="p">(</span><span class="s1">&#39;flash_wrapper&#39;</span><span class="p">).</span><span class="nx">appear</span><span class="p">({</span>
</span><span class='line'>    <span class="nx">to</span><span class="o">:</span> <span class="mf">0.9</span><span class="p">,</span>
</span><span class='line'>    <span class="nx">queue</span><span class="o">:</span> <span class="s1">&#39;end&#39;</span><span class="p">,</span>
</span><span class='line'>    <span class="nx">afterFinish</span><span class="o">:</span> <span class="kd">function</span><span class="p">(</span><span class="nx">ev</span><span class="p">)</span> <span class="p">{</span>
</span><span class='line'>      <span class="nx">setTimeout</span><span class="p">(</span><span class="s2">&quot;$(&#39;flash_wrapper&#39;).fade()&quot;</span><span class="p">,</span> <span class="mi">4500</span><span class="p">);</span>
</span><span class='line'>    <span class="p">}</span>
</span><span class='line'>  <span class="p">});</span>
</span><span class='line'><span class="p">}</span>
</span></code></pre></td></tr></table></div></figure>




<figure class='code'><figcaption><span>Controller Method Code (/app/controllers/controller_name.rb)</span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
<span class='line-number'>10</span>
<span class='line-number'>11</span>
</pre></td><td class='code'><pre><code class='ruby'><span class='line'><span class="k">def</span> <span class="nf">method_name</span>
</span><span class='line'>  <span class="n">respond_to</span> <span class="k">do</span> <span class="o">|</span><span class="nb">format</span><span class="o">|</span>
</span><span class='line'>    <span class="nb">format</span><span class="o">.</span><span class="n">js</span> <span class="p">{</span>
</span><span class='line'>      <span class="n">render</span> <span class="ss">:update</span> <span class="k">do</span> <span class="o">|</span><span class="n">page</span><span class="o">|</span>
</span><span class='line'>        <span class="n">flash_message</span><span class="p">(</span><span class="s1">&#39;notice&#39;</span><span class="p">,</span> <span class="s1">&#39;Page was successfully updated.&#39;</span><span class="p">)</span>
</span><span class='line'>        <span class="n">page</span><span class="o">.</span><span class="n">replace_html</span> <span class="s1">&#39;show&#39;</span><span class="p">,</span> <span class="ss">:partial</span> <span class="o">=&gt;</span> <span class="s1">&#39;show&#39;</span>
</span><span class='line'>        <span class="n">page</span><span class="o">.</span><span class="n">replace_html</span> <span class="s1">&#39;flash_wrapper&#39;</span><span class="p">,</span> <span class="ss">:partial</span> <span class="o">=&gt;</span> <span class="s1">&#39;layouts/flash&#39;</span><span class="p">,</span> <span class="ss">:locals</span> <span class="o">=&gt;</span> <span class="p">{</span><span class="ss">:flash</span> <span class="o">=&gt;</span> <span class="n">flash</span><span class="p">}</span>
</span><span class='line'>      <span class="k">end</span>
</span><span class='line'>    <span class="p">}</span>
</span><span class='line'>  <span class="k">end</span>
</span><span class='line'><span class="k">end</span>
</span></code></pre></td></tr></table></div></figure>


<p>You&rsquo;ll notice in the controller I invoke a custom method (flash_message) to create my flash message. This is where we create the flash[] and flash.now[] values simultaneously.</p>

<figure class='code'><figcaption><span>Application.rb Code (/app/controllers/application.rb):</span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
<span class='line-number'>4</span>
<span class='line-number'>5</span>
<span class='line-number'>6</span>
<span class='line-number'>7</span>
<span class='line-number'>8</span>
<span class='line-number'>9</span>
</pre></td><td class='code'><pre><code class='ruby'><span class='line'><span class="k">def</span> <span class="nf">flash_message</span><span class="p">(</span><span class="n">type</span><span class="p">,</span> <span class="n">message</span><span class="p">)</span>
</span><span class='line'>  <span class="n">flash</span><span class="o">.</span><span class="n">discard</span><span class="p">(</span><span class="n">type</span><span class="o">.</span><span class="n">to_sym</span><span class="p">)</span>
</span><span class='line'>  <span class="k">if</span> <span class="n">request</span><span class="o">.</span><span class="n">xhr?</span>
</span><span class='line'>    <span class="n">flash</span><span class="o">.</span><span class="n">now</span><span class="o">[</span><span class="n">type</span><span class="o">.</span><span class="n">to_sym</span><span class="o">]</span> <span class="o">=</span> <span class="n">message</span>
</span><span class='line'>  <span class="k">else</span>
</span><span class='line'>    <span class="n">flash</span><span class="o">[</span><span class="n">type</span><span class="o">.</span><span class="n">to_sym</span><span class="o">]</span> <span class="o">=</span> <span class="n">message</span>
</span><span class='line'>    <span class="n">flash</span><span class="o">.</span><span class="n">keep</span><span class="p">(</span><span class="n">type</span><span class="o">.</span><span class="n">to_sym</span><span class="p">)</span>
</span><span class='line'>  <span class="k">end</span>
</span><span class='line'><span class="k">end</span>
</span></code></pre></td></tr></table></div></figure>


<p>And lastly you need to place the partial in your page templates:</p>

<figure class='code'><figcaption><span></span></figcaption><div class="highlight"><table><tr><td class="gutter"><pre class="line-numbers"><span class='line-number'>1</span>
<span class='line-number'>2</span>
<span class='line-number'>3</span>
</pre></td><td class='code'><pre><code class='ruby'><span class='line'><span class="o">&lt;</span><span class="n">div</span> <span class="nb">id</span><span class="o">=</span><span class="s2">&quot;flash_wrapper&quot;</span><span class="o">&gt;</span>
</span><span class='line'>  <span class="o">&lt;</span><span class="sx">%= render :partial =</span><span class="o">&gt;</span> <span class="s1">&#39;layouts/flash&#39;</span><span class="p">,</span> <span class="ss">:locals</span> <span class="o">=&gt;</span> <span class="p">{</span> <span class="ss">:flash</span> <span class="o">=&gt;</span> <span class="n">flash</span> <span class="p">}</span> <span class="sx">%&gt;</span>
</span><span class='line'><span class="sx">&lt;/div&gt;</span>
</span></code></pre></td></tr></table></div></figure>

]]></content>
  </entry>
  
  <entry>
    <title type="html"><![CDATA[Having Fallen Off the Face of the Earth...]]></title>
    <link href="http://blog.stevenhaddox.com/2008/08/14/having-fallen-off-the-face-of-the-earth/"/>
    <updated>2008-08-14T00:00:00-04:00</updated>
    <id>http://blog.stevenhaddox.com/2008/08/14/having-fallen-off-the-face-of-the-earth</id>
    <content type="html"><![CDATA[<p>I thought that it might be time to give an update. I have been very busy over with the agile evangelists at <a title="Integrum Tech" href="http://www.integrumtech.com/" target="_blank">Integrum Technologies</a> and have been loving every minute of all the things I&rsquo;ve managed to absorb in the past few months. My conversion to Rails has been drastically better than my past experience of learning other languages. Within weeks I felt confident enough to start my own side projects and dive head-first into things that I used to wait months to fully understand how to do with previous conversions.</p>

<p>I have come to gain a very solid appreciation of AJAX, as long as it is done unobtrusively. I&rsquo;ve also come to love the purpose and structure that a good MVC framework can provide. I&rsquo;ve come to swear by TextMate. I can&rsquo;t imagine managing a web project again without it. I&rsquo;ve found that <a title="Pair Programming" href="http://en.wikipedia.org/wiki/Pair_programming" target="_blank">pair programming</a> provides amazing benefits that can never be guessed at until you&rsquo;ve tried it yourself. I&rsquo;ve found that my errors and refactoring due to pair programming have been exponentially improved and that my development style in general has become more efficent, more detailed, and more well-thought than in the past (in much less time). I&rsquo;ve also found that <a title="Agile Develompent" href="http://en.wikipedia.org/wiki/Agile_software_development" target="_blank">agile methodology</a> as a method of software development <strong>just makes sense</strong> (for me at least). Software (especially web based applications or sites) are constantly changing in their requirements, goals, needs, and acceptence criteria. Agile methodology ties in perfectly with this dynamic lifestyle of software growth.</p>

<p>As to the other things that I&rsquo;ve been up to, well I&rsquo;ve started at least three side-projects<!--more--> that I work on at nights in my free time and on weekends. I&rsquo;ve always been a big &ldquo;to-do&rdquo; list person and I&rsquo;ve started using <a title="Things for iPhone" href="http://culturedcode.com/things/iphone/" target="_blank">Things</a> on the iPhone over the past month or so and the change in my productivity has been drastic. It helps me to prioritize everything that needs to happen, when it needs to happen, and it especially helps me to space out the things that need to happen so that my entire evening, weekend, and life are not consumed by mundane or necessary to-dos. I have yet to learn the details of <a title="Getting Things Done" href="http://www.davidco.com/what_is_gtd.php" target="_blank">GTD</a> (Getting Things Done), but I plan on it full-heartedly once life slows down a little more. In the meantime, 2 minutes over at Things&#8217; for iPhone website has made it a pretty easy to use system that works for me in the status quo.</p>

<p>I&rsquo;ve also been busy setting up a new server over with the folks at <a title="SliceHost Web Hosting" href="http://www.slicehost.com" target="_blank">SliceHost</a> so that I can get a simple development server for my applications, and clients on the side. So far the experience has bee amazing and I really like the service and GUI features for the price.</p>

<p>As to life in general, well if the above hasn&rsquo;t made it clear, I don&rsquo;t really have one. I go to work, come home and do the household chores and spend as much time as I can with Paisley, then tackle something related to a personal project or client each night. I&rsquo;ve gotten pretty good at sleeping less again lately and my 8 hours has cut back to 6 or so in order to let me get more done each day. Through all of this insanity of business Katie has been the most supportive wife anyone could ever ask for!</p>

<p>I did have a chance to get a book read recently. Breaking Dawn came out as the last book for the Twilight series and I finished that up yesterday. It was a much needed break away from the constant thumbing through of manuals, APIs, and tutorials. I&rsquo;ve also watched a few movies lately when the opportunity permits. The best movie I&rsquo;ve seen in a long time (like everyone else it seems) is The Dark Knight. It&rsquo;s a shame we won&rsquo;t have Heath Ledger around as I&rsquo;ve always like him as an actor. Even in Brokeback Mountain.</p>

<p>As to what is upcoming, Paisley turns one in a little over a month! I can&rsquo;t believe how fast she has grown! It seems like only a few weeks ago to me that we were bringing her home for the first time. She already has four teeth now and is pulling herself along the edge of furniture to walk. She reads to herself all the time and her favorite show (we&rsquo;re fairly certain) is the Upside Down show. She is always sleeping through the night (and always has) and the only time she&rsquo;s even slightly fussy seems to be when she is teething or has been stuck in her carseat for errands all day.</p>

<p>As to my wishlist of things to do. I&rsquo;m dying to go snowboarding of course, but unfortunately I&rsquo;m not sure that I&rsquo;ll get to do much of that for a while. Between work, projects, household tasks, and paperwork I&rsquo;m not sure if I&rsquo;ll be able to make time to get onto a slope for a while to come. I&rsquo;m also not sure if the finances will provide for more than one or two trips this season (if I&rsquo;m lucky). There&rsquo;s still so much to find funding for and just no funding to go towards it (logo design, website design, business paperwork, hardware upgrades, server expansion, etc, etc). Such is life though and hopefully, in time, things will get easier in that department.</p>

<p>That&rsquo;s about all the time I can spare during this lunchbreak though so I suppose I&rsquo;ll have to tie it up for now. Thanks for checking in and I&rsquo;ll try to post more frequently as I know I&rsquo;ve slacked a lot as of late.</p>
]]></content>
  </entry>
  
</feed>
