<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:dc="http://purl.org/dc/elements/1.1/" version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>This is the personal blog of Nathan Colgate Clark.  I work at Brand New Box. I developed a content management system for churches.</description><title>Nathan Colgate</title><generator>Tumblr (3.0; @nathancolgate)</generator><link>http://www.nathancolgate.com/</link><item><title>It wouldn’t take much to make this into clark</title><description>&lt;img src="http://25.media.tumblr.com/tumblr_lzcjzyVl171qz6v8po1_500.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;It wouldn’t take much to make this into clark&lt;/p&gt;</description><link>http://www.nathancolgate.com/post/17561897248</link><guid>http://www.nathancolgate.com/post/17561897248</guid><pubDate>Mon, 13 Feb 2012 11:40:46 -0800</pubDate></item><item><title>Switch heroku accounts in the console</title><description>&lt;p&gt;1. Delete the SSH keys from your current account:&lt;/p&gt;
&lt;p&gt;$ heroku keys:clear&lt;/p&gt;
&lt;p&gt;You have to clear these first because Heroku won’t allow two accounts to have the same SSH key.&lt;/p&gt;
&lt;p&gt;2. Delete your locally stored credentials:&lt;/p&gt;
&lt;p&gt;$ rm ~/.heroku/credentials&lt;/p&gt;
&lt;p&gt;3. Re-enter your (new) credentials by entering any command that requires access to an account, e.g.:&lt;/p&gt;
&lt;p&gt;$ heroku create&lt;/p&gt;
&lt;p&gt;Enter your Heroku credentials.&lt;/p&gt;
&lt;p&gt;Email: my@email.com&lt;/p&gt;
&lt;p&gt;Pass: mypass&lt;/p&gt;
&lt;p&gt;The command line utility will record your new credentials in your ~/.heroku/credentials file and automatically add your machine’s SSH key. If you hadn’t deleted the key from your other account, it would complain about multiple accounts using the same key.&lt;/p&gt;</description><link>http://www.nathancolgate.com/post/17159772230</link><guid>http://www.nathancolgate.com/post/17159772230</guid><pubDate>Mon, 06 Feb 2012 09:51:32 -0800</pubDate></item><item><title>Easily Sync Google Calendars to your iPhone</title><description>&lt;a href="http://www.google.com/calendar/iphoneselect"&gt;Easily Sync Google Calendars to your iPhone&lt;/a&gt;: &lt;div&gt;
&lt;p&gt;So many places i’ve looked make this a very difficult process. The above link is almost too easy.&lt;/p&gt;
&lt;/div&gt;</description><link>http://www.nathancolgate.com/post/16933928280</link><guid>http://www.nathancolgate.com/post/16933928280</guid><pubDate>Thu, 02 Feb 2012 12:51:07 -0800</pubDate></item><item><title>Mac Bash / Shell Script To Launch Development Environment</title><description>&lt;p&gt;As my rails apps get more complex, I find myself spending more time getting them booted up.  While this may not be a big deal for you, my early morning brain doesn&amp;#8217;t do well with it.&lt;/p&gt;
&lt;p&gt;After a bit of searching I found some code for launching rails server in a new terminal tab, opening text mate, launching delayed job in a new terminal tab, and opening the browser.&lt;/p&gt;
&lt;p&gt;I put this in a file called rock_and_roll.sh in my Rails.root folder:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
#!/bin/sh
osascript -e 'tell application "Terminal"' \
-e 'tell application "System Events" to tell process "Terminal" to keystroke "t" using command down' \
-e "do script with command \"cd ~/path/to/my/app/;rails server;\" in selected tab of the front window" \
-e 'end tell' &amp;amp;&amp;gt; /dev/null

osascript -e 'tell application "Terminal"' \
-e 'tell application "System Events" to tell process "Terminal" to keystroke "t" using command down' \
-e "do script with command \"cd ~/path/to/my/app/;rake jobs:work;\" in selected tab of the front window" \
-e 'end tell' &amp;amp;&amp;gt; /dev/null

mate .

