<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:media="http://search.yahoo.com/mrss/" xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd" version="2.0"><channel><title>Knock::on_wood - Home</title><link>http://weblog.sourcescape.com/</link><language>en-US</language><lastBuildDate>Sun, 20 Jan 2008 13:43:19 -0600</lastBuildDate><generator>Mephisto Noh-Varr http://mephistoblog.com</generator><description></description><itunes:explicit>no</itunes:explicit><itunes:subtitle></itunes:subtitle><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/sourcescape" type="application/rss+xml" /><item><title>Rails 2.0 Cheatsheet</title><link>http://weblog.sourcescape.com/2008/1/20/rails-2-0-cheatsheet</link><category>cheatsheet</category><category>rails</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sun, 20 Jan 2008 13:43:19 -0600</pubDate><guid isPermaLink="false">tag:weblog.sourcescape.com,2008-01-20:260</guid><description>
            &lt;p&gt;&lt;a href="http://weblog.sourcescape.com/assets/2008/1/20/Rails2.pdf"&gt;&lt;img src="http://weblog.sourcescape.com/assets/2008/1/20/rails2cheat.png" alt="Rails 2.0 Cheatsheet" /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://weblog.sourcescape.com/assets/2008/1/20/Rails2.pdf"&gt;Download it here!&lt;/a&gt;&lt;/p&gt;
          </description><enclosure url="http://weblog.sourcescape.com/assets/2008/1/20/Rails2.pdf" length="152268" type="application/pdf" /><media:content url="http://weblog.sourcescape.com/assets/2008/1/20/Rails2.pdf" fileSize="152268" type="application/pdf" /><itunes:explicit>no</itunes:explicit><itunes:subtitle> Download it here! </itunes:subtitle><itunes:summary> Download it here! </itunes:summary><itunes:keywords>cheatsheet, rails</itunes:keywords></item><item><title>New Design</title><link>http://weblog.sourcescape.com/2007/12/15/new-design</link><category>design</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Sat, 15 Dec 2007 13:07:15 -0600</pubDate><guid isPermaLink="false">tag:weblog.sourcescape.com,2007-12-15:213</guid><description>
            &lt;p&gt;I wanted to play with Liquid, Mephisto’s templating engine. So in the process, I thought I’d create a custom theme for this sporadically updated blog.&lt;/p&gt;

&lt;p&gt;I’ve added a few plugins and some code highlighting as well. Fun fun.&lt;/p&gt;
          </description></item><item><title>Boolean Columns</title><link>http://weblog.sourcescape.com/2007/12/11/boolean-columns</link><category>database</category><category>rails</category><category>tips</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Thu, 13 Dec 2007 20:20:32 -0600</pubDate><guid isPermaLink="false">tag:weblog.sourcescape.com,2007-12-11:212</guid><description>
            &lt;p&gt;Just found this little tidbit about &lt;a href="http://wiki.rubyonrails.org/rails/pages/HowtoUseBooleanColumns"&gt;returning a boolean from a tinyint column&lt;/a&gt; tonight on the &lt;a href="http://wiki.rubyonrails.org/"&gt;rails wiki&lt;/a&gt;...&lt;/p&gt;

&lt;blockquote&gt;
    &lt;p&gt;Columns which are either boolean or tinyint(1) are recognised 
    as booleans by ActiveRecord. So, if you have a table “people” and 
    a column “rocks tinyint(1)”, you can say:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code class="ruby"&gt;person = People.find(1)
person.rocks = true&lt;/code&gt;&lt;/pre&gt;

&lt;blockquote&gt;
    &lt;p&gt;However, person.rocks will return an integer, and Ruby thinks 
    that 0 is true. If you want to test for truth, use person.rocks?, 
    like this view example:&lt;/p&gt;
&lt;/blockquote&gt;

&lt;pre&gt;&lt;code class="ruby"&gt;&amp;lt;% if person.rocks? %&amp;gt;
  You rock, dude!
