<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0">
    <channel>
        <title>Carter Rabasa</title>
        <link>http://carter.rabasa.com</link>
        <description>This is my tech nook. There are many like it, but this one is mine.</description>
        <managingEditor>carter@rabasa.com (Carter Michael Rabasa)</managingEditor>
        <lastBuildDate>Tue, 21 Feb 2012 10:25:43 -0800</lastBuildDate>
        <language>en</language>
        

        <item>
            <title>How to Install Rails on Mac OS X Lion</title>
            <pubDate>Tue, 21 Feb 2012 15:23:47 -0800</pubDate>
            <description>&lt;p&gt;You know that new-car smell a computer has when it's just been unboxed and you're booting it up for the first time?  That smell always make me think: &lt;em&gt;it's time to set-up development environments!&lt;/em&gt;&lt;/p&gt;

&lt;p&gt;Here's a simple script I put together to install &lt;a href=&quot;http://www.rubyonrails.org&quot;&gt;Ruby on Rails&lt;/a&gt; on Mac OS X Lion based on instructions that Alain Beauvois &lt;a href=&quot;http://stackoverflow.com/a/8464619&quot;&gt;posted&lt;/a&gt; to Stack Overflow. It requires that you've already installed &lt;a href=&quot;http://itunes.apple.com/fr/app/xcode/id448457090?mt=12&quot;&gt;Xcode&lt;/a&gt;. Hope you find this helpful!&lt;/p&gt;

&lt;script src=&quot;https://gist.github.com/1877914.js?file=install_rvm_rails.sh&quot;&gt;&lt;/script&gt;



</description>
            <link>http://carter.rabasa.com/2012/02/21/install-rvm-and-rails-on-mac-os-x-lion/</link>
            <guid>http://carter.rabasa.com/2012/02/21/install-rvm-and-rails-on-mac-os-x-lion/</guid>
        </item>

        

        <item>
            <title>How to Enable JSON and cURL in PHP on Joyent Shared Servers</title>
            <pubDate>Fri, 10 Feb 2012 15:23:47 -0800</pubDate>
            <description>&lt;p&gt;After starting at Twilio, I wanted to get a bunch of development environments set up where it would be easy to hack around with the API and put together demos quickly.  One of my hosts is &lt;a href=&quot;http://www.joyentcloud.com&quot;&gt;Joyent&lt;/a&gt;, whom I love.  I've been using them since they were TextDrive and have never had any problems that weren't self-inflicted.  I have about a dozen domains set-up on their shared hosting service and got to work downloading the &lt;a href=&quot;http://www.twilio.com/docs/libraries&quot;&gt;Twilio PHP helper library&lt;/a&gt; and creating a simple app to use Twilio's &lt;a href=&quot;http://www.twilio.com/docs/api/rest&quot;&gt;REST API&lt;/a&gt; to send a text message.&lt;/p&gt;

&lt;p&gt;This is the point at which my productivity came to a screeching halt and I confronted the dreaded &lt;a href=&quot;http://drupal.org/node/158043&quot;&gt;white screen of death&lt;/a&gt;.  PHP was (silently) telling me that something was wrong. In order to get back on track, I needed to configure PHP to show the errors it was encountering.  Luckily, this was pretty simple. I just logged-in to my host and tracked down the PHP initialization file for the domain I was working with.&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;[platt:~] crabasa$ cd domains/rabasa.com
[platt:~/domains/rabasa.com] crabasa$ vi etc/php5/php.ini
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Then I looked for the property that control the display of errors and made sure it was set to &quot;On&quot;:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;display_errors = On
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Awesome, now it's time to hit &quot;reload&quot; and see what's going on.  PHP is quick to tell me:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Fatal error: Call to undefined function curl_init() in /users/home/crabasa/software/twilio-php/Services/Twilio/TinyHttp.php on line 61
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;It seems that the PHP helper library has dependencies, in this case cURL. The &lt;a href=&quot;http://php.net/manual/en/book.curl.php&quot;&gt;cURL module&lt;/a&gt; is neccessary to make the HTTP calls to the Twilio REST API. This is an easy fix, I just need to edit my php.ini and un-comment the line that includes the cURL extension:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;extension=curl.so
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Woo hoo!  I'm home free, right?  Wrong:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Fatal error: Call to undefined function json_decode() in /users/home/crabasa/software/twilio-php/Services/Twilio.php on line 148
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Looks like there's another dependency, this time on JSON.  The &lt;a href=&quot;http://php.net/manual/en/book.json.php&quot;&gt;JSON module&lt;/a&gt; allows us to deserialize the JSON data we get back from the API.  Let's include the JSON extension as well:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;extension=json.so
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;That's it!  With a couple of tweaks I am now ready to start hitting web service APIs using PHP. W00t!&lt;/p&gt;
</description>
            <link>http://carter.rabasa.com/2012/02/10/getting-json-and-curl-enabled-in-php-on-joyent-shared-servers/</link>
            <guid>http://carter.rabasa.com/2012/02/10/getting-json-and-curl-enabled-in-php-on-joyent-shared-servers/</guid>
        </item>

        

        <item>
            <title>Planet Twilion</title>
            <pubDate>Wed, 25 Jan 2012 15:23:47 -0800</pubDate>
            <description>&lt;p&gt;&lt;figure&gt;
  &lt;img src=&quot;https://lh3.googleusercontent.com/-1ba88AyW61k/Tx8jFMtzRNI/AAAAAAAABak/2hvXaH-hx7Y/s400/Carter%252527s%252520WP7_000147.jpg&quot; alt=&quot;Twilio offices at night&quot; height=&quot;300&quot; width=&quot;400&quot;/&gt;
  &lt;figcaption&gt;Twilio offices at night&lt;/figcaption&gt;
