<?xml version="1.0" encoding="UTF-8" ?>
<rss version="2.0">

    <channel>
        <title>Jake Scruggs' Blog Technical Only</title>
        <link>https://jakescruggs.com</link>
        <description>I Summon Sky Servers and Occasionally Wear Crazy Shirts</description>
        <lastBuildDate>Sun, 21 Jan 2024 07:57:19 +0000</lastBuildDate>
        
        <item>
            <title>
              Why I Left Backstop and What I&#39;m Doing at Grainger
            </title>
            <description>
                &lt;p&gt;&lt;img src=&quot;/assets/images/DALLEFearOfTheUnknownEpicScene.png&quot; alt=&quot;DALL-E 2: Fear of the Unkown Epic Scene&quot; /&gt;&lt;/p&gt;

&lt;p&gt;About a year ago I left my job at Backstop Solutions to accept a DevOps/PaaS  position at Grainger. I had been at Backstop Solutions 11 years and, honestly, should have left after 7. By that time it had become abundantly apparent that the company and I had diverged in terms o...
            </description>
            <pubDate>Fri, 23 Sep 2022 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2022/09/23/why-i-left-backstop-and-what-im-doing-at-grainger
            </guid>
        </item>
        
        <item>
            <title>
              When the Snow Melts, Where Does the White Go?
            </title>
            <description>
                &lt;p&gt;&lt;img src=&quot;/assets/images/DALL·E2022-09-24WhenTheSnowMeltsWhereDoesTheWhiteGoEdwardHopper.png&quot; alt=&quot;DALL-E 2: When the Snow Melts, Where Does the White Go? Edward Hopper&quot; /&gt;&lt;/p&gt;

&lt;p&gt;I listen to a lot of comedy podcasts. They are quite wonderful and still mostly free. In addition to the “free funny” I generally like the comedic mind’s thoughts on things. Except for science and religion. Why ar...
            </description>
            <pubDate>Fri, 22 Oct 2021 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2021/10/22/when-the-snow-melts-where-does-the-white-go
            </guid>
        </item>
        
        <item>
            <title>
              Pairing with Divorce
            </title>
            <description>
                &lt;p&gt;&lt;img src=&quot;/assets/images/JakeScruggs_Pairing_with_Divorce_in_the_style_of_jackson_polloc_73c7c1fa-17be-4462-b97f-e72c6d6ae1adsmall.jpg&quot; alt=&quot;Midjourney: Pairing with Divorce in the style of jackson pollock --ar 16:9&quot; /&gt;&lt;/p&gt;

&lt;p&gt;This has happened to me twice so these results are hardly scientific, but when I have paired with a person going through a divorce I’ve noticed a pattern. There is a ...
            </description>
            <pubDate>Fri, 15 Oct 2021 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2021/10/15/pairing-with-divorce
            </guid>
        </item>
        
        <item>
            <title>
              How to discipline a software developer
            </title>
            <description>
                &lt;p&gt;&lt;img src=&quot;/assets/images/JakeScruggs_How_to_discipline_a_software_developer_in_the_style_39467fb8-da22-48ba-877a-03402dc8a073.jpg&quot; alt=&quot;Midjourney: How to discipline a software developer in the style of Jack kirby --ar 16:9&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Let’s say you are a manager of a software development team and an employee has done something so heinous that you need to discipline them in whatever way your...
            </description>
            <pubDate>Tue, 24 Aug 2021 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2021/08/24/how-to-discipline-a-software-developer
            </guid>
        </item>
        
        <item>
            <title>
              At My Last Job They Used to Poke Us with Sharpened Sticks
            </title>
            <description>
                &lt;p&gt;Recently I had the misfortune to witness a situation where legitimate questions were met with “well, at my last job they used to (thing that is worse than proposed thing)…” It’s a really weird argument to everyone except, apparently, the person saying it.&lt;/p&gt;

&lt;p&gt;Some background: We are tightening up security around client data and that is, of course, good. The clients we work with in our mu...
            </description>
            <pubDate>Tue, 18 May 2021 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2021/05/18/at-my-last-job-they-used-to-poke-us-with-sharpened-sticks
            </guid>
        </item>
        
        <item>
            <title>
              Rails Custom Fields or Sure, EAV is an AntiPattern But If You Have To…
            </title>
            <description>
                &lt;p&gt;&lt;img src=&quot;/assets/images/tombili-cat.jpeg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;On a long enough timeline it is inevitable that some business folk will ask you to make your application accept and work with ‘custom’ data even though that application is backed by a relational database. No problemo, you say and serialize that data into JSON (or yaml, xml, etc) in a column. All is well for a minute until these pro...
            </description>
            <pubDate>Wed, 05 May 2021 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2021/05/05/rails-custom-fields
            </guid>
        </item>
        
        <item>
            <title>
              When to Use Metaprogramming
            </title>
            <description>
                &lt;p&gt;The answer is deceptively simple: When writing framework code. Ruby on Rails uses metaprogramming to make nice things like the ‘params’ method which has a familiar hash-map like set of syntax (params[:user_id] does exactly what one would expect) and security from forbidden parameters like ‘enable_self_destruct.’ Actions that happen all over the code can benefit from some of ye old meta-progr...
            </description>
            <pubDate>Thu, 22 Apr 2021 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2021/04/22/when-to-use-metaprogramming
            </guid>
        </item>
        
        <item>
            <title>
              Software is a Conversation Scattered Over Time in a Truly Foreign Language
            </title>
            <description>
                &lt;p&gt;This, in my honest opinion, is the most important concept to actively apply over a life spent in software development. After experiencing some quality time with a programming language, it is easy to forget that a computer language is an attempt to converse with silicone using a syntax that has a heavy math influence. This rather unnatural construction must serve two very different masters an...
            </description>
            <pubDate>Tue, 06 Apr 2021 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2021/04/06/Software-is-a-conversation-scattered-over-time-in-a-truly-foreign-language
            </guid>
        </item>
        
        <item>
            <title>
              Single-Responsibility Principle is Fractal
            </title>
            <description>
                &lt;p&gt;&lt;img src=&quot;/assets/images/JakeScruggs_Single_Responsibility_Principle_is_Fractal_as_a_Man_d47c5fe2-f278-4654-a132-74f859b2d7beSmaller.jpg&quot; alt=&quot;Midjourney: Single Responsibility Principle is Fractal as a Mandelbrot set&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;/blog/my-apprenticeship.html&quot;&gt;Apprenticing at a place&lt;/a&gt; that taught working developers how to get better meant that I learned a bunch of high level softw...
            </description>
            <pubDate>Tue, 30 Mar 2021 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2021/03/30/single-responsibility-principle-is-fractal
            </guid>
        </item>
        
        <item>
            <title>
              Random Ports, Read Only Containers, Alpine, etc. Should Happen After Your Container Works
            </title>
            <description>
                &lt;p&gt;I’ve been working on the Docker conversion of a 10 year old Rails app that is heavily integrated with several other services for awhile now and I’d like to point out that we adopted some advanced Docker/container orchestration ideas before we should have. In retrospect, it seems obvious that one should get everything working together before adding in, say, random ports but we did. Why?&lt;/p&gt;

...
            </description>
            <pubDate>Sat, 20 Mar 2021 18:15:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2021/03/20/random-ports-read-only-containers-alpine-etc-should-happen-after-it-works
            </guid>
        </item>
        
        <item>
            <title>
              Nomad Adapter for Rails ActiveJob
            </title>
            <description>
                &lt;p&gt;Migrating a Legacy Application to Docker Part 2&lt;/p&gt;

&lt;p&gt;In a &lt;a href=&quot;/blog/2020/01/08/in-praise-of-a-big-dumb-import&quot;&gt;previous post&lt;/a&gt;, I talked about our team’s long running import/batch process that is triggered by customer request. Making this import survive deployment of new code is achieved using Resque. It is easy to tell a Resque process to finish what it is doing and shut down by s...
            </description>
            <pubDate>Tue, 23 Feb 2021 04:14:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2021/02/23/nomad-adapter-for-rails-activejob
            </guid>
        </item>
        
        <item>
            <title>
              Migrating a Legacy Application to Docker Part 1
            </title>
            <description>
                &lt;p&gt;I have been working on moving a 12 year old Rails application from virtual machines to Docker for a year now (we’re a small team and still need to produce features and fix bugs) and thought I would share some mistakes I made so that others may experience less pain.&lt;/p&gt;

&lt;p&gt;As I see it, there are two rather large problems with understanding Docker: &lt;/p&gt;
&lt;ol&gt;
  &lt;li&gt;Assimilation vs accommodatio...
            </description>
            <pubDate>Thu, 18 Feb 2021 04:13:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2021/02/18/migrating-a-legacy-application-to-docker-part-1
            </guid>
        </item>
        
        <item>
            <title>
              Moving from Asset Pipeline and Sprockets to Webpacker in Rails
            </title>
            <description>
                &lt;p&gt;In 2018 my Rails 4.x project was given the task of making React “work” inside one of its pages. An additional requirement was to use Webpacker as it had recently been announced as the coming default of Rails 5.  We bolted it in to the application but nobody really understood how it worked, interacted with other JavaScript, or how to finish the job of moving to Webpacker.&lt;/p&gt;

&lt;p&gt;It’s now 202...
            </description>
            <pubDate>Tue, 02 Feb 2021 03:25:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2021/02/02/moving-from-asset-pipeline-and-sprockets-to-webpacker-in-rails
            </guid>
        </item>
        
        <item>
            <title>
              In Praise of a Big Dumb Import
            </title>
            <description>
                &lt;p&gt;For 10 years I’ve worked on an application that has, as a major feature, the ability to import a customer’s data from another application we sell. Our customers can click a button to pull over information, review it, and ultimately display it to their customers. Nobody every has to enter information twice, the system is set up with (sometimes custom) rules to determine what data our customer...
            </description>
            <pubDate>Wed, 08 Jan 2020 03:08:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2020/01/08/in-praise-of-a-big-dumb-import
            </guid>
        </item>
        
        <item>
            <title>
              Why Test Your Code?
            </title>
            <description>
                &lt;p&gt;I was asked today ‘do we need to test this internal page just for developers?’ and that got me thinking about why I encourage testing. I’ve been practicing TDD/BDD since 2004 and this article is the response I should have given.&lt;/p&gt;

&lt;p&gt;In order, my top reasons for testing:&lt;/p&gt;
&lt;ul&gt;
  &lt;li&gt;Design aid/architecture teacher IF you listen to your tests.&lt;/li&gt;
  &lt;li&gt;Tests as documentation that exec...
            </description>
            <pubDate>Thu, 18 Apr 2019 05:38:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2019/04/18/Why-Test-Your-Code
            </guid>
        </item>
        
        <item>
            <title>
              The Tears of an Apprentice
            </title>
            <description>
                &lt;p&gt;To sum up my non-standard path to development could take some time but the short version is H.S. Physics teacher =&amp;gt; 3 months as an apprentice =&amp;gt; Thoughtworks =&amp;gt; Obtiva =&amp;gt; Backstop Solutions. Because of this, when I was just starting out at ThoughtWorks, I was actually an apprentice but paid and labeled as a full developer. During that time I was consulting at a fortune 500 compan...
            </description>
            <pubDate>Thu, 25 Oct 2018 21:00:01 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2018/10/25/the-tears-of-an-apprentice
            </guid>
        </item>
        
        <item>
            <title>
              Moving to Github Pages with Jekyll and fixing a pagination bug
            </title>
            <description>
                &lt;p&gt;In an effort to make my online presence less dated and more organized I’ve made jakescruggs.com a real site and not just a forward to a Blogger instance. &lt;a href=&quot;https://pages.github.com/&quot; target=&quot;_blank&quot;&gt;GitHub pages&lt;/a&gt; was so dead simple and free-ish (if you want the source control of your site private then you need to pay for a private plan) that it would be hard not to use it. I’ve bee...
            </description>
            <pubDate>Sun, 09 Sep 2018 21:38:01 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2018/09/09/moving-to-github-pages-with-jekyll-and-fixing-a-pagination-bug
            </guid>
        </item>
        
        <item>
            <title>
              The 60 inch Pair Station
            </title>
            <description>
                &lt;p&gt;My company was thinking of moving out of the Willis Tower until they made us an offer we didn’t refuse: A large amount of money to remodel and a bigger space. One of the outcomes of this ‘free money’ was a bunch of 60 inch flat screens occupying the walls with no real plan for usage. Pretty soon postcards and calendars started appearing on their surface.&lt;/p&gt;

&lt;p&gt;Which seemed a bit of a waste...
            </description>
            <pubDate>Thu, 16 Nov 2017 00:27:40 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2017/11/16/the-60-inch-pair-station
            </guid>
        </item>
        
        <item>
            <title>
              Clojure ‘def’, ‘declare’, and ‘concat’
            </title>
            <description>
                &lt;p&gt;I hit the Aeron hard and asked my pair &lt;a href=&quot;https://twitter.com/ebethme&quot;&gt;Liz&lt;/a&gt; “what’s up?” I’d been sick and she had been working on a tricky &lt;a href=&quot;http://www.datomic.com/&quot;&gt;Datomic&lt;/a&gt; &lt;a href=&quot;http://www.learndatalogtoday.org/&quot;&gt;datalog&lt;/a&gt; query in my absence. She claimed to have solved the whole problem but the tests would not pass when run as a whole vs. when run individually.&lt;/...
            </description>
            <pubDate>Mon, 01 Feb 2016 05:02:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2016/02/01/clojure-def-declare-and-concat
            </guid>
        </item>
        
        <item>
            <title>
              Our Purely Functional Microservice in Production
            </title>
            <description>
                &lt;p&gt;Recently I was interviewing a candidate for &lt;a href=&quot;https://www.backstopsolutions.com/careers&quot;&gt;a job on my team at BackstopSolutions&lt;/a&gt; and he said something like: “I read &lt;a href=&quot;/blog/2015/04/30/microservices-vs-david-heinemeier&quot;&gt;your blog post about Microservices&lt;/a&gt; and was wondering if the lack of follow up meant the project was a failure.” He actually expressed this sentiment in a m...
            </description>
            <pubDate>Tue, 17 Nov 2015 23:44:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2015/11/17/our-purely-functional-microservice-in
            </guid>
        </item>
        
        <item>
            <title>
              Microservices vs David Heinemeier Hansson
            </title>
            <description>
                &lt;p&gt;Hearing that &lt;a href=&quot;http://david.heinemeierhansson.com/&quot;&gt;David Heinemeier Hansson&lt;/a&gt; had slammed &lt;a href=&quot;http://martinfowler.com/articles/microservices.html&quot;&gt;microservices&lt;/a&gt; in his Rails Conf 2015 keynote was a bit disorienting as I was developing a microservice at the time. I leaned over to the other senior developer and said: “What’s his deal?” Toby Tripp, who had just watched the ke...
            </description>
            <pubDate>Thu, 30 Apr 2015 13:13:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2015/04/30/microservices-vs-david-heinemeier
            </guid>
        </item>
        
        <item>
            <title>
              Software Apprenticeship Podcast Update
            </title>
            <description>
                &lt;p&gt;Episode 4 “Time to Exercise!” is out right now! Search for it on your favorite podcast app or check out our free temp website here: &lt;a href=&quot;http://softwareapprenticeship.libsyn.com/&quot;&gt;http://softwareapprenticeship.libsyn.com&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;With 4 weeks under his belt (plus 9 weeks of &lt;a href=&quot;http://devbootcamp.com/&quot;&gt;Dev Bootcamp&lt;/a&gt;) our apprentice, &lt;a href=&quot;https://twitter.com/jonathanhowden&quot;...
            </description>
            <pubDate>Fri, 13 Jun 2014 15:35:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2014/06/13/software-apprenticeship-podcast-update
            </guid>
        </item>
        
        <item>
            <title>
              The Definition of Garbage
            </title>
            <description>
                &lt;p&gt;&lt;em&gt;The views and opinions expressed here are my own and don’t necessarily represent positions, strategies, or opinions of Backstop Solutions Group.&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Recently we released episode 3 of the &lt;a href=&quot;http://softwareapprenticeship.libsyn.com/&quot;&gt;Software Apprenticeship Podcast&lt;/a&gt; but had to pull it back for re-editing because of some problems with how developers talk to each other.  D...
            </description>
            <pubDate>Tue, 10 Jun 2014 03:53:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2014/06/10/the-definition-of-garbage
            </guid>
        </item>
        
        <item>
            <title>
              Software Apprenticeship Podcast Episode 3 is Out
            </title>
            <description>
                &lt;p&gt;This week we start off by throwing Jonathan into the deep end of pool where he pairs with an experienced developer on a 10 year old Java project that is the core of our signature product: Backstop.  Of course the company is called &lt;a href=&quot;https://www.backstopsolutions.com/&quot;&gt;Backstop Solutions&lt;/a&gt; and so, in order to avoid confusion, we gave the project a different name for internal use:  Fu...
            </description>
            <pubDate>Thu, 15 May 2014 03:54:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2014/05/15/software-apprenticeship-podcast-episode
            </guid>
        </item>
        
        <item>
            <title>
              Announcing the Software Apprenticeship Podcast
            </title>
            <description>
                &lt;p&gt;In the summer of 2004 I did an apprenticeship of sorts at a place called Object Mentor.  At the time “Uncle” Bob Martin and his son Micah Martin were in leadership positions at the company and I somehow convinced them to let me work for free over the summer in exchange for teaching me software development. It wasn’t a very structured program, nothing like what Micah would later put together ...
            </description>
            <pubDate>Tue, 29 Apr 2014 01:52:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2014/04/29/announcing-software-apprenticeship
            </guid>
        </item>
        
        <item>
            <title>
              SICP Wasn’t Written for You
            </title>
            <description>
                &lt;p&gt;The number of software luminaries who sing the praises of “&lt;a href=&quot;http://en.wikipedia.org/wiki/Structure_and_Interpretation_of_Computer_Programs&quot;&gt;Structure and Interpretation of Computer Programs&lt;/a&gt;” (referred to as SICP) is such a long list that you might think only a crazy person would take issue with it. However, to ignore SICP’s problems and continue to blindly recommend it seems just...
            </description>
            <pubDate>Fri, 28 Feb 2014 03:38:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2014/02/28/sicp-wasnt-written-for-you
            </guid>
        </item>
        
        <item>
            <title>
              Why I abandoned MetricFu
            </title>
            <description>
                &lt;p&gt;My last commit to &lt;a href=&quot;http://metric-fu.rubyforge.org/&quot;&gt;MetricFu&lt;/a&gt; was March 2…  of 2011. &lt;/p&gt;