&amp;lt;% end %&amp;gt;&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;I did not know that. Pretty dang cool.&lt;/p&gt;
          </description></item><item><title>Go ahead, cheat (It's ok!)</title><link>http://weblog.sourcescape.com/2007/12/10/go-ahead-cheat-it-s-ok</link><category>ruby</category><category>tips</category><category>tools</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Fri, 14 Dec 2007 11:59:04 -0600</pubDate><guid isPermaLink="false">tag:weblog.sourcescape.com,2007-12-10:211</guid><description>
            &lt;p&gt;Though I'm fairly weened from intellisense from my .NET days, I still find myself always needing some type of reference when writing Ruby or Rails projects. There's always a browser tab with the &lt;a href="http://api.rubyonrails.org/"&gt;Rails API&lt;/a&gt;, &lt;a href="http://www.noobkit.com/"&gt;noobkit&lt;/a&gt;, or &lt;a href="http://www.blainekendall.com/index.php/rubyonrailscheatsheet/"&gt;some&lt;/a&gt; &lt;a href="http://slash7.com/articles/2006/11/3/stuff-you-can-download/"&gt;other&lt;/a&gt; &lt;a href="http://www.ilovejackdaniels.com/cheat-sheets/"&gt;cheatsheet&lt;/a&gt; . While cheatsheets are pretty and all, they are sometimes just a hassle to find and go it when you just need that little syntax helper. So what do I do, I &lt;a href="http://cheat.errtheblog.com/"&gt;cheat&lt;/a&gt;.&lt;/p&gt;

&lt;p&gt;This little command line tool provides a wealth of help at the tip of your fingertips.&lt;/p&gt;

&lt;pre&gt;&lt;code class="ruby"&gt;gem install cheat&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then see what cheats are available.&lt;/p&gt;

&lt;pre&gt;&lt;code class="ruby"&gt;cheat sheets&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Or just run one (I use this one &lt;em&gt;a lot&lt;/em&gt;)&lt;/p&gt;

&lt;pre&gt;&lt;code class="ruby"&gt;cheat strftime&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;There are just hundreds out there. And you can edit (fix) one or add your own. The app is just a command line front end to a wiki. Pretty sweet.&lt;/p&gt;
          </description></item><item><title>Ruby Debug</title><link>http://weblog.sourcescape.com/2007/12/9/ruby-debug</link><category>debug</category><category>ruby</category><category>tools</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 12 Dec 2007 19:49:54 -0600</pubDate><guid isPermaLink="false">tag:weblog.sourcescape.com,2007-12-09:210</guid><description>
            &lt;p&gt;So one of the hardest things to do in a highly dynamic language is to debug code. If you feel the same way, check out the &lt;a href="http://www.datanoise.com/ruby-debug/"&gt;ruby-debug&lt;/a&gt; gem. Rails 2.0 now has full support for it and it’s a real “step forward, into, and out” debugger.&lt;/p&gt;


	&lt;p&gt;Here’s a &lt;a href="http://brian.maybeyoureinsane.net/blog/2007/05/07/ruby-debug-basics-screencast/"&gt;great screencast&lt;/a&gt; to get you started. If you use &lt;a href="http://cheat.errtheblog.com/"&gt;cheat&lt;/a&gt; (which I highly recommend), simply type &lt;code&gt;cheat rubydebug&lt;/code&gt; in the console to see all the options.&lt;/p&gt;
          </description></item><item><title>Subversion Icons for TextMate</title><link>http://weblog.sourcescape.com/2007/12/8/subversion-icons-for-textmate</link><category>subversion</category><category>textmate</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 12 Dec 2007 19:50:18 -0600</pubDate><guid isPermaLink="false">tag:weblog.sourcescape.com,2007-12-08:209</guid><description>
            &lt;p&gt;Here’s a great plugin for &lt;a href="http://macromates.com/"&gt;TextMate&lt;/a&gt; by &lt;a href="http://ciaranwal.sh"&gt;Ciarán Walsh&lt;/a&gt; to overlay the status icon on each file/folder under subversion.&lt;/p&gt;


	&lt;p&gt;&lt;img src="http://weblog.sourcescape.com/assets/2007/12/8/svnmate.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;Grab the most recent release (as of today) &lt;a href="http://ciaranwal.sh/2007/11/29/svnmate-update"&gt;here&lt;/a&gt;.&lt;/p&gt;
          </description></item><item><title>Free Diff/Merge Tool</title><link>http://weblog.sourcescape.com/2007/6/15/free-diff-merge-tool</link><category>tools</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 12 Dec 2007 19:50:43 -0600</pubDate><guid isPermaLink="false">tag:weblog.sourcescape.com,2007-06-15:57</guid><description>
            &lt;p&gt;Back at Datastream we used &lt;a href="http://sourcegear.com/vault/"&gt;Vault&lt;/a&gt; as a replacement for for Visual SourceSafe. It was a great tool. (Not living (completely) in Microsoft land anymore, I now use Subversion for all source control.) Bundled with Vault was a diff tool. It's apparently grown up into an nice little app. &lt;/p&gt;

&lt;p&gt;&lt;a href="http://sourcegear.com/"&gt;SourceGear&lt;/a&gt; just released it's diff and merging tool, aptly named &lt;a href="http://sourcegear.com/diffmerge/"&gt;DiffMerge&lt;/a&gt; for &lt;strong&gt;free&lt;/strong&gt;. It's available for windows, Mac, and Linux. In fact, depending on the API, I may try to integrate it with TextMate's Subversion bundle to finally get a good visual diff engine on the Mac.&lt;/p&gt;

&lt;p&gt;&lt;img src="/assets/2007/6/15/diffmerge.png" alt="DiffMerge" /&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href="http://sourcegear.com/diffmerge/downloads.html"&gt;Download it now&lt;/a&gt;.&lt;/p&gt;
          </description></item><item><title>Crontab problems with nano</title><link>http://weblog.sourcescape.com/2007/6/2/cron-with-nano</link><category>cron</category><category>editor</category><category>ubuntu</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 12 Dec 2007 19:59:19 -0600</pubDate><guid isPermaLink="false">tag:weblog.sourcescape.com,2007-06-02:56</guid><description>
            &lt;p&gt;I was trying to set up a cron job on my new (relatively) &lt;a href="http://slicehost.com"&gt;SliceHost&lt;/a&gt; VPS. On Ubuntu, each time I would run &lt;code&gt;crontab -e&lt;/code&gt;, edit and save the file, I would get this:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;"/tmp/crontab.nQMgF1/crontab"\:2: bad minute
errors in crontab file, can't install. 
Do you want to retry the same edit?
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;It didn't seem to matter that the syntax was correct. Ha. After googling around for a while, I found out that the problem was with nano, the default text editor on Ubuntu. It wraps long lines by default and crontab has a problem with this.To fix the problem you need to turn off long line wrapping which is on by default. Go to &lt;strong&gt;/etc/nanorc&lt;/strong&gt; and uncomment the following line&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;set nowrap
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Now, nano will correctly save your crontab. (I also uncommented &lt;/p&gt;

&lt;pre&gt;&lt;code&gt;set rebinddelete
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;to find a problem with backspace/delete on the mac.)&lt;/p&gt;
          </description></item><item><title>CFObjective</title><link>http://weblog.sourcescape.com/2007/5/3/cfobjective</link><category>coldfusion</category><category>conference</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 12 Dec 2007 19:52:59 -0600</pubDate><guid isPermaLink="false">tag:weblog.sourcescape.com,2007-05-03:53</guid><description>
            &lt;p&gt;I’m heading to Minneapolis today to go to &lt;a href="http://www.cfobjective.com/conference/"&gt;CFObjective&lt;/a&gt;.&lt;/p&gt;
          </description></item><item><title>Back in the ColdFusion World</title><link>http://weblog.sourcescape.com/2007/3/10/back-in-the-coldfusion-world</link><category>coldfusion</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 12 Dec 2007 19:53:36 -0600</pubDate><guid isPermaLink="false">tag:weblog.sourcescape.com,2007-03-10:51</guid><description>
            &lt;p&gt;For the past 6 months, I’ve been spending a lot of time of time applying object oriented architecture principles to a rather large ColdFusion application. We are employing &lt;a href="http://www.compoundtheory.com/transfer"&gt;Transfer&lt;/a&gt; for our ORM, &lt;a href="http://www.coldspringframework.org/"&gt;ColdSpring&lt;/a&gt; as our dependency injection engine, and &lt;a href="http://www.fusebox.org/index.cfm?fuseaction=documentation.WhatsNewInFusebox5"&gt;Fusebox 5.1&lt;/a&gt; as our web UI framework. This initial architecture was already in Fusebox 4, so we stayed it rather than moving to &lt;a href="http://www.model-glue.com/"&gt;Model-Glue&lt;/a&gt; or &lt;a href="http://www.mach-ii.com/"&gt;Mach-II&lt;/a&gt; (the more innately OO CF frameworks).&lt;/p&gt;

&lt;p&gt;Be on the lookout for a bunch a new posts around these topics.&lt;/p&gt;
          </description></item><item><title>Premature Extraction</title><link>http://weblog.sourcescape.com/2006/11/15/premature-extraction</link><category>rails</category><category>refactoring</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 12 Dec 2007 19:54:38 -0600</pubDate><guid isPermaLink="false">tag:weblog.sourcescape.com,2006-11-15:49</guid><description>
            &lt;p&gt;&lt;a href="http://www.therailsway.com"&gt;The Rails Way&lt;/a&gt; is off with their first code review. It is really great to see into the coding process of top notch hackers. Their &lt;a href="http://www.therailsway.com/2006/11/15/tracks-part-1"&gt;first review&lt;/a&gt; deals with “acts_as” code modules and “premature extraction”. &lt;a href="http://www.koziarski.net/"&gt;Koz&lt;/a&gt; keeps it simple.&lt;/p&gt;


	&lt;blockquote&gt;
		&lt;p&gt;These both illustrate a common anti-pattern I see with rails programmers: premature extraction. Just because rails has a bunch of meta programming magic with names like acts_as_list, doesn’t mean you need it.&lt;/p&gt;
	&lt;/blockquote&gt;


	&lt;p&gt;The process is all about keeping it simple and extracting only when you need to. I’ve been learning more and more about that in a Ruby application I’ve been working on lately. It is a challenge, especially coming from .NET, to not overly abstract early.&lt;/p&gt;
          </description></item><item><title>Crunch or Krackel?</title><link>http://weblog.sourcescape.com/2006/11/9/crunch-or-krackel</link><category>odd</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 12 Dec 2007 19:55:08 -0600</pubDate><guid isPermaLink="false">tag:weblog.sourcescape.com,2006-11-09:48</guid><description>
            &lt;p&gt;Being inundated with Halloween candy, I wondered which chocolate I like the best, Hershey or Nestle. Of course there are many other exotic options, but the question is really one of branding—a Coke or Pepsi kind of venture.&lt;/p&gt;


	&lt;p&gt;I happened to be eating a small Nestle Crunch bar when thoughts of my childhood crept up. Each summer morning,  my Mom dropped me off at the pool for swim practice. I would inevitably stay through lunch charging it to my parents account. That is until my dad got the bill. Then, no more lunches. So my friends and I would do what every American sweet tooth would. We figured out the cheapest, tasty lunch possible. A cherry coke and a nestle crunch bar. mmmmmm.&lt;/p&gt;


	&lt;p&gt;When dad completely cut off the fund, we’d sneak into the clubhouse and find those little Andes mints for the dining room, and grab a handful. Not quite as good, but they got the job done. Nestle Crunch was just the best.&lt;/p&gt;


	&lt;p&gt;So I’m thinking? Does Nestle have better chocolate or is it just my fond (and dentally terrifying) memories of my youth that make it taste better than Hershey’s. I don’t know. What do you think? Do you prefer one over the other? Why? I’m really curious now.&lt;/p&gt;
          </description></item><item><title>Coda</title><link>http://weblog.sourcescape.com/2006/11/6/coda</link><category>coda</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Mon, 06 Nov 2006 11:04:56 -0600</pubDate><guid isPermaLink="false">tag:weblog.sourcescape.com,2006-11-06:46</guid><description>
            &lt;p&gt;Hopefully this won’t completely kill my new commitment to blogging. We’ll see. We add a new member to the family this weekend. Introducing “Coda”...&lt;/p&gt;


	&lt;p&gt;&lt;img src="/assets/2006/11/6/coda.png" alt="" /&gt; &lt;img src="/assets/2006/11/6/coda-2.png" alt="" /&gt;&lt;/p&gt;


	&lt;p&gt;He’s a little black lab we adopted into the family this weekend. He’s about 7 (or so) weeks old. And I thought we were moving out of the baby stage.&lt;/p&gt;


	&lt;p&gt;Here are &lt;a href="http://www.flickr.com/photos/14314578@N00/tags/coda/"&gt;some other pics&lt;/a&gt; of the litte guy.&lt;/p&gt;
          </description></item><item><title>Fusebox 5.1 in the works</title><link>http://weblog.sourcescape.com/2006/11/6/fusebox-5-1-in-the-works</link><category>coldfusion</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 12 Dec 2007 19:55:41 -0600</pubDate><guid isPermaLink="false">tag:weblog.sourcescape.com,2006-11-06:45</guid><description>
            &lt;p&gt;Sean Corfield, lead developer of Fusebox 5.0, &lt;a href="http://corfield.org/entry/Fusebox_51_is_in_development"&gt;announced that 5.1 is underway&lt;/a&gt;. It’s great to see continual thought and effort being poured into Fusebox in light of all the new frameworks out there.&lt;/p&gt;


	&lt;p&gt;Here’s a &lt;a href="http://trac.fuseboxframework.org/fusebox/query?status=new&amp;amp;#38;status=assigned&amp;amp;#38;status=reopened&amp;amp;#38;status=closed&amp;amp;#38;group=status&amp;amp;#38;milestone=Fusebox+5.1&amp;amp;#38;order=priority"&gt;list of cases&lt;/a&gt; that comprise the 5.1 release.&lt;/p&gt;
          </description></item><item><title>The Rails Way</title><link>http://weblog.sourcescape.com/2006/11/4/the-rails-way</link><category>rails</category><category>refactoring</category><dc:creator xmlns:dc="http://purl.org/dc/elements/1.1/">ryan</dc:creator><pubDate>Wed, 12 Dec 2007 19:56:19 -0600</pubDate><guid isPermaLink="false">tag:weblog.sourcescape.com,2006-11-04:44</guid><description>
            &lt;p&gt;Most who know me, know that I am a big fan of Ruby and Rails. I simply enjoy using the language far more than others I’ve used. The biggest reason is the community. I my previous post about the importance of &lt;a href="/2005/11/13/choosing-a-community"&gt;choosing a community&lt;/a&gt;, I note the differences that I’ve experienced. Here’s another…&lt;/p&gt;


	&lt;p&gt;&lt;a href="http://weblog.jamisbuck.org"&gt;Jamis Buck&lt;/a&gt; and &lt;a href="http://www.koziarski.net"&gt;Michael Koziarski&lt;/a&gt; have introduced &lt;a href="http://therailsway.com"&gt;The Rails Way&lt;/a&gt;, a site where you can upload code and they will analyze it according to best practices (a.k.a. the rails way). This is not for-profit, it is for the community—a way to help others grow in their coding skills. I really do enjoy being a part of this community.&lt;/p&gt;


	&lt;p&gt;You can read the intro on &lt;a href="http://weblog.jamisbuck.org/2006/10/31/the-rails-way"&gt;Jamis’ blog&lt;/a&gt;.&lt;/p&gt;
          </description></item><media:rating>nonadult</media:rating></channel></rss>