open http://localhost:3000
&lt;/code&gt;&lt;/pre&gt;
&lt;p&gt;Then all I gotta do:&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;
$ cd /path/to/my/app/
$ . rock_and_roll.sh
&lt;/code&gt;&lt;/pre&gt;</description><link>http://www.nathancolgate.com/post/5246514981</link><guid>http://www.nathancolgate.com/post/5246514981</guid><pubDate>Fri, 06 May 2011 09:49:40 -0700</pubDate></item><item><title>Colorado Girls Come to Town</title><description>&lt;a href="http://vimeo.com/19398829"&gt;Colorado Girls Come to Town&lt;/a&gt;: &lt;p&gt;&lt;a href="http://vimeo.com/19398829" title="Colorado Girls Come to Town"&gt;&lt;img src="http://b.vimeocdn.com/ts/122/939/122939019_200.jpg" alt="Colorado Girls Come to Town"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cast: &lt;a href="http://vimeo.com/user352197" style="color: #2786c2; text-decoration: none;"&gt;Nathan Colgate&lt;/a&gt;&lt;/p&gt;</description><link>http://www.nathancolgate.com/post/3037093045</link><guid>http://www.nathancolgate.com/post/3037093045</guid><pubDate>Mon, 31 Jan 2011 14:28:48 -0800</pubDate></item><item><title>Drag and Drop Paths in Raphael JS</title><description>&lt;p&gt;The key here is to convert the x and y deltas into translate values, which the path object understands.&lt;/p&gt;
&lt;pre&gt;&lt;code&gt;jQuery(function () {

  var startPath = function () {
    // path coordinates are best kept as relative distances
    // so that you can use the built in translate method
    this.ox = 0;
    this.oy = 0;
  },
  movePath = function (dx, dy) {
    // move is called with dx and dy, which we convert
    // into translate values, which are reset at the end
    // of the function
    var trans_x = dx-this.ox;
    var trans_y = dy-this.oy;
    this.translate(trans_x,trans_y);
    this.ox = dx;
    this.oy = dy;
  },
  upPath = function () {
		// nothing special
  };

	var fly_paper = Raphael('application',500,500);
	var fly_path = "M28.589,10.903l-5.828,1.612c-0.534-1.419-1.338-2.649-2.311-3.628l3.082-5.44c0.271-0.48,0.104-1.092-0.38-1.365c-0.479-0.271-1.09-0.102-1.36,0.377l-2.924,5.162c-0.604-0.383-1.24-0.689-1.9-0.896c-0.416-1.437-1.652-2.411-3.058-2.562c-0.001-0.004-0.002-0.008-0.003-0.012c-0.061-0.242-0.093-0.46-0.098-0.65c-0.005-0.189,0.012-0.351,0.046-0.479c0.037-0.13,0.079-0.235,0.125-0.317c0.146-0.26,0.34-0.43,0.577-0.509c0.023,0.281,0.142,0.482,0.352,0.601c0.155,0.088,0.336,0.115,0.546,0.086c0.211-0.031,0.376-0.152,0.496-0.363c0.105-0.186,0.127-0.389,0.064-0.607c-0.064-0.219-0.203-0.388-0.414-0.507c-0.154-0.087-0.314-0.131-0.482-0.129c-0.167,0.001-0.327,0.034-0.481,0.097c-0.153,0.063-0.296,0.16-0.429,0.289c-0.132,0.129-0.241,0.271-0.33,0.426c-0.132,0.234-0.216,0.496-0.25,0.783c-0.033,0.286-0.037,0.565-0.009,0.84c0.017,0.16,0.061,0.301,0.094,0.449c-0.375-0.021-0.758,0.002-1.14,0.108c-0.482,0.133-0.913,0.36-1.28,0.653c-0.052-0.172-0.098-0.344-0.18-0.518c-0.116-0.249-0.263-0.486-0.438-0.716c-0.178-0.229-0.384-0.41-0.618-0.543C9.904,3.059,9.737,2.994,9.557,2.951c-0.18-0.043-0.352-0.052-0.516-0.027s-0.318,0.08-0.463,0.164C8.432,3.172,8.318,3.293,8.23,3.445C8.111,3.656,8.08,3.873,8.136,4.092c0.058,0.221,0.181,0.384,0.367,0.49c0.21,0.119,0.415,0.138,0.611,0.056C9.31,4.556,9.451,4.439,9.539,4.283c0.119-0.21,0.118-0.443-0.007-0.695c0.244-0.055,0.497-0.008,0.757,0.141c0.081,0.045,0.171,0.115,0.27,0.208c0.097,0.092,0.193,0.222,0.286,0.388c0.094,0.166,0.179,0.368,0.251,0.608c0.013,0.044,0.023,0.098,0.035,0.146c-0.911,0.828-1.357,2.088-1.098,3.357c-0.582,0.584-1.072,1.27-1.457,2.035l-5.16-2.926c-0.48-0.271-1.092-0.102-1.364,0.377C1.781,8.404,1.95,9.016,2.43,9.289l5.441,3.082c-0.331,1.34-0.387,2.807-0.117,4.297l-5.828,1.613c-0.534,0.147-0.846,0.699-0.698,1.231c0.147,0.53,0.697,0.843,1.231,0.694l5.879-1.627c0.503,1.057,1.363,2.28,2.371,3.443l-3.194,5.639c-0.272,0.481-0.104,1.092,0.378,1.363c0.239,0.137,0.512,0.162,0.758,0.094c0.248-0.068,0.469-0.229,0.604-0.471l2.895-5.109c2.7,2.594,5.684,4.123,5.778,1.053c1.598,2.56,3.451-0.338,4.502-3.976l5.203,2.947c0.24,0.138,0.514,0.162,0.762,0.094c0.246-0.067,0.467-0.229,0.603-0.471c0.272-0.479,0.104-1.091-0.377-1.362l-5.701-3.229c0.291-1.505,0.422-2.983,0.319-4.138l5.886-1.627c0.53-0.147,0.847-0.697,0.696-1.229C29.673,11.068,29.121,10.756,28.589,10.903z";
	var fly;
	fly = fly_paper.path(fly_path);
	fly.translate(250,250);
	fly.scale(4, 4);
	fly.attr({
		'stroke-width': 0,
		'fill': '#cccccc',
		'fill-opacity': 1.0
	});
	fly.drag(movePath, startPath, upPath);
	
});&lt;/code&gt;&lt;/pre&gt;</description><link>http://www.nathancolgate.com/post/2946823151</link><guid>http://www.nathancolgate.com/post/2946823151</guid><pubDate>Wed, 26 Jan 2011 14:30:32 -0800</pubDate></item><item><title>Giant Letter Creator</title><description>&lt;a href="http://www.acmewebworks.com/Downloads/GiantLetterCreator.swf"&gt;Giant Letter Creator&lt;/a&gt;: &lt;p&gt;Handy little flex / flash app that generates giant ASCII text.  Great for commenting code.&lt;/p&gt;</description><link>http://www.nathancolgate.com/post/2584523632</link><guid>http://www.nathancolgate.com/post/2584523632</guid><pubDate>Mon, 03 Jan 2011 11:53:20 -0800</pubDate></item><item><title>Simulating PROPFIND Request Using Curl on Rails App</title><description>&lt;p&gt;curl &amp;#8212;data &amp;#8220;&amp;lt;xml&amp;gt;&amp;lt;/xml&amp;gt;&amp;#8221; &amp;#8212;header &amp;#8220;Content-Type: text/xml&amp;#8221; &amp;#8212;request PROPFIND localhost:3000/one/two/three&lt;/p&gt;</description><link>http://www.nathancolgate.com/post/1360639172</link><guid>http://www.nathancolgate.com/post/1360639172</guid><pubDate>Wed, 20 Oct 2010 13:05:07 -0700</pubDate></item><item><title>PostgreSQL GUI</title><description>&lt;a href="http://www.pgadmin.org/"&gt;PostgreSQL GUI&lt;/a&gt;</description><link>http://www.nathancolgate.com/post/1180068280</link><guid>http://www.nathancolgate.com/post/1180068280</guid><pubDate>Fri, 24 Sep 2010 12:08:53 -0700</pubDate></item><item><title>Lessons Learned PostgreSQL on Mac OS X</title><description>&lt;p&gt;Like many Rails shops out there, we are moving all our servers into the cloud.  A few legacy projects, and certainly all new ones.  Our cloud of choice: Heroku.  I&amp;#8217;ve been a Heroku fan since the first time I tried deploying an app on their system&amp;#8230; and it just worked.  They&amp;#8217;ve been a fantastic solution, with almost no hiccups, until this past week when I ran into problems with the inconsistencies between MySQL (on my machine) and PostgreSQL (on Heroku). &lt;br/&gt;&lt;br/&gt;Here are some of the lessons learned while trying to install PostgreSQL 8.3.x on my Mac OS X 10.5.8 machine:&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Out of the Box&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;I went for the low hanging fruit and tried using &lt;a href="http://www.postgresqlformac.com/.%C2%A0"&gt;http://www.postgresqlformac.com/. &lt;/a&gt; Everything seemed to run smoothly, no errors, no warnings.  But there was also no confirmation, no clear next step, no information to test the installation and get started with postgresql. For all I know, I had PostgreSQL up and running on my machine, but because there was no documentation on how to &amp;#8216;get started&amp;#8217;, I had no clue what to do next.&lt;br/&gt;&lt;br/&gt;To the wonderful people at postgresqlformac.com: your product may be wonderful, but self installers are geared towards postgres noobs (like myself) so treat me like a noob and walk me through starting/stopping the server, creating a db, etc&amp;#8230;&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Back in the Box&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;I had to follow (roughly) this shell script (&lt;a href="http://www.postgresqlformac.com/news/archived_news/uninstall_835.html"&gt;http://www.postgresqlformac.com/news/archived_news/uninstall_835.html&lt;/a&gt;) to try to uninstall the system.  The only thing that wasn&amp;#8217;t working was getting rid of the &amp;#8216;postgres&amp;#8217; user the system had generated.  This wasn&amp;#8217;t an apparent problem until I tried the next method of installing (below), which called for me to add the &amp;#8216;postgres&amp;#8217; user through System Preferences.  Despite not having a &amp;#8216;postgres&amp;#8217; user in the account list, the system was prompting me with &amp;#8220;name is used by another user&amp;#8221;.  So apparently there was some kind of hidden user that OS X was not picking up on.&lt;br/&gt;&lt;br/&gt;Quick fast forward to the solution: &lt;a href="http://www.oreillynet.com/mac/blog/2006/04/deleting_mac_os_x_users_remote.html"&gt;http://www.oreillynet.com/mac/blog/2006/04/deleting_mac_os_x_users_remote.html&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;I had to use the &amp;#8216;dscl&amp;#8217; command line tool to remove the postgres user and group.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;By the Book&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;For attempt number 2, I decided to follow the official Apple Developer documentation: &lt;a href="http://developer.apple.com/internet/opensource/postgres.html."&gt;http://developer.apple.com/internet/opensource/postgres.html.&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;Everything went smoothly and now i can start up a postgresql server with relative ease from terminal:&lt;br/&gt;&lt;br/&gt;$ su postgres&lt;br/&gt;$ cd ~&lt;br/&gt;$ export PATH=$PATH:/usr/local/pgsql/bin&lt;br/&gt;$ pg_ctl -D /usr/local/pgsql/data -l postgres_logfile start&lt;br/&gt;&lt;br/&gt;Or without a log&lt;br/&gt;&lt;br/&gt;$ pg_ctl -D /usr/local/pgsql/data start&lt;br/&gt;&lt;br/&gt;Look at all those happy processes:&lt;br/&gt;&lt;br/&gt;$ ps waux | grep postgres&lt;br/&gt;&lt;br/&gt;And stop it:&lt;br/&gt;&lt;br/&gt;$ pg_ctl -D /usr/local/pgsql/data stop&lt;br/&gt;&lt;br/&gt;Creating a database&lt;br/&gt;&lt;br/&gt;$ createdb railsapp_development&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Gem Please&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;I must have lucked out big time because all i had to do was run:&lt;br/&gt;&lt;br/&gt;$ sudo gem install pg&lt;br/&gt;&lt;br/&gt;And I got &amp;#8220;Successfully installed pg-0.9.0&amp;#8221;. I don&amp;#8217;t think that has ever happened on any complex gem issue for me before.&lt;br/&gt;&lt;br/&gt;&lt;strong&gt;Rails Now Too&lt;/strong&gt;&lt;br/&gt;&lt;br/&gt;Gemfile:&lt;br/&gt;&lt;br/&gt;gem &amp;#8216;pg&amp;#8217;&lt;br/&gt;&lt;br/&gt;A little bit of this:&lt;br/&gt;&lt;br/&gt;$ bundle install&lt;br/&gt;&lt;br/&gt;database.yml (using the same &amp;#8216;postgres&amp;#8217; user and password i created in System Preferences)&lt;br/&gt;&lt;br/&gt;development:&lt;br/&gt;  adapter: postgresql&lt;br/&gt;  database: application_development&lt;br/&gt;  username: postgres&lt;br/&gt;  password: secret&lt;br/&gt;&lt;br/&gt;And whadya know:&lt;br/&gt;&lt;br/&gt;$ rake db:migrate&lt;br/&gt;&lt;br/&gt;It works! Now all I&amp;#8217;ve got to do is repopulate the database.&lt;/p&gt;</description><link>http://www.nathancolgate.com/post/1179933881</link><guid>http://www.nathancolgate.com/post/1179933881</guid><pubDate>Fri, 24 Sep 2010 11:33:47 -0700</pubDate></item><item><title>PostgreSQL on Mac OS X</title><description>&lt;a href="http://developer.apple.com/internet/opensource/postgres.html"&gt;PostgreSQL on Mac OS X&lt;/a&gt;: &lt;p&gt;v8.3.11&lt;/p&gt;</description><link>http://www.nathancolgate.com/post/1179397041</link><guid>http://www.nathancolgate.com/post/1179397041</guid><pubDate>Fri, 24 Sep 2010 09:07:21 -0700</pubDate></item><item><title>Debug IE JavaScript</title><description>&lt;a href="http://www.berniecode.com/blog/2007/03/08/how-to-debug-javascript-with-visual-web-developer-express/"&gt;Debug IE JavaScript&lt;/a&gt;: &lt;p&gt;For future reference.&lt;/p&gt;</description><link>http://www.nathancolgate.com/post/1117167753</link><guid>http://www.nathancolgate.com/post/1117167753</guid><pubDate>Mon, 13 Sep 2010 14:48:10 -0700</pubDate></item><item><title>What Version of Flash Am I Using?</title><description>&lt;a href="http://www.adobe.com/swf/software/flash/about/flashAbout_info_small.swf"&gt;What Version of Flash Am I Using?&lt;/a&gt;: &lt;p&gt;I seem to be referencing this frequently&lt;/p&gt;</description><link>http://www.nathancolgate.com/post/1021678124</link><guid>http://www.nathancolgate.com/post/1021678124</guid><pubDate>Fri, 27 Aug 2010 14:56:53 -0700</pubDate></item><item><title>mProjector 4 Windows Fixes</title><description>&lt;p&gt;We&amp;#8217;re a mac shop.  Anytime we have to go back to a PC, I&amp;#8217;m not a fan.  These are notes for any future development, and if you can get use out of them: great.&lt;/p&gt;
&lt;p&gt;Problem 1) We couldn&amp;#8217;t get our mProjector apps to run on a PC.  They would compile, but not run.  And not even give the nice &amp;#8220;Please go download adobe flash player&amp;#8221; messages.  We were getting the full blown windows error.&lt;/p&gt;
&lt;p&gt;Turns out: we had installed flash player from firefox.  This, apparently, is not the same thing as installing the flash player from internet explorer.  Once we did that, we could run the applications.&lt;/p&gt;
&lt;p&gt;Problem 2) We certainly didn&amp;#8217;t want our clients running into the same issues. Solution is to include flash player with the build, right?  Well, for some unknown reason, our app doesn&amp;#8217;t like flash player 10.0.32.18 that comes bundled with mProjector. Opening &lt;a title="Flash Version Detector" href="http://www.adobe.com/swf/software/flash/about/flashAbout_info_small.swf"&gt;this page&lt;/a&gt; in IE showed that we were running 10.1.53.64 (Note visiting that link in FF shows that were were running 10.0.32.18).  But why couldn&amp;#8217;t we choose that from the drop down?&lt;/p&gt;
&lt;p&gt;Turns out: This one took a call to ScreenTime&amp;#8217;s Jim Roberts.  He pointed me in the direction of this folder on our PC:&lt;/p&gt;
&lt;p&gt;C:\Program Files\mProjector 4\Flash Players\Win&lt;/p&gt;
&lt;p&gt;Which has a bunch of .ocx files that correspond to the available flash players for inclusion in our projector.  He said I should find a newer .ocx file and see how it works.  With a little bit of searching I found this folder:&lt;/p&gt;
&lt;p&gt;C:\WINDOWS\system32\Macromed\Flash&lt;/p&gt;
&lt;p&gt;Which had a Flash10h.ocx file, which I copied to the mProjector flash players folder.  After restarting mProjector, I was able to choose Flash10h as a included player, and the app built and launched fine.&lt;/p&gt;
&lt;p&gt;Problem 3) The app is freaking slow-as-molasses on a PC! It&amp;#8217;s speedy in the browser, speedy on my Mac, but on this PC it&amp;#8217;s moving at about 0.5 fps. &lt;/p&gt;
&lt;p&gt;Turns out: I hate this kind of stuff.  I&amp;#8217;m throwing in the towel here. If you have any insight into what we can do to speed this application up, please let me know.&lt;/p&gt;</description><link>http://www.nathancolgate.com/post/726460597</link><guid>http://www.nathancolgate.com/post/726460597</guid><pubDate>Tue, 22 Jun 2010 13:29:38 -0700</pubDate></item><item><title>S3 SWF Upload Gem for Rails 3</title><description>&lt;a href="http://vimeo.com/11363680"&gt;S3 SWF Upload Gem for Rails 3&lt;/a&gt;: &lt;p&gt;&lt;a href="http://vimeo.com/11363680" title="S3 SWF Upload Gem for Rails 3"&gt;&lt;img src="http://ats.vimeo.com/621/692/62169200_200.jpg" alt="S3 SWF Upload Gem for Rails 3"/&gt;&lt;/a&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://github.com/nathancolgate/s3-swf-upload-plugin" target="_blank" rel="nofollow"&gt;github.com/nathancolgate/s3-swf-upload-plugin&lt;/a&gt;&lt;br/&gt;&lt;br/&gt;
The good stuff starts around 7:30!&lt;br/&gt;&lt;br/&gt;
S3SwfUpload allows user to upload a file to S3 directly, so you can save the cost of uploading process…&lt;/p&gt;</description><link>http://www.nathancolgate.com/post/564343381</link><guid>http://www.nathancolgate.com/post/564343381</guid><pubDate>Sat, 01 May 2010 17:05:26 -0700</pubDate></item><item><title>Rails 3 ActionMailer and Delayed Job</title><description>&lt;p&gt;What I&amp;#8217;d like to do:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;message = Notifier.password_reset_instructions(self)&lt;br/&gt;Delayed::Job.enqueue MailerJob.new(message)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;What happens when I do:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;TypeError in Public/password resetsController#create&lt;br/&gt;can&amp;#8217;t dump anonymous class Class&lt;br/&gt;&amp;#8230;&lt;br/&gt;/lib/delayed/backend/base.rb:61:in `payload_object=&amp;#8217;&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Problem line 61:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;self[&amp;#8216;handler&amp;#8217;] = object.to_yaml&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Console confirms:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;&amp;gt; user = User.find(:first)&lt;br/&gt;&amp;gt; message = Notifier.password_reset_instructions(user)&lt;br/&gt;&amp;gt; message.to_yaml&lt;br/&gt;TypeError: can&amp;#8217;t dump anonymous class Class&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;How I fixed it. Note: all of my notifier methods take a user argument, so I thought this was a little cleaner than coming up with a new job class for every email method:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;Delayed::Job.enqueue NotifierJob.new(:password_reset_instructions,user_id)&lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;And my lib/notifier_job.rb file:&lt;/p&gt;
&lt;blockquote&gt;
&lt;p&gt;class NotifierJob &amp;lt; Struct.new(:notifier_method,:user_id)&lt;br/&gt;  def perform&lt;br/&gt;    user = User.find(user_id)&lt;br/&gt;    Notifier.send(notifier_method,user).deliver&lt;br/&gt;  end&lt;br/&gt;end &lt;/p&gt;
&lt;/blockquote&gt;
&lt;p&gt;Hope that helps.&lt;/p&gt;
&lt;blockquote&gt;&lt;/blockquote&gt;</description><link>http://www.nathancolgate.com/post/538810601</link><guid>http://www.nathancolgate.com/post/538810601</guid><pubDate>Wed, 21 Apr 2010 12:05:53 -0700</pubDate></item><item><title>Stephenson Intro Video</title><description>&lt;a href="http://vimeo.com/10128902"&gt;Stephenson Intro Video&lt;/a&gt;: &lt;p&gt;&lt;a href="http://vimeo.com/10128902" title="Stephenson Intro Video"&gt;&lt;img src="http://ts.vimeo.com.s3.amazonaws.com/521/053/52105308_200.jpg" alt="Stephenson Intro Video"/&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Cast: &lt;a href="http://vimeo.com/user352197" style="color: #2786c2; text-decoration: none;"&gt;Nathan Colgate&lt;/a&gt;&lt;/p&gt;</description><link>http://www.nathancolgate.com/post/444951302</link><guid>http://www.nathancolgate.com/post/444951302</guid><pubDate>Fri, 12 Mar 2010 23:06:55 -0800</pubDate></item><item><title>The Cooper Residence - For the home files.</title><description>&lt;img src="http://24.media.tumblr.com/tumblr_kyz8skRc9m1qz6v8po1_250.jpg"/&gt;&lt;br/&gt;&lt;br/&gt;&lt;p&gt;&lt;a href="http://www.contemporist.com/2010/02/25/the-cooper-residence-by-randy-weinstein/"&gt;The Cooper Residence&lt;/a&gt; - For the home files.&lt;/p&gt;</description><link>http://www.nathancolgate.com/post/435059917</link><guid>http://www.nathancolgate.com/post/435059917</guid><pubDate>Mon, 08 Mar 2010 11:00:00 -0800</pubDate></item><item><title>How to Rename a File on S3 with right_aws and Keep Permissions</title><description>&lt;p&gt;Because this took way too much time to figure out:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;s3=RightAws::S3Interface.new(S3SwfUpload::S3Config.access_key_id, S3SwfUpload::S3Config.secret_access_key)
old_name = "tmp/#{self.video_file_name}"
new_name = original_video_file_path
bucket = S3SwfUpload::S3Config.bucket
(1..5).each do |try|
  begin
    acl_prop = s3.get_acl(bucket, old_name)
    s3.rename(bucket, old_name, new_name)
    s3.put_acl(bucket, new_name, acl_prop[:object])
    break
  rescue Exception =&amp;gt; e
    self.video_log += "Problem renaming file, trying again... #{e}\n"
    sleep 1
  end
end&lt;/code&gt;&lt;/pre&gt;</description><link>http://www.nathancolgate.com/post/323781568</link><guid>http://www.nathancolgate.com/post/323781568</guid><pubDate>Fri, 08 Jan 2010 12:17:07 -0800</pubDate></item><item><title>Video</title><description>&lt;object width="512" height="288"&gt;&lt;param name="movie" value="http://www.hulu.com/embed/avBP_fL1-sPN_CoKWv5GOw"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;embed src="http://www.hulu.com/embed/avBP_fL1-sPN_CoKWv5GOw" type="application/x-shockwave-flash" width="400" height="231" allowFullScreen="true"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;br/&gt;&lt;br/&gt;</description><link>http://www.nathancolgate.com/post/202833113</link><guid>http://www.nathancolgate.com/post/202833113</guid><pubDate>Fri, 02 Oct 2009 13:58:12 -0700</pubDate></item></channel></rss>