&lt;p&gt;So.
much.
shame.&lt;/p&gt;

&lt;p&gt;Since I am throwing in the towel and handing over leadership (perhaps to you), I thought I should explain why I’ve been such a terrible maintainer and why I’m walking away.&lt;/p&gt;

&lt;p&gt;Reasons:&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;MetricFu is a mess.  At some point, with all the submissio...
            </description>
            <pubDate>Thu, 09 Aug 2012 01:16:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2012/08/09/why-i-abandoned-metricfu
            </guid>
        </item>
        
        <item>
            <title>
              Oracle Foreign Key without Index Test
            </title>
            <description>
                &lt;p&gt;We’ve been having some Oracle deadlock issues that have been hard to reproduce locally. After a lot of investigation and solving of important problems that happened not to be THE problem we figured out that, while we’ve been pretty good creating integrity constraints in the database, we have not been good about making sure that every foreign key has a corresponding index. And that can lead t...
            </description>
            <pubDate>Tue, 07 Dec 2010 15:50:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2010/12/07/oracle-foreign-key-without-index-test
            </guid>
        </item>
        
        <item>
            <title>
              Ruby Kaigi 2010 Day 3
            </title>
            <description>
                &lt;p&gt;Last day of Ruby Kaigi! Sad to see it go, it’s been a great conference. As per usual Tweets are in bulleted italics and the rest is after the fact commentary.&lt;/p&gt;

&lt;p&gt;First I’ve got to show you the commemorative fans they were handing out:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/4934685088_0308fb60c3.jpg&quot; alt=&quot;It&#39;s the creators of Ruby and PHP&quot; /&gt;&lt;/p&gt;