&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;I am back in Seattle, writing this blog post from &lt;a href=&quot;http://www.agnesunderground.com/&quot;&gt;Agnes Underground&lt;/a&gt;, a new co-working spot in Capitol Hill. This is the 2nd co-working space I've checked-out (&lt;a href=&quot;http://officenomads.com/&quot;&gt;Office Nomads&lt;/a&gt; being the 1st) and I'm finding this process super valuable and quite fun.  Meeting lots of interesting people.&lt;/p&gt;

&lt;p&gt;But I'm getting ahead of myself.  Last week was &lt;em&gt;amazing&lt;/em&gt;! I flew down to San Francisco on Tuesday morning to start my new job at Twilio.  My plane landed at 9:33am and I actually thought I'd make it into the office by ~10am. Whoops.  Huffing and puffing, I burst into the office just after 10:45am to find it... completely empty.  I knew there was an all-hands company meeting going on, but it's definitely wasn't happened on the 3rd floor of 501 Folsom St.&lt;/p&gt;

&lt;p&gt;After some comical escapades that involved getting locked into stairwells and &quot;visiting&quot; Twilio's other neighbors in the building, I finally was routed to our new office space on the 1st floor, where I caught the tail-end of the all-hands.  Just in time for Jeff to pull me in front of the company and force everyone to chant my name until it was tatooed on their cerebral cortex.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;
  &lt;img src=&quot;https://lh6.googleusercontent.com/-U9JmDkhd6wU/Tx8jBHdOpeI/AAAAAAAABa4/aYAFu4Ft3kY/s400/Carter%252527s%252520WP7_000128.jpg&quot; alt=&quot;White House CTO - Aneesh Chopra&quot; height=&quot;300&quot; width=&quot;400&quot;/&gt;
  &lt;figcaption&gt;White House CTO - Aneesh Chopra&lt;/figcaption&gt;
&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;The rest of the week was pretty typical, I hear: the &lt;a href=&quot;https://twitter.com/aneeshchopra&quot;&gt;White House CTO&lt;/a&gt; dropped-in on Tuesday. Catered dinner of fried chicken and waffles on Wednesday. Epic Holiday party and karaoke bash on Thursday. I don't think there are many companies where I would feel totally comfortable belting-out &quot;Paraside City&quot; on my 3rd day, but Twilio is one of them.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;
  &lt;img src=&quot;https://lh5.googleusercontent.com/-84CW1HQKQBs/Tx8jF3FKfzI/AAAAAAAABa0/D77NFn8vuA0/s400/Carter%252527s%252520WP7_000149.jpg&quot; alt=&quot;I'm a DOER&quot; height=&quot;300&quot; width=&quot;400&quot;/&gt;
  &lt;figcaption&gt;Are you a DOER?&lt;/figcaption&gt;
&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;So now I find myself back home in Seattle.  As much as I love San Francisco, Seattle definitely feels like home.  I'm still getting to know the startup community here, but there is no shortage of &lt;a href=&quot;http://www.meetup.com/HackerNewsSeattleMeetup/&quot;&gt;meetups&lt;/a&gt; or &lt;a href=&quot;http://www.seattletechcalendar.com/&quot;&gt;events&lt;/a&gt; to keep you busy.  I'm feeling a lot of energy up here, especially regarding the shift to the cloud and the curiosity around Windows 8.  Exciting times to DO something!&lt;/p&gt;
</description>
            <link>http://carter.rabasa.com/2012/01/25/planet-twilion/</link>
            <guid>http://carter.rabasa.com/2012/01/25/planet-twilion/</guid>
        </item>

        

        <item>
            <title>New Year, Fresh Start</title>
            <pubDate>Mon, 09 Jan 2012 11:10:47 -0800</pubDate>
            <description>&lt;p&gt;This is my first post to this blog in well over a year. Sad, I know.  I spun carter.rabasa.com up because I wanted to separate my professional writing from my &lt;a href=&quot;http://cubanlinks.org&quot;&gt;personal writing&lt;/a&gt;. But my previous role as a &lt;a href=&quot;http://windowsteamblog.com/members/crabasa/&quot;&gt;Product Manager on the Internet Explorer&lt;/a&gt; team didn't afford much time for blogging and other avenues for connecting online (&lt;a href=&quot;http://twitter.com/carterrabasa&quot;&gt;Twitter&lt;/a&gt;, &lt;a href=&quot;http://stackoverflow.com/users/476286/carter-rabasa&quot;&gt;StackOverflow&lt;/a&gt;, &lt;a href=&quot;http://news.ycombinator.com/user?id=crabasa&quot;&gt;Hacker News&lt;/a&gt;, &lt;a href=&quot;http://www.quora.com/Carter-Rabasa&quot;&gt;Quora&lt;/a&gt;) proved to be quite a distraction from more thoughful forms of writing.  &lt;em&gt;Resolution:&lt;/em&gt; write more and more thoughtfully.&lt;/p&gt;

&lt;h2&gt;Speaking of Resolutions...&lt;/h2&gt;

&lt;p&gt;The new year brought us an amazing meme: &quot;&lt;a href=&quot;https://www.google.com/search?sourceid=chrome&amp;amp;ie=UTF-8&amp;amp;q=learn+to+code+2012&quot;&gt;Learn to code in 2012&lt;/a&gt;&quot;! This was largely kicked-off by the launch of &lt;a href=&quot;http://codeyear.com&quot;&gt;CodeYear&lt;/a&gt; by the YC startup &lt;a href=&quot;http://codecademy.com&quot;&gt;CodeCademy&lt;/a&gt;. You'll notice in all the press peices that even the mayor of New York (Micael Bloomberg) has commited to learning to code. The first of a weekly series of interactive programming challenges just went out today.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;
  &lt;img src=&quot;/images/2012-01-09-codecademy.png&quot; alt=&quot;CodeCademy tutorial&quot; height=&quot;209&quot; width=&quot;550&quot;/&gt;
  &lt;figcaption&gt;The first Codecademy tutorial&lt;/figcaption&gt;
&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;Not too long ago I had an interesting chat with &lt;a href=&quot;http://www.daniellemorrill.com&quot;&gt;Danielle Morrill&lt;/a&gt; about how more people should learn to program.  What was interesting about the conversation was that &quot;programming&quot; is often scoped too narrowly.  Danielle is a self-taught programmer who started-out glueing systems together with epic Excel macros. Programming is more of a state of mind, a willingness to exert control over the controllable elements of one's environment.&lt;/p&gt;

&lt;p&gt;&lt;figure&gt;
  &lt;img src=&quot;/images/2012-01-09-gmail-filter.png&quot; alt=&quot;Gmail filter&quot; height=&quot;354&quot; width=&quot;331&quot;/&gt;
  &lt;figcaption&gt;An example Gmail filter&lt;/figcaption&gt;
&lt;/figure&gt;&lt;/p&gt;