&lt;p&gt;It’s Matz and… Someone else (sorry if it’s ...
            </description>
            <pubDate>Sun, 29 Aug 2010 04:09:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2010/08/29/ruby-kaigi-2010-day-3
            </guid>
        </item>
        
        <item>
            <title>
              Ruby Kaigi 2010 Day 2
            </title>
            <description>
                &lt;p&gt;Holy crap am I tired. It’s been a long awesome day. It started out with some excitement:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;em&gt;Just found out I have an hour time slot when all I prepared was 30 minutes. Ok, time to write some more. #rubykaigi&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;Panic! Maybe I’ll talk about metric_fu a bit. #rubykaigi&lt;/em&gt;&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;I must have looked at that schedule 20 times and never realized that I h...
            </description>
            <pubDate>Sat, 28 Aug 2010 12:27:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2010/08/28/ruby-kaigi-2010-day-2
            </guid>
        </item>
        
        <item>
            <title>
              Ruby Kaigi 2010 Day 1
            </title>
            <description>
                &lt;p&gt;Here I am in Japan at RubyKaigi 2010. Wow. Generally I tweet a lot about the conf live and then publish those tweets here (in italics) and provide slightly more commentary. So lets get it on.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;em&gt;So my flight leaves at noon for #rubykaigi, takes 13 hours, and arrives at 3pm tomorrow… Wait – that can’t be right. #looksitupagain&lt;/em&gt;&lt;/li&gt;
  &lt;li&gt;&lt;em&gt;Before today’s trip to Japan ...
            </description>
            <pubDate>Fri, 27 Aug 2010 23:19:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2010/08/27/ruby-kaigi-2010-day-1
            </guid>
        </item>
        
        <item>
            <title>
              Using Git Inside a Git Hook
            </title>
            <description>
                &lt;p&gt;Using Git Inside a Git Hook can cause problems. In my previous post: “&lt;a href=&quot;http://jakescruggs.blogspot.com/2010/07/signal-13-problems-with-git-hooks.html&quot;&gt;Signal 13 Problems with Git Hooks&lt;/a&gt;” I describe how we are trying to automatically merge certain types of branches into a branch that is designed to hold them all. Anyway, that means we want to run some git commands inside of the git...
            </description>
            <pubDate>Tue, 20 Jul 2010 20:15:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2010/07/20/using-git-inside-git-hook
            </guid>
        </item>
        
        <item>
            <title>
              Signal 13 Problems with Git Hooks
            </title>
            <description>
                &lt;p&gt;Ran into a gotcha in Git today when trying to write a post push hook. We want our designer to have a fast turn around time with clients so we’re writing some hooks to merge all of the ‘theme’ branches he works with to get merged into a special preview branch which is then deployed to the preview site. And all this should happen after he does a ‘git push.’ Seems like a ‘post-receive’ hook is ...
            </description>
            <pubDate>Tue, 20 Jul 2010 17:16:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2010/07/20/signal-13-problems-with-git-hooks
            </guid>
        </item>
        
        <item>
            <title>
              Ruby Midwest 2010 Saturday
            </title>
            <description>
                &lt;p&gt;So day 2 begins. I got to bed early-ish as I am old so I’m fresh as a daisy and ready for more Ruby. As per my established practice, Tweets are in italics.&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Keynote by Yehuda Katz (@wycats) is up next at #RubyMidwest&lt;/li&gt;
  &lt;li&gt;I’m wondering why you can’t give a technical keynote? Everyone says so. #RubyMidwest&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;Why is that, exactly? It’s a technical conference. ...
            </description>
            <pubDate>Sun, 18 Jul 2010 02:39:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2010/07/18/ruby-midwest-2010-saturday
            </guid>
        </item>
        
        <item>
            <title>
              Ruby Midwest 2010 Friday
            </title>
            <description>
                &lt;p&gt;So people often ask me why I tweet so much at conferences (113 tweets today, for example). Well, usually I’m furiously typing notes into TextMate so I can blog about it later. Now, in the post twitter world, I type those thoughts into twitter and harvest them later for my wrap-up posts. That way people can follow a conf’s progress live or wait for the recap.&lt;/p&gt;

&lt;p&gt;So Tweets will be in ital...
            </description>
            <pubDate>Sat, 17 Jul 2010 04:42:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2010/07/17/ruby-midwest-2010-friday
            </guid>
        </item>
        
        <item>
            <title>
              The Road to Ruby Midwest
            </title>
            <description>
                &lt;p&gt;Crazy day:&lt;br /&gt;
It was the day before &lt;a href=&quot;http://www.rubymidwest.com/&quot;&gt;Ruby Midwest&lt;/a&gt; so I gave my ‘Speedy Tests’ talk to my workmates at &lt;a href=&quot;http://backstopsolutions.com/&quot;&gt;Backstop Solutions&lt;/a&gt; during lunch today and they had the nerve to find some things wrong with it – so I’ll be doing some re-tooling before Saturday. Then I was all set to leave 2 hours early for the airport...
            </description>
            <pubDate>Fri, 16 Jul 2010 03:47:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2010/07/16/road-to-ruby-midwest
            </guid>
        </item>
        
        <item>
            <title>
              Rails Conf 2010 Day 3
            </title>
            <description>
                &lt;p&gt;A few days late on this because I’ve been sick all weekend. There just has to be a way to do climate control in conference centers in such a way as to not destroy the planet and, more importantly, Jake’s health. I seriously wore black jeans and 2 shirts on hot summer days and yet I was shivering and caught a cold.&lt;/p&gt;

&lt;p&gt;But let’s get to last day of Rails Conf 2010 and my exciting adventure...
            </description>
            <pubDate>Sun, 13 Jun 2010 18:30:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2010/06/13/rails-conf-2010-day-3
            </guid>
        </item>
        
        <item>
            <title>
              Rails Conf 2010 Day 2
            </title>
            <description>
                &lt;p&gt;Only 40 tweets today (re and otherwise). I must be slowing down in my old age. Tweets are in italics.&lt;/p&gt;

&lt;p&gt;Today’s morning music was “Bulletproof” by Pop Will Eat Itself. Cram that in your head @ryanbriones&lt;br /&gt;
Ryan was complaining yesterday that he had the theme from flash stuck in his head all day because of me. That sounds awesome! I had a Daft Punk song stuck in my head all day toda...
            </description>
            <pubDate>Thu, 10 Jun 2010 04:35:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2010/06/10/rails-conf-2010-day-2
            </guid>
        </item>
        
        <item>
            <title>
              Rails Conf 2010 Day 1
            </title>
            <description>
                &lt;p&gt;I tweeted 73 times today. What the hell is wrong with me? When twitter went down in the middle of the day I panicked until I realized that things continue to exist even if you don’t tweet about them.&lt;/p&gt;

&lt;p&gt;Anyway, here’s my thoughts on Rails Conf Day the First interspersed with relevant tweets in italics and director’s commentary.&lt;br /&gt;
(Is this Lazy? Yes – Bite me.)&lt;/p&gt;

&lt;p&gt;Woke up to “Th...
            </description>
            <pubDate>Wed, 09 Jun 2010 03:57:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2010/06/09/rails-conf-2010-day-1
            </guid>
        </item>
        
        <item>
            <title>
              Rails Conf 2010 Tutorial Day
            </title>
            <description>
                &lt;p&gt;Here I am at Rails Conf 2010 in scenic Baltimore, MD and these are my thoughts on the tutorial day.&lt;/p&gt;

&lt;p&gt;The Rails 3 Ropes Course - Gregg Pollack and his band of minions (Nathaniel Bibler, Thomas Meeks, Jacob Swanner, Tyler Hunt, Mark Kendall, and Caike Souza)&lt;br /&gt;
The worst thing about this presentation is that is was so informative, slick, and well paced that it spoiled me for the afte...
            </description>
            <pubDate>Tue, 08 Jun 2010 00:41:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2010/06/08/rails-conf-2010-tutorial-day
            </guid>
        </item>
        
        <item>
            <title>
              Interview Coding Problems
            </title>
            <description>
                &lt;p&gt;One of the awesome things about the business we’re in is that you can ask people to actually do the thing you’re hiring them to do IN THE INTERVIEW! You can’t really ask a banker to do some banking during an interview, but it’s relatively easy to set up a computer with a coding problem and ask a potential hire to work through it. Having recently gone through a job search, I though I’d discus...
            </description>
            <pubDate>Tue, 18 May 2010 23:06:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2010/05/18/interview-coding-problems
            </guid>
        </item>
        
        <item>
            <title>
              Upcoming Speaking Dates
            </title>
            <description>
                &lt;p&gt;I’ll be giving an all new talk entitled “The Necessity and Implementation of Speedy Tests” at &lt;a href=&quot;http://rubykaigi.org/2010/en&quot;&gt;Ruby Kaigi&lt;/a&gt; in Japan! Ruby Kaigi is being held August 27-29th, 2010 in Tsukuba, Ibaraki, Japan. Very exciting!&lt;/p&gt;

&lt;p&gt;Want to see the above talk but can’t make it to Japan? I’ll be giving the same (ish) talk at &lt;a href=&quot;http://www.rubymidwest.com/&quot;&gt;Ruby Mid...
            </description>
            <pubDate>Tue, 18 May 2010 01:45:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2010/05/18/upcoming-speaking-dates
            </guid>
        </item>
        
        <item>
            <title>
              Why I Left Obtiva
            </title>
            <description>
                &lt;p&gt;Recently I ended my nearly 2 year relationship with &lt;a href=&quot;http://obtiva.com/&quot;&gt;Obtiva&lt;/a&gt; and why I left deserves a few words.&lt;/p&gt;

&lt;p&gt;The issues I had with Obtiva were mostly just issues I have with consulting:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;You only work at places messed up enough that they need to hire consultants&lt;/li&gt;
  &lt;li&gt;You leave before you get to spend time with code you wrote so it’s hard to le...
            </description>
            <pubDate>Mon, 17 May 2010 01:20:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2010/05/17/why-i-left-obtiva
            </guid>
        </item>
        
        <item>
            <title>
              Are you Really Doing Agile Development?
            </title>
            <description>
                &lt;p&gt;So recently at work I was asked help to make the company more “Agile.” Well I’m a developer first and process wonk second so I responded with my usual “How many of the 12 practices are you really following?” Which was met with a lot blank stares. Turns out the classic XP practices are not so easy to find on the internet anymore. It also turns out that the word “Agile” has been so successful ...
            </description>
            <pubDate>Fri, 14 May 2010 16:15:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2010/05/14/are-you-really-doing-agile-development
            </guid>
        </item>
        
        <item>
            <title>
              Lone Star Ruby Conf 2009 Day Two Afternoon Sessions
            </title>
            <description>
                &lt;p&gt;More Lighting Talks!&lt;/p&gt;

&lt;p&gt;A lot of people skip the lighting talks, but I find that some of the best stuff at any given conference comes out of the these intense 7 minutes sessions.&lt;/p&gt;

&lt;p&gt;Jared Ning: “Ruby Without Borders”&lt;br /&gt;
Matthew Todd gave a talk last year asking for people to came to Tanzania and help him code in Ruby. Jared did and he loved the experience.&lt;br /&gt;
He mentioned a v...
            </description>
            <pubDate>Sun, 30 Aug 2009 23:51:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/08/30/lone-star-ruby-conf-2009-day-two
            </guid>
        </item>
        
        <item>
            <title>
              Lone Star Ruby Conf 2009 Day Two Morning Sessions
            </title>
            <description>
                &lt;p&gt;Last night Matz gave a keynote entitled “Why do we Love Ruby?” He talked about how Ruby embodies Quality Without A Name (Qwan). Here’s a description of &lt;a href=&quot;http://www.munnecke.com/islands/qwan.htm&quot;&gt;Qwan&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;I think it might be time to retire this talk, as I’ve seen it more than a few times before. I’d much rather hear about interesting problems he’s solved while designing Ruby ...
            </description>
            <pubDate>Sat, 29 Aug 2009 17:52:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/08/29/lone-star-ruby-conf-2009-day-one_29
            </guid>
        </item>
        
        <item>
            <title>
              Lone Star Ruby Conf 2009 Day One
            </title>
            <description>
                &lt;p&gt;I have to admit that this morning I was not looking forward to seeing another day of presentations after 3 days of Agile 2009 and 1 of Software Craftsmanship North America, but almost immediately upon entering the Norris Conference Center I felt welcomed. Part of this is that Jim Freeze, the LSRC head organizer, is a heck of a nice guy who recognized me in the hallway and said hello but also...
            </description>
            <pubDate>Fri, 28 Aug 2009 22:26:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/08/28/lone-star-ruby-conf-2009-day-one
            </guid>
        </item>
        
        <item>
            <title>
              Agile Conference 2009 - Day Four
            </title>
            <description>
                &lt;p&gt;Agile’s Too Slow: Developing a Facebook App for the Obama Campaign - Andy Slocum&lt;/p&gt;

&lt;p&gt;Andy worked on the Facebook application for the Obama campaign. In two months they build a Facebook app that could assist users in encouraging their friends to register and vote. There where only two people on the project and they came in with the common ideas of XP: continuous integration, weekly iterat...
            </description>
            <pubDate>Fri, 28 Aug 2009 03:43:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/08/28/agile-conference-2009-day-four
            </guid>
        </item>
        
        <item>
            <title>
              Software Craftsmanship North America Conference
            </title>
            <description>
                &lt;p&gt;This was the first ever &lt;a href=&quot;http://scna.softwarecraftsmanship.org&quot;&gt;Software Craftsmanship conference&lt;/a&gt; and it was put on by my company &lt;a href=&quot;http://obtiva.com/&quot;&gt;Obtiva&lt;/a&gt; and &lt;a href=&quot;http://www.8thlight.com/&quot;&gt;8th Light&lt;/a&gt; (a company I have pretty strong ties to). It was a pretty big day for the Craftsmanship movement and our little companies.&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://manifesto.so...
            </description>
            <pubDate>Thu, 27 Aug 2009 04:25:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/08/27/software-craftsmanship-north-america
            </guid>
        </item>
        
        <item>
            <title>
              Agile Conference 2009 - Day Two
            </title>
            <description>
                &lt;p&gt;“I Come to Bury Agile, Not to Praise It” – Keynote by Dr. Alistair Cockburn&lt;/p&gt;

&lt;p&gt;So this is one of those classic keynotes where the title has little to do with the content of the talk. I did enjoy the keynote, very much so, but only the first 10 minutes were devoted to Agile’s ‘Death.’&lt;/p&gt;

&lt;p&gt;Alistair came out following a bagpiper playing “Amazing Grace” – like a funeral. I gotta admit t...
            </description>
            <pubDate>Wed, 26 Aug 2009 01:14:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/08/26/agile-conference-2009-day-two
            </guid>
        </item>
        
        <item>
            <title>
              Agile Conference 2009 - Day One
            </title>
            <description>
                &lt;p&gt;It’s been 5 years since I attended the granddaddy of Agile conferences and I have to say that the first day was damn good. My notes my be a little rough, so I apologize in advance, but if I don’t type and post them on the day I pretty much never will.&lt;/p&gt;

&lt;p&gt;Workflow is Orthogonal to Schedule – Mary Poppendieck&lt;/p&gt;

&lt;p&gt;Mary started out with an example of on time development from 1929: The E...
            </description>
            <pubDate>Tue, 25 Aug 2009 02:29:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/08/25/agile-conference-2009-day-one
            </guid>
        </item>
        
        <item>
            <title>
              Point Inside a Polygon in Ruby
            </title>
            <description>
                &lt;p&gt;Recently my team needed to find out if a point was inside a given polygon and, as usual, we found &lt;a href=&quot;http://snippets.dzone.com/posts/show/5295&quot;&gt;some code on the internet&lt;/a&gt; that did what we wanted. And, as usual, there wasn’t much explanation as to what it was doing. Here’s the code (after we converted it to Ruby):&lt;/p&gt;

&lt;p&gt;1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
5&lt;br /&gt;
6&lt;br /&gt;
7&lt;br /&gt;
8&lt;br /...
            </description>
            <pubDate>Wed, 22 Jul 2009 23:07:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/07/22/point-inside-polygon-in-ruby
            </guid>
        </item>
        
        <item>
            <title>
              metric_fu graphing, 1.9, and &#39;awesome&#39; templates
            </title>
            <description>
                &lt;p&gt;So there have been a bunch of metric_fu releases since I announced 1.0.0 on this here blog. It’s now up to version 1.1.4 and we’ve added:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Flog, Flay, Reek, Roodi, and Rcov now have graphs over time (thanks &lt;a href=&quot;http://www.nanalegumene.net/&quot;&gt;Édouard Brière&lt;/a&gt;).&lt;/li&gt;
  &lt;li&gt;Cool, dare we say ‘Awesome,’ templates for the metrics (thanks &lt;a href=&quot;http://litanyagainstfear.com/...
            </description>
            <pubDate>Tue, 14 Jul 2009 03:12:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/07/14/metricfu-graphing-19-and-awesome
            </guid>
        </item>
        
        <item>
            <title>
              ORD Sessions and and introducing Flurn
            </title>
            <description>
                &lt;p&gt;I went to the first ever ORD session last night sponsored by &lt;a href=&quot;http://www.inventables.com/&quot;&gt;Inventables&lt;/a&gt; and &lt;a href=&quot;http://googleblog.blogspot.com/2007/05/working-in-windy-city.html&quot;&gt;Google Chicago&lt;/a&gt; and worked on some metric_fu stuff. The idea of the &lt;a href=&quot;http://www.ordsessions.com/&quot;&gt;ORD sessions&lt;/a&gt; is that there’s a lot of open source developers in the Chicago (ORD is th...
            </description>
            <pubDate>Fri, 19 Jun 2009 12:35:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/06/19/ord-sessions-and-and-introducing-flurn
            </guid>
        </item>
        
        <item>
            <title>
              Tribune Article about the Craftsman Swap
            </title>
            <description>
                &lt;p&gt;The Chicago Tribune wrote up an article about the craftsman swap I participated in 2 months ago:&lt;br /&gt;
&lt;a href=&quot;http://www.chicagotribune.com/business/chi-mon-craftsman-swap-0615-jun15,0,1513297.story&quot;&gt;http://www.chicagotribune.com/business/chi-mon-craftsman-swap-0615-jun15,0,1513297.story&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;My thoughts on it are here:&lt;br /&gt;
&lt;a href=&quot;http://jakescruggs.blogspot.com/search/label/cra...
            </description>
            <pubDate>Mon, 15 Jun 2009 12:33:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/06/15/tribune-article-about-craftsman-swap
            </guid>
        </item>
        
        <item>
            <title>
              Iteration Zero
            </title>
            <description>
                &lt;p&gt;I spent the week doing an iteration zero for new project. The idea behind iteration zero is to get the development environment as automated as possible so developers can spend their time coding when the real development begins.&lt;/p&gt;

&lt;p&gt;So here’s what we did:&lt;/p&gt;

&lt;p&gt;1. Set up new git repository&lt;/p&gt;

&lt;p&gt;We use &lt;a href=&quot;https://github.com/&quot;&gt;GitHub&lt;/a&gt; so that only took a few minutes.&lt;/p&gt;

&lt;p&gt;2...
            </description>
            <pubDate>Mon, 08 Jun 2009 02:01:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/06/08/iteration-zero
            </guid>
        </item>
        
        <item>
            <title>
              Hey did you know that some versions of Ruby 1.8.6 don&#39;t return the right error codes?
            </title>
            <description>
                &lt;p&gt;I didn’t. The box I was setting up CruiseControl.rb on today had some crazy early version of Ruby 1.8.6 and so test failures returned a code of ‘0’. Which meant the build would not fail until I upgraded to a more modern 1.8.6. Patch level 114 did the trick. Why are we using 1.8.6 on a new project? Well mostly so we can run along side an older Rails app using 1.8.6, but also because 1.8.7 doe...
            </description>
            <pubDate>Thu, 04 Jun 2009 03:07:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/06/04/hey-did-you-know-that-some-versions-of
            </guid>
        </item>
        
        <item>
            <title>
              Finding a Rails Route from a Path
            </title>
            <description>
                &lt;p&gt;&lt;a href=&quot;http://sustainablecode.blogspot.com/&quot;&gt;Fred Polgardy&lt;/a&gt; and I were looking up how to find out what path in the browser corresponds to what controller/action combination in a Rails application today and I realized that I’ve looked this up before… So I’m putting this information here so I can find it in the future:&lt;/p&gt;

&lt;p&gt;(from inside the console)&lt;/p&gt;

&lt;blockquote&gt;
  &lt;p&gt;&amp;gt; ActionCo...
            </description>
            <pubDate>Mon, 01 Jun 2009 01:39:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/06/01/finding-rails-route-from-path
            </guid>
        </item>
        
        <item>
            <title>
              Delete Like a Crazed Madman
            </title>
            <description>
                &lt;p&gt;Lately I’ve been working with this guy Felix who likes to rip the application into shreds when confronted with a problem. Initially, it’s a bit scary. I know we have source control and we can get it all back, but ripping out large crucial swaths of code just seems so violent and yet it’s a pretty effective strategy.&lt;/p&gt;

&lt;p&gt;On this one project we’ve had a problem for well over a year of our ...
            </description>
            <pubDate>Thu, 28 May 2009 00:32:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/05/28/delete-like-crazed-madman
            </guid>
        </item>
        
        <item>
            <title>
              Git isn&#39;t Chatty
            </title>
            <description>
                &lt;p&gt;Recently we deployed to production without a key bugfix and my assumptions about git were to blame.&lt;/p&gt;

&lt;p&gt;We, like other people who use git, do a lot of our bug fixing in a branch and then merge it into master when it’s time to release. So here’s the procedure for the guy who’s turn it is to do a deploy (which was me):&lt;/p&gt;

&lt;ol&gt;
  &lt;li&gt;Do a ‘git pull origin master’ in the master branch&lt;/li&gt;...
            </description>
            <pubDate>Mon, 25 May 2009 23:39:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/05/25/git-isnt-chatty
            </guid>
        </item>
        
        <item>
            <title>
              iMeow
            </title>
            <description>
                &lt;p&gt;So my friend Leah has lots of ideas. And one of them was that people would pay money for a screeching cat sound on their iPhone.&lt;/p&gt;

&lt;p&gt;Everyone within earshot thought about it and the consensus was that, yeah, I might pay a dollar for that. So Leah and I set about working on the iMeow application but the iPhone development one-two punch of dragging/clicking and Objective-C soon drove us to...
            </description>
            <pubDate>Mon, 11 May 2009 23:26:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/05/11/imeow
            </guid>
        </item>
        
        <item>
            <title>
              Rails Conf 2009 Third Day of Sessions
            </title>
            <description>
                &lt;p&gt;Last night I chose quantity over quality and ate at a Brazilian steak house. Good times.&lt;/p&gt;

&lt;p&gt;Webrat: Rails Acceptance Testing Evolved Bryan Helmkamp (weplay)&lt;/p&gt;

&lt;p&gt;Bryan started out his presentation by handing out Tylenol for those who went out last night and Budwiser for those who didn’t. The crowd was appreciative.&lt;/p&gt;

&lt;p&gt;Bryan show some typical Rails integration testing (simulating...
            </description>
            <pubDate>Thu, 07 May 2009 20:35:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/05/07/rails-conf-2009-third-day-of-sessions
            </guid>
        </item>
        
        <item>
            <title>
              Rails Conf 2009 Second Day of Sessions (Evening)
            </title>
            <description>
                &lt;p&gt;If you’re looking for the slides from my talk, you can find them (and everyone else’s) here:&lt;br /&gt;
&lt;a href=&quot;http://en.oreilly.com/rails2009/public/schedule/proceeding&quot;&gt;http://en.oreilly.com/rails2009/public/schedule/proceeding&lt;/a&gt;s&lt;/p&gt;

&lt;p&gt;I feel like I must confess to you, faithful blog readers, that last night I ate a $240 steak at CraftSteak. But I do not apologize – It was worth it.&lt;/p&gt;
...
            </description>
            <pubDate>Thu, 07 May 2009 15:21:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/05/07/rails-conf-2009-second-day-of-sessions_07
            </guid>
        </item>
        
        <item>
            <title>
              Rails Conf 2009 Second Day of Sessions (Afternoon)
            </title>
            <description>
                &lt;p&gt;My talk (&lt;a href=&quot;http://en.oreilly.com/rails2009/public/schedule/detail/7935&quot;&gt;Using MetricFu to make your Rails code better&lt;/a&gt;) went well. I’d say there were 200ish people in the crowd and they all seemed to enjoy it. There were a bunch of questions and some verbal commitments to contribute to MetricFu.&lt;/p&gt;

&lt;p&gt;Rails in the Large: How We’re Developing the Largest (Enterprise) Rails Project...
            </description>
            <pubDate>Thu, 07 May 2009 00:35:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/05/07/rails-conf-2009-second-day-of-sessions_06
            </guid>
        </item>
        
        <item>
            <title>
              Rails Conf 2009 Second Day of Sessions (Morning)
            </title>
            <description>
                &lt;p&gt;Sponsor Keynote: Agility in Deployment - Rails in the Cloud Jon Crosby (Engine Yard)&lt;/p&gt;

&lt;p&gt;During the morning session Engine Yard announced their new Rails on EC2 (Amazon’s compute cloud) solution: Flex&lt;/p&gt;

&lt;p&gt;You can one button deploy to the cloud. It is a self healing cluster: Each node is in a load balancing pool. If one fails they automatically startup a new one to take over.&lt;/p&gt;

&lt;p&gt;...
            </description>
            <pubDate>Wed, 06 May 2009 19:11:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/05/06/rails-conf-2009-second-day-of-sessions
            </guid>
        </item>
        
        <item>
            <title>
              Rails Conf 2009 First Day of Sessions (Evening)
            </title>
            <description>
                &lt;p&gt;Ruby Heroes Award Ceremony Gregg Pollack (Rails Envy)&lt;/p&gt;

&lt;p&gt;Gregg gave out the Ruby Heroes Awards:&lt;/p&gt;

&lt;p&gt;Brian Helmkamp for Webrat&lt;br /&gt;
Aman Gupta for EventMachine and AMPQ&lt;br /&gt;
Luis Lavena for One-click Ruby Installer (for Windows)&lt;br /&gt;
Pat Allen for Rails Camp and thinking_sphinx&lt;br /&gt;
Dan Kubb for DataMapper&lt;br /&gt;
John Nunemaker for HTTParty and RailsTips (the blog)&lt;/p&gt;

&lt;p&gt;Keynote...
            </description>
            <pubDate>Wed, 06 May 2009 18:57:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/05/06/rails-conf-2009-first-day-of-sessions_06
            </guid>
        </item>
        
        <item>
            <title>
              Rails Conf 2009 First Day of Sessions (Afternoon)
            </title>
            <description>
                &lt;p&gt;Did you know the Las Vegas Hilton charges you 3 dollars to print out a boarding pass? Jerks.&lt;/p&gt;

&lt;p&gt;JavaScript Testing in Rails: Fast, Headless, In-Browser. Pick Any Three. Larry Karnowski&lt;/p&gt;

&lt;p&gt;So blue_ridge is a javascript testing tool that mashes up a bunch of other tools to make testing javascript more or less like writing RSpec test. It’s pretty cool. It uses Screw.Unit for the RSpec...
            </description>
            <pubDate>Tue, 05 May 2009 23:11:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/05/05/rails-conf-2009-first-day-of-sessions_05
            </guid>
        </item>
        
        <item>
            <title>
              Rails Conf 2009 First Day of Sessions (Morning)
            </title>
            <description>
                &lt;p&gt;Quick note: What’s up with all the moths in this convention hall? They keep wandering over to see what I’m typing. Odd.&lt;/p&gt;

&lt;p&gt;David Heinemeier Hansson’s Keynote:&lt;/p&gt;

&lt;p&gt;Here are some thoughts expressed by David during his keynote:&lt;br /&gt;
You can win argument merely based on the strength of your arguments, most often it just takes some time for good ideas to sink in.&lt;/p&gt;

&lt;p&gt;7 Reasons I swi...
            </description>
            <pubDate>Tue, 05 May 2009 22:48:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/05/05/rails-conf-2009-first-day-of-sessions
            </guid>
        </item>
        
        <item>
            <title>
              Tutorial Day at Rails Conf 2009
            </title>
            <description>
                &lt;p&gt;First off, I’m going spend a minute in non-technical land and say that my wife and I had a fabulous time in Vegas over the weekend. She got to be part of a magic trick at the Penn and Teller show and won 50 bucks from a Wizard of Oz slot machine. Here’s some pics of our trip in case you want to see: &lt;a href=&quot;http://www.flickr.com/photos/7589554@N02/sets/72157617613438444/&quot;&gt;http://www.flickr....
            </description>
            <pubDate>Mon, 04 May 2009 23:13:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/05/04/tutorial-day-at-rails-conf-2009
            </guid>
        </item>
        
        <item>
            <title>
              MetricFu 1.0.0 is Out
            </title>
            <description>
                &lt;p&gt;What’s new:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Merged in Grant McInnes’ work on creating yaml output for all metrics to aid harvesting by other tools&lt;/li&gt;
  &lt;li&gt;Supporting Flog 2.1.0&lt;/li&gt;
  &lt;li&gt;Supporting Reek 1.0.0&lt;/li&gt;
  &lt;li&gt;Removed dependency on Rails Env for 3.months.ago (for churn report), now using chronic gem (“3 months ago”).&lt;/li&gt;
  &lt;li&gt;Almost all code is out of Rakefiles now and so is more easily test...
            </description>
            <pubDate>Thu, 30 Apr 2009 16:59:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/04/30/metricfu-100-is-out
            </guid>
        </item>
        
        <item>
            <title>
              Women and Code
            </title>
            <description>
                &lt;p&gt;So I’ve been kind of heads down trying to get metric_fu ready for Rails Conf, so I had only vaguely heard about the recent controversy over &lt;a href=&quot;http://merbist.com/2009/04/28/on-engendering-strong-reactions/&quot;&gt;Matt Aimonetti’s&lt;/a&gt; recent presentation “&lt;a href=&quot;http://www.slideshare.net/mattetti/couchdb-perform-like-a-pr0n-star?type=presentation&quot;&gt;CouchDB: Perform like a pr0n star&lt;/a&gt;.” Whe...
            </description>
            <pubDate>Thu, 30 Apr 2009 02:05:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/04/30/women-and-code
            </guid>
        </item>
        
        <item>
            <title>
              Announcing the Metric Fu Google Group
            </title>
            <description>
                &lt;p&gt;I really should have done this a long time ago, but you know how it goes.&lt;/p&gt;

&lt;p&gt;Anyway, if you’re using metric_fu and have a question or want to discuss it’s direction/development you can now here:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://groups.google.com/group/metric_fu&quot;&gt;http://groups.google.com/group/&lt;strong&gt;metric_fu&lt;/strong&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;There’s some big changes on the horizon for metric_fu – If you wa...
            </description>
            <pubDate>Tue, 28 Apr 2009 23:37:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/04/28/announcing-metric-fu-google-group
            </guid>
        </item>
        
        <item>
            <title>
              Smells of Testing (signs your tests are bad)
            </title>
            <description>
                &lt;p&gt;I spent the weekend at &lt;a href=&quot;http://citconf.com/&quot;&gt;Citcon&lt;/a&gt; (Continuous Integration and Testing Conference) in Minneapolis. Citcon (which is pronounced Kitcon – because it sounds cooler) is an &lt;a href=&quot;http://citconf.com/openspace.php&quot;&gt;open spaces&lt;/a&gt; conference which means that there are no scheduled talks. The people who show up propose ideas and then they vote on what they want to see...
            </description>
            <pubDate>Tue, 28 Apr 2009 02:54:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/04/28/smells-of-testing-signs-your-tests-are
            </guid>
        </item>
        
        <item>
            <title>
              I got accepted into Agile 2009
            </title>
            <description>
                &lt;p&gt;My new talk “&lt;a href=&quot;http://agile2009.org/node/1394&quot;&gt;What’s the Right Level of Testing?&lt;/a&gt;” got accepted for the Agile 2009 conference happening late August in Chicago. I’m pretty excited to be going – the last time I was there it was called XPAU (eXtreme Programming Agile Universe).&lt;/p&gt;

            </description>
            <pubDate>Sat, 25 Apr 2009 02:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/04/25/i-got-accepted-into-agile-2009
            </guid>
        </item>
        
        <item>
            <title>
              When Your Mocks Burst into Flames
            </title>
            <description>
                &lt;p&gt;So yesterday Leah and I were working on &lt;a href=&quot;http://sudokuscanner.com/&quot;&gt;SudokuScanner&lt;/a&gt; -- a cool little site that will, when it’s released, allow you to upload images of Sudoku boards and get a solution. All of a sudden, our mocks and stubs went totally batshit. One minute she and I were happily writing some tests, making them pass, refactoring, checking in, etc… and then, we got a bu...
            </description>
            <pubDate>Fri, 24 Apr 2009 12:45:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/04/24/when-your-mocks-burst-into-flames
            </guid>
        </item>
        
        <item>
            <title>
              Fifth Day of the Craftsman Swap
            </title>
            <description>
                &lt;p&gt;Day Five of the &lt;a href=&quot;http://nuts.redsquirrel.com/post/80855433/craftsman-swap&quot;&gt;Craftsmanship Swap&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;Last day!&lt;/p&gt;

&lt;p&gt;Today started off with some more work on a soon to be released 8th Light project that will hopefully make them some money. Colin and I had a good time blowing up the app and making sure a notification email gets sent out using &lt;a href=&quot;http://agilewebdevelopmen...
            </description>
            <pubDate>Mon, 20 Apr 2009 14:31:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/04/20/fifth-day-of-craftsman-swap
            </guid>
        </item>
        
        <item>
            <title>
              Fourth Day of the Craftsman Swap
            </title>
            <description>
                &lt;p&gt;Day Four of the &lt;a href=&quot;http://nuts.redsquirrel.com/post/80855433/craftsman-swap&quot;&gt;Craftsmanship Swap&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;Today started with Eric Smith and I working an iPhone version of &lt;a href=&quot;http://en.wikipedia.org/wiki/Conway_game_of_life&quot;&gt;Conway’s Game of Life&lt;/a&gt; trying to be as test first as possible. It was… Painful. I’ve been spoiled by my time with Ruby into expecting first class testin...
            </description>
            <pubDate>Thu, 16 Apr 2009 22:06:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/04/16/fourth-day-of-craftsman-swap
            </guid>
        </item>
        
        <item>
            <title>
              Third Day of the Craftsman Swap
            </title>
            <description>
                &lt;p&gt;Day Three of the &lt;a href=&quot;http://nuts.redsquirrel.com/post/80855433/craftsman-swap&quot;&gt;Craftsmanship Swap&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;Micah and Paul had to head out of town for an Iteration Planning Meeting/Demo so it was just Colin Jones, Eric Meyer, and I in the office. We decided to do some tri-ping pong development on an internal product 8th Light is planning to release soon. So Eric would write a test/sp...
            </description>
            <pubDate>Thu, 16 Apr 2009 01:12:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/04/16/third-day-of-craftsman-swap
            </guid>
        </item>
        
        <item>
            <title>
              Second Day of the Craftsman Swap
            </title>
            <description>
                &lt;p&gt;Day Two of the &lt;a href=&quot;http://nuts.redsquirrel.com/post/80855433/craftsman-swap&quot;&gt;Craftsmanship Swap&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;The day started off with a bit of work on slim for C with &lt;a href=&quot;http://www.8thlight.com/main/bio?sub_action=doug&quot;&gt;Doug Bradbury&lt;/a&gt;. Slim is a replacement for Fit which underlies Fitnesse and you need to write one for every language you plan to use FitNesse on. I gave it my be...
            </description>
            <pubDate>Wed, 15 Apr 2009 01:31:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/04/15/second-day-of-craftsman-swap
            </guid>
        </item>
        
        <item>
            <title>
              First Day of the Craftsman Swap
            </title>
            <description>
                &lt;p&gt;Day One of the &lt;a href=&quot;http://nuts.redsquirrel.com/post/80855433/craftsman-swap&quot;&gt;Craftsmanship Swap&lt;/a&gt;:&lt;/p&gt;

&lt;p&gt;Today &lt;a href=&quot;http://www.8thlight.com/main/bio?sub_action=micah&quot;&gt;Micah&lt;/a&gt; and I paired on test driving a user interface through &lt;a href=&quot;http://fitnesse.org/&quot;&gt;FitNesse&lt;/a&gt;. The UI in question is a JRuby rich client application that had reached the point where they wanted to hav...
            </description>
            <pubDate>Tue, 14 Apr 2009 02:20:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/04/14/first-day-of-craftsman-swap
            </guid>
        </item>
        
        <item>
            <title>
              Craftsman Swap Begins Today
            </title>
            <description>
                &lt;p&gt;This morning instead of taking a train to downtown Chicago I’ll be driving to the northern suburb of Libertyville and working at &lt;a href=&quot;http://www.8thlight.com/&quot;&gt;8th Light&lt;/a&gt; for a week. &lt;a href=&quot;http://obtiva.com/&quot;&gt;Obtiva&lt;/a&gt; (my company) is participating in a &lt;a href=&quot;http://nuts.redsquirrel.com/post/80855433/craftsman-swap&quot;&gt;craftsman swap&lt;/a&gt; so 8th Light will be sending someone down t...
            </description>
            <pubDate>Mon, 13 Apr 2009 12:16:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/04/13/craftsman-swap-begins-today
            </guid>
        </item>
        
        <item>
            <title>
              Easy Charging of Credit Cards with Spreedly
            </title>
            <description>
                &lt;p&gt;When we built &lt;a href=&quot;http://squid.searchreturn.com/&quot;&gt;SQuiD&lt;/a&gt; (easy project management for link building), we had a problem in that the client was on a limited budget and yet the site had to charge people subscriptions for usage. Which, if we wrote that part ourselves, would take all sorts of time to research, implement, and (most importantly) not screw up. When you take people’s credit c...
            </description>
            <pubDate>Tue, 24 Mar 2009 00:36:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/03/24/easy-charging-of-credit-cards-with
            </guid>
        </item>
        
        <item>
            <title>
              I&#39;ll be Speaking at Rails Conf
            </title>
            <description>
                &lt;p&gt;Just a quick note to let you all know that Rails Conf accepted my talk. It’s called “Using metric_fu to Make Your Rails Code Better” and you can find more details &lt;a href=&quot;http://en.oreilly.com/rails2009/public/schedule/detail/7935&quot;&gt;here&lt;/a&gt;. If you’d like to join me in Vegas for 15% off you can use this nifty code: RC09FOS&lt;/p&gt;

&lt;p&gt;Hope to see you there.&lt;/p&gt;

            </description>
            <pubDate>Thu, 19 Mar 2009 01:05:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/03/19/ill-be-speaking-at-rails-conf
            </guid>
        </item>
        
        <item>
            <title>
              On Going Fast Because You&#39;re A Start-up
            </title>
            <description>
                &lt;p&gt;Today, for some reason, I was thinking about a start-up I worked on few years ago and how we could go really fast because (almost) no one used the darn thing.&lt;/p&gt;

&lt;p&gt;When you’re working on a small budget you need to get that code out into the wild as soon as possible so you can figure out if this idea of yours has any legs. So maybe you test a bit less then you would with a big application ...
            </description>
            <pubDate>Wed, 18 Mar 2009 00:57:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/03/18/on-going-fast-because-youre-start-up
            </guid>
        </item>
        
        <item>
            <title>
              Get Better Page Rankings with SQuiD
            </title>
            <description>
                &lt;p&gt;For the last few months I’ve been working on &lt;a href=&quot;http://squid.searchreturn.com/&quot;&gt;SQuiD&lt;/a&gt;: A website that helps you get a better Google ranking through totally honest means. There’s a lot of not so honest and even downright nefarious ways to try and increase page rank, but this site takes the high road and focuses on link building. Link building is way of taking a look at your competit...
            </description>
            <pubDate>Thu, 05 Mar 2009 04:55:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/03/05/get-better-page-rankings-with-squid
            </guid>
        </item>
        
        <item>
            <title>
              Metric Fu Now Includes Flay, Roodi, and Reek
            </title>
            <description>
                &lt;p&gt;I released metric_fu 0.9.0 last night and just look at all the super cool changes since 0.8.0:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;&lt;a href=&quot;http://ruby.sadi.st/Flay.html&quot;&gt;Flay&lt;/a&gt; task finds duplication and structural similarities in your project&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://github.com/kevinrutherford/reek/&quot;&gt;Reek&lt;/a&gt; identifies common code smells&lt;/li&gt;
  &lt;li&gt;&lt;a href=&quot;http://github.com/martinjandrews/roodi/&quot;&gt;Roodi&lt;...
            </description>
            <pubDate>Tue, 27 Jan 2009 02:39:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2009/01/27/metric-fu-now-includes-flay-roodi-and
            </guid>
        </item>
        
        <item>
            <title>
              Sprinkle Some Integration Tests into a Mock Heavy Test Suite
            </title>
            <description>
                &lt;p&gt;I like mocks and stubs and I use them liberally in my tests. This practice, however, is not without danger: If my models, views, and controllers are all tested in isolation then how will I know if a model change busts a controller or a view? Here’s something I like to drop in at the end of every controller spec:&lt;/p&gt;

&lt;p&gt;1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
5&lt;br /&gt;
6&lt;br /&gt;
7&lt;br /&gt;
8&lt;br /&gt;
9&lt;br /&gt;
...
            </description>
            <pubDate>Wed, 03 Dec 2008 01:22:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/12/03/sprinkle-some-integration-tests-into
            </guid>
        </item>
        
        <item>
            <title>
              Rails Rumble, Apprenticeship, and a Running Website
            </title>
            <description>
                &lt;p&gt;&lt;img src=&quot;/assets/images/3062861603_075fb5c45e.jpg&quot; alt=&quot;Run Track Run&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Apprenticeship is a big part of &lt;a href=&quot;http://www.obtiva.com/&quot;&gt;Obtiva&lt;/a&gt; (the consultancy where I work) so I introduced my friend &lt;a href=&quot;http://jasonleahrun.blogspot.com/&quot;&gt;Leah&lt;/a&gt; to Obtiva, they hit it off, and now she’s an apprentice in the studio. Now apprenticeship at Obtiva is a paid, billable posit...
            </description>
            <pubDate>Thu, 27 Nov 2008 15:20:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/11/27/rails-rumble-apprenticeship-and-running
            </guid>
        </item>
        
        <item>
            <title>
              If you use Mocha and RSpec then read this
            </title>
            <description>
                &lt;p&gt;I like RSpec, but I’m not a huge fan of it’s built in mocking framework. So, when I have the choice, I swap it out for Mocha. However, I really miss mock_model. If you haven’t used it, mock_model is an RSpec method where you pass in an ActiveRecord object and it stubs out a whole bunch AR magic so you don’t have to. This is crazy useful when testing controllers because when you controller ha...
            </description>
            <pubDate>Tue, 25 Nov 2008 13:29:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/11/25/if-you-use-mocha-and-rspec-then-read
            </guid>
        </item>
        
        <item>
            <title>
              Naked Hashes are Trouble
            </title>
            <description>
                &lt;p&gt;So I had this form in a Rails view that needed some changes so, amongst other things, I changed this:&lt;br /&gt;
form_tag(:action =&amp;gt; ‘search’)&lt;/p&gt;

&lt;p&gt;to this:&lt;br /&gt;
form_tag(:action =&amp;gt; ‘show’, :method =&amp;gt; :get)&lt;/p&gt;

&lt;p&gt;I had noticed that the show and search methods essentially did the same thing (and had the same views) – which I why I refactored. However, when I made the change I got a ...
            </description>
            <pubDate>Mon, 24 Nov 2008 13:31:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/11/24/naked-hashes-are-trouble
            </guid>
        </item>
        
        <item>
            <title>
              Photos from Ruby Conf 2008
            </title>
            <description>
                &lt;p&gt;The Omni Resort was beautiful – this was our view during lunch:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.flickr.com/photos/7589554@N02/3023356343/&quot;&gt;&lt;img src=&quot;/assets/images/3023356343_83fb266ba1.jpg&quot; alt=&quot;Lunch at the Omni Resort 1&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;https://www.flickr.com/photos/7589554@N02/3023347729/&quot;&gt;&lt;img src=&quot;/assets/images/3023347729_7b20190c7b.jpg&quot; alt=&quot;Lunch at the Omni Resort 3&quot; /&gt;&lt;/a&gt;&lt;/p...
            </description>
            <pubDate>Thu, 13 Nov 2008 03:43:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/11/13/photos-from-ruby-conf-2008
            </guid>
        </item>
        
        <item>
            <title>
              Ruby Conf 2008 Last Day
            </title>
            <description>
                &lt;p&gt;A wonderful, awful idea: ruby in the browser (and oh by the way it actually works!) by Christopher Nelson&lt;/p&gt;

&lt;p&gt;Chris thinks that while Javascript is an excellent programming language, he likes choices so why not provide people with the option to run Ruby in the browser? Also, while programming rich web apps he found that oftentimes he ended up with business objects in Javascript and in du...
            </description>
            <pubDate>Wed, 12 Nov 2008 01:25:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/11/12/ruby-conf-2008-last-day
            </guid>
        </item>
        
        <item>
            <title>
              Ruby Conf 2008 Second Afternoon/Evening
            </title>
            <description>
                &lt;p&gt;What Every Rubyist Should Know About Threads by Jim Weirich&lt;/p&gt;

&lt;p&gt;Concurrency is becoming bigger as computers get more cores. If you look at a graph of clock speed they flattened out in 2003.&lt;br /&gt;
Past performance gains:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;clock speed (not so much anymore)&lt;/li&gt;
  &lt;li&gt;execution optimize&lt;/li&gt;
  &lt;li&gt;cache results&lt;/li&gt;
&lt;/ul&gt;

&lt;p&gt;So if clock speed is not going up at a rapid pace ...
            </description>
            <pubDate>Sat, 08 Nov 2008 13:34:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/11/08/ruby-conf-2008-second-afternoonevening
            </guid>
        </item>
        
        <item>
            <title>
              Ruby Conf 2008 Second Morning
            </title>
            <description>
                &lt;p&gt;Aristotle and the art of software development by Jonathan Dahl&lt;/p&gt;

&lt;p&gt;How do you identify a good programmer? Jon says Ethics. Ethics is about how you live your entire life. He thinks the what makes a good software developer and what makes a good person have parallels in their answers.&lt;/p&gt;

&lt;p&gt;Kant – Only act on principles that you would like to become universal law. Kant would have loved Ha...
            </description>
            <pubDate>Fri, 07 Nov 2008 16:27:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/11/07/ruby-conf-2008-second-morning
            </guid>
        </item>
        
        <item>
            <title>
              Ruby Conf 2008 First Evening
            </title>
            <description>
                &lt;p&gt;Better Hacking With Training Wheels by Joe Martinez&lt;/p&gt;

&lt;p&gt;“We all have a stake in each other” – we use each other’s code in many, many libraries.&lt;/p&gt;

&lt;p&gt;What automatically checks the quality of our code? Joe wants to encode rules in a standard way (called wheels) so that you could drop it into Training Wheels and it would enforce your rules on the code. People who write new libraries coul...
            </description>
            <pubDate>Fri, 07 Nov 2008 03:22:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/11/07/ruby-conf-2008-first-evening
            </guid>
        </item>
        
        <item>
            <title>
              Ruby Conf 2008 First Afternoon
            </title>
            <description>
                &lt;p&gt;I was thinking today that most people design their talk to last 50-55 minutes but I’ve noticed that conferences have shorter and shorter times slots. 40 minutes + 5 for questions is becoming the standard. So the end slides tend to go by pretty fast.&lt;/p&gt;

&lt;p&gt;Another thought: Print the ID badge for the conference on both sides. Exactly the same information on both sides. Fully 50% of the peopl...
            </description>
            <pubDate>Thu, 06 Nov 2008 20:50:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/11/06/ruby-conf-2008-first-afternoon
            </guid>
        </item>
        
        <item>
            <title>
              Ruby Conf 2008 First Morning
            </title>
            <description>
                &lt;p&gt;Woke up 15 seconds before my alarm went off again today. Perhaps I’m a little keyed up?&lt;/p&gt;

&lt;p&gt;Keynote - Matz “Reasons behind Ruby”&lt;/p&gt;

&lt;p&gt;Matz’s presentation started out with the question: Why Ruby? He asked why even though Ruby has lots of problems, like all languages, why do we love it? Which is interesting. I’ve seen Matz talk a few time now and he always talks about the love of langua...
            </description>
            <pubDate>Thu, 06 Nov 2008 18:47:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/11/06/ruby-conf-2008-first-morning
            </guid>
        </item>
        
        <item>
            <title>
              Great Lakes Software Excellence Conference
            </title>
            <description>
                &lt;p&gt;What a nice conference! Emphasis on nice. First Joel Adams, chair of Computer science at Calvin College, got up and welcomed us. Calvin College is where &lt;a href=&quot;http://www.glsec.org/&quot;&gt;GLSEC&lt;/a&gt; was held and it looks so shiny and new I wondered if it had just been constructed. I stayed in a room the was about 200 feet from where I gave my talk.&lt;/p&gt;

&lt;p&gt;Then the mayor of Grand Rapids, George ...
            </description>
            <pubDate>Thu, 06 Nov 2008 05:52:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/11/06/great-lakes-software-excellence
            </guid>
        </item>
        
        <item>
            <title>
              Here I am in Grand Rapids, MI
            </title>
            <description>
                &lt;p&gt;Flew in on election night for the &lt;a href=&quot;http://www.glsec.org/&quot;&gt;Great Lakes Software Excellence Conference&lt;/a&gt;. I’ll be giving my metrics talk tomorrow and then I’m off to Orlando, FL to give that talk at &lt;a href=&quot;http://rubyconf.org/&quot;&gt;Ruby Conf&lt;/a&gt;. &lt;a href=&quot;http://www.glsec.org/&quot;&gt;GLSEC&lt;/a&gt; is more of an XP/Agile/Process conference and I’m excited to be attending. The last time I was at a...
            </description>
            <pubDate>Wed, 05 Nov 2008 02:34:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/11/05/here-i-am-in-grand-rapids-mi
            </guid>
        </item>
        
        <item>
            <title>
              Metric Fu&#39;s Churn Now Supports Git
            </title>
            <description>
                &lt;p&gt;I just released version 0.8.0 of MetricFu. New in this release:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Source Control Churn now supports Git (thanks to Erik St Martin)&lt;/li&gt;
  &lt;li&gt;Flog Results are sorted by highest Flog Score&lt;/li&gt;
  &lt;li&gt;Fix for a bunch of ‘already initialized constant’ warnings that metric_fu caused&lt;/li&gt;
  &lt;li&gt;The flog reporter can now handle methods with digits in their name (thanks to Andy Gregor...
            </description>
            <pubDate>Tue, 07 Oct 2008 04:18:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/10/07/metric-fus-churn-now-supports-git
            </guid>
        </item>
        
        <item>
            <title>
              Subversion Binary Image Conflict Solution
            </title>
            <description>
                &lt;p&gt;Today it was my turn to merge in some bug fixes and updates into the current branch. And we had a conflict on an image file. What to do? Well, if you want to keep the incoming change then use ‘svn resolved’ or if you like the old one then ‘svn revert’ Yep, I totally &lt;a href=&quot;http://svn.haxx.se/users/archive-2006-10/0073.shtml&quot;&gt;knew&lt;/a&gt; that and didn’t spend an hour looking around the interne...
            </description>
            <pubDate>Thu, 02 Oct 2008 01:04:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/10/02/subversion-binary-image-conflict
            </guid>
        </item>
        
        <item>
            <title>
              Nail the Small Stuff
            </title>
            <description>
                &lt;p&gt;I was talking to a friend of mine the other day and he mentioned that his wife had been turned down for some dentistry that she needed performed. It turned out he had been paying for family dental coverage but his company had only signed him up for single. Once the mistake was realized, his company corrected the error. He might have to re-fill out some forms, and her surgery will be delayed,...
            </description>
            <pubDate>Tue, 30 Sep 2008 01:12:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/09/30/nail-small-stuff
            </guid>
        </item>
        
        <item>
            <title>
              Different Ways of Installing Metric Fu
            </title>
            <description>
                &lt;p&gt;Something I didn’t mention when I announced the &lt;a href=&quot;http://jakescruggs.blogspot.com/2008/09/metric-fu-is-now-gem.html&quot;&gt;re-launch of metric_fu as a gem&lt;/a&gt; is that now, because it’s a gem, you have more options when installing it in your project.&lt;/p&gt;

&lt;p&gt;First option:&lt;br /&gt;
&lt;a href=&quot;http://errtheblog.com/posts/50-vendor-everything&quot;&gt;Vendor Everything&lt;/a&gt;. Lots of people are big fans of un...
            </description>
            <pubDate>Thu, 25 Sep 2008 01:02:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/09/25/different-ways-of-installing-metric-fu
            </guid>
        </item>
        
        <item>
            <title>
              Stop your Mac from going to Sleep with Caffeine
            </title>
            <description>
                &lt;p&gt;I recently discovered &lt;a href=&quot;http://lightheadsw.com/caffeine/&quot;&gt;Caffeine&lt;/a&gt; for the Mac and it’s pretty cool. When I’m giving presentations, listening to streaming audio, or performing some operation where I don’t want my mac laptop going to sleep I could mess with the system preferences… Or I could click on a friendly little coffee cup to tell my computer to stay awake. When the coffee cu...
            </description>
            <pubDate>Wed, 24 Sep 2008 01:45:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/09/24/stop-your-mac-from-going-to-sleep-with
            </guid>
        </item>
        
        <item>
            <title>
              Windy City Rails Part Two
            </title>
            <description>
                &lt;p&gt;&lt;a href=&quot;http://jakescruggs.blogspot.com/2008/09/windy-city-rails-part-one.html&quot;&gt;Yesterday&lt;/a&gt;, I talked about the first half of the first ever &lt;a href=&quot;http://windycityrails.org/&quot;&gt;Windy City Rails&lt;/a&gt; conference that happened on Saturday at IIT. Tonight, I’ll pick up where I left off with my summary of the presentations I attended.&lt;/p&gt;

&lt;p&gt;Virtualization and Elastic Servers – Yan Pritzker o...
            </description>
            <pubDate>Tue, 23 Sep 2008 01:17:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/09/23/windy-city-rails-part-two
            </guid>
        </item>
        
        <item>
            <title>
              Windy City Rails Part One
            </title>
            <description>
                &lt;p&gt;This weekend was the first ever Windy City Rails Conference and I was lucky enough to not only attend but also to speak. I thought I’d sum up the talks I attended in case anyone was interested.&lt;/p&gt;

&lt;p&gt;After Ray Hightower, lead organizer of the conference, welcomed everyone Ryan Platte gave the first talk of the day: “Outside the sweet spot”&lt;/p&gt;

&lt;p&gt;Ryan’s talk was about getting Ruby and or ...
            </description>
            <pubDate>Mon, 22 Sep 2008 01:52:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/09/22/windy-city-rails-part-one
            </guid>
        </item>
        
        <item>
            <title>
              Metric Fu is Now a Gem
            </title>
            <description>
                &lt;p&gt;I just released version 0.7.6 of metric_fu and there’s all sorts of new stuff:&lt;/p&gt;

&lt;p&gt;First, MetricFu is now a Ruby gem on GitHub at:
&lt;a href=&quot;http://github.com/jscruggs/metric_fu&quot;&gt;http://github.com/jscruggs/metric_fu&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Also, the Flog task can now flog any set of directories you like. Just put this into your Rakefile:&lt;/p&gt;

&lt;p&gt;MetricFu::DIRECTORIES_TO_FLOG = [‘cms/app’, ‘cms/lib’]&lt;...
            </description>
            <pubDate>Tue, 16 Sep 2008 03:40:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/09/16/metric-fu-is-now-gem
            </guid>
        </item>
        
        <item>
            <title>
              Lone Star Ruby Conf Second Day (morning edition)
            </title>
            <description>
                &lt;p&gt;While checking out at the hotel I ran into Coby from confreaks.com They are recording the conference so you’ll be able to see the talks online sometime soon. They’re not cheap, but their videos are very good (they capture the output of the presenters computer and display it side by side with video of the presentation – you seriously need to check out their site), and they offer a discount if...
            </description>
            <pubDate>Sat, 06 Sep 2008 17:51:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/09/06/lone-star-ruby-conf-second-day-morning
            </guid>
        </item>
        
        <item>
            <title>
              Lone Star Ruby Conf First Day
            </title>
            <description>
                &lt;p&gt;(or the second day if you count the tutorials)&lt;/p&gt;

&lt;p&gt;To start things off Jim Freeze got up and announced that there are 282 attendees and seats for 280 – So make friends. The the first talk of the day was “The Next Ruby” by Bruce Williams and he (of course) discussed the difference between Ruby 1.8.6 and 1.9&lt;/p&gt;

&lt;p&gt;Bruce recommended a good test suite if you’re planning to move to 1.9 and ...
            </description>
            <pubDate>Sat, 06 Sep 2008 04:32:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/09/06/lone-star-ruby-conf-first-day
            </guid>
        </item>
        
        <item>
            <title>
              Training Day at Lone Star Ruby Conf
            </title>
            <description>
                &lt;p&gt;First, I’d to extend a big thanks to Joe and Jim for giving me a ride to the conference today.&lt;/p&gt;

&lt;p&gt;The two tutorials I decided to attend today were:&lt;br /&gt;
“The Advanced ActiveRecord Workshop” with Gregg Pollack &amp;amp; Jason Seifer (the Rails Envy Guys) and “The Ins and Outs of Ruby I/O” with James Edward Gray II and Gregory Brown. Both of which were excellent.&lt;/p&gt;

&lt;p&gt;The Advanced ActiveR...
            </description>
            <pubDate>Fri, 05 Sep 2008 03:49:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/09/05/training-day-at-lone-star-ruby-conf
            </guid>
        </item>
        
        <item>
            <title>
              I&#39;ll be Presenting at Windy City Rails
            </title>
            <description>
                &lt;p&gt;If you’re going to be in the Chicago area on or about Saturday, September 20th, you can see me give my “Using Metrics to take a Hard Look at Your Code” talk at the &lt;a href=&quot;http://windycityrails.org/&quot;&gt;Windy City Rails Conference&lt;/a&gt;. David Heinemeier Hansson, David Chelimsky, and Noel Rappin have been announced as speakers and I’ll be joining them for a interesting day of Rails related goodn...
            </description>
            <pubDate>Tue, 26 Aug 2008 01:01:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/08/26/ill-be-presenting-at-windy-city-rails
            </guid>
        </item>
        
        <item>
            <title>
              I&#39;m Thinking of Putting View Logic into a Model
            </title>
            <description>
                &lt;p&gt;As I am clearly crazy, but hear me out. Say there’s a Car object that uses single table inheritance and all the objects that descended from it are routed through the car method in the CarController. The CarController looks like this:&lt;/p&gt;

&lt;p&gt;1&lt;br /&gt;
2&lt;br /&gt;
3&lt;br /&gt;
4&lt;br /&gt;
5&lt;br /&gt;
6&lt;br /&gt;
7&lt;br /&gt;
8&lt;br /&gt;
9&lt;br /&gt;
&lt;strong&gt;10&lt;/strong&gt;&lt;br /&gt;
11&lt;br /&gt;
12&lt;br /&gt;
13&lt;br /&gt;
14&lt;br /&gt;
15&lt;br /&gt;
16&lt;br /&gt;
...
            </description>
            <pubDate>Mon, 25 Aug 2008 01:43:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/08/25/im-thinking-of-putting-view-logic-into
            </guid>
        </item>
        
        <item>
            <title>
              Perks vs. Salary
            </title>
            <description>
                &lt;p&gt;When I worked for ThoughtWorks I once got on a bus after work – no ordinary bus, mind you, this was “Party Bus.” On this “Party Bus” there were leather seats, flashing lights, a big screen TV with karaoke, and many bottles of Patron Silver and Grey Goose. We drank and sang like maniacs, then we got to the Casino where we ate a very fancy dinner (including some very pricey wine), did a little...
            </description>
            <pubDate>Fri, 22 Aug 2008 02:52:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/08/22/perks-vs-salary
            </guid>
        </item>
        
        <item>
            <title>
              What&#39;s a Good Flog Score?
            </title>
            <description>
                &lt;p&gt;I’ve been using &lt;a href=&quot;http://ruby.sadi.st/Flog.html&quot;&gt;Flog&lt;/a&gt; to measure the complexity of my Ruby code and I was wondering how others interpret Flog numbers. I’ll go first with my opinions:&lt;/p&gt;

&lt;p&gt;Score of    Means&lt;br /&gt;
0-10        Awesome&lt;br /&gt;
11-20       Good enough&lt;br /&gt;
21-40       Might need refactoring&lt;br /&gt;
41-60       Possible to justify&lt;br /&gt;
61-100      Danger&lt;br /&gt;
100-200 ...
            </description>
            <pubDate>Thu, 21 Aug 2008 01:44:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/08/21/whats-good-flog-score
            </guid>
        </item>
        
        <item>
            <title>
              Subversion Password Caching Problem Leads to TextMate svn Integration Problems
            </title>
            <description>
                &lt;p&gt;I had a problem recently with TextMate’s svn integration and finding the solution taught me some interesting things about Subversion and TextMate that I’d thought I’d share:&lt;/p&gt;

&lt;p&gt;First – TextMate fails with a non-helpful error message if you don’t cache svn passwords. For a long time I didn’t even realize that my two problems were related. I had to type in my username and password for svn...
            </description>
            <pubDate>Tue, 05 Aug 2008 04:13:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/08/05/subversion-password-caching-problem
            </guid>
        </item>
        
        <item>
            <title>
              Presenting at Lone Star Ruby Conf
            </title>
            <description>
                &lt;p&gt;Word on the street is that &lt;a href=&quot;http://lonestarrubyconf.com&quot;&gt;Lone Star Ruby Conf&lt;/a&gt; was one of the best regional conferences last year, so I’m pretty excited to be presenting at the 2008 edition. It’s happening Sept 4-6th in Austin, TX and speakers include: Matz, Evan Phoenix, Jim Weirich, The Rails Envy Guys, and too many other luminaries to name.&lt;/p&gt;

&lt;p&gt;I’ll be giving a talk entitled...
            </description>
            <pubDate>Tue, 01 Jul 2008 02:35:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/07/01/presenting-at-lone-star-ruby-conf
            </guid>
        </item>
        
        <item>
            <title>
              Disconnecting RSpec from the Database
            </title>
            <description>
                &lt;p&gt;Recently I spent some time away from &lt;a href=&quot;http://rspec.info/&quot;&gt;RSpec&lt;/a&gt; and I did miss it, but one thing especially liked about the testing framework I lived in for 10 months was that it had two ways to test anything you liked: One that hit the database and one that did not. We used &lt;a href=&quot;http://unit-test-ar.rubyforge.org/&quot;&gt;UnitRecord&lt;/a&gt; to disconnect unit tests from the database (I ...
            </description>
            <pubDate>Wed, 18 Jun 2008 04:41:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/06/18/disconnecting-rspec-from-database
            </guid>
        </item>
        
        <item>
            <title>
              Breadcrumbs are Evil
            </title>
            <description>
                &lt;p&gt;I’ve been on a few projects where I’ve had to mess with breadcrumbs and they tend to be much more trouble than they’re worth. It all starts simply enough: put the users path through the app on the page. Which isn’t too hard.&lt;/p&gt;

&lt;p&gt;Then the bugs come.&lt;/p&gt;

&lt;p&gt;Like: “This page is linked to from page A but it really is more of a child of page B so the breadcrumbs should show page B and not A ...
            </description>
            <pubDate>Fri, 13 Jun 2008 01:36:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/06/13/breadcrumbs-are-evil
            </guid>
        </item>
        
        <item>
            <title>
              Syntax Highlighting for Ruby Made Very Easy
            </title>
            <description>
                &lt;p&gt;So I’ve been making do with lame-o ‘pre’ tags for my code snippets and my blog looks, well, lame. But the various alternatives for highlighting ruby either didn’t work for Blogger or smacked of effort (and you know how I feel about effort).&lt;/p&gt;

&lt;p&gt;Well, recently I joined &lt;a href=&quot;http://obtiva.com/&quot;&gt;Obtiva&lt;/a&gt; and I was being all nosy looking at my new co-worker’s blogs, when I found &lt;a hre...
            </description>
            <pubDate>Thu, 29 May 2008 22:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/05/29/syntax-highlighting-for-ruby-made-very
            </guid>
        </item>
        
        <item>
            <title>
              Saving in TextMate
            </title>
            <description>
                &lt;p&gt;So today, for something like the fifth time, I sat down in front of a TextMate installation that didn’t have saving set up the way I like it: Auto save on loss of focus and when running a test (or spec). And, for the fifth time, I had to dig around the internet for the answer. So, as a public service to my future self:&lt;/p&gt;

&lt;p&gt;Save files when focus is lost:&lt;br /&gt;
&lt;a href=&quot;http://macromates.c...
            </description>
            <pubDate>Wed, 28 May 2008 00:22:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/05/28/saving-in-textmate
            </guid>
        </item>
        
        <item>
            <title>
              Metric_fu Now Measures Churn
            </title>
            <description>
                &lt;p&gt;Sometimes a class does too much. It’s used everywhere, does everything, knows all about the nasty internals of all the other classes, and every time you change anything in the application it has to change. Or maybe you have a class that everyone loves to refactor because it’s so bad. One developer changes it to be better, then another changes it to be a different kind of better, and this kee...
            </description>
            <pubDate>Mon, 12 May 2008 02:39:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/05/12/metricfu-now-measures-churn
            </guid>
        </item>
        
        <item>
            <title>
              Dead Simple Rails Metrics with metric_fu
            </title>
            <description>
                &lt;p&gt;Every time I create a new rails project I usually put off writing tasks to analyze the code’s quality ‘cause it takes time and time is, you know, finite. So I’ve decided to extract some code into a rails plugin which I call metric_fu.&lt;/p&gt;

&lt;p&gt;It’s a bunch of rake tasks that produce reports on code coverage (using &lt;a href=&quot;http://eigenclass.org/hiki.rb?rcov&quot;&gt;Rcov&lt;/a&gt;), cyclomatic complexity (...
            </description>
            <pubDate>Sun, 27 Apr 2008 22:45:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/04/27/dead-simple-rails-metrics-with-metricfu
            </guid>
        </item>
        
        <item>
            <title>
              The Bug that Took Down a Release and How I Wrote It
            </title>
            <description>
                &lt;p&gt;We were disposing of some last minute bugs today and I was reminded of the time, a few projects ago, when I introduced a bug that screwed up a whole release.&lt;/p&gt;

&lt;p&gt;Let’s say that I was writing a pizza ordering web site and, after many successful releases, the Big Wigs at PizzaCo wanted to introduce a new feature that would let customers customize their pizzas even more. In production the u...
            </description>
            <pubDate>Wed, 16 Apr 2008 03:25:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/04/16/bug-that-took-down-release-and-how-i
            </guid>
        </item>
        
        <item>
            <title>
              Ruby Substrings and Testing Legacy Code
            </title>
            <description>
                &lt;p&gt;Recently &lt;a href=&quot;http://www.cuberick.com/&quot;&gt;Josh Cronemeyer&lt;/a&gt; and I were working on writing a game in Ruby. &lt;a href=&quot;http://code.google.com/p/gosu/&quot;&gt;Gosu&lt;/a&gt;, a 2D game library for Ruby and C++, and &lt;a href=&quot;http://wiki.slembcke.net/main/published/Chipmunk&quot;&gt;Chipmunk&lt;/a&gt;, a 2D Physics engine, do lots of the heavy lifting so we thought it would be a fun Saturday afternoon thing to do. Howeve...
            </description>
            <pubDate>Tue, 01 Apr 2008 03:11:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/04/01/ruby-substrings-and-testing-legacy-code
            </guid>
        </item>
        
        <item>
            <title>
              On Inject, Complexity, and George Carlin
            </title>
            <description>
                &lt;p&gt;Inject has been stalking me for over 2 years.&lt;/p&gt;

&lt;p&gt;The year was 2005 and I had decided that I would write a website in this new fangled Rails thing. But while debugging some plugin code I ran into inject. To my java encrusted eyes, it looked like this:&lt;/p&gt;

&lt;table&gt;
  &lt;tbody&gt;
    &lt;tr&gt;
      &lt;td&gt;weird_thing = dont_know.inject({}) {&lt;/td&gt;
      &lt;td&gt;m, o&lt;/td&gt;
      &lt;td&gt;m[o] = some_crazy_method...
            </description>
            <pubDate>Wed, 19 Mar 2008 02:33:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/03/19/on-inject-complexity-and-george-carlin
            </guid>
        </item>
        
        <item>
            <title>
              A Small Rails Site and Why You Should Build One
            </title>
            <description>
                &lt;p&gt;&lt;img src=&quot;/assets/images/Road_Runner_thumb.jpg&quot; alt=&quot;&quot; /&gt; The other day I was showing Rails off to a friend of mine who wanted to know what all the fuss was about and I realized a shocking thing: I was horrible at starting a Rails site. Why? Because for the last year or so I’ve been working on large, established Rails codebases. Which is kinda cool as it shows how far Rails has come, but it ...
            </description>
            <pubDate>Wed, 12 Mar 2008 02:45:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/03/12/small-rails-site-and-why-you-should
            </guid>
        </item>
        
        <item>
            <title>
              ActiveSupport::CoreExtensions::String::Inflections underscore
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;&amp;gt; “ActiveSupport::CoreExtensions::String::Inflections”.underscore&lt;br /&gt;
=&amp;gt; “active_support/core_extensions/string/inflections”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;blockquote&gt;
  &lt;p&gt;&amp;gt; “ActiveSupport::CoreExtensions::String::Inflections”.underscore.camelize&lt;br /&gt;
=&amp;gt; “ActiveSupport::CoreExtensions::String::Inflections”&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Looks like Rails extension to the string cla...
            </description>
            <pubDate>Thu, 21 Feb 2008 12:26:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/02/21/activesupportcoreextensionsstringinflec
            </guid>
        </item>
        
        <item>
            <title>
              Return to Generating a Unique Number
            </title>
            <description>
                &lt;p&gt;In a previous post I discussed &lt;a href=&quot;http://jakescruggs.blogspot.com/2008/01/generating-unique-number.html&quot;&gt;generating a unique id number&lt;/a&gt; for an order in our database. Read the original post for the full story, but to sum up, I decided that playing around with rand(100_000_000) was good enough. &lt;a href=&quot;http://martin.ankerl.com/&quot;&gt;Martin Ankerl&lt;/a&gt; posted a comment pointing out that I ...
            </description>
            <pubDate>Wed, 20 Feb 2008 05:09:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/02/20/return-to-generating-unique-number
            </guid>
        </item>
        
        <item>
            <title>
              When You Should Ignore Metrics
            </title>
            <description>
                &lt;p&gt;Our team has been doing a bang up job of reducing our complexity through our &lt;a href=&quot;http://jakescruggs.blogspot.com/2008/01/method-hit-list.html&quot;&gt;hit list&lt;/a&gt; (All of our methods are ranked by &lt;a href=&quot;http://ruby.sadi.st/Flog.html&quot;&gt;Flog&lt;/a&gt; score and we spend some part of every iteration picking the worst methods and trying to refactor them.). But sometimes we run into a situation where w...
            </description>
            <pubDate>Wed, 23 Jan 2008 12:44:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/01/23/when-you-should-ignore-metrics
            </guid>
        </item>
        
        <item>
            <title>
              Automated Javascript Rails Testing
            </title>
            <description>
                &lt;p&gt;On my last project we did some javascript unit testing in browser using the unittest.js library from scriptaculous, but because it’s kind of a pain to set up and integrate into your build, I didn’t get it working on my current job. Which makes me a bad person. However, &lt;a href=&quot;http://drnicwilliams.com/&quot;&gt;Dr Nic Williams&lt;/a&gt; has made yours and my life easier with his &lt;a href=&quot;http://drnicwill...
            </description>
            <pubDate>Tue, 22 Jan 2008 05:08:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/01/22/automated-javascript-rails-testing
            </guid>
        </item>
        
        <item>
            <title>
              Generating a Unique Number
            </title>
            <description>
                &lt;p&gt;Weird requirement at work today: We needed a number that was alpha-numeric, exactly 11 digits, unique, and non-sequential. At first we thought of using a hash, but MD5 and Sha1 give you way too many digits. We could truncate to 11, but not knowing much about hashing, that made me pretty nervous that we’d have collisions. After a bunch of discussion, we decided on this:&lt;/p&gt;

&lt;p&gt;MAXIMUM_FOR_10...
            </description>
            <pubDate>Thu, 17 Jan 2008 04:35:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/01/17/generating-unique-number
            </guid>
        </item>
        
        <item>
            <title>
              The Method Hit List
            </title>
            <description>
                &lt;p&gt;In a previous post I talked about how my team has a &lt;a href=&quot;http://jakescruggs.blogspot.com/2007/09/metrics-for-rails.html&quot;&gt;daily metrics build&lt;/a&gt; that reports on our code quality. One of the things we measure is the &lt;a href=&quot;http://ruby.sadi.st/Flog.html&quot;&gt;Flog&lt;/a&gt; score of our methods (Flog is a ruby program that evaluates the complexity of your methods). We have a standing developer task...
            </description>
            <pubDate>Thu, 10 Jan 2008 02:01:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/01/10/method-hit-list
            </guid>
        </item>
        
        <item>
            <title>
              Svn Merge from Trunk to Branch
            </title>
            <description>
                &lt;p&gt;Every time I need to do this I try to use svn’s –help which is only possible to decipher if you already know what to do. Then I spend too much time on the internet looking for the answer. And finally I break down and ask my tech lead. With much shame. I’m putting this up here so I least I’ll know where to find it. Maybe you too.&lt;/p&gt;

&lt;p&gt;In the directory of the branch:&lt;/p&gt;

&lt;p&gt;svn merge -r 10...
            </description>
            <pubDate>Tue, 08 Jan 2008 03:21:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2008/01/08/svn-merge-from-trunk-to-branch
            </guid>
        </item>
        
        <item>
            <title>
              Mocking Backticks and Other Kernel Methods
            </title>
            <description>
                &lt;p&gt;There’s a bunch of places in our build where we need to execute a system command (such as running sqlplus) but often times we’ve found that the command fails and our build happily churns away. It’s pretty easy to check the result of system command with $?.success? but we have to remember to do that everywhere… So that means it’s time to extract a method. Here’s what &lt;a href=&quot;http://kseebaldt...
            </description>
            <pubDate>Thu, 15 Nov 2007 03:20:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/11/15/mocking-backticks-and-other-kernel
            </guid>
        </item>
        
        <item>
            <title>
              Employee Appreciation
            </title>
            <description>
                &lt;p&gt;As a consultant, I spend a lot of time at big companies and big companies generally have a morale problem. Bureaucracy, cubicles, and lax management will tend to do that. Typically they try to solve this problem by exchanging money for goodwill. A few projects ago I was consulting at one such company where they spent a ton of money having a day of games, burgers, and events during business h...
            </description>
            <pubDate>Thu, 25 Oct 2007 01:21:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/10/25/employee-appreciation
            </guid>
        </item>
        
        <item>
            <title>
              Metrics for Rails
            </title>
            <description>
                &lt;p&gt;Everyone thinks they write good code – it’s just part of human nature. You can’t do something every day and not secretly suspect that you’re good at it. Self-delusion is a powerful thing so you need to use metrics to take a hard look at your code.&lt;/p&gt;

&lt;p&gt;On my current project, we’ve just added a daily metrics build (run every day at midnight by &lt;a href=&quot;http://cruisecontrolrb.thoughtworks.c...
            </description>
            <pubDate>Fri, 14 Sep 2007 04:31:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/09/14/metrics-for-rails
            </guid>
        </item>
        
        <item>
            <title>
              Why 50% Test Coverage Seems More Painfull Than No Test Coverage
            </title>
            <description>
                &lt;p&gt;Recently I was on a project where a bunch of code had been written before we arrived. It was quite a struggle to get the application under test. After a number of months the team hit 50% and then we just stayed there. We had a hard time getting client developer buy-in on the push upward from 50%. I didn’t really understand this attitude at first, but after talking with the devs, I realized t...
            </description>
            <pubDate>Fri, 31 Aug 2007 03:02:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/08/31/why-50-test-coverage-seems-more
            </guid>
        </item>
        
        <item>
            <title>
              Writing Your Own Custom Log Parser
            </title>
            <description>
                &lt;p&gt;I spent the last week writing a log parser of all things. The web site I’m currently working on is the sign-up page for a large company so they are very concerned about how far the average joe gets into the process before they give up. If everybody bails on the address page, then perhaps it’s too complicated or unresponsive or… something. Up till now we’ve been redesigning pages based on som...
            </description>
            <pubDate>Wed, 29 Aug 2007 04:01:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/08/29/writing-your-own-custom-log-parser
            </guid>
        </item>
        
        <item>
            <title>
              RSpec on Rails: Models
            </title>
            <description>
                &lt;p&gt;In my last post I talked about using RSpec without Rails, but since just about all my Ruby programming involves Rails, I should probably get into how to specify Rails code.&lt;/p&gt;

&lt;p&gt;RSpec on Rails: Models&lt;/p&gt;

&lt;p&gt;So if you’re new to RSpec and you want to get started quickly, head on over to &lt;a href=&quot;http://rspec.rubyforge.org/&quot;&gt;rspec.rubyforge.org&lt;/a&gt;, get RSpec, Spec::Rails and then, after y...
            </description>
            <pubDate>Fri, 10 Aug 2007 04:58:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/08/10/rspec-on-rails-models
            </guid>
        </item>
        
        <item>
            <title>
              RSpec without Rails
            </title>
            <description>
                &lt;p&gt;I’m going to try and turn my recent presentation on RSpec into a series of blog posts – This being the first. Before I get on with it I would like to thank the Houston Ruby and Rails Users Group for having me. They asked some pretty insightful questions and were generally a great audience. I’d also like to thank ThoughtWorks for paying for my flight, rental car, and lost billable hours so I ...
            </description>
            <pubDate>Wed, 08 Aug 2007 02:53:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/08/08/rspec-without-rails
            </guid>
        </item>
        
        <item>
            <title>
              RSpec Resources
            </title>
            <description>
                &lt;p&gt;Later this evening I’m giving a talk on RSpec at the “Houston Ruby and Rails Group.”&lt;/p&gt;

&lt;p&gt;In case somebody misses a link, I’m posting them here:&lt;/p&gt;

&lt;p&gt;RSpec’s homepage: &lt;a href=&quot;http://rspec.rubyforge.org/&quot;&gt;rspec.rubyforge.org&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;RSpec Users Mailing list: &lt;a href=&quot;http://rubyforge.org/mailman/listinfo/rspec-users&quot;&gt;rubyforge.org/mailman/listinfo/rspec-users&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;David Che...
            </description>
            <pubDate>Mon, 06 Aug 2007 15:25:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/08/06/rspec-resources
            </guid>
        </item>
        
        <item>
            <title>
              I&#39;m Presenting on RSpec in Houston
            </title>
            <description>
                &lt;p&gt;I’ve been invited to give a presentation on &lt;a href=&quot;http://rspec.rubyforge.org/&quot;&gt;RSpec&lt;/a&gt; at the &lt;a href=&quot;http://www.houstonrb.com/&quot;&gt;Houston Area Ruby and Rails User Group&lt;/a&gt; on Monday August 6th – and I’m pretty excited to do it. It’ll be a nice opportunity to organize my thoughts and lessons learned after using RSpec on my last two projects. I’ll be talking about the why and the how of ...
            </description>
            <pubDate>Sat, 28 Jul 2007 14:09:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/07/28/im-presenting-on-rspec-in-houston
            </guid>
        </item>
        
        <item>
            <title>
              Caching Dynamically Modified Objects and the Trouble it Causes
            </title>
            <description>
                &lt;p&gt;So I told you, in a &lt;a href=&quot;http://jakescruggs.blogspot.com/2007/06/why-does-modifying-my-classes.html&quot;&gt;previous post&lt;/a&gt;, about how our application has two parts: the live site and the cms. And that we want objects of the same class to behave differently in the two applications (only ‘live’ status objects should show up on the live site), which is not so hard in Ruby. But a few days later ...
            </description>
            <pubDate>Tue, 03 Jul 2007 05:57:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/07/03/caching-dynamically-modified-objects
            </guid>
        </item>
        
        <item>
            <title>
              Why does modifying my classes dynamically only work once in Rails?
            </title>
            <description>
                &lt;p&gt;(Or the downside of class caching)&lt;/p&gt;

&lt;p&gt;This is a gotcha in Rails where your custom plugin or other dynamic change of a class only seems to work once.&lt;/p&gt;

&lt;p&gt;First, a little background:&lt;br /&gt;
Recently we had a problem where we wanted an object to behave differently in two different instances of Rails. Ya see, we have models that are shared by two separately running rails instances. One i...
            </description>
            <pubDate>Wed, 27 Jun 2007 02:31:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/06/27/why-does-modifying-my-classes
            </guid>
        </item>
        
        <item>
            <title>
              Fixture Migrations in Rails
            </title>
            <description>
                &lt;p&gt;(This is the third of three posts on Rails fixtures)&lt;/p&gt;

&lt;p&gt;Awhile back &lt;a href=&quot;http://www.cuberick.com/&quot;&gt;Josh Cronemeyer&lt;/a&gt; approached me with an idea to migrate fixtures in Rails. The problem we were trying to solve is when your database changes you need to edit all the fixture files to reflect the change – which usually doesn’t happen and then things break/get weird. We spent a few hou...
            </description>
            <pubDate>Fri, 15 Jun 2007 19:41:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/06/15/fixture-migrations-in-rails
            </guid>
        </item>
        
        <item>
            <title>
              What are Rails Fixtures Good for Anyway?
            </title>
            <description>
                &lt;p&gt;(This is the second of three posts on Rails fixtures)&lt;/p&gt;

&lt;p&gt;I like using fixtures for setting up a development environment. Applications need data in the db to function so what most teams do is pass around a database, or two, or five. A new person joins the project and he/she gets a dump from one of the devs, imports it and goes to work. What happens when you screw up your db by:&lt;/p&gt;

&lt;ul&gt;...
            </description>
            <pubDate>Fri, 15 Jun 2007 19:30:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/06/15/what-are-rails-fixtures-good-for-anyway
            </guid>
        </item>
        
        <item>
            <title>
              Why I Hate Using Rails Fixtures in Tests/Specs
            </title>
            <description>
                &lt;p&gt;(This is the first of three posts on Rails fixtures)&lt;/p&gt;

&lt;p&gt;So you have a Person object that has a many to many relationship with Roles and Movies (maybe this is site where people track their favorite movies). So to test it you need to have the following files:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;people.yml&lt;/li&gt;
  &lt;li&gt;roles.yml&lt;/li&gt;
  &lt;li&gt;movies.yml&lt;/li&gt;
  &lt;li&gt;and the join tables:&lt;/li&gt;
  &lt;li&gt;people_roles.yml&lt;/...
            </description>
            <pubDate>Fri, 15 Jun 2007 19:25:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/06/15/why-i-hate-using-rails-fixtures-in
            </guid>
        </item>
        
        <item>
            <title>
              Public Static Final for Ruby
            </title>
            <description>
                &lt;p&gt;When I first got into Ruby awhile back I found that I wanted to do something like I used to in Java:&lt;/p&gt;

&lt;p&gt;public static final String BLUE = “blue”;&lt;/p&gt;

&lt;p&gt;But darned if I could get the internet to tell me how, so here I am giving back to the community:&lt;/p&gt;

&lt;p&gt;in solar_constants.rb:&lt;/p&gt;

&lt;p&gt;module SolarConstants&lt;br /&gt;
 MASS_OF_EARTH = 5.98e24&lt;br /&gt;
end&lt;/p&gt;

&lt;p&gt;in some other file:&lt;/p&gt;

&lt;p...
            </description>
            <pubDate>Wed, 30 May 2007 02:26:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/05/30/public-static-final-for-ruby
            </guid>
        </item>
        
        <item>
            <title>
              EVDO Card on a Dell D620 Running Linux
            </title>
            <description>
                &lt;p&gt;One of the things that kept me from installing Linux on my laptop was concern about support for peripherals such as printers, digital cameras, USB devices in general, and my ThoughtWorks-provided EVDO card. The cool thing with Fiesty Fawn is that all except the EVDO card worked out of the box (I should say I had some trouble with my wireless on Edgy Eft). And the EVDO card only took about 5 ...
            </description>
            <pubDate>Tue, 29 May 2007 14:03:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/05/29/evdo-card-on-dell-d620-running-linux
            </guid>
        </item>
        
        <item>
            <title>
              The Last Day of Rails Conf 2007
            </title>
            <description>
                &lt;p&gt;A light day for me as a 4 hour flight + 2 hour time change + wanting to see my wife for a few hours this weekend means I left early.&lt;/p&gt;

&lt;p&gt;Before I get started I wanted to say a few words about Portland:&lt;/p&gt;

&lt;p&gt;It’s a great city. The train took us from the airport straight to the convention center (and our hotel which was 2 blocks away). Then we found out the train is free in the downtown...
            </description>
            <pubDate>Tue, 22 May 2007 05:49:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/05/22/last-day-of-rails-conf-2007
            </guid>
        </item>
        
        <item>
            <title>
              Thoughts on the Second Day of Rails Conf 2007
            </title>
            <description>
                &lt;p&gt;Keynote (AKA paid sponsor time) – Cyndi Mitchell (ThoughtWorks) and Tim Bray (Sun):&lt;/p&gt;

&lt;p&gt;Cyndi seemed a bit nervous and well she should be – this is ThoughtWorks big play to mold the face of the Ruby/Rails world by announcing &lt;a href=&quot;http://studios.thoughtworks.com/rubyworks&quot;&gt;RubyWorks&lt;/a&gt;. RubyWorks is a “free, open source LAMP production stack is for RedHat Enterprise Edition and CentO...
            </description>
            <pubDate>Sun, 20 May 2007 15:28:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/05/20/thoughts-on-second-day-of-rails-conf
            </guid>
        </item>
        
        <item>
            <title>
              First Day of Rails Conf 2007
            </title>
            <description>
                &lt;p&gt;Finished the first day of Rails Conf and here are my impressions:&lt;/p&gt;

&lt;p&gt;DHH’s keynote:&lt;br /&gt;
Lets celebrate what we have. Blah blah blah. Rails has come a long way. Yadda yadda yadda. Here’s a sneak preview of what ActiveResource is going to be like in Rails 2.0. Ooooh, Aaaah.&lt;/p&gt;

&lt;p&gt;Actually the ActiveResource stuff was pretty cool. With a little bit of setup you can have one controller ...
            </description>
            <pubDate>Sat, 19 May 2007 04:33:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/05/19/first-day-of-rails-conf-2007
            </guid>
        </item>
        
        <item>
            <title>
              Beware Tomcat5.5 in Feisty Fawn
            </title>
            <description>
                &lt;p&gt;I moved to the newest version of Ubuntu over the weekend: Feisty Fawn. I was having troubles getting my wireless working (Intel PRO/Wireless 3945) and I had heard it works in Feisty. The upgrade, um, took out my system. Yep. Everything was chugging along just fine until it tried to upgrade Tomcat and then I got a cryptic error message saying the update had failed and I should email them. No ...
            </description>
            <pubDate>Tue, 01 May 2007 03:11:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/05/01/beware-tomcat55-in-feisty-fawn
            </guid>
        </item>
        
        <item>
            <title>
              Secret Origin of the ‘Super Ultra Critical Showstopper’ Bug
            </title>
            <description>
                &lt;p&gt;When you first start a project and you set up bug tracking software there tends to be 3 levels of bugs:  Low, Medium, and High.  After awhile you might notice there are now ‘critical’ bugs.  Come back a little while later and there’ll be a ‘showstopper’ or ‘blocker’ bug level.  And the funny thing is, most of the bugs will be logged at the highest levels.  Literally 50% of bugs are given suc...
            </description>
            <pubDate>Tue, 24 Apr 2007 01:17:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/04/24/secret-origin-of-super-ultra-critical
            </guid>
        </item>
        
        <item>
            <title>
              Stubbing/Mocking a Partial Within a Partial with RSpec
            </title>
            <description>
                &lt;p&gt;So in a &lt;a href=&quot;http://jakescruggs.blogspot.com/2007/03/mockingstubbing-partials-and-helper.html&quot;&gt;previous post&lt;/a&gt; I complained about not being able to mock/stub a partial from within a partial, but with Peter Ryan and Mike Ward’s help we got it all figured out.&lt;br /&gt;
Normally in your test(spec) you call a partial like this:&lt;/p&gt;

&lt;p&gt;render :partial =&amp;gt; ‘partial_name’,&lt;br /&gt;
    locals =&amp;...
            </description>
            <pubDate>Tue, 10 Apr 2007 05:07:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/04/10/stubbingmocking-partial-within-partial
            </guid>
        </item>
        
        <item>
            <title>
              Windows vs OSX vs Ubuntu for Ruby/Rails Development
            </title>
            <description>
                &lt;p&gt;When I first started working with Rails, I had a windows laptop and so that’s where I worked.  Later I got on two different Rails projects that used OSX (on Mac minis).  Now I’m using Kubuntu.  I thought I’d take a minute to compare them all.&lt;/p&gt;

&lt;p&gt;I’m not going to mince words here – try to avoid developing in Windows if at all possible for these reasons:&lt;/p&gt;

&lt;ul&gt;
  &lt;li&gt;Tests will run ver...
            </description>
            <pubDate>Thu, 29 Mar 2007 03:43:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/03/29/windows-vs-osx-vs-ubuntu-for-rubyrails
            </guid>
        </item>
        
        <item>
            <title>
              Using OpenStruct to Enhance Your Mocks
            </title>
            <description>
                &lt;p&gt;So I use RSpec’s built in mocking framework for my mocking/stubbing and it works quite well. I sent up a mock like so:&lt;/p&gt;

&lt;p&gt;mock_active_record_instance =&lt;br /&gt;
   mock(“give it a name here, but probably a better one than this”)&lt;/p&gt;

&lt;p&gt;and put some expectations on it like so:&lt;/p&gt;

&lt;p&gt;mock_active_record_instance.should_receive(:id).and_return(1)&lt;/p&gt;

&lt;p&gt;but some calls to the mock I don’t c...
            </description>
            <pubDate>Sat, 24 Mar 2007 20:36:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/03/24/using-openstruct-to-enhance-your-mocks
            </guid>
        </item>
        
        <item>
            <title>
              Rails partials should be explicitly called with locals
            </title>
            <description>
                &lt;p&gt;Since Rails partials can see all the @variables of their parent view it’s pretty common to see partials with @’s all over the place. But the cool thing about partials is reusing them in other views and if you do you have to remember to populate all the stuff it needs and name everything the way it wants. Bah, I say. More and more I find myself explicitly calling partials with locals even if ...
            </description>
            <pubDate>Tue, 20 Mar 2007 00:47:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/03/20/rails-partials-should-be-explicitly
            </guid>
        </item>
        
        <item>
            <title>
              Mocking/Stubbing partials and helper methods in RSpec view specs
            </title>
            <description>
                &lt;p&gt;In my previous post I whined about not knowing how to mock/stub partials and helper methods in RSpec view specs. Now I have the answer and I’d like to thank the RSpec users mailing list and David Chelimsky for taking my phone call.&lt;/p&gt;

&lt;p&gt;In short, it’s all about @controller.template&lt;/p&gt;

&lt;p&gt;@controller.template.stub!(:a_helper_method).and_return(true)&lt;/p&gt;

&lt;p&gt;Stubs out the appropriately na...
            </description>
            <pubDate>Fri, 16 Mar 2007 07:05:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/03/16/mockingstubbing-partials-and-helper
            </guid>
        </item>
        
        <item>
            <title>
              What I want from view specs
            </title>
            <description>
                &lt;p&gt;I got an email today from a friend asking me about specifying views in RSpec in which he admitted he hadn’t done it much and first reaction was “I know what you mean!” Because it’s hard to spec views when you’re not hitting the database. You have to mock or stub out so many calls to your object just to get at the one or two lines you want to spec. And then I realized why I hate specifying vi...
            </description>
            <pubDate>Fri, 16 Mar 2007 00:33:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/03/16/what-i-want-from-view-specs
            </guid>
        </item>
        
        <item>
            <title>
              Wrapping a Context in a Context (in RSpec)
            </title>
            <description>
                &lt;p&gt;A few days ago I blogged about solving a sticky problem by overwriting the “new” method on an ActiveRecord object inside a test (spec). Something I should have mentioned is that this is dangerous because if another spec (test) tries to call new and gets executed after the dangerous spec/test is run, then of course it won’t have the original new method. And it’s a very hard error to track dow...
            </description>
            <pubDate>Wed, 14 Mar 2007 02:31:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/03/14/wrapping-context-in-context-in-rspec
            </guid>
        </item>
        
        <item>
            <title>
              Rcov/RSpec problem solved in RSpec 0.8.2
            </title>
            <description>
                &lt;p&gt;I loves me some RSpec, but I’ve had this consistent problem on my last two projects when RSpec and Rcov are run together:  Sometimes you get Seg Faults.  In a previous post I talked about my solution to this (redefining the new method on ActiveRecord objects), but it was a hacky solution and I’m glad to say that it’s out of the code base as of today.  On a hunch this weekend I installed RSpe...
            </description>
            <pubDate>Tue, 13 Mar 2007 01:24:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/03/13/rcovrspec-problem-solved-in-rspec-082
            </guid>
        </item>
        
        <item>
            <title>
              Lemme solve all your problems
            </title>
            <description>
                &lt;p&gt;Persistent, baffling problem?&lt;/p&gt;

&lt;p&gt;Windows: restart computer&lt;br /&gt;
Linux: change file permissions&lt;/p&gt;

&lt;p&gt;I need to Tattoo this on the back of my hand so I can see it while I type.&lt;/p&gt;

&lt;p&gt;Long day.&lt;/p&gt;

            </description>
            <pubDate>Thu, 08 Mar 2007 02:29:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/03/08/lemme-solve-all-your-problems
            </guid>
        </item>
        
        <item>
            <title>
              Battle of the method_missings
            </title>
            <description>
                &lt;p&gt;So if you’ve heard about Ruby, you’ve probably heard about method_missing (short summary: if an object receives a message it doesn’t understand it calls method_missing which you can overwrite. This allows Rails ActiveRecord to handle User.find_by_email_and_name_and_phone_number on the fly – it parses the message and gives you the method you want dynamically). But when too many things try to ...
            </description>
            <pubDate>Wed, 07 Mar 2007 00:41:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/03/07/battle-of-methodmissings
            </guid>
        </item>
        
        <item>
            <title>
              FoxyProxy is bad news
            </title>
            <description>
                &lt;p&gt;At work we have to go through a proxy to get to the outside world. So every time I take my laptop home I need to switch the proxy setting on my browser. Lame. Surely there is some sort of Firefox plugin to help me with this tedious task.&lt;/p&gt;

&lt;p&gt;And there is. But Foxyproxy isn’t it.&lt;/p&gt;

&lt;p&gt;It’s crazy heavyweight and unpredictable. The heavyweight part is that you can define different proxy ...
            </description>
            <pubDate>Thu, 01 Mar 2007 04:52:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/03/01/foxyproxy-is-bad-news
            </guid>
        </item>
        
        <item>
            <title>
              ActionMailer tips
            </title>
            <description>
                &lt;p&gt;My latest story card is all about getting our app to send email so I’ve had to delve into ActionMailer. It’s a cool way to send emails without tons of code but there are some things that are a little bit wacky. Let us say that you’ve got a cookie website and you want people to be able to send emails of their favorite recipes to each other. “My that’s a handsome cookie” they might say and “Oh...
            </description>
            <pubDate>Tue, 27 Feb 2007 01:16:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/02/27/actionmailer-tips
            </guid>
        </item>
        
        <item>
            <title>
              The stack trace that doesn’t mean anything
            </title>
            <description>
                &lt;p&gt;We’re using an open source java app to help with searching on my current project and when I start it up (through cygwin – must… stop… developing… in… windows…) it throws up a bunch of stack traces.  The first time I saw this I thought “holy crap, I must have configured it wrong.”  And I was right.  But then I configured it correctly and I was still getting a few stack traces on startup.  I s...
            </description>
            <pubDate>Fri, 23 Feb 2007 05:03:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/02/23/stack-trace-that-doesnt-mean-anything
            </guid>
        </item>
        
        <item>
            <title>
              Rails fixtures on Linux and Windows
            </title>
            <description>
                &lt;p&gt;At my current gig I develop on Windows while the rest of the team is working on Linux (but not for long, I just got PartitionMagic and I’m going to dual-boot).  This has caused several problems and one of the most vexing is that the Linux dudes can check in fixtures that blow up on my Windows box.  Every time it happens I take a look at the offending fixture and it isn’t putting something in...
            </description>
            <pubDate>Thu, 22 Feb 2007 00:14:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/02/22/rails-fixtures-on-linux-and-windows
            </guid>
        </item>
        
        <item>
            <title>
              The perils of keeping your prototype
            </title>
            <description>
                &lt;p&gt;Oh sure everybody says you should throw out the prototype after you make it, but look at all that yummy code just waiting to be used.  Sure you wrote it fast and without tests – but it took a lot of work and it would be silly not to just use it as the base of your real project.  Brush it off, clean it up a little, and it’ll be fine.&lt;/p&gt;

&lt;p&gt;Don’t do it.&lt;/p&gt;

&lt;p&gt;First of all it’s not fine.  C...
            </description>
            <pubDate>Tue, 20 Feb 2007 01:32:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/02/20/perils-of-keeping-your-prototype
            </guid>
        </item>
        
        <item>
            <title>
              Theater and Programming
            </title>
            <description>
                &lt;p&gt;Awhile back I was bored of the suburbs and being a teacher (high school physics for 7 years – no foolin’) so I decided to become an actor.  I didn’t quit my job, but I did use my summer vacation to take 3 acting classes at once.  It was a crazy good time and I completely recommend it to anyone looking for a change of pace and/or the opportunity to meet lots of pretty girls.  Anyway, one of m...
            </description>
            <pubDate>Fri, 16 Feb 2007 00:41:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/02/16/theater-and-programming
            </guid>
        </item>
        
        <item>
            <title>
              Object::InstanceMethods is a confusing error
            </title>
            <description>
                &lt;p&gt;So the project I’m working on has multiple databases – which is, in Rails opinion, kinda weird.  Lately we’ve been having some issues where one developer will check in a migration that creates a new database and updates the database.example file.  Everyone else does an update, tries to run their migrations, and gets an error saying that you can’t overwrite Object::InstanceMethods.  What they...
            </description>
            <pubDate>Thu, 15 Feb 2007 00:10:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/02/15/objectinstancemethods-is-confusing
            </guid>
        </item>
        
        <item>
            <title>
              RSpec and Rcov are not playing nice
            </title>
            <description>
                &lt;p&gt;So I ran into this weird problem with RSpec (the unit test (spec) framework for Ruby) and Rcov (a code coverage tool also for Ruby).  At some point, usually as your list of specs gets longer, if you run your specs with Rcov they blow up with a seg fault.  I’ve seen this happen on OSX, Windows, and now Linux.  On my last project we just had to give up running Rcov (which sucked).  This time R...
            </description>
            <pubDate>Wed, 14 Feb 2007 03:35:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/02/14/rspec-and-rcov-are-not-playing-nice
            </guid>
        </item>
        
        <item>
            <title>
              Where’s the code?
            </title>
            <description>
                &lt;p&gt;So I wrote this website for my dad over the weekend.  Mostly to replace this site I wrote about 8-9 years ago when I first learned HTML.  Dad’s a sculptor and I thought it would be cool for him to have a web presence.  Of course to update the site he has to edit these html templates I gave him, create thumbnails and non-huge regular images of the pictures he’s taken, and then ftp the files t...
            </description>
            <pubDate>Tue, 13 Feb 2007 01:34:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/02/13/wheres-code
            </guid>
        </item>
        
        <item>
            <title>
              What must not be spoken of
            </title>
            <description>
                &lt;p&gt;You join a new project (and if you’re a consultant like me then this happens a lot) and you start asking a bunch of questions.  Where’s the svn repository?  What version of Rails are we using?  How do I install this other thing upon which our thing depends? And the answers come.  But then it’s a few days later and the more sensitive questions come:  Why aren’t we pairing much?  Why is this m...
            </description>
            <pubDate>Sat, 10 Feb 2007 03:37:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/02/10/what-must-not-be-spoken-of
            </guid>
        </item>
        
        <item>
            <title>
              Code Review
            </title>
            <description>
                &lt;p&gt;As part of the hiring process at ThoughtWorks we do a code review.  After a candidate gets through a few gates (a resume’ screen and some phone interviews) the prospect is giving a choice of three code problems to work on.  They have 3 days to complete the assignment and turn it in.  Then we have 2 developers look over the code (separately) and assign it a score.  A lot of these submissions ...
            </description>
            <pubDate>Fri, 09 Feb 2007 02:41:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/02/09/code-review
            </guid>
        </item>
        
        <item>
            <title>
              RMagick is a crazy pain
            </title>
            <description>
                &lt;p&gt;First of all I was sick for 4 days last week so, yes, I missed the first 4 days of my new project.  Nice.  Now this is an ongoing project (for about a monthish now), so it wasn’t a total tragedy.  But I did feel like a mope calling in every day to say that I was indeed still sick.  I’m still sick, but it’s at a point where I can manage it with OTC medications.  Drugged up and billable I am. ...
            </description>
            <pubDate>Tue, 06 Feb 2007 06:45:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/02/06/rmagick-is-crazy-pain
            </guid>
        </item>
        
        <item>
            <title>
              Testing vs. Speed
            </title>
            <description>
                &lt;p&gt;So I tend to be on the more extreme side of the testing debate.  On my current project I helped institute extensive use of RSpec and Selenium Remote Control.  RSpec allows you to test the models, view, and controllers in isolation from each other through the use of a built in mocking framework (to mock out ActiveRecord objects and Stub out call to finders) and some ideas borrowed from Zen Te...
            </description>
            <pubDate>Fri, 26 Jan 2007 05:09:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/01/26/testing-vs-speed
            </guid>
        </item>
        
        <item>
            <title>
              Be the worst
            </title>
            <description>
                &lt;p&gt;So for about 2 months I’ve been working on this project with Clint Bishop and Nick Drew.  Nick was the Project Manager/Tester/Technical lead and build guy.  Clint and I were developers.  Now that this project is being handed off to a new team (headed by Obie Fernandez), Clint and I have been working with developers other than each other.  This is always a tricky thing because you have to jus...
            </description>
            <pubDate>Fri, 19 Jan 2007 03:13:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/01/19/be-worst
            </guid>
        </item>
        
        <item>
            <title>
              How did I get here?
            </title>
            <description>
                &lt;p&gt;So there’s only one more week left before this project goes live. But how did it start? Well, oddly enough, with arts and crafts.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/IMG_0733.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;p&gt;See those faces in the above photo? I, and a bunch of professional consultants, went to Walgreen’s, purchased fashion magazines, then cut out and pasted pictures onto paper. Sounds kinda dumb, huh? W...
            </description>
            <pubDate>Thu, 18 Jan 2007 01:18:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/01/18/how-did-i-get-here
            </guid>
        </item>
        
        <item>
            <title>
              Mechanical Turk can be beaten
            </title>
            <description>
                &lt;p&gt;Btw, here’s where I’m staying while on this gig:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/assets/images/IMG_0750.jpg&quot; alt=&quot;&quot; /&gt;&lt;br /&gt;
See that boxy hotel, just right of center? That, my friends, is the mighty Sea Turtle Inn. And by mighty I mean: “Don’t stay there.” Nice location, crappy rooms.&lt;/p&gt;

&lt;p&gt;Yesterday I was laid low by the perils of Amazon’s new RESTYSOAPY (because everyone wants their REST to be more ...
            </description>
            <pubDate>Wed, 17 Jan 2007 00:22:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/01/17/btw-heres-where-im-staying-while-on
            </guid>
        </item>
        
        <item>
            <title>
              The End to End Example
            </title>
            <description>
                &lt;p&gt;So this project I’m on is gonna be all sorts of User-Driven, but we don’t want users posting just anything (like say pictures of 9/11 on a page about a Restaurant). But how do you know a pic is “appropriate”? Computers just ain’t smart enough to do your job for you when it comes to images. And screening all those photos for badness would take an army of dudes.&lt;/p&gt;

&lt;p&gt;Well our friends at Ama...
            </description>
            <pubDate>Tue, 16 Jan 2007 05:29:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2007/01/16/end-to-end-example
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Wednesday, August 18, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary. This is the last post of the series.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Last day of XPAU and I’m pretty burnt. I’m typing this from the airport in Calgary where they inform me that they are running an hour behind. This is bad because my con...
            </description>
            <pubDate>Wed, 18 Aug 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/08/18/my-apprenticeship-wednesday-august-18
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Tuesday, August 17, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Got up late, hustled downstairs to get some breakfast, only too discover that I didn’t care much for either of the Keynotes that morning. Some Microsoft guy was gonna talk about Visual Studio and M.S. agil...
            </description>
            <pubDate>Tue, 17 Aug 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/08/17/my-apprenticeship-tuesday-august-17
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Sunday, August 15, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Every time I think I understand FitNesse I’m wrong. After a day of using it for Acceptance Testing I know a lot more about it, but I’m going to assume there’s more. But this is jumping to the end, I’ll bac...
            </description>
            <pubDate>Sun, 15 Aug 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/08/15/my-apprenticeship-sunday-august-15-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Saturday, August 14, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Travel day today. Flew to Phoenix, AZ (4 hours) and then to Calgary (3 hours) plus 1 hour for lateness and layovers is an 8 hour trip that should have taken 3 (Chi to Cal). And there was a fun little dash ...
            </description>
            <pubDate>Sat, 14 Aug 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/08/14/my-apprenticeship-saturday-august-14
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Friday, August 13, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Last day in Gurnee. The Object Mentors decided that pizza wasn’t enough for my birthday, so they took me out to one of those fancy Japanese steakhouses. Ya know, I’ve never actually been to one of those kn...
            </description>
            <pubDate>Fri, 13 Aug 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/08/13/my-apprenticeship-friday-august-13-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Thursday, August 12, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;My Birthday today and the guys at OM were kind enough to buy me some pizza. Later on tonight I’m going to have a quiet little get-together at my favorite restaurant: Club Lucky.&lt;/p&gt;

&lt;p&gt;Tomorrow is my last...
            </description>
            <pubDate>Thu, 12 Aug 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/08/12/my-apprenticeship-thursday-august-12
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Wednesday, August 11, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I successfully broke the connection between the ChessBoard and the Pawn and the King. Pawn has its own PawnChessBoardIntereface and the king has KingChessBoardInterface. Each of these interfaces are pretty...
            </description>
            <pubDate>Wed, 11 Aug 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/08/11/my-apprenticeship-wednesday-august-11
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Tuesday, August 10, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Well, I got the king’s weirdo move logic straightened out. And the pawn’s. But now I’m looking at my ChessBoard class and I’m unhappy. ChessBoard does a lot stuff and I’m beginning to suspect that all the ...
            </description>
            <pubDate>Tue, 10 Aug 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/08/10/my-apprenticeship-tuesday-august-10
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Monday, August 9, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;XPAU is only a week away and most of the things that need to be shipped have been shipped. So Monday was the calm before the storm. Micah had a hundred or so neglected emails to answer and some odds-and-en...
            </description>
            <pubDate>Mon, 09 Aug 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/08/09/my-apprenticeship-monday-august-9-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Friday, August 6, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Last day of the TDD and refactoring class today. We started with an intro to FitNesse, which is acceptance testing. The basic idea is that while unit tests are concerned with the inner workings of the clas...
            </description>
            <pubDate>Fri, 06 Aug 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/08/06/my-apprenticeship-friday-august-6-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Thursday, August 5, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Well, knowing more about mocking objects would have helped a lot when I was writing my TDD Tic Tac Toe. Mocking Objects was, of course, one of the subjects of today’s class. The whole day was devoted to TD...
            </description>
            <pubDate>Thu, 05 Aug 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/08/05/my-apprenticeship-thursday-august-5
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Wednesday, August 4, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Good news! With Jet Brains’ ‘Resharper’ plug-in installed, Visual Studio is way more fun. Not as cool as IntelliJ, but it’s getting there. As you might have guessed, the TDD and Refactoring class is being ...
            </description>
            <pubDate>Wed, 04 Aug 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/08/04/my-apprenticeship-wednesday-august-4
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Tuesday, August 3, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Other than a little bit of time spent with Micah explaining Word Press to Bob, I was able to code all day. Whoo! Some hints from Micah yesterday and a lot of trial and error today led me to finally get the...
            </description>
            <pubDate>Tue, 03 Aug 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/08/03/my-apprenticeship-tuesday-august-3-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Monday, August 2, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Word Press has been successfully installed on the Object Mentor servers and ‘ButUncleBob.com’ should be available for blogging in a few days. So head on over there sometime soon and pick a fight with Bob M...
            </description>
            <pubDate>Mon, 02 Aug 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/08/02/my-apprenticeship-monday-august-2-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Friday, July 30, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;IntelliJ IDEA 4.5 just came out and there’s a been a flurry of emails about how it lets you analyze your code. The Martins (Micah and Bob) are trading barbs about whose code is more redundant. Paul looked ...
            </description>
            <pubDate>Fri, 30 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/30/my-apprenticeship-friday-july-30-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Thursday, July 29, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So I was doing one last re-install of Word Press, just to make sure I understood everything that could go wrong – But apparently there was one more thing. I just couldn’t sign in from my laptop when I poin...
            </description>
            <pubDate>Thu, 29 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/29/my-apprenticeship-thursday-july-29-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Wednesday, July 28, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Not a whole lot going on today. I messed around with Word Press. Paul continues to remove the html from FitNesse. Which is more like storing the html inside methods so that the chance of a typo is reduced ...
            </description>
            <pubDate>Wed, 28 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/28/my-apprenticeship-wednesday-july-28
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Tuesday, July 27, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Today I worked on cleaning up Word Press so that it looked nicer and behaved better. Alex King was nice enough to hold a contest for the best Word Press skins and publish the results here:&lt;/p&gt;

&lt;p&gt;&lt;a href=...
            </description>
            <pubDate>Tue, 27 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/27/my-apprenticeship-tuesday-july-27-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Monday, July 26, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Word Press is up and running! I had a bunch of ideas when I arrived, but before I got too far I said to my self: ‘Self, maybe you outta try starting Apache, MySQL, and run install.php from Mozilla just one...
            </description>
            <pubDate>Mon, 26 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/26/my-apprenticeship-monday-july-26-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Thursday, July 22, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Finished up the patterns class today and I have to say that David did a pretty good job. With new material, not much teaching experience, and Paul and I firing questions at him he was able to get through t...
            </description>
            <pubDate>Thu, 22 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/22/my-apprenticeship-thursday-july-22-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Wednesday, July 21, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Our payroll UML diagram (from yesterday) had some needless complexity but, other than that, it was fine. Well, mostly fine.&lt;/p&gt;

&lt;p&gt;Lots more patterns today. Many of the patterns boil down to the server-cl...
            </description>
            <pubDate>Wed, 21 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/21/my-apprenticeship-wednesday-july-21
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Tuesday, July 20, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Second day of A.O.O.D. and I’m getting pretty good with UML. Today we discussed the various principles of software development: &lt;a href=&quot;http://en.wikipedia.org/wiki/Single_responsibility_principle&quot;&gt;Single...
            </description>
            <pubDate>Tue, 20 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/20/my-apprenticeship-tuesday-july-20-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Monday, July 19, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Today was the first day of my Advanced Object Oriented Design (AOOD) class. David’s teaching Paul and I in order to make sure he’s familiar with the material and can teach paying customers next week. After...
            </description>
            <pubDate>Mon, 19 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/19/my-apprenticeship-monday-july-19-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Friday, July 16, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Today I rode my bike into the city in search of a passport. City Hall: Big, confusing, lots of stairways leading to locked doors. First goal: Get a birth certificate. Long line, filled out misleading paper...
            </description>
            <pubDate>Fri, 16 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/16/my-apprenticeship-friday-july-16-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Thursday, July 15, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;So I downloaded and installed Apache – which wasn’t too much trouble. But MySQL was a different story. When typing in the bizarre list of commands to install it, I made a slight typo which took a little wh...
            </description>
            <pubDate>Thu, 15 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/15/my-apprenticeship-thursday-july-15-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Wednesday, July 14, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The problem with a ‘five minute install’ is that if you go beyond 5 minutes, you are screwed. A five minute install is doing a lot of things behind the scenes. If those hidden processes fail, then you don’...
            </description>
            <pubDate>Wed, 14 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/14/my-apprenticeship-wednesday-july-14
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Tuesday, July 13, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;What was supposed to take a half hour yesterday actually did take 30 minutes today (after we got yesterday sorted out). Email problems turned out to be mostly a matter of restarting Outlook a few times. Wi...
            </description>
            <pubDate>Tue, 13 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/13/my-apprenticeship-tuesday-july-13-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Monday, July 12, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Today was a day of unintentional diversions. Paul and I came up with an idea of how to test an area of our state map compiler that had been eluding us. We would build up an input file, in the tests, and th...
            </description>
            <pubDate>Mon, 12 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/12/my-apprenticeship-monday-july-12-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Friday, July 9, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Revision: the State Map Compiler C Sharp version isn’t done. It doesn’t actually work, as Micah showed us. I feel pretty bad about it because we should have tried the things he tried before showing it to h...
            </description>
            <pubDate>Fri, 09 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/09/my-apprenticeship-friday-july-9-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Thursday, July 8, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Today Paul and I set up the conference room for next week’s class by making sure IntelliJ, FitNesse, and M.S. Visual Studio were installed and current on the mini computers. It’s gonna be a full house for ...
            </description>
            <pubDate>Thu, 08 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/08/my-apprenticeship-thursday-july-8-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Wednesday, July 7, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Most of today was the State Map Compiler. We got it to work, but almost all the work was being done in a 600+ line class. Armed with a bunch of passing tests, we proceeded to brake just about all of them i...
            </description>
            <pubDate>Wed, 07 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/07/my-apprenticeship-wednesday-july-7-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Tuesday, July 6, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Fun things you learn when Micah returns: Your tests? – don’t really test what they should. The regex expression you labored over? – can be done a lot better. All the time it takes to run your program? – is...
            </description>
            <pubDate>Tue, 06 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/06/my-apprenticeship-tuesday-july-6-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Friday, July 2, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We did use my code in the wiki conversion program. And while it was good to finish up that project, this meant we had to start working on the State Map Compiler. A program first written in 1993 in C++, the...
            </description>
            <pubDate>Fri, 02 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/02/my-apprenticeship-friday-july-2-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Thursday, July 1, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;There’s just one problem with our conversion program: the Double Dash (cue the dramatic music). In FitNesse, two dashes in a row (–) mean strikethrough. But in the old OMwiki, two dashes had no meaning. A ...
            </description>
            <pubDate>Thu, 01 Jul 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/07/01/my-apprenticeship-thursday-july-1-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Wednesday, June 30, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Things got much better today. Much to my embarrassment, I drove the keyboard for a few hours. I’m slow, I can’t type very well, I don’t know IntelliJ (the slick Integrated Development Environment (IDE) tha...
            </description>
            <pubDate>Wed, 30 Jun 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/06/30/my-apprenticeship-wednesday-june-30
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Tuesday, June 29, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Well, I didn’t drive today, but I did make some progress toward figuring out what was going on. We built a few custom widgets that would translate wiki text that was problematic. For instance: Putting thre...
            </description>
            <pubDate>Tue, 29 Jun 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/06/29/my-apprenticeship-tuesday-june-29-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Monday, June 28, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;In the morning I installed 40 meg or so of windows ‘critical security updates’ and after lunch I installed MS Visual Studio. Then I went home.&lt;/p&gt;

&lt;p&gt;But seriously folks, that was a fair chunk of my day (...
            </description>
            <pubDate>Mon, 28 Jun 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/06/28/my-apprenticeship-monday-june-28-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Friday, June 25, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;We finished the C# class today with an exercise devoted to Threads. In case you have some operation that will take lots of time (like, say, writing to a file) you can send it off on its own while the rest ...
            </description>
            <pubDate>Fri, 25 Jun 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/06/25/my-apprenticeship-friday-june-25-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Thursday, June 24, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You Cowboy has taken to saying ‘sankyou’ when Cowboy helps him out. Cowboy replies with an even more Asianized ‘sankyou’ and we move on. You Cowboy is also fond of saying ‘RefRactor’ and ‘Ohh Cowboy’’ (wit...
            </description>
            <pubDate>Thu, 24 Jun 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/06/24/my-apprenticeship-thursday-june-24-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Wednesday, June 23, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;More fun today with ‘Cowboy’ and ‘You Cowboy.’&lt;/p&gt;

&lt;p&gt;We got to a point where I was totally lost. Finally. Monday and Tuesday were all about picking up small things and differences from Java. Today we got...
            </description>
            <pubDate>Wed, 23 Jun 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/06/23/my-apprenticeship-wednesday-june-23
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Tuesday, June 22, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;More C# today. I was working with two paying customers: Tony and Jeff. Watching those two bounce off each other was a riot. Jeff kept wanting Tony to type faster and Tony got even with Jeff by adopting an ...
            </description>
            <pubDate>Tue, 22 Jun 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/06/22/my-apprenticeship-tuesday-june-22-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Monday, June 21, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Long bike ride in the rain this morning. Only got scary when those 16 wheelers zoomed by throwing a few gallons of water at me and my wiener bike. Micah was teaching the C# class today and lots of it was f...
            </description>
            <pubDate>Mon, 21 Jun 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/06/21/my-apprenticeship-monday-june-21-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Friday, June 18, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;I arrived this morning to find that the Martins are back in town. Bob seems like a good guy. I didn’t talk to him much, but working next to someone all day can give you a good impression of a person and Bo...
            </description>
            <pubDate>Fri, 18 Jun 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/06/18/my-apprenticeship-friday-june-18-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Thursday, June 17, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;You know what? I had fun today. Imagine that. Yes, some of the day was spent looking at the OMwiki pyhton code which still confuses the hell out of me, but I learned how to extract methods in Eclipse. I kn...
            </description>
            <pubDate>Thu, 17 Jun 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/06/17/my-apprenticeship-thursday-june-17-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Wednesday, June 16, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;The first part of the day was more crazy python code. I was asking Paul some more questions about the Visitor pattern and at some point, while he was describing some aspect or another, he said ‘It’s kinda ...
            </description>
            <pubDate>Wed, 16 Jun 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/06/16/my-apprenticeship-wednesday-june-16
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Tueday, June 15, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Rough day.&lt;/p&gt;

&lt;p&gt;There’s only so long I like to stare at a mountain of code which doesn’t work and I don’t understand. Paul was frustrated b/c we still couldn’t figure out why the tests of the OMwiki wer...
            </description>
            <pubDate>Tue, 15 Jun 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/06/15/my-apprenticeship-tueday-june-15-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Monday, June 14, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;In the summer of 2009 I revisited my 2004 summer apprenticeship at Object Mentor. What follows is the original 2004 post and then some 2009 commentary.&lt;/p&gt;
&lt;/blockquote&gt;

&lt;p&gt;Today I took the train to Waukegan, and then unfolded my bike and rode the last five miles to OM.&lt;/p&gt;

&lt;p&gt;Good news:&lt;/p&gt;

&lt;p&gt;An hour to do some work on the train.&lt;/p&gt;

&lt;p&gt;10 miles per day should help me lo...
            </description>
            <pubDate>Mon, 14 Jun 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/06/14/my-apprenticeship-monday-june-14-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - Friday, June 11, 2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;p&gt;I just wanted to point out that I’m not editing my original posts except where explicitly noted so all of this is really what I typed up after a day of coding. In this installment, I talk about my first day at Object Mentor as an apprentice. It’s interesting to note that the “David” I refer to is actually David Chelimsky – lead developer of RSpec. Of course Micah Martin is Bob...
            </description>
            <pubDate>Sat, 12 Jun 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/06/12/my-apprenticeship-friday-june-11-2004
            </guid>
        </item>
        
        <item>
            <title>
              My Apprenticeship - May  2004
            </title>
            <description>
                &lt;blockquote&gt;
  &lt;blockquote&gt;
    &lt;p&gt;Prologue for the prologue: In 2009 I revisited my original Object Mentor Apprenticeship posts from 2004. Since then I’ve merged the commentary and the originals. All of the posts about “My Apprenticeship” contain my original 2004 content and have indented 2009 commentary. Additionally, I apologize for a dumb “Larry the Cable Guy” joke arriving from the past sh...
            </description>
            <pubDate>Sat, 15 May 2004 00:00:00 +0000</pubDate>
            <guid>
                https://jakescruggs.com/blog/2004/05/15/my-apprenticeship-may-2004
            </guid>
        </item>
        
    </channel>
</rss>