&lt;p&gt;It could be as simple as programming your VCR (wow, I'm old) or creating some useful filters/labels in GMail. It could be hacking your finances with tools like &lt;a href=&quot;http://mint.com&quot;&gt;Mint&lt;/a&gt; or creating forcing functions for your body by signing-up for a 10k in the Spring. Think of all of the social media accounts you use and ask yourself if a tool like &lt;a href=&quot;http://ifttt.com/wtf&quot;&gt;ifttt&lt;/a&gt; could help you automate some things that you do normally do manually?&lt;/p&gt;

&lt;p&gt;Anyway, I am feeling exceedingly optimistic today.  Maybe it's the fading buzz of the New Year.  Or perhaps it's because I'm starting a new job a week from tomorrow that I'm very excited about.  Don't have much to say about it now, but suffice it to say that it will involve getting more and more people excited and comfortable with programming.  And given my lay-off from hard-core coding, that starts &lt;a href=&quot;http://github.com/crabasa&quot;&gt;with me&lt;/a&gt;!&lt;/p&gt;
</description>
            <link>http://carter.rabasa.com/2012/01/09/new-year-fresh-start/</link>
            <guid>http://carter.rabasa.com/2012/01/09/new-year-fresh-start/</guid>
        </item>

        

        <item>
            <title>The Killers &amp; HTML5</title>
            <pubDate>Wed, 15 Sep 2010 00:00:00 -0700</pubDate>
            <description>&lt;p&gt;I am have having &lt;strong&gt;WAY&lt;/strong&gt; too much fun exploring the &lt;a href=&quot;http://www.beautyoftheweb.com&quot;&gt;beauty of the web&lt;/a&gt; and the glory that is &lt;a href=&quot;http://www.beautyoftheweb.com/#/highlights/html5&quot;&gt;HTML5&lt;/a&gt;.  If you're like me and you love The Killers, than you'll love their new site:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.thekillersmusic.com/html5&quot;&gt;http://www.thekillersmusic.com/html5&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.thekillersmusic.com/html5#videos-browse&quot;&gt;&lt;img title=&quot;killers&quot; src=&quot;/images/2010-09-15-killers-1024x635.png&quot; alt=&quot;&quot; width=&quot;717&quot; height=&quot;445&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
            <link>http://carter.rabasa.com/2010/09/15/the-killers-html5/</link>
            <guid>http://carter.rabasa.com/2010/09/15/the-killers-html5/</guid>
        </item>

        

        <item>
            <title>Sweet 10k Apart Web Apps</title>
            <pubDate>Fri, 03 Sep 2010 00:00:00 -0700</pubDate>
            <description>&lt;p&gt;I've been checking out the cool web apps being entered into the &lt;a href=&quot;http://10k.aneventapart.com/&quot;&gt;10k Apart Contest&lt;/a&gt; and found one that I just love.  It's called &lt;a href=&quot;http://10k.aneventapart.com/Uploads/330/&quot;&gt;FotoTable &lt;/a&gt;and hooks into Flickr to create a virtual desktop of scattered and stacked photos.  It doesn't &lt;em&gt;do&lt;/em&gt; a ton, but when you couple it with cute pictures of my baby daughter &lt;a href=&quot;http://catherine.rabasa.com&quot;&gt;Catherine &lt;/a&gt;some serious eye candy is created.  And all in less than 10k of code!&lt;/p&gt;

&lt;p&gt;&lt;img title=&quot;fototable&quot; src=&quot;/images/2010-09-03-fototable.png&quot; alt=&quot;&quot; width=&quot;662&quot; height=&quot;522&quot; /&gt;&lt;/p&gt;
</description>
            <link>http://carter.rabasa.com/2010/09/03/sweet-10k-apart-web-apps/</link>
            <guid>http://carter.rabasa.com/2010/09/03/sweet-10k-apart-web-apps/</guid>
        </item>

        

        <item>
            <title>Photos from TXJS</title>
            <pubDate>Wed, 09 Jun 2010 00:00:00 -0700</pubDate>
            <description>&lt;p&gt;I uploaded &lt;a href=&quot;http://www.flickr.com/photos/cubanlinks/sets/72157624110992361/&quot;&gt;some pictures&lt;/a&gt; from my trip to Austin for &lt;a href=&quot;http://texasjavascript.com/&quot;&gt;TXJS&lt;/a&gt;.  Thanks to Rebecca and the rest of the &lt;a href=&quot;http://yayquery.com/&quot;&gt;yayQuery&lt;/a&gt; team for an awesome event!&lt;/p&gt;

&lt;p&gt;&lt;a title=&quot;John Resig by crabasa, on Flickr&quot; href=&quot;http://www.flickr.com/photos/cubanlinks/4684351212/&quot;&gt;&lt;img title=&quot;John Resig discussing JQuery on mobile&quot; src=&quot;http://farm5.static.flickr.com/4028/4684351212_dc0e7aed35.jpg&quot; alt=&quot;John Resig&quot; width=&quot;500&quot; height=&quot;375&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a title=&quot;Dan Webb by crabasa, on Flickr&quot; href=&quot;http://www.flickr.com/photos/cubanlinks/4683722559/&quot;&gt;&lt;img title=&quot;Dan Webb discussing @anywhere&quot; src=&quot;http://farm5.static.flickr.com/4050/4683722559_15e516546a.jpg&quot; alt=&quot;Dan Webb&quot; width=&quot;500&quot; height=&quot;375&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a title=&quot;Joe McCann by crabasa, on Flickr&quot; href=&quot;http://www.flickr.com/photos/cubanlinks/4684354344/&quot;&gt;&lt;img title=&quot;Joe McCann being a goofball&quot; src=&quot;http://farm5.static.flickr.com/4019/4684354344_dde0e1a731.jpg&quot; alt=&quot;Joe McCann&quot; width=&quot;500&quot; height=&quot;375&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
            <link>http://carter.rabasa.com/2010/06/09/photos-from-txjs/</link>
            <guid>http://carter.rabasa.com/2010/06/09/photos-from-txjs/</guid>
        </item>

        

        <item>
            <title>Props for the IE Test Drive</title>
            <pubDate>Mon, 07 Jun 2010 00:00:00 -0700</pubDate>
            <description>&lt;p&gt;From a &lt;a href=&quot;http://www.webmonkey.com/2010/06/apples-html5-showcase-less-about-web-standards-more-about-apple/&quot;&gt;recent Webmonkey post&lt;/a&gt; about Apple's decision to block non-Safari browsers from their HTML5 demos:&lt;/p&gt;

&lt;blockquote&gt;&lt;p&gt;Microsoft recently published &lt;a href=&quot;http://ie.microsoft.com/testdrive/&quot;&gt;its own HTML5 showcase&lt;/a&gt; to hype the coming release of Internet Explorer 9, and its demo pages are viewable (and work) in any non-IE browser with the proper support. Mozilla's &lt;a href=&quot;http://hacks.mozilla.org/category/demo/featured-demo/&quot;&gt;HTML5 demo pages&lt;/a&gt; are geared to work with experimental builds of Firefox, but at least other browsers aren't blocked, and most of the demos actually work in Chrome.&lt;/p&gt;&lt;/blockquote&gt;
</description>
            <link>http://carter.rabasa.com/2010/06/07/props-for-the-ie-test-drive/</link>
            <guid>http://carter.rabasa.com/2010/06/07/props-for-the-ie-test-drive/</guid>
        </item>

        

        <item>
            <title>SocialDM</title>
            <pubDate>Wed, 04 Feb 2009 00:00:00 -0800</pubDate>
            <description>&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/blog/2009/02/04/socialdm/&quot;&gt;http://cubanlinks.org/blog/2009/02/04/socialdm/&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/2009-04-02-socialdm.png&quot; alt=&quot;SocialDM icon&quot; /&gt;&lt;/p&gt;

&lt;h2&gt;Overview&lt;/h2&gt;

&lt;p&gt;This is a quick-and-dirty primer for a new tool I’ve developed (&lt;a href=&quot;http://www.socialdm.com&quot;&gt;SocialDM&lt;/a&gt;) where DM stands for “direct message”.  The need is fairly straightforward: many services (such as FriendFeed) don’t support DM.  Others do (such as Twitter).  For those services that don’t, I wanted to create a simple, opt-in service that allowed people to provide an email address and then broadcast to  people “you can reach me here”.&lt;/p&gt;

&lt;h2&gt;Abuse&lt;/h2&gt;

&lt;p&gt;The method of avoiding abuse is to limit the people you can receive messages from to the people you’ve chosen to subscribe to.  So, if user A subscribes to user B, A can receive a message from B.  If they reciprocally follow each other, they can message each other.&lt;/p&gt;

&lt;h2&gt;Sending Message&lt;/h2&gt;

&lt;p&gt;Once you’ve registered an account, people can send you messages using the web-form below.  &lt;em&gt;They do not have to have registered an account to do this!&lt;/em&gt; They can also skip the web form and shoot an email to [service]+[username]@socialdm.com (they must have a SocialDM account to do this).  Right now the only supported service is “ff”.  So to send me a message, someone would email ff+cubanlinks@socialdm.com.  Obviously, you can do these things too, but you can only send messages to people who have SocialDM accounts.  Which leads us to getting discovered.&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/2009-04-02-send.png&quot; alt=&quot;sending a message&quot; /&gt;&lt;/p&gt;

&lt;h2&gt;The Service&lt;/h2&gt;

&lt;p&gt;When you register, a nice little feed gets created for you (mine is http://www.socialdm.com/feed/cubanlinks.rss).  Until FriendFeed supports SocialDM as a 1st class service (soon, we hope!) you will want to add this feed to your list of FriendFeed services.  Use the “Custom RSS/Atom” option:&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;/images/2009-04-02-add_service.png&quot; alt=&quot;adding a service&quot; /&gt;&lt;/p&gt;

&lt;p&gt;The feed is simply a daily digest of how many DM’s you sent and received.  You can see mine &lt;a href=&quot;http://friendfeed.com/cubanlinks?service=feed&quot;&gt;here&lt;/a&gt;.  The content of this feed is pretty up-in-the-air, but that’s the current behavior.&lt;/p&gt;

&lt;p&gt;Ok, that’s it for now!  Please leave comments here or on FriendFeed.  Hope you enjoy the service!&lt;/p&gt;
</description>
            <link>http://carter.rabasa.com/2009/02/04/socialdm/</link>
            <guid>http://carter.rabasa.com/2009/02/04/socialdm/</guid>
        </item>

        

        <item>
            <title>Twitter2Mail</title>
            <pubDate>Mon, 12 Jan 2009 09:27:15 -0800</pubDate>
            <description>&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/blog/?p=2364&quot;&gt;http://cubanlinks.org/blog/?p=2364&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;In the aftermath of the &lt;a href=&quot;http://twurl.nl/k26fcx&quot;&gt;Twply debacle&lt;/a&gt;, I thought it might be nice to have an app to email your @replies that doesn't require more than just your Twitter username and an email address.  So, I bring you &lt;a href=&quot;https://twitter2mail.appspot.com/&quot;&gt;Twitter2Mail&lt;/a&gt;. Enjoy!&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://cubanlinks.org/blog/wp-content/uploads/2009/01/t2m_diagram.png&quot;&gt;&lt;img class=&quot;alignnone size-medium wp-image-2365&quot; title=&quot;t2m_diagram&quot; src=&quot;http://cubanlinks.org/blog/wp-content/uploads/2009/01/t2m_diagram-300x225.png&quot; alt=&quot;t2m_diagram&quot; width=&quot;300&quot; height=&quot;225&quot; /&gt;&lt;/a&gt;&lt;/p&gt;
</description>
            <link>http://carter.rabasa.com/2009/01/12/twitter2mail/</link>
            <guid>http://carter.rabasa.com/2009/01/12/twitter2mail/</guid>
        </item>

        

        <item>
            <title>FF2Disqus v0.3</title>
            <pubDate>Sat, 10 Jan 2009 07:50:26 -0800</pubDate>
            <description>&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/blog/?p=2354&quot;&gt;http://cubanlinks.org/blog/?p=2354&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://cubanlinks.org/blog/wp-content/uploads/2009/01/ff2d3.png&quot;&gt;&lt;img class=&quot;alignnone size-medium wp-image-2355&quot; title=&quot;ff2d3&quot; src=&quot;http://cubanlinks.org/blog/wp-content/uploads/2009/01/ff2d3-300x225.png&quot; alt=&quot;ff2d3&quot; width=&quot;300&quot; height=&quot;225&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;Now that v0.3 of FF2Disqus is in private-beta, I thought I'd put up a page to answer basic some questions about the application and record feedback.  Please check-out the example above of how a typical sync works.  If you have any questions or comments, please leave them in the comments.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;Ping Response&lt;/strong&gt;&lt;/p&gt;

&lt;p&gt;FF2Disqus provides users the ability to ping a URL to initiate a sync.  We automatically run syncs once an hour, but some people aren't that patient. :) The format of the response is &lt;a href=&quot;http://www.json.org/&quot;&gt;JSON&lt;/a&gt;.  The response object has the following attributes:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;success: true or false&lt;/li&gt;
&lt;li&gt;errorCode (optional): is success is false, this provides a short code explanation (invalid-user/time-out/unknown-error)&lt;/li&gt;
&lt;li&gt;message: if success is true this is an array of comments that were synced, else a longer explanation of the error&lt;/li&gt;
&lt;/ul&gt;

</description>
            <link>http://carter.rabasa.com/2009/01/10/ff2disqus-v03/</link>
            <guid>http://carter.rabasa.com/2009/01/10/ff2disqus-v03/</guid>
        </item>

        

        <item>
            <title>RIP FF2Disqus</title>
            <pubDate>Thu, 08 Jan 2009 15:53:18 -0800</pubDate>
            <description>&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/blog/?p=2343&quot;&gt;http://cubanlinks.org/blog/?p=2343&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-2344&quot; title=&quot;ff2d2&quot; src=&quot;http://cubanlinks.org/blog/wp-content/uploads/2009/01/ff2d2.png&quot; alt=&quot;ff2d2&quot; width=&quot;32&quot; height=&quot;32&quot; /&gt;&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;[UPDATE]:&lt;/strong&gt; FF2Disqus is back up, but in limited beta.  Email/Twitter me if you'd like to try it out.&lt;/p&gt;

&lt;p&gt;Over this past weekend I wrote an app that attempted to bridge the gap between comments occurring on your blog (old school) with the comments proliferating on FriendFeed (new skool).  It started out as a &lt;a href=&quot;http://cubanlinks.org/blog/2009/01/04/friendfeeddisqus-comment-sync-v01/&quot;&gt;client-app&lt;/a&gt;, matured into &lt;a href=&quot;http://cubanlinks.org/blog/2009/01/06/friendfeeddisqus-comment-sync-v02/&quot;&gt;a service&lt;/a&gt; and was &lt;a href=&quot;http://friendfeed.com/e/6c9e7321-7e3d-5eee-eaac-eee569410616/Optimus-Prime-Feels-The-Energy-Crisis/&quot;&gt;beset by glitches&lt;/a&gt;.  I spent the better part of 2-3 days trying to track down what exactly was going wrong, and now I finally have an answer.&lt;/p&gt;

&lt;p&gt;The problem was when I executed Disqus API calls on my computer the results were &lt;strong&gt;DIFFERENT&lt;/strong&gt; than when I called those same API's with the exact same parameters on my host (Google's AppEngine).  I will not pretend to have the faintest idea of what is going on.  Someone, somewhere is caching the results of these API calls and passing them back to my service.  You can see for yourself the results of two seperate (but identical) calls to the service &quot;get_thread_posts&quot;.  If you do a search for &quot;Mo bugs mo problems&quot;, you'll see that comment does show up in my local response, but &lt;strong&gt;DOES NOT&lt;/strong&gt; show up the response provided to AppEngine:&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://cubanlinks.org/blog/wp-content/uploads/2009/01/disqus_response_appengine.txt&quot; target=&quot;_blank&quot;&gt;Disqus response (appengine)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://cubanlinks.org/blog/wp-content/uploads/2009/01/disqus_response_local.txt&quot; target=&quot;_blank&quot;&gt;Disqus response (local)&lt;/a&gt;&lt;/p&gt;

&lt;p&gt;...which lead to insane amounts of duplicate comments at random times for random people.  And so ends my quixotic journey to have my comments and eat them too.  If someone from Disqus has some time to look into this, I will provide any information I can.  In the meantime, I apologize for letting down the people who signed-up and got some use out of FF2Disqus.  I think I understand now why it's a bad idea to put things out there that aren't fully baked.&lt;/p&gt;

&lt;p&gt;&lt;span style=&quot;text-decoration: underline;&quot;&gt;Updates&lt;/span&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Looks like to might be Google's fault &lt;a href=&quot;http://groups.google.com/group/google-appengine/browse_thread/thread/dc539459dec9968c/10b849952966f28f?lnk=gst&amp;amp;q=urlfetch+cache#10b849952966f28f&quot;&gt;(link #1)&lt;/a&gt; &lt;a href=&quot;http://groups.google.com/group/google-appengine/browse_thread/thread/ae52ac9100d8f18c/e91fa4c69848d9a7?lnk=gst&amp;amp;q=urlfetch+cache#e91fa4c69848d9a7&quot;&gt;(link #2)&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;Ryan Williams points me to a &lt;a href=&quot;http://code.google.com/p/googleappengine/issues/detail?id=739&amp;amp;can=1&amp;amp;q=urlfetch&amp;amp;colspec=ID%20Type%20Status%20Priority%20Stars%20Owner%20Summary%20Log%20Component#c5&quot;&gt;work-around&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;And... we're back! But super-limited beta.&lt;/li&gt;
&lt;/ul&gt;

</description>
            <link>http://carter.rabasa.com/2009/01/08/rip-ff2disqus/</link>
            <guid>http://carter.rabasa.com/2009/01/08/rip-ff2disqus/</guid>
        </item>

        

        <item>
            <title>FriendFeed/Disqus Comment Sync v0.2</title>
            <pubDate>Mon, 05 Jan 2009 22:55:45 -0800</pubDate>
            <description>&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/blog/?p=2341&quot;&gt;http://cubanlinks.org/blog/?p=2341&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;img class=&quot;alignnone size-full wp-image-2340&quot; title=&quot;FF2Disqus&quot; src=&quot;http://cubanlinks.org/blog/wp-content/uploads/2009/01/ff2d1.png&quot; alt=&quot;FF2Disqus&quot; width=&quot;400&quot; height=&quot;221&quot; /&gt;&lt;/p&gt;

&lt;p&gt;Please see my &lt;a href=&quot;http://cubanlinks.org/blog/2009/01/04/friendfeeddisqus-comment-sync-v01/&quot;&gt;previous post&lt;/a&gt; for a run-down on how this tool works.  So, what's new?  Well, alot:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;This is a hosted/automated solution (&lt;a href=&quot;https://ff2disqus.appspot.com/&quot;&gt;https://ff2disqus.appspot.com&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;Comments are synced &lt;strong&gt;every hour &lt;/strong&gt;and all actions are logged&lt;/li&gt;
&lt;li&gt;Users can discontinue syncing at any time&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Well, I hope (some of) you like this!  Just another &lt;a href=&quot;https://twitter2ff.appspot.com&quot;&gt;scotch-tape web application&lt;/a&gt; that was a product of too much free time!&lt;/p&gt;
</description>
            <link>http://carter.rabasa.com/2009/01/05/friendfeeddisqus-comment-sync-v02/</link>
            <guid>http://carter.rabasa.com/2009/01/05/friendfeeddisqus-comment-sync-v02/</guid>
        </item>

        

        <item>
            <title>FriendFeed/Disqus Comment Sync v0.1</title>
            <pubDate>Sun, 04 Jan 2009 12:37:41 -0800</pubDate>
            <description>&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/blog/?p=2335&quot;&gt;http://cubanlinks.org/blog/?p=2335&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I've completed an alpha version of my Friendfeed-to-Disqus Comment Sync.  It is a 100% Javascript client app, but you must download it to your computer in order to run (cross-domain scripting issues prevent hosting).  The app consists of an &lt;a href=&quot;/ff2d/index.html&quot;&gt;html file&lt;/a&gt; and a &lt;a href=&quot;/ff2d/prototype-1.6.0.3.js&quot;&gt;javascript library&lt;/a&gt;.  Here are some immediate issues to note:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Comments pulled from FriendFeed and posted to Disqus are done so using a bogus email address.  Email is a required field to post a comment to Disqus, but FriendFeed does not provide emails in its API.  So, the email used is &amp;lt;ff nickname&amp;gt;@bogus_email.com.&lt;/li&gt;
&lt;li&gt;Comments pulled from Disqus and posted to FriendFeed are, unfortunately, posted as you.  There is no way around this given their API.  To compensate, the following tag is appended to each comment: &quot;(comment via Disqus by &amp;lt;name&amp;gt;)&quot;.  In addition, FF does not allow a timestamp to be associated with a comment, so there could be some minor ordering issues.&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Feel free to give it a spin and leave any feedback here or on FriendFeed.  I'll just sync it later.  :)&lt;/p&gt;
</description>
            <link>http://carter.rabasa.com/2009/01/04/friendfeeddisqus-comment-sync-v01/</link>
            <guid>http://carter.rabasa.com/2009/01/04/friendfeeddisqus-comment-sync-v01/</guid>
        </item>

        

        <item>
            <title>FF/Disqus Comment Sync</title>
            <pubDate>Sat, 03 Jan 2009 09:40:53 -0800</pubDate>
            <description>&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/blog/2009/01/03/ffdisqus-comment-sync/&quot;&gt;http://cubanlinks.org/blog/2009/01/03/ffdisqus-comment-sync/&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;This is a test post for some code I'm writing to sync comments between FriendFeed and Disqus.  Wish me luck!&lt;/p&gt;
</description>
            <link>http://carter.rabasa.com/2009/01/03/ffdisqus-comment-sync/</link>
            <guid>http://carter.rabasa.com/2009/01/03/ffdisqus-comment-sync/</guid>
        </item>

        
    </channel>
</rss>

