<?xml version="1.0" encoding="utf-8"?>
<feed xmlns="http://www.w3.org/2005/Atom">
 
 <title>Carter Rabasa's Blog</title>
 <link href="http://carter.rabasa.com/atom.xml" rel="self"/>
 <link href="http://carter.rabasa.com/"/>
 <updated>2012-03-30T21:20:40-07:00</updated>
 <id>http://carter.rabasa.com/</id>
 <author>
   <name>Carter Rabasa</name>
   <email>carter@rabasa.com</email>
 </author>

 
 <entry>
   <title>Using WinJS.xhr to POST</title>
   <link href="http://carter.rabasa.com/2012/03/05/using-winjs-xhr-to-post/"/>
   <updated>2012-03-05T14:28:47-08:00</updated>
   <id>http://carter.rabasa.com/2012/03/05/using-winjs-xhr-to-post</id>
   <content type="html">&lt;p&gt;In the process of building a &lt;a href=&quot;http://dev.windows.com&quot;&gt;Windows 8&lt;/a&gt; &lt;a href=&quot;http://twilio.com/api&quot;&gt;Twilio&lt;/a&gt; app, I ran head first into an issue using &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/windows/apps/br229787.aspx&quot;&gt;WinJS.xhr&lt;/a&gt; to send POST requests.  The official documentation is pretty thin, so I thought I'd write-up how to accomplish this here.&lt;/p&gt;

&lt;p&gt;Using WinJS.xhr in general is quite nice.  It abstracts away all the nonesense of &lt;a href=&quot;https://developer.mozilla.org/en/XMLHttpRequest&quot;&gt;XMLHttpRequest&lt;/a&gt; and provides a simple interface that uses &lt;a href=&quot;http://msdn.microsoft.com/en-us/library/windows/apps/hh464930.aspx&quot;&gt;Promises&lt;/a&gt; to handle the asynchronous responses.  Here's a simple example that uses the Twilio REST API to retrieve a list of SMS messages from a user's account:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;WinJS.xhr({
  user: accountSid, password: authKey, 
  url: &quot;https://api.twilio.com/2010-04-01/Accounts/&quot; + accountSid + &quot;/SMS/Messages.json&quot;
}).then(
  function (success) {
    console.log(JSON.parse(success.responseText));
  },
  function (error) {
    console.log(JSON.parse(error.responseText));
  }
);
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;Obviously, the example would be much shorter if I wasn't using HTTP BASIC auth and had defined some named functions for the callback.  But hey, pretty simple!  Anyway, what if you want to do a POST?  We'll here's what &lt;em&gt;won't&lt;/em&gt; work:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;WinJS.xhr({
  type: &quot;post&quot;, user: accountSid, password: authKey, 
  url: &quot;https://api.twilio.com/2010-04-01/Accounts/&quot; + accountSid + &quot;/Calls.json&quot;,
  data: dataString
}).then(success, error);
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You'll notice I defined &lt;code&gt;type: &quot;post&quot;&lt;/code&gt; to indicate that I want to POST.  But, it turns out this is not enough.  The answer to getting this to work is to manually set the response header.  Here's some code that &lt;em&gt;does&lt;/em&gt; work:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;WinJS.xhr({
  type: &quot;post&quot;, user: accountSid, password: authKey, 
  url: &quot;https://api.twilio.com/2010-04-01/Accounts/&quot; + accountSid + &quot;/Calls.json&quot;,
  headers: { &quot;Content-type&quot;: &quot;application/x-www-form-urlencoded&quot; },
  data: dataStr
    }).then(success, error);
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;That's it.  Just make sure to set:&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;headers: { &quot;Content-type&quot;: &quot;application/x-www-form-urlencoded&quot; }
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;..and you're good to go!&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>How to Install Rails on Mac OS X Lion</title>
   <link href="http://carter.rabasa.com/2012/02/21/install-rvm-and-rails-on-mac-os-x-lion/"/>
   <updated>2012-02-21T15:23:47-08:00</updated>
   <id>http://carter.rabasa.com/2012/02/21/install-rvm-and-rails-on-mac-os-x-lion</id>
   <content type="html">&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;



</content>
 </entry>
 
 <entry>
   <title>How to Enable JSON and cURL in PHP on Joyent Shared Servers</title>
   <link href="http://carter.rabasa.com/2012/02/10/getting-json-and-curl-enabled-in-php-on-joyent-shared-servers/"/>
   <updated>2012-02-10T15:23:47-08:00</updated>
   <id>http://carter.rabasa.com/2012/02/10/getting-json-and-curl-enabled-in-php-on-joyent-shared-servers</id>
   <content type="html">&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;
</content>
 </entry>
 
 <entry>
   <title>Planet Twilion</title>
   <link href="http://carter.rabasa.com/2012/01/25/planet-twilion/"/>
   <updated>2012-01-25T15:23:47-08:00</updated>
   <id>http://carter.rabasa.com/2012/01/25/planet-twilion</id>
   <content type="html">&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;
</content>
 </entry>
 
 <entry>
   <title>New Year, Fresh Start</title>
   <link href="http://carter.rabasa.com/2012/01/09/new-year-fresh-start/"/>
   <updated>2012-01-09T11:10:47-08:00</updated>
   <id>http://carter.rabasa.com/2012/01/09/new-year-fresh-start</id>
   <content type="html">&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;
</content>
 </entry>
 
 <entry>
   <title>The Killers &amp; HTML5</title>
   <link href="http://carter.rabasa.com/2010/09/15/the-killers-html5/"/>
   <updated>2010-09-15T00:00:00-07:00</updated>
   <id>http://carter.rabasa.com/2010/09/15/the-killers-html5</id>
   <content type="html">&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;
</content>
 </entry>
 
 <entry>
   <title>Sweet 10k Apart Web Apps</title>
   <link href="http://carter.rabasa.com/2010/09/03/sweet-10k-apart-web-apps/"/>
   <updated>2010-09-03T00:00:00-07:00</updated>
   <id>http://carter.rabasa.com/2010/09/03/sweet-10k-apart-web-apps</id>
   <content type="html">&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;
</content>
 </entry>
 
 <entry>
   <title>Photos from TXJS</title>
   <link href="http://carter.rabasa.com/2010/06/09/photos-from-txjs/"/>
   <updated>2010-06-09T00:00:00-07:00</updated>
   <id>http://carter.rabasa.com/2010/06/09/photos-from-txjs</id>
   <content type="html">&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;
</content>
 </entry>
 
 <entry>
   <title>Props for the IE Test Drive</title>
   <link href="http://carter.rabasa.com/2010/06/07/props-for-the-ie-test-drive/"/>
   <updated>2010-06-07T00:00:00-07:00</updated>
   <id>http://carter.rabasa.com/2010/06/07/props-for-the-ie-test-drive</id>
   <content type="html">&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;
</content>
 </entry>
 
 <entry>
   <title>SocialDM</title>
   <link href="http://carter.rabasa.com/2009/02/04/socialdm/"/>
   <updated>2009-02-04T00:00:00-08:00</updated>
   <id>http://carter.rabasa.com/2009/02/04/socialdm</id>
   <content type="html">&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;
</content>
 </entry>
 
 <entry>
   <title>Twitter2Mail</title>
   <link href="http://carter.rabasa.com/2009/01/12/twitter2mail/"/>
   <updated>2009-01-12T09:27:15-08:00</updated>
   <id>http://carter.rabasa.com/2009/01/12/twitter2mail</id>
   <content type="html">&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;
</content>
 </entry>
 
 <entry>
   <title>FF2Disqus v0.3</title>
   <link href="http://carter.rabasa.com/2009/01/10/ff2disqus-v03/"/>
   <updated>2009-01-10T07:50:26-08:00</updated>
   <id>http://carter.rabasa.com/2009/01/10/ff2disqus-v03</id>
   <content type="html">&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;

</content>
 </entry>
 
 <entry>
   <title>RIP FF2Disqus</title>
   <link href="http://carter.rabasa.com/2009/01/08/rip-ff2disqus/"/>
   <updated>2009-01-08T15:53:18-08:00</updated>
   <id>http://carter.rabasa.com/2009/01/08/rip-ff2disqus</id>
   <content type="html">&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;

</content>
 </entry>
 
 <entry>
   <title>FriendFeed/Disqus Comment Sync v0.2</title>
   <link href="http://carter.rabasa.com/2009/01/05/friendfeeddisqus-comment-sync-v02/"/>
   <updated>2009-01-05T22:55:45-08:00</updated>
   <id>http://carter.rabasa.com/2009/01/05/friendfeeddisqus-comment-sync-v02</id>
   <content type="html">&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;
</content>
 </entry>
 
 <entry>
   <title>FriendFeed/Disqus Comment Sync v0.1</title>
   <link href="http://carter.rabasa.com/2009/01/04/friendfeeddisqus-comment-sync-v01/"/>
   <updated>2009-01-04T12:37:41-08:00</updated>
   <id>http://carter.rabasa.com/2009/01/04/friendfeeddisqus-comment-sync-v01</id>
   <content type="html">&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;
</content>
 </entry>
 
 <entry>
   <title>FF/Disqus Comment Sync</title>
   <link href="http://carter.rabasa.com/2009/01/03/ffdisqus-comment-sync/"/>
   <updated>2009-01-03T09:40:53-08:00</updated>
   <id>http://carter.rabasa.com/2009/01/03/ffdisqus-comment-sync</id>
   <content type="html">&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;
</content>
 </entry>
 
 <entry>
   <title>Twitter2FF: Crowdsourcing Speed and Brains</title>
   <link href="http://carter.rabasa.com/2008/12/14/twitter2ff-crowdsourcing-speed-and-brains/"/>
   <updated>2008-12-14T14:27:00-08:00</updated>
   <id>http://carter.rabasa.com/2008/12/14/twitter2ff-crowdsourcing-speed-and-brains</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2008/12/14/twitter2ff-crowdsourcing-speed-and-brains&quot;&gt;http://cubanlinks.org/2008/12/14/twitter2ff-crowdsourcing-speed-and-brains&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;There are two glaring problems with &lt;a href=&quot;https://twitter2ff.appspot.com&quot;&gt;Twitter2FF&lt;/a&gt;:&lt;/p&gt;

&lt;ol&gt;
&lt;li&gt;It relies on Twitter usernames to match FriendFeed nicknames in order to locate un-subscribed FF'ers&lt;/li&gt;
&lt;li&gt;It makes a ton of real-time &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; calls, which can slow performance or kill the app (if Google slaps my wrist)&lt;/li&gt;
&lt;/ol&gt;


&lt;p&gt;So, I implemented some simple &lt;a href=&quot;http://code.google.com/appengine/docs/datastore&quot;&gt;Datastore&lt;/a&gt; routines to cache some data.  &lt;strong&gt;Nothing personally identifying&lt;/strong&gt;, just information I use when rendering results (like usernames, profile photo urls, etc). Here are the class definitions:&lt;/p&gt;

&lt;p&gt;class TwitterUser(db.Model):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;    username = db.StringProperty(required=True)
    name = db.StringProperty()
    image_url = db.StringProperty()
    date = db.DateTimeProperty(auto_now_add=True)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;class FFUser(db.Model):&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;    nickname = db.StringProperty(required=True)
    name = db.StringProperty()
    twitter_user = db.ReferenceProperty(TwitterUser)
    date = db.DateTimeProperty(auto_now_add=True)
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;You'll notice that I link Twitter records to FF records with a ReferenceProperty in the FFUser model.  These links can occur (without the need for matching usernames) when a user is &lt;span class=&quot;caps&quot;&gt;ALREADY&lt;/span&gt; subscribed to the same person on both services and the FF profile data provides an explicit link-back to the Twitter account.  As more and more people use Twitter2FF, more information is cached in the database, and this results in a faster experience for everyone (presuming there is a reasonable amount of overlap between friend lists).&lt;/p&gt;

&lt;p&gt;A wonderful side-effect of this process is to discover information about T-FF links, which can then benefit other Twitter2FF users.  I'll give you an illustrative example:&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User A:&lt;/strong&gt; Follows &lt;a href=&quot;http://twitter/dalmaer&quot;&gt;dalmaer&lt;/a&gt; and subscribes to &lt;a href=&quot;http://friendfeed.com/dion&quot;&gt;dion&lt;/a&gt;.  When he syncs his contact with Twitter2FF, the relationship between these two accounts is persisted.&lt;/p&gt;

&lt;p&gt;&lt;strong&gt;User B:&lt;/strong&gt; Follows &lt;a href=&quot;http://twitter/dalmaer&quot;&gt;dalmaer&lt;/a&gt;, but doesn&amp;#8217;t know he&amp;#8217;s on FF.  When he goes to sync his contacts, the relationship is pulled from the database (thanks to User A), and he is presented with the option of subscribing to &lt;a href=&quot;http://friendfeed.com/dion&quot;&gt;dion&lt;/a&gt;!&lt;/p&gt;

&lt;p&gt;So, the more people who use &lt;a href=&quot;https://twitter2ff.appspot.com&quot;&gt;Twitter2FF&lt;/a&gt;, the more information there is to better match Twitter and FriendFeed accounts.  Still not a &amp;#8220;perfect&amp;#8221; sync, but a step in the right direction!&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Twitter2FF Sync</title>
   <link href="http://carter.rabasa.com/2008/12/07/twitter2ff-sync/"/>
   <updated>2008-12-07T18:24:00-08:00</updated>
   <id>http://carter.rabasa.com/2008/12/07/twitter2ff-sync</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2008/12/13/twitter2ff-sync&quot;&gt;http://cubanlinks.org/2008/12/13/twitter2ff-sync&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://cubanlinks.org/assets/2008/12/9/t2ff.PNG&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;strong&gt;name:&lt;/strong&gt; Twitter2FF&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;screen:&lt;/strong&gt; &lt;a href=&quot;http://cubanlinks.org/assets/2008/12/8/t2ff.png&quot;&gt;&lt;img src=&quot;http://cubanlinks.org/assets/2008/12/8/t2ff_tiny.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;description:&lt;/strong&gt; Coded in Javascript/Python and deployed on Google’s AppEngine, this application allows you to retrieve you Twitter and FriendFeed contacts, match them up, and locate people who you are not subscribed to or not following.&lt;/li&gt;
&lt;li&gt;&lt;strong&gt;url:&lt;/strong&gt; &lt;a href=&quot;https://twitter2ff.appspot.com&quot;&gt;https://twitter2ff.appspot.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;Links&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://friendfeed.com/e/14b97379-5369-434f-908f-d873d4495cd5/I-wrote-some-code-deployed-on-Google-s-AppEngine/&quot;&gt;Initial FF post&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://friendfeed.com/e/84e9b2ae-ecf4-4978-8f88-442c405f7626/Twitter2FF-Now-fully-capable-of-syncing-Twitter/&quot;&gt;Follow-up FF post&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://news.cnet.com/8301-17939_109-10119559-2.html&quot;&gt;CNet News&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://digg.com/software/Twitter_to_FriendFeed_Contact_Sync&quot;&gt;Digg.com&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://twit.tv/natn78&quot;&gt;Net@Nite&lt;/a&gt; (mentioned about half-way in)&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://twitter.com/tweetlists/status/1055023385&quot;&gt;Tweetlist: #1 link for 12/13/08&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://blog.wired.com/business/2008/12/an-easy-way-to.html?referer=sphere_related_content&quot;&gt;Wired.com&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</content>
 </entry>
 
 <entry>
   <title>Burning RSS</title>
   <link href="http://carter.rabasa.com/2008/05/14/burning-rss/"/>
   <updated>2008-05-14T06:46:00-07:00</updated>
   <id>http://carter.rabasa.com/2008/05/14/burning-rss</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2008/05/14/burning-rss&quot;&gt;http://cubanlinks.org/2008/05/14/burning-rss&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I am making a temporary switch to &lt;a href=&quot;http://www.feedburner.com&quot;&gt;FeedBurner&lt;/a&gt; as I try to untangle the issues with my &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; feed.  With a simple Lighttpd redirect, all requests for /blog/feed (that are not coming from the FeedBurner bot) will be redirected to &lt;a href=&quot;http://feeds.feedburner.com/cubanlinks&quot;&gt;feeds.feedburner.com/cubanlinks&lt;/a&gt;.  I have resisted handing over control of my &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; feed to a third party, but given everything else we surrender these days (links, photos, videos, etc) what&amp;#8217;s the point of resisting?&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Pretty Embarassing...</title>
   <link href="http://carter.rabasa.com/2008/05/13/pretty-embarassing/"/>
   <updated>2008-05-13T12:12:00-07:00</updated>
   <id>http://carter.rabasa.com/2008/05/13/pretty-embarassing</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2008/05/13/pretty-embarassing&quot;&gt;http://cubanlinks.org/2008/05/13/pretty-embarassing&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://cubanlinks.org/assets/2008/5/13/dupes.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;




&lt;p&gt;I have no idea how long this has been going on.  Maybe all way back to switching to Mephisto as my blogging tool?  In any event, it seems that some feed readers (Google Reader, FriendFeed, etc) have been consuming my feed and interpreting the entries in an odd way.  Because of some bizarre mis-configuration, the feed was producing entries linked to &lt;strong&gt;www.&lt;/strong&gt;cubanlinks.org even though the requested domain was simply cubanlinks.org (sans www).  This caused the feed readers to think there were 2 entries for every post (one for www and one for the non-prefixed domain).&lt;/p&gt;




&lt;p&gt;I think this problem has been fixed.  If it hasn&amp;#8217;t, for goodness sake, please let me know!&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>I've Added Disqus</title>
   <link href="http://carter.rabasa.com/2008/05/10/i-ve-added-disqus/"/>
   <updated>2008-05-10T13:33:00-07:00</updated>
   <id>http://carter.rabasa.com/2008/05/10/i-ve-added-disqus</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2008/05/10/i-ve-added-disqus&quot;&gt;http://cubanlinks.org/2008/05/10/i-ve-added-disqus&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve integrated Disqus commenting on this site.  What do you think?  Disqus amongst yourselves.  I&amp;#8217;ve been impressed with what I&amp;#8217;ve seen on other sites (Scripting News, etc) but &lt;a href=&quot;http://avc.blogs.com/a_vc/2008/05/three-reasons-t.html&quot;&gt;Fred Wilson&amp;#8217;s post&lt;/a&gt; pushed me over the edge.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>FF Clients Disappoint</title>
   <link href="http://carter.rabasa.com/2008/05/05/ff-clients-disappoint/"/>
   <updated>2008-05-05T10:37:00-07:00</updated>
   <id>http://carter.rabasa.com/2008/05/05/ff-clients-disappoint</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2008/05/06/ff-clients-disappoint&quot;&gt;http://cubanlinks.org/2008/05/06/ff-clients-disappoint&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://cubanlinks.org/assets/2008/5/5/FF_compare.png&quot;&gt;&lt;img src=&quot;http://cubanlinks.org/assets/2008/5/5/FF_compare_thumb.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;After &lt;a href=&quot;http://cubanlinks.org/articles/2008/5/5/adobe-air-resource-hog&quot;&gt;having some problems&lt;/a&gt; with Twirl and AlertThingy, I think I&amp;#8217;m going to stick with the FriendFeed web app for now.  Isn&amp;#8217;t that strange?  Shouldn&amp;#8217;t desktop clients be so much more responsive?  Shouldn&amp;#8217;t they be able to provide a richer UI?  And yet, I find the FF website to be a) more up-to-date and b) more responsive to my clicks and scrolls.&lt;/p&gt;




&lt;p&gt;One thing that I &lt;strong&gt;still&lt;/strong&gt; don&amp;#8217;t understand is the ordering of entries.  Look at my screenshot.  Those were all loaded at the exact same time.  Can anyone explain this ordering?&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Styling Your FriendFeed Badge</title>
   <link href="http://carter.rabasa.com/2008/05/04/styling-your-friendfeed-badge/"/>
   <updated>2008-05-04T22:29:00-07:00</updated>
   <id>http://carter.rabasa.com/2008/05/04/styling-your-friendfeed-badge</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2008/05/05/styling-your-friendfeed-badge&quot;&gt;http://cubanlinks.org/2008/05/05/styling-your-friendfeed-badge&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Hey Eddie, did you know you can use &lt;span class=&quot;caps&quot;&gt;CSS&lt;/span&gt; style you FriendFeed badge?  You sure can!  Here&amp;#8217;s the styling I use:&lt;/p&gt;




&lt;pre&gt;
&amp;lt;style&amp;gt;
/* Friend Feed CSS */
div.friendfeed{
font-family: Arial,Verdana;
background: transparent;
}

.friendfeed .feed .entry .likes, .friendfeed .header{
    display:none;
}

.friendfeed div.feed{
    border:0px;
background: transparent;
    padding: 10px 10px 0px 3px;
    *padding: 10px 3px 0px 3px;
    _padding: 10px 3px 0px 3px;
}

.friendfeed .feed .entry{
    margin-bottom:12px;
    font-size:12px;
}
&amp;lt;/style&amp;gt;
&lt;/pre&gt;

</content>
 </entry>
 
 <entry>
   <title>Adobe Air: Resource Hog?</title>
   <link href="http://carter.rabasa.com/2008/05/04/adobe-air-resource-hog/"/>
   <updated>2008-05-04T21:18:00-07:00</updated>
   <id>http://carter.rabasa.com/2008/05/04/adobe-air-resource-hog</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2008/05/05/adobe-air-resource-hog&quot;&gt;http://cubanlinks.org/2008/05/05/adobe-air-resource-hog&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://cubanlinks.org/assets/2008/5/5/twirl.png&quot;&gt;&lt;img src=&quot;http://cubanlinks.org/assets/2008/5/5/twirl_thumb.png&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;I noticed this with AlertThingy, and now I&amp;#8217;m noticing it with Twhirl.  I&amp;#8217;m curious what other people are experiencing: are Adobe Air applications resource hogs?&lt;/p&gt;




&lt;p&gt;Btw, I was using Twirl because I found out (belatedly) that they&amp;#8217;ve added FriendFeed support.  Thought I&amp;#8217;d see how I liked the UI compared to AT.  The jury&amp;#8217;s still out.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Alert Thingy: Incoming Tweets Not Working?</title>
   <link href="http://carter.rabasa.com/2008/05/04/alert-thingy-incoming-tweets-not-working/"/>
   <updated>2008-05-04T16:01:00-07:00</updated>
   <id>http://carter.rabasa.com/2008/05/04/alert-thingy-incoming-tweets-not-working</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2008/05/04/alert-thingy-incoming-tweets-not-working&quot;&gt;http://cubanlinks.org/2008/05/04/alert-thingy-incoming-tweets-not-working&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://cubanlinks.org/assets/2008/5/4/AT_screen.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;




&lt;p&gt;AlertThingy purports to retrieve incoming Tweets from your friends if you check a box in the Twitter config (see above).  However, this feature is not working for me and doesn&amp;#8217;t seem to be working for &lt;a href=&quot;http://twitter.com/galtroarc/statuses/797309095&quot;&gt;other&lt;/a&gt; &lt;a href=&quot;http://twitter.com/ccarella/statuses/803422300&quot;&gt;people&lt;/a&gt; as well.&lt;/p&gt;




&lt;p&gt;FriendFeed does not aggregate Twitter information about those you follow.  That would require authentication via the Twitter &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt;, and FF only asks for your credentials if you have protected updates.&lt;/p&gt;




&lt;p&gt;So, the only way that I see this feature working would require AlertThingy to retrieve your following list from Twitter and then retrieve status updates for each user.  Which should all be possible (if not terribly elegant).  So why does it seem like this feature isn&amp;#8217;t working?&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Decentralizing Twitter is Gaining Steam</title>
   <link href="http://carter.rabasa.com/2008/05/03/decentralizing-twitter-is-gaining-steam/"/>
   <updated>2008-05-03T15:28:00-07:00</updated>
   <id>http://carter.rabasa.com/2008/05/03/decentralizing-twitter-is-gaining-steam</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2008/05/03/decentralizing-twitter-is-gaining-steam&quot;&gt;http://cubanlinks.org/2008/05/03/decentralizing-twitter-is-gaining-steam&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;It seems like &lt;a href=&quot;http://www.scripting.com/stories/2008/05/03/microbloggingShouldBeDecen.html&quot;&gt;Dave Winer&lt;/a&gt; is coming around.  So is &lt;a href=&quot;http://www.hanselman.com/blog/RFCOpenTweetsWhyIsMicrobloggingCentralized.aspx&quot;&gt;Scott Hanselman&lt;/a&gt;.  It seems like people are in agreement that the real barrier relates to Twitter&amp;#8217;s value-adds:&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;Follower/Following tracking&lt;/li&gt;
    &lt;li&gt;&lt;span class=&quot;caps&quot;&gt;SMS&lt;/span&gt; notifications&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;There are many different ways to skin this cat, but I like that people are starting to realize that centralizing micro-blogging makes about as much sense as centralizing regular blogging.  That is, not at all.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Twitter is Proprietary RSS</title>
   <link href="http://carter.rabasa.com/2008/04/22/twitter-is-proprietary-rss/"/>
   <updated>2008-04-22T09:29:00-07:00</updated>
   <id>http://carter.rabasa.com/2008/04/22/twitter-is-proprietary-rss</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2008/04/22/twitter-is-proprietary-rss&quot;&gt;http://cubanlinks.org/2008/04/22/twitter-is-proprietary-rss&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;So, it seems that &lt;a href=&quot;http://www.techmeme.com/080421/p92#a080421p92&quot;&gt;Twitter has been down lately&lt;/a&gt;.  &lt;a href=&quot;http://www.scripting.com/stories/2008/04/20/aNewKindOfTwitterOutage.html&quot;&gt;There has&lt;/a&gt; been &lt;a href=&quot;http://www.scripting.com/stories/2008/04/21/theTwitterOutagePersists.html&quot;&gt;a lot&lt;/a&gt; of &lt;a href=&quot;http://www.scripting.com/stories/2008/04/21/aNewStrategyForTwitterOuta.html&quot;&gt;hand-wringing&lt;/a&gt; about what is &lt;a href=&quot;http://scobleizer.com/2008/04/21/twitter-grabbing-defeat-from-the-jaws-of-success/&quot;&gt;to be done&lt;/a&gt;.  A lot of people have come around on the Twitter phenomenon, and I think I know why:&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Twitter is proprietary &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt;&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;What does Twitter do?  It allows me to blog and to subscribe to other bloggers.  It provides an interface that combines reading and writing.  The other stuff (micro-limits, &lt;span class=&quot;caps&quot;&gt;SMS&lt;/span&gt;, API) are the candy on top.  But at it&amp;#8217;s core, Twitter is just a nicely packaged blogging tool and blog reader that provides programmatic &amp;#8220;awareness&amp;#8221; of who is subscribed to you (as opposed to just who you are subscribed to).&lt;/p&gt;




&lt;p&gt;Here&amp;#8217;s a thought experiment:  What if I could mash my &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; reader (Google Reader) with my blogging tool (Mephisto)?  What if Mephisto (and all compliant blogging tools) supported a simple &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; to accept a ping indicating that someone has subscribed to my feed?  So, I subscribe to Bob&amp;#8217;s feed, my reader send his blog a ping, and he now knows that he&amp;#8217;s being &amp;#8220;followed&amp;#8221;.  It&amp;#8217;s this precisely what a &lt;strong&gt;distributed Twitter&lt;/strong&gt; would be?&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Google Reader Reloaded</title>
   <link href="http://carter.rabasa.com/2008/04/18/google-reader-reloaded/"/>
   <updated>2008-04-18T09:52:00-07:00</updated>
   <id>http://carter.rabasa.com/2008/04/18/google-reader-reloaded</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2008/04/18/google-reader-reloaded&quot;&gt;http://cubanlinks.org/2008/04/18/google-reader-reloaded&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;After hearing from &lt;a href=&quot;http://widepipe.org&quot;&gt;Sunil&lt;/a&gt;, I decided to revamp my Google Reader tags.  After getting &lt;a href=&quot;http://www.43folders.com/2007/11/27/sink-or-swim-managing-rss-feeds-better-groups&quot;&gt;some&lt;/a&gt; &lt;a href=&quot;http://www.kottke.org/07/12/feed-reading&quot;&gt;tips&lt;/a&gt; I have settled in on this:&lt;/p&gt;




&lt;p&gt;&lt;img src=&quot;http://cubanlinks.org/assets/2008/4/18/greader_tags.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;




&lt;p&gt;We&amp;#8217;ll see how it goes!&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>PluggedIn and Their Crappy UI</title>
   <link href="http://carter.rabasa.com/2008/04/17/pluggedin-and-their-crappy-ui/"/>
   <updated>2008-04-17T16:53:00-07:00</updated>
   <id>http://carter.rabasa.com/2008/04/17/pluggedin-and-their-crappy-ui</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2008/04/18/pluggedin-and-their-crappy-ui&quot;&gt;http://cubanlinks.org/2008/04/18/pluggedin-and-their-crappy-ui&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I got really excited when I heard about &lt;a href=&quot;http://www.techmeme.com/080416/p14#a080416p14&quot;&gt;PluggedIn&lt;/a&gt;, a site that wants to be the Hulu.com of music videos.  Uh, not quite.  Not only do you have to install a plug-in to watch the videos (A Java applet? What is this, 1999?) but their catalog of videos is weak and their UI is terrible.  See the screen-shot below.  Don&amp;#8217;t these web-designers know that stretching photos is not cool?  Look at poor Akon, he&amp;#8217;s like a rapping dwarf.  And check-out that classy ad for Amy Whinehouse ringtones.  Niiiice!&lt;/p&gt;




&lt;p&gt;&lt;a href=&quot;http://cubanlinks.org/assets/2008/4/17/pluggedin.jpg&quot;&gt;&lt;img src=&quot;http://cubanlinks.org/assets/2008/4/17/pluggedin_thumb.jpg&quot; alt=&quot;&quot; /&gt;&lt;/a&gt;&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>BlogIt Will Ruin My Life!</title>
   <link href="http://carter.rabasa.com/2008/04/17/blogit-will-ruin-my-life/"/>
   <updated>2008-04-17T10:00:00-07:00</updated>
   <id>http://carter.rabasa.com/2008/04/17/blogit-will-ruin-my-life</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2008/04/17/blogit-will-ruin-my-life&quot;&gt;http://cubanlinks.org/2008/04/17/blogit-will-ruin-my-life&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;After &lt;a href=&quot;http://www.readwriteweb.com/archives/sixapart_ties_it_all_together.php&quot;&gt;reading about BlogIt&lt;/a&gt; I am convinced that this service will &lt;strong&gt;ruin my life&lt;/strong&gt;.  Why you might ask?  Because it empowers people to type up a simple post:&lt;/p&gt;




&lt;blockquote&gt;
My, what a beautiful day it is.  La dee da dee da!
&lt;/blockquote&gt;




&lt;p&gt;...and blast this out to a &lt;strong&gt;multitude of different&lt;/strong&gt; services (their blog, Twitter, Pownce, etc).  Which is fine, presuming that friends follow their other friends on a purely one-to-one basis (i.e. I follow &lt;a href=&quot;http://twitter.com/efliv&quot;&gt;Eddie&lt;/a&gt; exclusively through Twitter).&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;But I don&amp;#8217;t!&lt;/strong&gt;  I follow Eddie via Twitter, his blog and any other service he exposes on &lt;a href=&quot;http://friendfeed.com/efliv&quot;&gt;his FriendFeed&lt;/a&gt;.  The idea of him cross-posting a single post to multiple services and having all of those duplicates end-up in my stream makes me want to claw my eyes out!  So, please, let&amp;#8217;s take a stand now on cross-posting.  It&amp;#8217;s a &lt;span class=&quot;caps&quot;&gt;BAD IDEA&lt;/span&gt;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Lifebox Zero (or Life is a River)</title>
   <link href="http://carter.rabasa.com/2008/04/17/lifebox-zero-or-life-is-a-river/"/>
   <updated>2008-04-17T09:11:00-07:00</updated>
   <id>http://carter.rabasa.com/2008/04/17/lifebox-zero-or-life-is-a-river</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2008/04/17/lifebox-zero-or-life-is-a-river&quot;&gt;http://cubanlinks.org/2008/04/17/lifebox-zero-or-life-is-a-river&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;A while back I was introduced to the concept of &lt;a href=&quot;http://lifehacker.com/software/email/merlin-mann-presents-inbox-zero-282544.php&quot;&gt;inbox zero&lt;/a&gt;. It was simultaneously an obvious and insightful concept, completely changing how I treat email.  I use GMail, and it had never occurred to me what the purpose of the &amp;#8220;archive&amp;#8221; button was.  I simply left all emails in my inbox and starred those that required attention.  Of course, starred messages would soon dribble down and off the first page, and I would have to remember to click the &amp;#8220;starred view&amp;#8221; to bring these emails back to attention. Today, I have maybe &lt;strong&gt;20 emails&lt;/strong&gt; in my inbox (and this is still probably too many).  I have the most urgent emails starred.&lt;/p&gt;




&lt;p&gt;This philosophy of processing email is very similar to the mindset behind consuming a &lt;a href=&quot;http://www.reallysimplesyndication.com/riverOfNews&quot;&gt;river of news&lt;/a&gt;.  The idea being that one way to consume news (or &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; feeds) is as a single stream of posts.  I was talking to &lt;a href=&quot;http://www.attentionbandit.com&quot;&gt;Eddie&lt;/a&gt; the other day about his obsession with not missing posts.  He is very methodical about how he reads his feeds.  I tried to convince him that this was a &lt;strong&gt;waste of time&lt;/strong&gt;.  The time savings and stress relief that comes from readings what&amp;#8217;s in front of you at the moment, rather than worrying about a post you might missed from a few days ago, is huge.  And if something is &lt;strong&gt;truly important&lt;/strong&gt; it will continue to &lt;a href=&quot;http://en.wikipedia.org/wiki/Echo_chamber&quot;&gt;echo&lt;/a&gt; throughout the blogosphere.&lt;/p&gt;




&lt;p&gt;And finally, this doesn&amp;#8217;t end with email and news.  It applies to Twitter messages, Flickr uploads, Facebook updates, you name it.  I think the services that allow us to process this information as a stream of notifications (think chat) and remove the stress of missing something will be the services that succeed. Life is a river and sometimes you just have to sit back and enjoy the view.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>FriendFeed: Part 1.5</title>
   <link href="http://carter.rabasa.com/2008/04/07/friendfeed-part-1-5/"/>
   <updated>2008-04-07T13:41:00-07:00</updated>
   <id>http://carter.rabasa.com/2008/04/07/friendfeed-part-1-5</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2008/04/07/friendfeed-part-1-5&quot;&gt;http://cubanlinks.org/2008/04/07/friendfeed-part-1-5&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;First, some quick replies to issues raised by &lt;a href=&quot;http://cubanlinks.org/articles/2008/4/4/friendfeed-part-1#comment-2025&quot;&gt;Eddie&lt;/a&gt; and &lt;a href=&quot;http://cubanlinks.org/articles/2008/4/4/friendfeed-part-1#comment-2026&quot;&gt;Sunil&lt;/a&gt;:&lt;/p&gt;




&lt;p&gt;Presentation: This can fixed fairly easily.  Either by FriendFeed creating a simple wizard to customize the look-and-feel (Flickr does this) or by allowing full-blown &lt;span class=&quot;caps&quot;&gt;CSS&lt;/span&gt; styling (Twitter does this).&lt;/p&gt;




&lt;p&gt;SocialThing: I&amp;#8217;m not part of the private beta, but from the splash page doesn&amp;#8217;t it look identical to FriendFeed?&lt;/p&gt;




&lt;p&gt;Now, another point that Eddie brought-up was what should happen when we replies to my post.  Should he comment on the blog, thus tying the comment closely to the post?  Or should he reply (via Twitter) to the Twit I sent him about my post?  Or, lastly, should he reply using FriendFeed, to either the post notification or the Twitter notification.  All of this head-spinning has led me to take a step back and think about what IS Twitter, what IS a blog, what IS FriendFeed.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Content vs. Aggregation vs. Notification&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;After falling in love with FriendFeed, I immediately wished that I had a desktop client (like Twhirl) to interface with.  I thought about how I might be able to funnel my FriendFeed updates into Twitter, thus bringing them to my desktop via Twhirl.  This seemed like a hack, kind of like the &lt;a href=&quot;http://www.twittergram.com/flickrtotwitter/&quot;&gt;Twittergram&lt;/a&gt; (Flickr to Twitter) service that Dave Winer created.  It seemed cool at first, until you started using a service like FriendFeed.  Then you&amp;#8217;d have dupe entries for an uploaded photo, one from Flickr (direct) and one from Twitter (indirect).  What&amp;#8217;s going on here?  What&amp;#8217;s the &amp;#8220;right&amp;#8221; way?&lt;/p&gt;




&lt;p&gt;Content:  Let&amp;#8217;s take a step back: who am I? I&amp;#8217;m Carter.  What do I do on-line?  Well, I create content.  This can be as complex as a blog post, or as simple as a Digg for a particular website.  All day I&amp;#8217;m creating a trail of information, interactions and ideas.  The ones that are public (my choice) should be made available for sharing.&lt;/p&gt;




&lt;p&gt;Aggregation:  Services (like FriendFeed) can help me piece together my on-line self.  They have technical knowledge about &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt;&amp;#8217;s and &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; feeds that might elude casual Internet users.  They have domain knowledge about the data that can be extracted from various sites and how that data might be normalized to produce a coherent &amp;#8220;river&amp;#8221; of my on-line life.&lt;/p&gt;




&lt;p&gt;Notification:  This is the social part of the puzzle.  I have friends who live on-line and want to know be alerted when things happen.  Likewise, I want my friends to be able to follow me.  Depending on the number of friends and the number of activities performed on a given day, the number of notifications could be quite large.  This calls for a chat-like river interface, where a missed notification is not the end of the world.&lt;/p&gt;




&lt;p&gt;Is this notification part Twitter?  I don&amp;#8217;t know.  Here&amp;#8217;s what I do know: Twitter is much less appealing to me now.  When I use Twitter (and Twhirl) I only know about content on Twitter, with users on Twitter.  This is dumb.  What if my friends are on Pownce, or just aren&amp;#8217;t in to micro-blogging?  I want to be notified about &lt;strong&gt;all&lt;/strong&gt; my friends and &lt;strong&gt;everything&lt;/strong&gt; they do.  To me, this means having a client like Thwirl (or Twitterific, etc) and having it plugged-in to FriendFeed.  Wouldn&amp;#8217;t that be perfect?&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>FriendFeed: Part 1</title>
   <link href="http://carter.rabasa.com/2008/04/04/friendfeed-part-1/"/>
   <updated>2008-04-04T12:50:00-07:00</updated>
   <id>http://carter.rabasa.com/2008/04/04/friendfeed-part-1</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2008/04/04/friendfeed-part-1&quot;&gt;http://cubanlinks.org/2008/04/04/friendfeed-part-1&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://twitter.com/efliv/statuses/783024476&quot;&gt;Eddie asked&lt;/a&gt;, so I&amp;#8217;ll try to explain why (I think) I love &lt;a href=&quot;http://www.friendfeed.com&quot;&gt;FriendFeed&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;It Help Define Me&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;My activities on-line span multiple websites and services.  Some of these activities are private, but many others are ripe for sharing.  We&amp;#8217;re social creatures and we want others to know what we think about the world and what we&amp;#8217;re up to.  Websites have wised up to this need to share and have adopted &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; as a baseline method of publishing this information.  Most importantly (for non-programmers) many sites provide snippets of code that can be embedded on your website/blog to share this information in a more digestible format.&lt;/p&gt;




&lt;p&gt;So, this was fine, until I ended up with more and more badges cluttering my blog.  They were generally formatted differently from one another, and rather than having a &amp;#8220;river&amp;#8221; of updates, I had one block for Twitter, one block for Flickr, and so on.  FriendFeed aggregates these updates and publishes them in a nice, coherent time-line.  It understands the purpose of each service, and presents the information appropriately.  Frankly, I can almost see this feed (if properly formatted) completely replacing my blog.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;It Help Me Keep Track of You&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;The same principle applies for my friends.  I had the option of subscribing to their delicious feeds, their Flickr feeds, and so on.  Sometimes the services themselves would provide some help (Flickr will let me subscribe to &lt;span class=&quot;caps&quot;&gt;ALL&lt;/span&gt; my contacts in one motion), but this still proved to be a frustrating and error-prone way to keep up to date.  Now, I can subscribe to my friends&amp;#8217; FriendFeeds and be automatically updated on any new services they add or discontinue.&lt;/p&gt;




&lt;p&gt;&lt;em&gt;Part 2: Why Facebook is in Trouble&lt;/em&gt;&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Twitter</title>
   <link href="http://carter.rabasa.com/2007/08/25/twitter/"/>
   <updated>2007-08-25T10:22:00-07:00</updated>
   <id>http://carter.rabasa.com/2007/08/25/twitter</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2007/08/25/twitter&quot;&gt;http://cubanlinks.org/2007/08/25/twitter&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m trying out &lt;a href=&quot;http://twitter.com/cubanlinks&quot;&gt;Twitter&lt;/a&gt;, partly based on the enthusiasm that &lt;a href=&quot;http://scripting.com&quot;&gt;Dave Winer&lt;/a&gt; is showing for it.  I haven&amp;#8217;t gotten under the hood yet, but even as purely a micro-blogging platform, I really like it.  When I think of all the &amp;#8220;lost&amp;#8221; posts that I never wrote, due to laziness or being away from my laptop, I think Twitter could really end up filling a gap that I&amp;#8217;ve had in my writing for a long time. The &lt;span class=&quot;caps&quot;&gt;SMS&lt;/span&gt; and gChat interfaces for posting come as close to transferring thought to blog as possible.&lt;/p&gt;




&lt;p&gt;At some point I may consider moving my Twits from the widget you see to the right into the actually flow of my blog (courtesy of Twitter&amp;#8217;s &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt;).  That decision will come down the line.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Proxies to the Rescue?</title>
   <link href="http://carter.rabasa.com/2007/07/06/proxies-to-the-rescue/"/>
   <updated>2007-07-06T11:23:00-07:00</updated>
   <id>http://carter.rabasa.com/2007/07/06/proxies-to-the-rescue</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2007/07/06/proxies-to-the-rescue&quot;&gt;http://cubanlinks.org/2007/07/06/proxies-to-the-rescue&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Ok, at this point I&amp;#8217;ve now noticed at least 2 &amp;#8220;applications&amp;#8221; for the iPhone that require the user to set-up some sort of proxy:&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.vetton.ruwww.tuaw.com/2007/07/06/irc-on-iphone/&quot;&gt;&lt;span class=&quot;caps&quot;&gt;IRC&lt;/span&gt; on the iPhone&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://www.vetton.ruwww.tuaw.com/2007/07/06/ssh-shell-for-iphone/&quot;&gt;&lt;span class=&quot;caps&quot;&gt;SSH&lt;/span&gt; for the iPhone&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Both applications require you to install software on your home computer (which must be connected to the Internet).  Running these proxies will open up a port on your home computer (which must be exempted from any firewall you might have) so that you might hit http://yourIPaddress:port/whatever from your iPhone.&lt;/p&gt;




&lt;p&gt;Besides the security implications of opening up these ports and running this code, is this really even necessary?  I&amp;#8217;ve long wondered why some enterprising company didn&amp;#8217;t offer free web-enabled &lt;span class=&quot;caps&quot;&gt;SSH&lt;/span&gt; (hosted on &lt;strong&gt;their&lt;/strong&gt; servers and on port 80).  As a consultant working at a client&amp;#8217;s site behind firewalls, I would have given my pinky toe for something like this on numerous occasions.  So, time for someone to step up?  Can it be that hard?&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Good-bye Blogroll</title>
   <link href="http://carter.rabasa.com/2007/07/06/good-bye-blogroll/"/>
   <updated>2007-07-06T06:48:00-07:00</updated>
   <id>http://carter.rabasa.com/2007/07/06/good-bye-blogroll</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2007/07/06/good-bye-blogroll&quot;&gt;http://cubanlinks.org/2007/07/06/good-bye-blogroll&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I used to have a blogroll located on the right side of this blog.  The roll was powered by Bloglines, my old on-line &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; reader.  I have since switched to Google Reader and haven&amp;#8217;t looked back.  I love using it on my laptop and I &lt;strong&gt;especially&lt;/strong&gt; love using it on the iPhone.  So, as I&amp;#8217;ve added and pruned blogs from Reader, the old blogroll on Bloglines had grown out of date.  So, poof, it&amp;#8217;s gone.&lt;/p&gt;




&lt;p&gt;In its place is Google&amp;#8217;s concept of shared posts.  The idea is simple: as I am reading posts in Google&amp;#8217;s Reader I can flag posts of interest to share.  These shared posts show up automatically in the &amp;#8220;Shared Posts&amp;#8221; section to the right.  Instead of having a static list of sites that I read, I now have a more dynamic (and relevant) list of post that I found to be interesting.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>iPhone: Day 6</title>
   <link href="http://carter.rabasa.com/2007/07/05/iphone-day-6/"/>
   <updated>2007-07-05T08:54:00-07:00</updated>
   <id>http://carter.rabasa.com/2007/07/05/iphone-day-6</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2007/07/05/iphone-day-6&quot;&gt;http://cubanlinks.org/2007/07/05/iphone-day-6&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I won&amp;#8217;t pretend to be an unbiased critic of Apple products.  I own a Mac Mini, a MacBook Pro, an iPod and now an iPhone.  I also own Apple stock (now trading at $130, woo hoo!).  However, as much as I love the iPhone, there are some bizarre shortcomings that I&amp;#8217;ve come to notice.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;&lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; Reader&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;For the life of me, I don&amp;#8217;t see why Apple didn&amp;#8217;t bundle an &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; reader for the iPhone.  &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt;, as a format, is perfect for mobile devices.  The information is organized well (chronologically) and stripped down to just the headlines and posts you want to read.  The amount of data is compact enough that you can usually download all of your favorite feeds and read them off-line (should you be away from a connection).  This is one area where Safari and the .Mac Reader come up short: off-line reading.  Here&amp;#8217;s hoping for a software update sooner rather than later.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Mass Text Messaging&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;It&amp;#8217;s embarrassing when my iPhone can&amp;#8217;t do something that my Razr can do easily.  In this case, sending the same text message (SMS) to multiple people.  The UI on the iPhone allows for multiple recipients in their Mail program, but not so in the &lt;span class=&quot;caps&quot;&gt;SMS&lt;/span&gt; program.  It occurs to me that Apple&amp;#8217;s iChat-like interface for &lt;span class=&quot;caps&quot;&gt;SMS&lt;/span&gt; might not be amenable to &amp;#8220;mass chatting&amp;#8221;.  Any other ideas?&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>iPhone: Day 3</title>
   <link href="http://carter.rabasa.com/2007/07/02/iphone-day-3/"/>
   <updated>2007-07-02T07:01:00-07:00</updated>
   <id>http://carter.rabasa.com/2007/07/02/iphone-day-3</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2007/07/02/iphone-day-3&quot;&gt;http://cubanlinks.org/2007/07/02/iphone-day-3&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://farm2.static.flickr.com/1170/694949183_6525f3770f_m.jpg&quot; alt=&quot;sent from my iPhone&quot;/&gt;&lt;/p&gt;




&lt;p&gt;Today is the third day of using the iPhone, so I thought I&amp;#8217;d share some reflections on the device that may (or may not) be changing people&amp;#8217;s lives.  I should state for the record that I have never owned a &amp;#8220;smart phone&amp;#8221;, and my last phone was a Razr.  So, if I seem too giddy, maybe it&amp;#8217;s because I&amp;#8217;m only just now getting caught up with everyone else.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Calls&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;I made several calls, some using the wired headphones/mic and others simply using the phone itself.  From all accounts, the sound quality was great.  I wanted to test the fade in/out of going from music playback to making a call, so I called my girlfriend Carrie.  It worked just as advertised, and she had no idea I was talking on a headset, the sound quality was that good.  We played around with the visual voicemail, too.  Once you have this, you will &lt;strong&gt;truly&lt;/strong&gt; wonder how you survived navigating those menu tress.  &lt;em&gt;Press 1 to save, Press 2 to delete, Press 3 to slit your wrists&amp;#8230;&lt;/em&gt;&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Wi-Fi vs. Edge&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;The auto-switching to Wi-Fi is crucial, because Edge sucks.  I remember when &lt;span class=&quot;caps&quot;&gt;GPRS&lt;/span&gt; technology came out, and that was 3 jobs and 5 or 6 years ago.  To be fair, sometimes it zips, but other times I just give up and put the phone away.  So, hopping on to hot spots is a life saver.&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Battery Life&lt;/strong&gt;&lt;/p&gt;




&lt;p&gt;Great.  Really, really great.  I put this things through the wringer (calls, web, email) for a couple of days and still only got down to 50% of my battery.  One thing that&amp;#8217;s odd, it didn&amp;#8217;t seem to charge very fast when plugged into my computer.  I wasn&amp;#8217;t even sure it &lt;strong&gt;was&lt;/strong&gt; charging, because after 30 minutes the meter hadn&amp;#8217;t seemed to move.  However, the next morning I had a fully charged phone, so I guess it worked after all.&lt;/p&gt;




&lt;p&gt;Ok, that&amp;#8217;s it for now. &lt;a href=&quot;http://widepipe.org/?p=71&quot;&gt;Check out Sunil&amp;#8217;s initial impressions&lt;/a&gt; at widepipe.org.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>iGotIt</title>
   <link href="http://carter.rabasa.com/2007/06/30/igotit/"/>
   <updated>2007-06-30T08:51:00-07:00</updated>
   <id>http://carter.rabasa.com/2007/06/30/igotit</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2007/06/30/igotit&quot;&gt;http://cubanlinks.org/2007/06/30/igotit&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://cubanlinks.org/assets/2007/6/30/Photo_6.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Commits Fly When You're Having Fun</title>
   <link href="http://carter.rabasa.com/2007/06/01/commits-fly-when-you-re-having-fun/"/>
   <updated>2007-06-01T09:28:00-07:00</updated>
   <id>http://carter.rabasa.com/2007/06/01/commits-fly-when-you-re-having-fun</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2007/06/01/commits-fly-when-you-re-having-fun&quot;&gt;http://cubanlinks.org/2007/06/01/commits-fly-when-you-re-having-fun&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;Transmitting file data ...............
Committed revision 200.&lt;/code&gt;&lt;/pre&gt;




&lt;p&gt;I don&amp;#8217;t expect most people to know what this means, but I have commited (via Subversion) the 200th revision of the code base that powers &lt;a href=&quot;http://dcksports.com&quot;&gt;&lt;span class=&quot;caps&quot;&gt;DCK&lt;/span&gt; Sports&lt;/a&gt;.  I&amp;#8217;ve been working on this code for since the winter of 2005/2006 and it&amp;#8217;s gone through quite an evolution.  I&amp;#8217;m actually quite terrified of what is going to happen once I cede control of maintaining this code (as might happen if &lt;span class=&quot;caps&quot;&gt;DCK&lt;/span&gt; Sports continues to grow and/or my programming skills continue to petrify).  Either way, quite a milestone for me!&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>gr.egario.us</title>
   <link href="http://carter.rabasa.com/2007/02/26/gr-egario-us/"/>
   <updated>2007-02-26T19:35:00-08:00</updated>
   <id>http://carter.rabasa.com/2007/02/26/gr-egario-us</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2007/02/27/gr-egario-us&quot;&gt;http://cubanlinks.org/2007/02/27/gr-egario-us&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I have soft-launched &lt;a href=&quot;http://gr.egario.us&quot;&gt;gr.egario.us&lt;/a&gt;.  Nothing big to announce, but it will be interesting to see what &lt;a href=&quot;http://www.living4adventure.com&quot;&gt;Living4Adventure&lt;/a&gt; does with the tool, and what kind of feedback they have to help me improve it.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>I'm in Love</title>
   <link href="http://carter.rabasa.com/2007/01/09/i-m-in-love/"/>
   <updated>2007-01-09T13:05:00-08:00</updated>
   <id>http://carter.rabasa.com/2007/01/09/i-m-in-love</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2007/01/09/i-m-in-love&quot;&gt;http://cubanlinks.org/2007/01/09/i-m-in-love&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://www.engadget.com/media/2007/01/dsc_0184.jpg&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;




&lt;p&gt;Presenting, Apple&amp;#8217;s new &lt;a href=&quot;http://www.apple.com/iphone&quot;&gt;iPhone&lt;/a&gt;. It&amp;#8217;s been a while since I&amp;#8217;ve wanted something as much as I want this.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Mephisto, Multi-Site and Lighttpd</title>
   <link href="http://carter.rabasa.com/2006/12/28/mephisto-multi-site-and-lighttpd/"/>
   <updated>2006-12-28T14:52:00-08:00</updated>
   <id>http://carter.rabasa.com/2006/12/28/mephisto-multi-site-and-lighttpd</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/12/28/mephisto-multi-site-and-lighttpd&quot;&gt;http://cubanlinks.org/2006/12/28/mephisto-multi-site-and-lighttpd&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;After playing around with Lighttpd&amp;#8217;s rewrite abilities, I think I have a set-up that enables Mephisto caching goodness.  The following is how I have chosen to configure Mephisto, so your mileage may vary:&lt;/p&gt;




&lt;p&gt;1) Install Mephisto in your home directory (MEPHISTO_HOME).&lt;/p&gt;




&lt;p&gt;2) For each domain you want to set-up, use a config like this:&lt;/p&gt;




&lt;pre&gt;&lt;code&gt;$HTTP[&quot;host&quot;] =~ &quot;foo.com&quot; {
  server.document-root = foo_com_docroot
  server.error-handler-404 = &quot;/mephisto/dispatch.fcgi&quot;
  url.rewrite = ( &quot;/$&quot; =&gt; &quot;/mephisto/cache/foo.com/index.html&quot;, &quot;/(images|stylesheets|javascripts)/mephisto/(.+)$&quot; =&gt; &quot;/mephisto/$1/mephisto/$2&quot;, &quot;/(images|stylesheets|javascripts)/(.+)$&quot; =&gt; &quot;/mephisto/cache/foo.com/$1/$2&quot;, &quot;/assets/(.+)$&quot; =&gt; &quot;/mephisto/assets/foo.com/$1&quot;, &quot;/([.]+)$&quot; =&gt; &quot;/mephisto/cache/foo.com/$1.html&quot; )
  fastcgi.server = ( &quot;.fcgi&quot; =&gt;
   ( &quot;localhost&quot; =&gt;
     ( &quot;socket&quot; =&gt; &quot;/home/YOU/var/run/lighttpd-fcgi-blog.socket&quot;,
       &quot;bin-path&quot; =&gt; mephisto_root + &quot;/dispatch.fcgi&quot;,
       &quot;bin-environment&quot; =&gt; ( &quot;RAILS_ENV&quot; =&gt; &quot;production&quot; ),
       &quot;min-procs&quot; =&gt; 1, &quot;max-procs&quot; =&gt; 2, &quot;idle-timeout&quot; =&gt; 60 )
     )
   )
}&lt;/code&gt;&lt;/pre&gt;




&lt;p&gt;3) In the docroot for foo.com (~/domains/foo.com/web/public, etc) create a symlink to your mephisto public folder:&lt;/p&gt;




&lt;p&gt;cd ~/domains/foo.com/web/public; ln -s ~/mephisto/public mephisto&lt;/p&gt;




&lt;p&gt;That&amp;#8217;s it! I hope I&amp;#8217;m not forgetting anything. Feedback would be appreciated.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Mephisto and PHP</title>
   <link href="http://carter.rabasa.com/2006/12/04/mephisto-and-php/"/>
   <updated>2006-12-04T15:47:00-08:00</updated>
   <id>http://carter.rabasa.com/2006/12/04/mephisto-and-php</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/12/05/mephisto-and-php&quot;&gt;http://cubanlinks.org/2006/12/05/mephisto-and-php&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I am in the process of converting the content management of several of my domains to &lt;a href=&quot;http://mephisto.stikipad.com&quot;&gt;Mephisto&lt;/a&gt;. I discussed &lt;a href=&quot;/articles/2006/12/1/lean-mean-blogging-machine&quot;&gt;some of my reasons&lt;/a&gt; for this. I&amp;#8217;m loving the switch so far, but I hit a hitch. The document roots (in Lighttpd) of my switched domains are pointing to the Mephisto public directory. This seems ok, but what about non-Mephisto resources? What about those useful &lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt; scripts that you&amp;#8217;ve got lying around?&lt;/p&gt;




&lt;p&gt;_Don&amp;#8217;t have &lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt; enabled? Check-out &lt;a href=&quot;http://www.fearoffish.co.uk/2006/5/24/lighttpd-config._&quot;&gt;this post on Lighttpd and &lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt;&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;Well, you can copy them into the mephisto/public folder, but that&amp;#8217;s not very appetizing. I don&amp;#8217;t want to pollute my Mephisto installation with non-Mephisto files. I really want to point my document root back at the default Textdrive directories:&lt;/p&gt;




&lt;pre&gt;&lt;code&gt;server.document-root = /home/username/domains/domain.com/web/public&lt;/code&gt;&lt;/pre&gt;




&lt;p&gt;So, what&amp;#8217;s a hack like me to do? Well, I created a symlink from the directory above to Mephisto&amp;#8217;s dispatch.fcgi script:&lt;/p&gt;




&lt;pre&gt;&lt;code&gt;$ ln -s /path/to/mephisto/public/dispatch.fcgi&lt;/code&gt;&lt;/pre&gt;




&lt;p&gt;I tried to define the absolute path to the script in my conf file for Lighttpd, but that didn&amp;#8217;t work. I think &lt;code&gt;server.error-handler-404&lt;/code&gt; wants a relative path starting from the defined document root. Hence the symlink. This seems to be working like a charm!&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;One caveat:&lt;/strong&gt; All requests to Mephisto are predicated on the 404 error handler. So, any requests that actually resolve (should you create a file or directory that maps to a Mephisto &lt;span class=&quot;caps&quot;&gt;URI&lt;/span&gt;) won&amp;#8217;t make it. So, be careful what you name your files and directories!&lt;/p&gt;




&lt;p&gt;&lt;strong&gt;Update&lt;/strong&gt;: Didn&amp;#8217;t notice this until I tried to access the admin console. You&amp;#8217;ll need to symlink the &lt;em&gt;images&lt;/em&gt;, &lt;em&gt;stylesheets&lt;/em&gt;, and &lt;em&gt;javascripts&lt;/em&gt; directories.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Lean, Mean, Blogging Machine</title>
   <link href="http://carter.rabasa.com/2006/12/01/lean-mean-blogging-machine/"/>
   <updated>2006-12-01T15:11:00-08:00</updated>
   <id>http://carter.rabasa.com/2006/12/01/lean-mean-blogging-machine</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/12/02/lean-mean-blogging-machine&quot;&gt;http://cubanlinks.org/2006/12/02/lean-mean-blogging-machine&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;This is the inaugural post to cubanlinks.org via the &lt;a href=&quot;http://mephisto.stikipad.com&quot;&gt;Mephisto&lt;/a&gt; blogging application. I realize that many of you could give a rip what I use to serve-up Cubanlinks. However, for the few of you who might want to hear about my process, here you go:&lt;/p&gt;




&lt;p&gt;First, I installed Mephisto directly under my home directory on &lt;span class=&quot;sponsor&quot;&gt;&lt;a href=&quot;http://www.shareasale.com/r.cfm?B=69506&amp;#38;U=192330&amp;#38;M=10198&quot;&gt;TextDrive&lt;/a&gt;&lt;/span&gt;. I did this with the understanding that I planned on using a single instance of Mephisto to serve up several domains (&lt;a href=&quot;http://briancartenuto.com&quot;&gt;BrianCartenuto.com&lt;/a&gt; and &lt;a href=&quot;http://blog.dcksports.com&quot;&gt;blog.DCKSports.com&lt;/a&gt; among others). I&amp;#8217;m actually incredibly excited about this, given how heavy the overhead of even a single instance of Typo is. I then followed the &lt;a href=&quot;http://mephisto.stikipad.com/help/show/HostingMultipleSites&quot;&gt;multiple site configuration steps&lt;/a&gt;. Note: I have Revision 2517 of Mephisto installed and only needed to follow the very first step (creating the new Site).&lt;/p&gt;




&lt;p&gt;Second, I &lt;a href=&quot;http://mephisto.stikipad.com/help/show/Converting+Typo+to+Mephisto&quot;&gt;imported the data from Typo&lt;/a&gt;. This process was pretty straightforward. The migrate process can take awhile, with no real output to the screen, so be patient. A few things here: the taggings for my posts were not imported properly. I&amp;#8217;ve edited the Wiki page myself to address my solution to this problem. Also, all of the posts/sections that I imported were assigned to Site id=1. I actually meant for my incoming data to be associated with Site id=4, so I just had to update the &lt;em&gt;contents&lt;/em&gt; and &lt;em&gt;sections&lt;/em&gt; table with a &lt;span class=&quot;caps&quot;&gt;SQL&lt;/span&gt; update.&lt;/p&gt;


&lt;p&gt;Lastly, I needed to figure out how I was going to handle legacy &lt;span class=&quot;caps&quot;&gt;URL&lt;/span&gt;&amp;#8217;s for Cubanlinks. I decided to do two things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;I changed the default Article &lt;span class=&quot;caps&quot;&gt;URL&lt;/span&gt; for Mephisto from /:year/:month/:day/:perm to /articles/:year/:month/:day/:perm&lt;/li&gt;
    &lt;li&gt;I added the following redirects to my config/environment.rb file&lt;/li&gt;
&lt;/ul&gt;




&lt;pre&gt;&lt;code&gt;
   Mephisto::Routing.redirect \
     'blog/articles/?/?/?/?' =&amp;gt; 'articles/$1/$2/$3/$4',
     'blog/articles/?/?' =&amp;gt; 'blog/archives/$1/$2',
     'blog/articles/tag/?' =&amp;gt; 'tags/$1',
     'blog/articles' =&amp;gt; 'blog',
     'blog/xml/rss20/feed.xml' =&amp;gt; 'feed/blog/atom.xml',
     'blog/xml/rss' =&amp;gt; 'feed/blog/atom.xml',
     'blog/xml/rss20/comments/feed.xml' =&amp;gt; 'feed/all_comments.xml'
&lt;/code&gt;&lt;/pre&gt;


&lt;p&gt;Mephisto does not support some resources that Typo provides such as:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Article listings for a single day&lt;/li&gt;
    &lt;li&gt;Article listings for a single year&lt;/li&gt;
    &lt;li&gt;Feed for article/comments&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;Well, that&amp;#8217;s about all I can think of off the top of my head. Obviously I have alot of work to do, regarding the design of the site, fixing re-routing old resources/links, etc. I really like what I&amp;#8217;m seeing with Mephisto, to the point that I&amp;#8217;m willing to try and use it as a &lt;span class=&quot;caps&quot;&gt;CMS&lt;/span&gt; for my entire site. We&amp;#8217;ll see how it goes!&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Referral Links, Web Ethics, Etc</title>
   <link href="http://carter.rabasa.com/2006/11/29/referral-links-web-ethics-etc/"/>
   <updated>2006-11-29T16:04:00-08:00</updated>
   <id>http://carter.rabasa.com/2006/11/29/referral-links-web-ethics-etc</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/referral-links-web-ethics-etc&quot;&gt;http://cubanlinks.org/2006/11/30/referral-links-web-ethics-etc&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;In &lt;a href=&quot;http://cubanlinks.org/blog/articles/2006/11/29/slapped-in-the-face&quot;&gt;my last post&lt;/a&gt; I discussed some of the hosting services that I&amp;#8217;ve been examining. A few of the links (TextDrive, Joyent, Strongspace) contain referral id&amp;#8217;s. Any click on these &lt;span class=&quot;caps&quot;&gt;URL&lt;/span&gt;&amp;#8217;s that lead to a sale generate a small commission for me.&lt;/p&gt;




&lt;p&gt;I don&amp;#8217;t expect big things from these referrals, but you never know. If I&amp;#8217;m happy with a service and someone who reads this blog ends up choosing that service for their own use, I see a referral fee as a win-win. The obvious exception to this rule is the temptation to blindly refer services/products that you can&amp;#8217;t/don&amp;#8217;t vouch for just for the commission. I don&amp;#8217;t think I would ever do this, given the poor trade-off between sacrificing what small bit of credibility that I have and the meager amount of income that I would generate.  The poker links on the right follow the same mold: these are sites and/or services that I actually use.&lt;/p&gt;




&lt;p&gt;Now, to the point of this post. Any links that I include in-text (there was an interesting article in the Wall Street Journal about this the other day) will be marked with a double-underline. This will differentiate &lt;span class=&quot;sponsor&quot;&gt;&lt;a href=&quot;#&quot;&gt;sponsored links&lt;/a&gt;&lt;/span&gt; from &lt;a href=&quot;#&quot;&gt;normal links&lt;/a&gt;. I think the double-underline is somewhat of an industry standard, so I&amp;#8217;m happy to go with it. Once again, this is all moot given my traffic, but the same principles will probably be used on &lt;a href=&quot;http://dckickball.org/blog&quot;&gt;DCKickball&amp;#8217;s blog&lt;/a&gt;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Slapped in the Face!</title>
   <link href="http://carter.rabasa.com/2006/11/29/slapped-in-the-face/"/>
   <updated>2006-11-29T15:01:00-08:00</updated>
   <id>http://carter.rabasa.com/2006/11/29/slapped-in-the-face</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/slapped-in-the-face&quot;&gt;http://cubanlinks.org/2006/11/30/slapped-in-the-face&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://textdrive.com/images/textdrive.gif&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;




&lt;p&gt;So, a couple days ago I wrote about &lt;a href=&quot;http://cubanlinks.org/blog/articles/2006/11/28/flirting-with-new-hosts&quot;&gt;flirting with new hosting providers&lt;/a&gt;. For reasons that are hazy, I thought DreamHost would be a good provider to check-out and compare to the service I&amp;#8217;m currently receiving from &lt;span class=&quot;sponsor&quot;&gt;&lt;a href=&quot;http://www.shareasale.com/r.cfm?B=69506&amp;#38;U=192330&amp;#38;M=10198&quot;&gt;TextDrive&lt;/a&gt;&lt;/span&gt;. At first blush, I was very happy with what I saw from DH, including a &lt;strong&gt;very&lt;/strong&gt; complete web admin console. I was able to set-up domains/users/email easily. There were tabs for managing your billing, &lt;span class=&quot;caps&quot;&gt;DNS&lt;/span&gt;, 1-click installs and other goodies. I was impressed.&lt;/p&gt;




&lt;p&gt;These feelings rapidly vanished over the course of the next 2-3 days. My main impetus for obtaining a new hosting provider was to set-up a hosting environment for &lt;a href=&quot;http://briancartenuto.com&quot;&gt;briancartenuto.com&lt;/a&gt;, the website of a buddy of mine who is an executive chef. He&amp;#8217;s currently slumming on a cheapo GoDaddy host, and I wanted to set-up a &lt;a href=&quot;http://mephistoblog.com&quot;&gt;Mephisto&lt;/a&gt; CMS for him to better manage his on-line presence.&lt;/p&gt;




&lt;p&gt;I then spent the better part of 2 days trying to get Mephisto (and later &lt;a href=&quot;http://www.typosphere.org&quot;&gt;Typo 4&lt;/a&gt;) trying to run on DH using FastCGI.  First of all, Apache+FastCGI isn&amp;#8217;t even the best option for Rails deployment (see Lighttpd, Mongrel, etc), but it&amp;#8217;s all they &amp;#8220;offered&amp;#8221; so I&amp;#8217;ll take it. Despite following &lt;a href=&quot;http://www.google.com/search?q=dreamhost+rails+fastcgi&amp;#38;ie=utf-8&amp;#38;oe=utf-8&amp;#38;rls=org.mozilla:en-US:official&amp;#38;client=firefox-a&quot;&gt;every possible set of instructions&lt;/a&gt; for getting things set-up properly, I failed to get either application up-and-running. I submitted a support ticket, waited 24 hours plus, and nothing. I am by no means a newbie when it comes to *nix/Apache/Ruby/etc and I simply couldn&amp;#8217;t get things to work. So long Dreamhost, it was nice knowing you.&lt;/p&gt;




&lt;p&gt;All of which has made me appreciate &lt;span class=&quot;sponsor&quot;&gt;&lt;a href=&quot;http://www.shareasale.com/r.cfm?B=69506&amp;#38;U=192330&amp;#38;M=10198&quot;&gt;TextDrive&lt;/a&gt;&lt;/span&gt; a great deal more. TextDrive is in the process of re-defining a new set of hosting plans in conjunction with bundling services from their sister companies &lt;span class=&quot;sponsor&quot;&gt;&lt;a href=&quot;http://www.shareasale.com/r.cfm?B=57232&amp;#38;U=192330&amp;#38;M=10198&quot;&gt;Joyent&lt;/a&gt;&lt;/span&gt; and &lt;span class=&quot;sponsor&quot;&gt;&lt;a href=&quot;http://www.shareasale.com/r.cfm?B=69507&amp;#38;U=192330&amp;#38;M=10198&quot;&gt;Strongspace&lt;/a&gt;&lt;/span&gt;. It&amp;#8217;s possible that some of these improvements might alleviate some of the limitations/problems I&amp;#8217;ve had, so we&amp;#8217;ll have to wait-and-see. Thanks to &lt;a href=&quot;http://lindsay.at/blog&quot;&gt;Adam Lindsay&lt;/a&gt; for cluing me in to some excellent forum scuttlebut referring to the future of TextDrive and their plans.&lt;/p&gt;




&lt;p&gt;Still, I am very much in the market for alternative hosts, even if all my TxD issues were to be resolved. I don&amp;#8217;t like the idea of putting all my eggs in any one basket. An email to the &lt;a href=&quot;http://www.rubydc.org&quot;&gt;RubyDC&lt;/a&gt; elicited the following suggestions that I will be checking out:&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.railsplayground.com&quot;&gt;Rails Playground&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://planetargon.com&quot;&gt;Planet Argon&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://engineyard.com&quot;&gt;Engine Yard&lt;/a&gt;&lt;/li&gt;
    &lt;li&gt;&lt;a href=&quot;http://tinyurl.com/vqwtz&quot;&gt;Media Temple&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;

</content>
 </entry>
 
 <entry>
   <title>Flirting With New Hosts</title>
   <link href="http://carter.rabasa.com/2006/11/27/flirting-with-new-hosts/"/>
   <updated>2006-11-27T18:19:01-08:00</updated>
   <id>http://carter.rabasa.com/2006/11/27/flirting-with-new-hosts</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/flirting-with-new-hosts&quot;&gt;http://cubanlinks.org/2006/11/30/flirting-with-new-hosts&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;img src=&quot;http://dreamhost.com/images/logo.png&quot; alt=&quot;&quot; /&gt;&lt;/p&gt;




&lt;p&gt;Today I coughed-up $240 or so for 1-year of &lt;a href=&quot;http://www.dreamhost.com&quot;&gt;DreamHost&lt;/a&gt; hosting. I have been using &lt;a href=&quot;http://www.textdrive.com&quot;&gt;Textdrive&lt;/a&gt; for the past 9 months or so, and have become increasingly frustrated (MySQL crashes, sporadically sluggish performance, and high prices).&lt;/p&gt;




&lt;p&gt;The straw that broke my back was my inability to add a new domain without coughing up more money. I already pay $60/month for business-class hosting (ha) and am limited to &lt;strong&gt;5 domains&lt;/strong&gt;. Simply ridiculous.  So, here&amp;#8217;s what I get for roughly $20/month with DH:&lt;/p&gt;




&lt;ul&gt;
&lt;li&gt;Storage: 400 GB&lt;/li&gt;
    &lt;li&gt;Bandwidth/month: 4TB&lt;/li&gt;
    &lt;li&gt;Databases: &lt;strong&gt;unlimited&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Domains: &lt;strong&gt;unlimited&lt;/strong&gt;&lt;/li&gt;
    &lt;li&gt;Custom &lt;span class=&quot;caps&quot;&gt;DNS&lt;/span&gt;: included&lt;/li&gt;
&lt;/ul&gt;




&lt;p&gt;I won&amp;#8217;t bother to list everything else, those are the key points to me. I&amp;#8217;ll also be completely honest: &lt;em&gt;none of this mean anything if the performance sucks&lt;/em&gt;. I will be evaluating DH quite a bit over the next couple of weeks. At the moment I&amp;#8217;ve spent an entire day failing to get RubyOnRails/FastCGI working properly. So, I&amp;#8217;m not getting too excited yet. But I am hoping for better things.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Amazon Wish List Badge</title>
   <link href="http://carter.rabasa.com/2006/11/21/amazon-wish-list-badge-2/"/>
   <updated>2006-11-21T09:58:10-08:00</updated>
   <id>http://carter.rabasa.com/2006/11/21/amazon-wish-list-badge-2</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/amazon-wish-list-badge&quot;&gt;http://cubanlinks.org/2006/11/30/amazon-wish-list-badge&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Remember those Amazon Wish Lists that people used to set-up in the hopes that their friends or family would notice their pressing desire for the latest Red Hot Chili Peppers CD and (in the event of a birthday or Christmas) decide to hook them up? The problem was the wants were hard to publicize. Amazon provided the ability to email your Wish List to people, but how crass is that?&lt;/p&gt;




&lt;p&gt;&lt;a href=&quot;http://cubanlinks.org/blog/articles/2005/11/09/amazon-wish-list-badge&quot;&gt;A year ago&lt;/a&gt; I wrote some code to take your Wish List and display it on your website. I&amp;#8217;ve made a couple quick tweaks to make it &lt;strong&gt;even easier&lt;/strong&gt; for you to add a Wish List badge to your site:&lt;/p&gt;




&lt;p&gt;1. &lt;a href=&quot;http://amazon.com/gp/registry/search.html?ie=UTF8&amp;#38;type=wishlist&quot;&gt;Find your Wish List ID&lt;/a&gt;&lt;/p&gt;




&lt;p&gt;2. Add the following code to your website:&lt;/p&gt;


&lt;p&gt;&lt;code&gt;
&amp;lt;style&amp;gt;
ul.awslist { list-style-type: none; }
ul.awslist li { display: inline }
&amp;lt;/style&amp;gt;
&amp;lt;script src=&quot;http://cubanlinks.org/wishlist.php?wishListId=[YOUR WISHLIST ID]&quot;&amp;gt;
&amp;lt;/script&amp;gt;
&lt;/code&gt;&lt;/p&gt;

&lt;p&gt;3. (Optional) Style your Wish List&lt;/p&gt;




&lt;p&gt;The UL and LI elements of the Wish List are styled with the class &lt;em&gt;awslist&lt;/em&gt;. You can style these elements any way you like to best fit your website.&lt;/p&gt;




&lt;p&gt;&lt;span class=&quot;caps&quot;&gt;ENJOY&lt;/span&gt;!&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Review: Ruby on Rails - Up and Running</title>
   <link href="http://carter.rabasa.com/2006/11/19/review-ruby-on-rails-up-and-running/"/>
   <updated>2006-11-19T10:04:30-08:00</updated>
   <id>http://carter.rabasa.com/2006/11/19/review-ruby-on-rails-up-and-running</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/review-ruby-on-rails-up-and-running&quot;&gt;http://cubanlinks.org/2006/11/30/review-ruby-on-rails-up-and-running&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Ruby on Rails &amp;#8211; Up and Running&lt;/li&gt;
    &lt;li&gt;Bruce A. Tate &amp;#38; Curt Hibbs&lt;/li&gt;
    &lt;li&gt;O&amp;#8217;Reilly Media, 2006&lt;/li&gt;
    &lt;li&gt;This review has also been posted to &lt;a href=&quot;http://www.rubydc.org/2006/11/20/review-of-ruby-on-rails-up-and-running-carter-rabasa&quot;&gt;RubyDC.org&lt;/a&gt;&lt;/li&gt;
&lt;/ul&gt;




&lt;table&gt;
    &lt;tr&gt;
        &lt;td&gt;&lt;p&gt;I was recently provided with a &lt;span class=&quot;caps&quot;&gt;PDF&lt;/span&gt; copy of &lt;ins&gt;Ruby on Rails &amp;#8211; Up and Running&lt;/ins&gt; by the &lt;a href=&quot;http://www.rubydc.org&quot;&gt;Adams Morgan Ruby Users Group&lt;/a&gt;. As you can imagine, books on Ruby (and Rails) are about to flood the shelves as the publishing industry gets on the RoR bandwagon.  I wanted to see how well a book could cover the fast-moving framework and in what ways it could improve my understanding of Rails.&lt;/p&gt;&lt;p&gt;The book is organized around creating a photo sharing web application step-by-step. Off the bat, I was puzzled to see &amp;#8220;Installing Rails&amp;#8221; as the last chapter in the book. Having a working runtime enhances the value of the book to the reader. On the flip side, I was pleased to see &lt;a href=&quot;http://mongrel.rubyforge.org&quot;&gt;Mongrel&lt;/a&gt; mentioned as one of the web servers available for Rails development, a sign of the freshness of the content.&lt;/p&gt;&lt;p&gt;The authors develop the application from the ground up, tying general concepts (MVC, relational data, etc) into their Rails counterparts (ActiveRecord, etc). Explanations for certain design decisions (how ActiveRecord eschews mapping in favor of wrapping) are sprinkled through-out the book and provide an increasing sense of confidence in the framework.&lt;/p&gt;&lt;p&gt;Beyond the basic controllers, models and views, the authors provide details on enhancing their application with some judicious use of &lt;a href=&quot;http://www.onlamp.com/pub/a/onlamp/2005/06/09/rails_ajax.html&quot;&gt;&lt;span class=&quot;caps&quot;&gt;AJAX&lt;/span&gt;&lt;/a&gt;. They tie-up the development of the Photo Share application with an overview of the Rails testing framework, explaining the importance and ease of automated testing.&lt;/p&gt;&lt;p&gt;Overall, I give the book high marks. The book is excellent for anyone just getting into Rails development or looking for and end-to-end overview of the framework. The level of detail is limited, given the book&amp;#8217;s 189 pages, so experienced developers may have less to gain.  You will not read anything about &lt;a href=&quot;http://nubyonrails.com/articles/2006/10/09/peepcode-rest-basics&quot;&gt;RESTful Rails&lt;/a&gt;. It should also be noted that this book is focused on Rails, not Ruby, and contains little insight into the language.&lt;/td&gt;
        &lt;td&gt;&lt;iframe src=&quot;http://rcm.amazon.com/e/cm?t=cubanlinks-20&amp;#38;o=1&amp;#38;p=8&amp;#38;l=as1&amp;#38;asins=0596101325&amp;#38;fc1=000000&amp;#38;IS2=1&amp;#38;lt1=_blank&amp;#38;lc1=0000FF&amp;#38;bc1=FFFFFF&amp;#38;bg1=FFFFFF&amp;#38;f=ifr&amp;#38;npa=1&quot; style=&quot;width:120px;height:240px;&quot; scrolling=&quot;no&quot; marginwidth=&quot;0&quot; marginheight=&quot;0&quot; frameborder=&quot;0&quot;&gt;&lt;/iframe&gt;&lt;/td&gt;
    &lt;/tr&gt;
&lt;/table&gt;

</content>
 </entry>
 
 <entry>
   <title>AMRUG</title>
   <link href="http://carter.rabasa.com/2006/03/10/amrug/"/>
   <updated>2006-03-10T13:34:00-08:00</updated>
   <id>http://carter.rabasa.com/2006/03/10/amrug</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/amrug&quot;&gt;http://cubanlinks.org/2006/11/30/amrug&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;This stands for the &lt;a href=&quot;http://www.ccurisa.org/?q=node/62&quot;&gt;Adams Morgan Ruby Users Group&lt;/a&gt;.  I&amp;#8217;ve been asked to stop by their next meeting this Sunday at 3pm and spend 10 minutes talking about my experiences building RoR apps for     DCKickball.  Should be interesting.  I&amp;#8217;ve never been much into the &amp;#8220;user group&amp;#8221; scene, which is odd because I consider myself to be a pretty social person.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Getting There...</title>
   <link href="http://carter.rabasa.com/2006/01/20/getting-there/"/>
   <updated>2006-01-20T11:18:32-08:00</updated>
   <id>http://carter.rabasa.com/2006/01/20/getting-there</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/getting-there&quot;&gt;http://cubanlinks.org/2006/11/30/getting-there&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;So, I&amp;#8217;ve just finished importing 610 entries into my blog&amp;#8217;s database. As I mentioned before, I had used a tool called Warrick to scour the caches of various search (Google, Yahoo, etc) and archiving (Internet Archive) services to reconstruct a snapshot of cubanlinks.org.  This process left me with 1029 files scattered throughout 1106 directories.&lt;/p&gt;




&lt;p&gt;(Remember, &lt;i&gt;/archives/2003/12/01/some-post/index.html&lt;/i&gt; is comprised of 5 directories and 1 file)&lt;/p&gt;




&lt;p&gt;So, the next step was to get these static files into the database. I accomplished this by writing a script in Ruby to extract title/date/body information from the page and insert these values into the database using ActiveRecord. Thank god for Typo being kind enough to fill in the other values for me on save (guid, permalink, etc).&lt;/p&gt;




&lt;p&gt;It&amp;#8217;s unclear how many posts never got recovered with Warrick in the first place. Eyeballing it, I&amp;#8217;d say I have &lt;b&gt;at least&lt;/b&gt; 80% of my posts.  And you know what? I&amp;#8217;ll take that.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Typo + Apache + Lighttpd @ TextDrive</title>
   <link href="http://carter.rabasa.com/2006/01/17/typo-apache-lighttpd-textdrive/"/>
   <updated>2006-01-17T11:13:00-08:00</updated>
   <id>http://carter.rabasa.com/2006/01/17/typo-apache-lighttpd-textdrive</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/typo-apache-lighttpd-textdrive&quot;&gt;http://cubanlinks.org/2006/11/30/typo-apache-lighttpd-textdrive&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;For all my homies who have had trouble getting Apache, Lighttpd and Typo (on a shared host no less!) deployed in a subdirectory off the document root, here&amp;#8217;s what I had to do:&lt;/p&gt;




&lt;ol&gt;
&lt;li&gt;&lt;b&gt;Typo:&lt;/b&gt; unpack, configure &lt;code&gt;database.yml&lt;/code&gt; and make sure to log-in to the database you&amp;#8217;ve configured and execute the &lt;code&gt;schema.mysql.sql&lt;/code&gt; script.&lt;/li&gt;
&lt;li&gt;Locate your document root (&lt;code&gt;/home/{username}/web/public/&lt;/code&gt;) and create a symbolic link to your typo installation&amp;#8217;s public directory (&lt;code&gt;ln -s /home/{username}/typo/public /home{username}/web/public/blog&lt;/code&gt;). You don&amp;#8217;t have to name the symbolic link &amp;#8220;blog&amp;#8221;, you can give it any name you like.&lt;/li&gt;
&lt;li&gt;&lt;b&gt;Lighttpd:&lt;/b&gt; Follow these &lt;a href=&quot;http://weblog.0x7b.com/articles/2005/09/17/lighttpd-setup-on-textdrive-com&quot;&gt;instructions&lt;/a&gt; . Now, change the &lt;code&gt;server.error-handler-404&lt;/code&gt; so that instead of pointing to &lt;code&gt;&quot;/dispatch.fcgi&quot;&lt;/code&gt; it points to &lt;code&gt;&quot;/blog/dispatch.fcgi&quot;&lt;/code&gt;.&lt;/li&gt;

&lt;li&gt;&lt;b&gt;Apache:&lt;/b&gt; &lt;a href=&quot;http://manuals.textdrive.com/read/chapter/62&quot;&gt;Set-up the Apache alias/redirect&lt;/a&gt;. However, for the local &lt;span class=&quot;caps&quot;&gt;URL&lt;/span&gt;, specify &lt;code&gt;/blog&lt;/code&gt;. For the remote &lt;span class=&quot;caps&quot;&gt;URL&lt;/span&gt;, specify &lt;code&gt;http://yourdomain.name:PORT#/blog/&lt;/code&gt;.&lt;/li&gt;
&lt;/ol&gt;




&lt;p&gt;Once you bounce Apache (by saving your changes) and start-up Lighttpd, you should be good to go. Here are some more &lt;a href=&quot;http://weblog.0x7b.com/articles/2005/09/17/lighttpd-setup-on-textdrive-com-part-ii&quot;&gt;steps you can take&lt;/a&gt; to finalize your set-up.  Let me know if I&amp;#8217;m missing anything.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>I'm Back (Sort Of)</title>
   <link href="http://carter.rabasa.com/2006/01/17/i-m-back-sort-of/"/>
   <updated>2006-01-17T10:16:00-08:00</updated>
   <id>http://carter.rabasa.com/2006/01/17/i-m-back-sort-of</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/i-m-back-sort-of&quot;&gt;http://cubanlinks.org/2006/11/30/i-m-back-sort-of&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;In case you hadn&amp;#8217;t noticed, all the websites that I operate (cubanlinks.org, dckickball.org, etc) have been down. This is due to the &lt;b&gt;complete&lt;/b&gt; and &lt;b&gt;utter&lt;/b&gt; failure of the hard drive of the machine that powered those sites. The machine in question (Taurus) was an old Dell PC that was donated to me by my roommate.  Despite having all my eggs in a single basket, I failed to take the mandatory precautions (backup, failover, etc) that any competent system administrator would have taken, and as a result I have lost everything.&lt;/p&gt;




&lt;p&gt;I am now in the process of resurrecting these sites within the confines of a professional hosting company, &lt;a href=&quot;http://www.textdrive.com&quot;&gt;TextDrive&lt;/a&gt;. The days of me running my own server for anything mission-critical are behind me. Not only did I lose my own code and data, I screwed over my buddies Matt and Eddie who had been running their sites on my machine.&lt;/p&gt;




&lt;p&gt;One bright spot has been the recovery of my content via a tool called &lt;a href=&quot;http://www.cs.odu.edu/~fmccown/research/lazy/warrick.html&quot;&gt;Warrick&lt;/a&gt; that uses various caching services and APIs from Google, Yahoo, the Internet Archive and others to reconstruct lost websites.  So far, I&amp;#8217;ve recovered posts for Cubanlinks going all the way back to its first post in 2002.  It also looks like I&amp;#8217;ve recovered good amount of the content from DCKickball. Now I just need to figure out the easiest way to import these &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt; files back in to their respective databases.&lt;/p&gt;




&lt;p&gt;That&amp;#8217;s enough for now. I&amp;#8217;ll describe the rebuilding process in more detail as I go along.  The main point that I want to get across is this: &lt;b&gt;&lt;u&gt;&lt;span class=&quot;caps&quot;&gt;BACK UP YOUR DATA&lt;/span&gt;!&lt;/u&gt;&lt;/b&gt;. The shock of losing a year&amp;#8217;s worth of blood and sweat (regarding the code that powered DCKickball) still has yet to fully sink in. Don&amp;#8217;t pull a Carter.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Rails 1.0</title>
   <link href="http://carter.rabasa.com/2005/12/13/rails-1-0/"/>
   <updated>2005-12-13T13:06:00-08:00</updated>
   <id>http://carter.rabasa.com/2005/12/13/rails-1-0</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/rails-1-0&quot;&gt;http://cubanlinks.org/2006/11/30/rails-1-0&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.rubyonrails.org&quot;&gt;Ruby on Rails&lt;/a&gt; is &lt;a href=&quot;http://37signals.com/svn/archives2/ruby_on_rails_10_is_live_with_a_new_site_too.php&quot;&gt;1.0&lt;/a&gt; spread the word.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Amazon Wish List Badge</title>
   <link href="http://carter.rabasa.com/2005/11/09/amazon-wish-list-badge/"/>
   <updated>2005-11-09T11:32:00-08:00</updated>
   <id>http://carter.rabasa.com/2005/11/09/amazon-wish-list-badge</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/amazon-wish-list-badge&quot;&gt;http://cubanlinks.org/2006/11/30/amazon-wish-list-badge&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Over the past day or so, I&amp;#8217;ve cobbled together an Amazon Wish List badge for my blog.  You&amp;#8217;ll see my items listed on the right of this page if you scroll down.  I did this using 3 things:&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;&lt;a href=&quot;http://www.amazon.com/gp/aws/sdk/103-2194516-4697459?v=2005%2d10%2d05&amp;#38;s=AWSEcommerceService&quot;&gt;Amazon Web Services&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://cubanlinks.org/wishlist.xsl&quot;&gt;A custom &lt;span class=&quot;caps&quot;&gt;&lt;span class=&quot;caps&quot;&gt;XSLT&lt;/span&gt;&lt;/span&gt; stylesheet&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;My unique &lt;a href=&quot;http://www.amazon.com/gp/registry/33PA3Q33W2G6P&quot;&gt;Wish List&lt;/a&gt; ID&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;&lt;span class=&quot;caps&quot;&gt;&lt;span class=&quot;caps&quot;&gt;AWS&lt;/span&gt;&lt;/span&gt; offers a &lt;a href=&quot;http://www.amazon.com/gp/aws/sdk/main.html?s=AWSEcommerceService&amp;#38;v=2005-10-05&amp;#38;p=ApiReference/ListLookupOperation&quot;&gt;List Lookup&lt;/a&gt; operation.  You can invoke this operation &lt;a href=&quot;http://xml-us.amznxslt.com/onca/xml?Service=AWSECommerceService&amp;#38;AWSAccessKeyId=1ZNXWY0K2A9VJT960A02&amp;#38;Operation=ListLookup&amp;#38;ListType=WishList&amp;#38;ListId=33PA3Q33W2G6P&amp;#38;ResponseGroup=Medium&quot;&gt;like so&lt;/a&gt; by plugging in your Wish List ID and specifying some additional parameters (see the &lt;span class=&quot;caps&quot;&gt;&lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt;&lt;/span&gt; for more details).&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;p&amp;gt;What&amp;amp;#8217;s important to note is that you can format the returned data from &amp;lt;span class=&quot;caps&quot;&amp;gt;&amp;lt;span class=&quot;caps&quot;&amp;gt;AWS&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; by passing a &amp;lt;span class=&quot;caps&quot;&amp;gt;&amp;lt;span class=&quot;caps&quot;&amp;gt;URL&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; to an &amp;lt;span class=&quot;caps&quot;&amp;gt;&amp;lt;span class=&quot;caps&quot;&amp;gt;XSLT&amp;lt;/span&amp;gt;&amp;lt;/span&amp;gt; stylesheet.  In my case, the stylesheet that I wrote outputs Javascript code (I stole this idea from Flickr).  So, to print the Wish List to the browser, I simply embed the following Javascript in my sidebar:&amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;&lt;textarea cols=&quot;50&quot;&gt;&lt;script type=&quot;text/javascript&quot; src=&quot;http://xml-us.amznxslt.com/onca/xml?Service=AWSECommerceService&amp;#38;AWSAccessKeyId=1ZNXWY0K2A9VJT960A02&amp;#38;Operation=ListLookup&amp;#38;ListType=WishList&amp;#38;ListId=33PA3Q33W2G6P&amp;#38;ResponseGroup=Medium&amp;#38;Style=http://cubanlinks.org/wishlist.xsl&amp;#38;ContentType=text/html&quot;&gt;&lt;/script&gt;&lt;/textarea&gt;&lt;/p&gt;

&lt;pre&gt;&lt;code&gt;&amp;lt;p&amp;gt;That&amp;amp;#8217;s it. Just in time for the holidays!&amp;lt;/p&amp;gt;
&lt;/code&gt;&lt;/pre&gt;
</content>
 </entry>
 
 <entry>
   <title>A Clean Slate</title>
   <link href="http://carter.rabasa.com/2005/09/09/a-clean-slate/"/>
   <updated>2005-09-09T07:38:00-07:00</updated>
   <id>http://carter.rabasa.com/2005/09/09/a-clean-slate</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/a-clean-slate&quot;&gt;http://cubanlinks.org/2006/11/30/a-clean-slate&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve upgraded to &lt;a href=&quot;http://typo.leetsoft.com/trac/&quot;&gt;Typo&lt;/a&gt;, a blogging tool written in Ruby on Rails. Writing and maintaining my own &lt;a href=&quot;http://cubanlinks.org/mywiki/Conte&quot;&gt;blogging tool&lt;/a&gt; was a great opportunity for me to teach myself Spring and Hibernate, as well as increase my overall &lt;span class=&quot;caps&quot;&gt;J2EE&lt;/span&gt;/webapp skills,  but the cost of keeping this tool up-to-date eventually became too high, and I could no longer keep up with things like comment spam, blacklists, etc.&lt;/p&gt;




&lt;p&gt;I&amp;#8217;ll discuss more about the upgrade later.  I&amp;#8217;m also in the process of creating a new theme, so bear with this vanilla look.&lt;/p&gt;




&lt;p&gt;At the end of the day, I really hope using Typo (or any other tool in the same class) will make writing so effortless that I can plug myself back into the conversation known as the blogosphere (not a term I like, but you get the picture).&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Many-to-many-to-many</title>
   <link href="http://carter.rabasa.com/2005/08/12/many-to-many-to-many/"/>
   <updated>2005-08-12T13:38:00-07:00</updated>
   <id>http://carter.rabasa.com/2005/08/12/many-to-many-to-many</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/many-to-many-to-many&quot;&gt;http://cubanlinks.org/2006/11/30/many-to-many-to-many&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I encountered a problem today with the &lt;a href=&quot;http://www.rubyonrails.org&quot;&gt;Ruby on Rails&lt;/a&gt; application that I&amp;#8217;m working on.  It involved something that I haven&amp;#8217;t found &lt;a href=&quot;http://www.google.com/search?q=many-to-many-to-many&amp;#38;sourceid=mozilla-search&amp;#38;start=0&amp;#38;start=0&amp;#38;ie=utf-8&amp;#38;oe=utf-8&amp;#38;client=firefox-a&amp;#38;rls=org.mozilla:en-US:official&quot;&gt;much information&lt;/a&gt; on-line about: &lt;b&gt;many-to-many-to-many relationships&lt;/b&gt;.&lt;/p&gt;


&lt;p&gt;  &lt;a href=&quot;/blog/articles/2005/08/12/many-to-many-to-many&quot;&gt;Read more&amp;#8230;&lt;/a&gt;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Ruby on Rails PayPal IPN Code Example</title>
   <link href="http://carter.rabasa.com/2005/08/03/ruby-on-rails-paypal-ipn-code-example/"/>
   <updated>2005-08-03T07:19:00-07:00</updated>
   <id>http://carter.rabasa.com/2005/08/03/ruby-on-rails-paypal-ipn-code-example</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/ruby-on-rails-paypal-ipn-code-example&quot;&gt;http://cubanlinks.org/2006/11/30/ruby-on-rails-paypal-ipn-code-example&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I thought I&amp;#8217;d share the skeleton of some code I had to write for PayPal&amp;#8217;s backend &lt;span class=&quot;caps&quot;&gt;IPN API&lt;/span&gt;.&lt;/p&gt;


&lt;p&gt;&lt;textarea cols=&quot;60&quot; rows=&quot;10&quot;&gt;
  # process the PayPal &lt;span class=&quot;caps&quot;&gt;IPN POST&lt;/span&gt;
  def paypal_ipn&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; if @request.method == :post
   # use the POSTed information to create a call back &amp;lt;span class=&quot;caps&quot;&amp;gt;URL&amp;lt;/span&amp;gt; to PayPal
   @query = &amp;amp;#8216;cmd=_notify-validate&amp;amp;#8217;
   @request.params.each_pair {|key, value| @query = @query + &amp;amp;#8217;&amp;amp;amp;&amp;amp;#8217; + key + &amp;amp;#8217;=&amp;amp;#8217;
&lt;/code&gt;&lt;/pre&gt;

&lt;ul&gt;
&lt;li&gt;value.first if key != &amp;#8216;register/pay_pal_ipn.html/pay_pal_ipn&amp;#8217; }&lt;/li&gt;
&lt;/ul&gt;


&lt;ol&gt;
&lt;li&gt;&lt;span class=&quot;caps&quot;&gt;POST&lt;/span&gt; this data
       http = Net::HTTP.start(PAYPAL_URL, 80)
       response = http.post(&amp;#8217;/cgi-bin/webscr&amp;#8217;, @query)
       http.finish&lt;/li&gt;
&lt;/ol&gt;


&lt;h1&gt;PayPal values&lt;/h1&gt;

&lt;pre&gt;&lt;code&gt;   item_name = @params[:item_name]
   item_number = @params[:item_number]
   payment_status = @params[:payment_status]
   payment_amount = @params[:mc_gross]
   payment_currency = @params[:mc_currency]
   txn_id = @params[:txn_id]
   receiver_email = @params[:receiver_email]
   payer_email = @params[:payer_email]&amp;lt;br/&amp;gt;&amp;lt;br/&amp;gt;       if response
      if response.body.chomp  'VERIFIED'
         # check the payment status
         if payment_status  &amp;amp;#8216;Completed&amp;amp;#8217;
            # check to see if the txn_id already exists

       # your logic here
      end
   end
 else
    # &amp;lt;span class=&quot;caps&quot;&amp;gt;GET&amp;lt;/span&amp;gt; request, wtf
    @text = &amp;amp;#8216;I do not speak &amp;lt;span class=&quot;caps&quot;&amp;gt;GET&amp;lt;/span&amp;gt;&amp;amp;#8217;
 end
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;  rescue Net::HTTPError&lt;/p&gt;

&lt;pre&gt;&lt;code&gt; @text = &amp;amp;#8216;HTTP error&amp;amp;#8217;
&lt;/code&gt;&lt;/pre&gt;

&lt;p&gt;  end
&lt;/textarea&gt;&lt;/p&gt;

&lt;p&gt;This method exists inside of a controller class.  I&amp;#8217;m certainly not saying that this is the best or most elegant way to handle this, just that I couldn&amp;#8217;t find any examples to rip-off myself.  :)&lt;br/&gt;&lt;br/&gt;Let me know if you have any suggestions. &lt;span class=&quot;caps&quot;&gt;WARNING&lt;/span&gt;: this code does not communicate with PayPal&amp;#8217;s servers over &lt;span class=&quot;caps&quot;&gt;SSL&lt;/span&gt;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Hyper Text: Dead?</title>
   <link href="http://carter.rabasa.com/2005/03/01/hyper-text-dead/"/>
   <updated>2005-03-01T12:40:00-08:00</updated>
   <id>http://carter.rabasa.com/2005/03/01/hyper-text-dead</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/hyper-text-dead&quot;&gt;http://cubanlinks.org/2006/11/30/hyper-text-dead&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ll go out on a limb here: the current debate over the future of the Google Toolbar&amp;#8217;s AutoLink feature is possibly one of the most important debates in the history of the Internet.  Two sides have sprung up in this debate.  Those &lt;a href=&quot;http://www.techdirt.com/articles/20050225/1226205_F.shtml&quot;&gt;who advocate&lt;/a&gt; for &lt;a href=&quot;http://cheerleader.yoz.com/archives/001927.html&quot;&gt;the right&lt;/a&gt; to use a product like the Google Toolbar to rip/mix/burn the content they obtain from the Internet and those who &lt;a href=&quot;http://www.zeldman.com/daily/0205f.shtml&quot;&gt;oppose&lt;/a&gt; &lt;a href=&quot;http://www.thetwowayweb.com/2005/02/22#a272&quot;&gt;the manipulation&lt;/a&gt; of &lt;a href=&quot;http://radio.weblogs.com/0001011/2005/02/27.html#a9484&quot;&gt;the sanctity&lt;/a&gt; of hyperlinks.&lt;/p&gt;


&lt;p&gt;Honestly, I came to a very rapid conclusion on this one: I&amp;#8217;m against the manipulation (or addition) of links.  Why?  Think about what the World Wide Web &lt;i&gt;is&lt;/i&gt; and what makes it so special.&lt;/p&gt;


&lt;p&gt;Is it &lt;span class=&quot;caps&quot;&gt;DIV&lt;/span&gt; tags.  Is it &lt;span class=&quot;caps&quot;&gt;TABLE&lt;/span&gt; structures?  Is it IMaGes? No, it&amp;#8217;s links.  Hyper-links. &lt;u&gt;H&amp;lt;/u&amp;gt;yper &lt;u&gt;T&amp;lt;/u&amp;gt;ext &lt;u&gt;T&amp;lt;/u&amp;gt;ransfer &lt;u&gt;P&amp;lt;/u&amp;gt;rotocol.  Hyper Text Markup Language (HTML).  The linked nature of the documents that populate the Internet are what make the Web &lt;i&gt;work&lt;/i&gt;.  The number of links, and their relevance is what allows Google to earn billions of dollars a year.  Besides the plain-text editorial content of a given page, the links are the single most important component.&lt;/p&gt;


&lt;p&gt;So, my point is that links are sacrosant in ways that other markup isn&amp;#8217;t.  Some of the pro-rip/mix/burn crowd might think that this is an illogical stance and that all markup should be considered equal.  I think these people are simply getting stuck in the trap of an &amp;#8220;all-or-nothing&amp;#8221; argument.  Either you can modify content (in any way you see fit) or you can&amp;#8217;t.  Personally, I don&amp;#8217;t buy in to that.&lt;/p&gt;


&lt;p&gt;This debate is important because it is a slippery slope.  Once content modification is blessed by the masses, you&amp;#8217;ve broken the web.  You&amp;#8217;ve snubbed your nose at producers of content in order to grossly over-empower consumers, and an important balance is disrupted.  Ask yourself why people/organizations/companies would spend vast amount of time and money to produce content whose inherent message and qualities can be rearranged on the fly?  Where does it end?&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Rebirth</title>
   <link href="http://carter.rabasa.com/2005/02/22/rebirth/"/>
   <updated>2005-02-22T10:53:51-08:00</updated>
   <id>http://carter.rabasa.com/2005/02/22/rebirth</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/rebirth&quot;&gt;http://cubanlinks.org/2006/11/30/rebirth&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;div class=&quot;terminal&quot;&gt;crabasa@taurus:~$ uname -a&lt;/span&gt;&lt;br/&gt;
Linux taurus 2.4.27-1-386 #1 Fri Sep 3 06:24:46 &lt;span class=&quot;caps&quot;&gt;UTC 2004&lt;/span&gt; i686 &lt;span class=&quot;caps&quot;&gt;GNU&lt;/span&gt;/Linux&lt;/div&gt;


&lt;p&gt;Now that my box (Taurus) was home, I needed to begin the process of backing up its data and re-installing Linux.  My first instinct was to install &lt;a href=&quot;http://www.gentoo.org&quot;&gt;Gentoo&lt;/a&gt;, after hearing so many good things about it.  To this end, I downloaded the i686 &lt;span class=&quot;caps&quot;&gt;ISO&lt;/span&gt; of Gentoo to a CD and booted off of it.  From the prompt, I mounted my partitions (hda1, hda2, hda3) to temporary directories and started to tar/gz my important data.  After the information was bundled, I simply scp&amp;#8217;d the files to my &lt;span class=&quot;caps&quot;&gt;OSX&lt;/span&gt; laptop.&lt;/p&gt;


&lt;p&gt;With my data safely squirreled away, I was ready to wipe Taurus and start anew.  However, about 20 minutes into the Gentoo installation process, I realized that Gentoo wasn&amp;#8217;t going to work for me.  There simply is no single way (or document) to install Gentoo.  This is fine for hyper-geeks who want to tune their kernel, but no good for me.  So, I fell back on the latest testing version of Debian (Sargent) and went to work.&lt;/p&gt;


&lt;p&gt;&lt;span class=&quot;caps&quot;&gt;BAM&lt;/span&gt;! 30 minutes later (mostly spent waiting), I had a repartitioned, reformatted machine with a sparkling new Linux distro on it.  A few &amp;#8220;apt-get install&amp;#8221; invokations later and I had
&lt;a href=&quot;http://httpd.apache.org/&quot;&gt;Apache&lt;/a&gt;, &lt;b&gt;Apache-ssl&lt;/b&gt;,
&lt;a href=&quot;http://www.mysql.org&quot;&gt;MySQL&lt;/a&gt;,
&lt;a href=&quot;http://www.php.net&quot;&gt;&lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt;&lt;/a&gt;,
&lt;a href=&quot;http://www.exim.org/&quot;&gt;Exim&lt;/a&gt; and
&lt;a href=&quot;http://www.gnu.org/software/mailman/&quot;&gt;Mailman&lt;/a&gt; installed.&lt;/p&gt;


&lt;p&gt;I copied over my Tomcat and Java 1.4 backups, along with the blog.war webapp that powers this site.  I reloaded as much of my data (MySQL tables, mailing lists, etc) that I could.  Once I felt that everything was working, I drove out to Tyson&amp;#8217;s at re-inserted Taurus (along with another rebuilt machine, Rome) into the hosting facility.  I plugged it in, flipped it on, ran some tests, and walked away.  Let&amp;#8217;s hope things stay up (and un-hacked) longer this time.  :)&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Alive (Somewhat)</title>
   <link href="http://carter.rabasa.com/2005/02/18/alive-somewhat/"/>
   <updated>2005-02-18T10:38:43-08:00</updated>
   <id>http://carter.rabasa.com/2005/02/18/alive-somewhat</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/alive-somewhat&quot;&gt;http://cubanlinks.org/2006/11/30/alive-somewhat&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;Warning: Geek Speak Ahead&lt;/b&gt;&lt;/p&gt;


&lt;p&gt;Well, yesterday morning my server (Taurus) died, not with a bang, but a whimper.  The &lt;code&gt;/var&lt;/code&gt; partition had been filling to capacity, despite a report from &lt;code&gt;du -h --max-depth=1 /var&lt;/code&gt; that there was plenty of space available.  A full &lt;code&gt;/var&lt;/code&gt; means all manner of bad things, such as bounced emails.&lt;/p&gt;


&lt;p&gt;  &lt;a href=&quot;/blog/articles/2005/02/18/alive-somewhat&quot;&gt;Read more&amp;#8230;&lt;/a&gt;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>More Hacking</title>
   <link href="http://carter.rabasa.com/2005/02/16/more-hacking/"/>
   <updated>2005-02-16T14:08:21-08:00</updated>
   <id>http://carter.rabasa.com/2005/02/16/more-hacking</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/more-hacking&quot;&gt;http://cubanlinks.org/2006/11/30/more-hacking&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.thefatguy.com&quot;&gt;Some people&lt;/a&gt; have requested more information about the hacking of my box. &lt;b&gt;Alert: nerd content ahead!&lt;/b&gt;&lt;/p&gt;


&lt;p&gt;I wish I could say that I knew right away that my box was hacked, but I didn&amp;#8217;t.  I generally don&amp;#8217;t have access to my box from work, and certainly don&amp;#8217;t have all that much free time to monitor it in any case.  The first hints involved degrading performance &lt;a href=&quot;/blog&quot;&gt;of&lt;/a&gt; &lt;a href=&quot;/mywiki&quot;&gt;my&lt;/a&gt; &lt;a href=&quot;http://dckickball.org&quot;&gt;various&lt;/a&gt; &lt;a href=&quot;https://mail.cubanlinks.org/mailman/listinfo&quot;&gt;sites&lt;/a&gt;.  First things were just slow, then things (Tomcat, etc) would just crash.  Eventually I closed my eyes, held my breath, and remotely rebooted my box.  Everything came back up, but the problems seem to persist.&lt;/p&gt;


&lt;p&gt;Previous to this, I had recieved numerous emails from cron telling me that certain tasks (cleanup, etc) were failing with errors.  Being lazy, I ignored these errors for a while, hoping they would go away (duh!).  After enough time went by, and they didn&amp;#8217;t go away, I investigated more and discovered my box had been hacked.&lt;/p&gt;


&lt;p&gt;After poking around the &lt;code&gt;/etc/cron.daily/&lt;/code&gt; directory, I noticed that the &lt;code&gt;logrotate&lt;/code&gt; script had been modified.  I opened it up, and sure enough someone had added a line telling cron to send an email (to the hacker) with the contents of a particular file.  I opened up the file (.sniffer) and was horrified to see the keystroke input of every call to &lt;code&gt;su&lt;/code&gt;, &lt;code&gt;passwd&lt;/code&gt;, and &lt;code&gt;mysql&lt;/code&gt;.  Everytime I changed a password or logged-in to something, my keystrokes were being captured and emailed to the hacker.&lt;/p&gt;


&lt;p&gt;Needless to say I removed the mailing line from &lt;code&gt;logrotate&lt;/code&gt; and changed all my passwords.  However, this file is &lt;b&gt;still&lt;/b&gt; being written to, by some process I can&amp;#8217;t seem to identify.  So, my box is still hacked, and likely only a format and re-install will fix it.  I also have no idea how my box was hacked.  I have heard about an &lt;a href=&quot;http://jeremy.zawodny.com/blog/archives/004107.html&quot;&gt;exploit &lt;/a&gt; for a http log analyzer I was using, so I&amp;#8217;ve disabled it.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Bleh</title>
   <link href="http://carter.rabasa.com/2005/02/09/bleh/"/>
   <updated>2005-02-09T06:54:24-08:00</updated>
   <id>http://carter.rabasa.com/2005/02/09/bleh</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/bleh&quot;&gt;http://cubanlinks.org/2006/11/30/bleh&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;In case you couldn&amp;#8217;t tell, I&amp;#8217;m having server problems.  Well, more accurately I&amp;#8217;m having &lt;a href=&quot;http://jakarta.apache.org/tomcat/index.html&quot;&gt;Tomcat&lt;/a&gt; problems.  Damn thing keeps dying on me.  All my other services (Wiki, Email, &lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt;, etc) seem to be working fine.&lt;/p&gt;


&lt;p&gt;In truth, I think this box is fubar&amp;#8217;d.  Which means a weekend of fun re-installing software, and possibly swapping out some hardware (memory, hard drives, etc).  Anyway, if you notice any problems with this site, please shoot me an email (carter.rabasa &lt;em&gt;at&lt;/em&gt; gmail.com).&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Pub</title>
   <link href="http://carter.rabasa.com/2004/11/30/pub/"/>
   <updated>2004-11-30T05:49:51-08:00</updated>
   <id>http://carter.rabasa.com/2004/11/30/pub</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/pub&quot;&gt;http://cubanlinks.org/2006/11/30/pub&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Cubanlinks.org gets a mention &lt;a href=&quot;http://redherring.com/Article.aspx?a=11000&amp;#38;hed=Tracking+the+net&quot;&gt;during a Q&amp;amp;A&lt;/a&gt; between &lt;a href=&quot;http://redherring.com/&quot;&gt;Red Herring&lt;/a&gt; and &lt;a href=&quot;http://www.sifry.com/alerts/&quot;&gt;Dave Sifry&lt;/a&gt; (founder of &lt;a href=&quot;http://www.technorati.com&quot;&gt;Technorati&lt;/a&gt;).  My involvment stems from a &lt;a href=&quot;/blog/post/2004/08/26/Technora-&lt;del&gt;-Core-Dump.html#permalink&amp;#8221;&amp;gt;few&lt;/a&gt; &lt;a href=&quot;/blog/post/2004/11/23/Technorati-F-d-Up&lt;/del&gt;-again-.html#permalink&amp;#8221;&amp;gt;posts&lt;/a&gt; I &lt;a href=&quot;/blog/post/2004/11/24/Open-Letter.html#permalink&quot;&gt;wrote&lt;/a&gt;. &lt;/p&gt;


&lt;p&gt;Of course, RedHerring.com neither links to my site nor to the specific posts or comments in question.  This is disappointing, but I imagine fairly typical of print-to-net mags.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Open Letter</title>
   <link href="http://carter.rabasa.com/2004/11/24/open-letter/"/>
   <updated>2004-11-24T05:27:36-08:00</updated>
   <id>http://carter.rabasa.com/2004/11/24/open-letter</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/open-letter&quot;&gt;http://cubanlinks.org/2006/11/30/open-letter&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.sifry.com/alerts/&quot;&gt;Dave Sifry&lt;/a&gt; (founder and &lt;span class=&quot;caps&quot;&gt;CEO&lt;/span&gt; of &lt;a href=&quot;http://www.technorati.com&quot;&gt;Technorati&lt;/a&gt;) dropped by yesterday to comment on a post I wrote on some of my &lt;a href=&quot;/blog/post/2004/11/23/Technorati-F-d-Up-&lt;del&gt;again&lt;/del&gt;.html#permalink&amp;#8221;&amp;gt;latest frustrations using his company&amp;#8217;s service.  This isn&amp;#8217;t the first time &lt;a href=&quot;/blog/post/2004/08/26/Technora---Core-Dump.html#permalink&quot;&gt;he&amp;#8217;s done this&lt;/a&gt;, but I&amp;#8217;m still amazed when it happens.&lt;/p&gt;


&lt;p&gt;He apologized for any problems I was experiencing, but also pointed out that the service seemed to be functioning correctly.  Naturally, I checked, and indeed things seem to be back up.  Must have been a temporary outage.&lt;/p&gt;


&lt;p&gt;In any case, I appreciate the amount of work Dave is obviously putting forth on behalf of his users.  It&amp;#8217;s just that in the age of Google and other hyper-architected systems the stakes and expectations are raised for everyone involved in trying to build a customer base.&lt;/p&gt;


&lt;p&gt;Moving forward, I thought I&amp;#8217;d use this space to address a couple of issues that I&amp;#8217;m still having with the service.  I&amp;#8217;m sure this feedback (assuming its shared in the vast aggregate of the Net) will find its way to the development team.&lt;/p&gt;


&lt;p&gt;1. Currently, my cosmos search says that I have &lt;i&gt;260 links from 32 sources&lt;/i&gt;.  However, my claimed weblog summary states that I have &lt;i&gt;Inbound blogs: 16 Rank: 63524  &lt;/i&gt;.  Is that an inconsistency, or is there a difference between a &lt;b&gt;source&lt;/b&gt; and an &lt;b&gt;inbound blog&lt;/b&gt;?&lt;/p&gt;


&lt;p&gt;2. When running a cosmos search on myself, I notice that most of the 260 links are from &lt;b&gt;me&lt;/b&gt;.  I think I&amp;#8217;d prefer if Technorati didn&amp;#8217;t count self-referrential links.&lt;/p&gt;


&lt;p&gt;3. Hitting the &amp;#8220;next&amp;#8221; button should more or less instantly show me the next page of results.  Sitting through the &amp;#8220;searching&amp;#8230;&amp;#8221; screen is not something you&amp;#8217;d expect to have to do and is discouraging.&lt;/p&gt;


&lt;p&gt;Anyway, that&amp;#8217;s it for now.  Hope you find this feedback helpful in improving the service, Dave.  Best wishes for the holidays.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Technorati F'd Up (again)</title>
   <link href="http://carter.rabasa.com/2004/11/23/technorati-f-d-up-again/"/>
   <updated>2004-11-23T05:57:57-08:00</updated>
   <id>http://carter.rabasa.com/2004/11/23/technorati-f-d-up-again</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/technorati-f-d-up-again&quot;&gt;http://cubanlinks.org/2006/11/30/technorati-f-d-up-again&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Anyone getting Technorati to work for them?  According to them, I have no claimed weblogs, and the &lt;span class=&quot;caps&quot;&gt;URL&lt;/span&gt; &amp;#8220;http://cubanlinks.org/blog&amp;#8221; appears nowhere in their system.  Incidentally, neither does &amp;#8220;http://www.chrishalverson.com/&amp;#8221; or &amp;#8220;http://www.pokergrub.com&amp;#8221;.  Sigh.  I was really hoping these guys would become the Google of the blogging world.  But the service has been flaky (not updating my rankings, etc) for &lt;i&gt;months&lt;/i&gt; and now seems flat-out crippled.  I think its time for someone to step into that space with a service as reliable as most other web-apps we all rely on.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Brown Bagging the Net</title>
   <link href="http://carter.rabasa.com/2004/09/21/brown-bagging-the-net/"/>
   <updated>2004-09-21T13:53:23-07:00</updated>
   <id>http://carter.rabasa.com/2004/09/21/brown-bagging-the-net</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/brown-bagging-the-net&quot;&gt;http://cubanlinks.org/2006/11/30/brown-bagging-the-net&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.techliberation.com/archives/014434.php&quot;&gt;Suberb essay&lt;/a&gt; over at &lt;a href=&quot;http://www.techliberation.com&quot;&gt;The Technology Liberation Front&lt;/a&gt; dissecting articles from &lt;a href=&quot;http://www.wired.com/wired/archive/12.09/view.html?pg=5&quot;&gt;Larry Lessig&lt;/a&gt; and &lt;a href=&quot;http://www.thenewatlantis.com/archive/6/jrosen.htm&quot;&gt;Jeffrey Rosen&lt;/a&gt; about obscenity on the Internet.  I left a little comment, less to add my own thoughts, but more to refute someone else&amp;#8217;s.  Nice guy I am, right?  After reading these essays, I&amp;#8217;m flabbergasted.  The word &amp;#8220;filter&amp;#8221; came up 12 times in this essay, with all kind of First Amendment implications being discussed.  You&amp;#8217;ve got to be kidding me, right?  Filters are &lt;b&gt;optional&lt;/b&gt;!  I don&amp;#8217;t use a filter.  No one &lt;i&gt;has&lt;/i&gt; to use a filter.  So how&amp;#8217;d this become a central part of the discussion?&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Technora-- Core Dump</title>
   <link href="http://carter.rabasa.com/2004/08/26/technora-core-dump/"/>
   <updated>2004-08-26T10:45:45-07:00</updated>
   <id>http://carter.rabasa.com/2004/08/26/technora-core-dump</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/technora-core-dump&quot;&gt;http://cubanlinks.org/2006/11/30/technora-core-dump&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;A couple of days ago Doc Searls &lt;a href=&quot;http://doc.weblogs.com/2004/08/24#priorities&quot;&gt;commented on Technorati&amp;#8217;s recent infusion of cash&lt;/a&gt; and Dave Sifry&amp;#8217;s &lt;a href=&quot;http://www.sifry.com/alerts/archives/000371.html&quot;&gt;reluctance to crow about it&lt;/a&gt;.  Doc is on the Technorati advisor board, and applauded Dave&amp;#8217;s focus on results, not money.&lt;/p&gt;


&lt;p&gt;Well, if you&amp;#8217;ve been even a &lt;i&gt;casual&lt;/i&gt; Technorati user, I&amp;#8217;m sure you&amp;#8217;re as aware as I am that they have &lt;b&gt;a lot of work to do&lt;/b&gt;.  Today&amp;#8217;s post is brought to you by:
&lt;blockquote&gt;
Warning: fwrite(): supplied argument is not a valid stream resource in /usr/local/technorati/www/RC_2004_08_19b/php/clusterdbapi.php on line 54
&lt;/blockquote&gt;
&lt;p&gt;
I mean, this is getting crazy, right?  This latest problem comes on the heals of a week or so where I wasn&amp;#8217;t able to log-in.  And as long as I&amp;#8217;ve used the service, &lt;a href=&quot;http://www.technorati.com/cosmos/search.html?rank=&amp;#38;url=http%3A%2F%2Fcubanlinks.org%2Fblog&quot;&gt;discussion bubbles searches&lt;/a&gt; on my blog have returned results &lt;i&gt;maybe&lt;/i&gt; 25% of the time.  The other 75% of the time the result set is empty, and I just end up hitting the search button again&amp;#8230; and again&amp;#8230; and again.&lt;/p&gt;
&lt;p&gt;
Anyway, I don&amp;#8217;t mean to harp, really.  I&amp;#8217;m a web developer and can only imagine the stress their system is undergoing.  But look, in the kind of competitive environment Technorati is in, they have to do much, much better.  So, spend that money, hire some talent, and re-architect the system for the future.
&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Not a Failure</title>
   <link href="http://carter.rabasa.com/2004/08/24/not-a-failure/"/>
   <updated>2004-08-24T07:46:43-07:00</updated>
   <id>http://carter.rabasa.com/2004/08/24/not-a-failure</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/not-a-failure&quot;&gt;http://cubanlinks.org/2006/11/30/not-a-failure&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Against all odds, I passed the &lt;span class=&quot;caps&quot;&gt;BEA&lt;/span&gt; Weblogic Developer certification exam this morning with a score of 77 (66 needed to pass).  Words can&amp;#8217;t express the relief I felt after I got my score.  What does passing this test actually mean?  I&amp;#8217;m not sure.  Something.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Semantics</title>
   <link href="http://carter.rabasa.com/2004/08/23/semantics/"/>
   <updated>2004-08-23T09:26:30-07:00</updated>
   <id>http://carter.rabasa.com/2004/08/23/semantics</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/semantics&quot;&gt;http://cubanlinks.org/2006/11/30/semantics&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;My &lt;a href=&quot;/blog/post.xml&quot;&gt;&lt;span class=&quot;caps&quot;&gt;RSS 2&lt;/span&gt;.0 feed&lt;/a&gt; has been requested 4.5 times as often as my &lt;a href=&quot;/blog/post.html&quot;&gt;index page&lt;/a&gt; so far this month.  This isn&amp;#8217;t a blip, &lt;a href=&quot;http://www.google.com/search?hl=en&amp;#38;ie=UTF-8&amp;#38;q=%22semantic+web%22&amp;#38;btnG=Google+Search&quot;&gt;this is the future&lt;/a&gt;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Mail Log Analysis</title>
   <link href="http://carter.rabasa.com/2004/08/18/mail-log-analysis/"/>
   <updated>2004-08-18T07:22:22-07:00</updated>
   <id>http://carter.rabasa.com/2004/08/18/mail-log-analysis</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/mail-log-analysis&quot;&gt;http://cubanlinks.org/2006/11/30/mail-log-analysis&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I recently set-up &lt;a href=&quot;http://awstats.sourceforge.net/&quot;&gt;AWStats&lt;/a&gt; to analyze my mail logs.  I&amp;#8217;ve had sporadic problems with my mail server (people not recieving emails I&amp;#8217;ve sent, emails to me getting lost, etc) and I decided I need to keep a closer eye on it.  Anyway, after 2+ days of analysis it seems that 7 out of 604 emails failed to transmit successfully.  That&amp;#8217;s about 1.1%.  Is this acceptable? Terrible?  I have no idea, but I&amp;#8217;m definitely going to start poking around to see what&amp;#8217;s wrong.  In my naive mind, &lt;b&gt;zero&lt;/b&gt; failed emails should be the goal.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>GMail Reloaded</title>
   <link href="http://carter.rabasa.com/2004/08/09/gmail-reloaded/"/>
   <updated>2004-08-09T10:43:28-07:00</updated>
   <id>http://carter.rabasa.com/2004/08/09/gmail-reloaded</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/gmail-reloaded&quot;&gt;http://cubanlinks.org/2006/11/30/gmail-reloaded&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I have &lt;i&gt;huge amounts&lt;/i&gt; of old mail from my old email server that I have been unable to load into my new email server.  Long story short, I haven&amp;#8217;t been able to use Cyrdeliver to route email to a specific subfolder.  It will only go to the inbox (root folder).&lt;/p&gt;


&lt;p&gt;Recently, I&amp;#8217;ve stumbled upon &lt;a href=&quot;http://www.marklyon.org/gmail/default.htm&quot;&gt;Mark Lyon&amp;#8217;s GMail Loader&lt;/a&gt; and almost fainted.  This is freaking amazing.  I&amp;#8217;m going to go home and load these emails into GMail tonight.  If you have a GMail account, you should also check out &lt;a href=&quot;http://www.marklyon.org/gmail/gmailapps.htm&quot;&gt;all these other cool hacks&lt;/a&gt;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Software Patents Are Bad</title>
   <link href="http://carter.rabasa.com/2004/08/06/software-patents-are-bad/"/>
   <updated>2004-08-06T12:19:13-07:00</updated>
   <id>http://carter.rabasa.com/2004/08/06/software-patents-are-bad</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/software-patents-are-bad&quot;&gt;http://cubanlinks.org/2006/11/30/software-patents-are-bad&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.binarybits.org/bitbucket/2004/07/why_id_like_to_.html&quot;&gt;Timothy thinks software patents are a bad idea&lt;/a&gt; and I wholeheartedly agree.  Sometimes when I sit back and reflect on all of the injustices I see around me every day (RIAA, &lt;span class=&quot;caps&quot;&gt;MPAA&lt;/span&gt;, etc), and the lack of public outcry, I realize something: &amp;#8220;Joe Public&amp;#8221; is &lt;b&gt;years&lt;/b&gt; behind the curve.  Whenever I try to explain these issues to my parents or even my own friends, their eyes start to glaze over.  And thus the parallel between the threat of patent lawsuits and mafia &amp;#8220;protection&amp;#8221; schemes is lost on them.  One group who understands the harmful effects of this &lt;b&gt;gap&lt;/b&gt; is &lt;a href=&quot;http://creativecommon.org&quot;&gt;CreativeCommons&lt;/a&gt; who do a great deal to &lt;a href=&quot;http://creativecommons.org/learn/&quot;&gt;educate people&lt;/a&gt; about IP issues in a way anyone can understand.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>RSS and BitTorrent</title>
   <link href="http://carter.rabasa.com/2004/07/30/rss-and-bittorrent/"/>
   <updated>2004-07-30T13:23:19-07:00</updated>
   <id>http://carter.rabasa.com/2004/07/30/rss-and-bittorrent</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/rss-and-bittorrent&quot;&gt;http://cubanlinks.org/2006/11/30/rss-and-bittorrent&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Lately, there&amp;#8217;s been a lot of talk about &lt;a href=&quot;http://weblog.infoworld.com/dickerson/2004/07/20.html#15.12.57&quot;&gt;&lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; and the growing pains it&amp;#8217;s having&lt;/a&gt;.  The idea being that if a website (http://foo.org) has a popular &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; feed (http://foo.org/rss.xml), it may buckle under the pressure of so many requests for its feed.  This problem differs from &amp;#8220;typical&amp;#8221; Internet load issues in that most &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; aggregators are configured to download feeds at &lt;a href=&quot;http://nick.typepad.com/blog/2004/07/more_on_rss_ban.html&quot;&gt;regular intervals&lt;/a&gt; (on the hour, every two hours, etc) and the aggregation of this creates a tsunami of requests in a short period of time.&lt;/p&gt;


&lt;p&gt;While there are &lt;a href=&quot;http://www.intertwingly.net/blog/2004/07/21/Getting-the-Word-Out&quot;&gt;solutions out there&lt;/a&gt;, I haven&amp;#8217;t heard anyone mention the new kid on the block: BitTorrent.  Isn&amp;#8217;t this exactly what BitTorrent is good for?  Every aggregator fetching http://foo.org/rss.xml would help share the burden of distributing this file.  And since so many aggregators can be counted on to hit this file &lt;b&gt;at the same time&lt;/b&gt; the very property (timing) that is causing so many problem to webservers everywhere would instead be its &lt;b&gt;biggest asset&lt;/b&gt;.  Am I crazy?&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Testing a Spring Controller</title>
   <link href="http://carter.rabasa.com/2004/07/30/testing-a-spring-controller/"/>
   <updated>2004-07-30T06:40:24-07:00</updated>
   <id>http://carter.rabasa.com/2004/07/30/testing-a-spring-controller</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/testing-a-spring-controller&quot;&gt;http://cubanlinks.org/2006/11/30/testing-a-spring-controller&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://jroller.com/page/jwboring/20040729#testing_a_mvc_controller_in&quot;&gt;Jeff Boring posts some tips on how to unit test a Spring controller in isolation&lt;/a&gt; using &lt;a href=&quot;http://www.junit.org&quot;&gt;JUnit&lt;/a&gt; and &lt;a href=&quot;http://www.easymock.org&quot;&gt;EasyMock&lt;/a&gt;.  Very cool! &lt;i&gt;&lt;a href=&quot;http://jroller.com/page/raible/20040729#unit_testing_spring_controllers&quot;&gt;[via Matt Raible]&lt;/a&gt;&lt;/i&gt;&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Spam Via HTTP</title>
   <link href="http://carter.rabasa.com/2004/07/22/spam-via-http/"/>
   <updated>2004-07-22T13:13:59-07:00</updated>
   <id>http://carter.rabasa.com/2004/07/22/spam-via-http</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/spam-via-http&quot;&gt;http://cubanlinks.org/2006/11/30/spam-via-http&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I suspected this before, but now that I&amp;#8217;m analyzing my &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt; logs, I can&amp;#8217;t believe how many &lt;span class=&quot;caps&quot;&gt;SPAM&lt;/span&gt; bots are out there trying (in vain) to invoke common &lt;span class=&quot;caps&quot;&gt;CGI&lt;/span&gt; scripts on my website to send &lt;span class=&quot;caps&quot;&gt;SPAM&lt;/span&gt;.  Here is a list of the most common &lt;span class=&quot;caps&quot;&gt;URI&lt;/span&gt;&amp;#8217;s attempted (which all 404)&lt;/p&gt;


&lt;ul&gt;&lt;li&gt;/cgi-bin/form.cgi&lt;/li&gt;&lt;li&gt;/cgi/formonly.cgi&lt;/li&gt;&lt;li&gt;/cgi-bin/formmail.pl&lt;/li&gt;&lt;li&gt;/cgi-bin/FormMail.pl&lt;/li&gt;&lt;li&gt;/cgi-bin/form2mail.cgi&lt;/li&gt;&lt;li&gt;/cgi/formmail&lt;/li&gt;&lt;li&gt;/cgi-bin/formmail.cgi&lt;/li&gt;&lt;li&gt;/cgi-bin/fmail.pl&lt;/li&gt;/cgi-bin/contact.pl&lt;/li&gt;&lt;li&gt;/cgi-bin/mailform.pl&lt;/li&gt;&lt;/ul&gt;


&lt;p&gt;There are more, but you get the gist.  Mother f&amp;#8217;ers.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Referer Spam?</title>
   <link href="http://carter.rabasa.com/2004/07/22/referer-spam/"/>
   <updated>2004-07-22T10:27:51-07:00</updated>
   <id>http://carter.rabasa.com/2004/07/22/referer-spam</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/referer-spam&quot;&gt;http://cubanlinks.org/2006/11/30/referer-spam&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;For some reason, I have dozens of hits in my &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt; referer log from &lt;a href=&quot;http://joi.ito.com&quot;&gt;joi.ito.com&lt;/a&gt;.  Obviously, I am not linked off of his site, so my question is: what&amp;#8217;s up?&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Lame</title>
   <link href="http://carter.rabasa.com/2004/07/19/lame/"/>
   <updated>2004-07-19T07:01:36-07:00</updated>
   <id>http://carter.rabasa.com/2004/07/19/lame</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/lame&quot;&gt;http://cubanlinks.org/2006/11/30/lame&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Flickr seems to be blocking my blog&amp;#8217;s image requests, resulting in the broken images you see to your left.  This blows.  I&amp;#8217;ll try to rectify this tonight.&lt;/p&gt;


&lt;br/&gt;&lt;p&gt;&lt;i&gt;Update&lt;/i&gt;: Ok, I figured out the problem.  Flickr used to pass the &lt;span class=&quot;caps&quot;&gt;URL&lt;/span&gt; to the full-sized image in its &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; feed, which I would then parse and use to build the &lt;span class=&quot;caps&quot;&gt;URL&lt;/span&gt; for the thumbnail.  Now, they&amp;#8217;ve changed the feed to pass the thumbnail &lt;span class=&quot;caps&quot;&gt;URL&lt;/span&gt;, so the &lt;span class=&quot;caps&quot;&gt;URL&lt;/span&gt; that my code creates is invalid.  I&amp;#8217;ve fixed the problem and will update the site tonight.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Six Degrees of Google</title>
   <link href="http://carter.rabasa.com/2004/07/15/six-degrees-of-google/"/>
   <updated>2004-07-15T12:50:51-07:00</updated>
   <id>http://carter.rabasa.com/2004/07/15/six-degrees-of-google</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/six-degrees-of-google&quot;&gt;http://cubanlinks.org/2006/11/30/six-degrees-of-google&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.touchgraph.com/TGGoogleBrowser.html&quot;&gt;This tool is freaking cool&lt;/a&gt;.  It let&amp;#8217;s you enter in a domain (cubanlinks.org, etc) and see visually (warning: needs Java) the relationship between the sites you link to, the sites that link to you, etc.  Very cool.  &lt;a href=&quot;http://dave.dontpokeme.com/poker/index.php/archives/2004/07/15/poker-blog-web-thingy/&quot;&gt;&lt;i&gt;[via David]&lt;/i&gt;&lt;/a&gt;&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>RSS</title>
   <link href="http://carter.rabasa.com/2004/07/15/rss-2/"/>
   <updated>2004-07-15T11:32:36-07:00</updated>
   <id>http://carter.rabasa.com/2004/07/15/rss-2</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/rss&quot;&gt;http://cubanlinks.org/2006/11/30/rss&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;You can&amp;#8217;t stop &lt;a href=&quot;http://blogs.law.harvard.edu/tech/rss&quot;&gt;&lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt;&lt;/a&gt;, you can only hope to contain it.  The day will come where most hits on the web are for feeds, not pages.  &lt;a href=&quot;http://dave.dontpokeme.com/poker/index.php/archives/2004/06/23/rss-madness/&quot;&gt;Some people are seeing this now&lt;/a&gt;.&lt;/p&gt;


&lt;p&gt;&lt;i&gt;Update:&lt;/i&gt; &lt;a href=&quot;http://dave.dontpokeme.com/poker/&quot;&gt;Dave&lt;a/&gt; addressed &lt;a href=&quot;http://dave.dontpokeme.com/poker/index.php/archives/2004/04/08/guinness-and-rss/&quot;&gt;this issue&lt;/a&gt; a while back (with &lt;a href=&quot;http://guinnessandpoker.blogspot.com/&quot;&gt;Iggy&lt;/a&gt; no less!).  Of course, I believe people should post the full content of their posts.  This is both for selfish reasons (I work behind a cruel and vicious firewall, and can only read &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt;) and network-effect reasons.  The network effect being: the more people who can read your content, the more people who will link to your content, and the more people who will happen upon your content, who in turn will link to your content&amp;#8230;ad infinitum.  Maybe Iggy will come around (I hope he does!).&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Technorati Issues</title>
   <link href="http://carter.rabasa.com/2004/07/09/technorati-issues/"/>
   <updated>2004-07-09T06:55:23-07:00</updated>
   <id>http://carter.rabasa.com/2004/07/09/technorati-issues</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/technorati-issues&quot;&gt;http://cubanlinks.org/2006/11/30/technorati-issues&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Looks like &lt;a href=&quot;http://www.technorati.com&quot;&gt;Technorati is down&lt;/a&gt;.  At first the page was loading, but showing &lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt; errors.  Now it won&amp;#8217;t even load.  I guess &lt;a href=&quot;http://www.gapingvoid.com/Moveable_Type/archives/000842.html&quot;&gt;all that traffic&lt;/a&gt; is a double-edged sword.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Gmail Hacks</title>
   <link href="http://carter.rabasa.com/2004/07/02/gmail-hacks/"/>
   <updated>2004-07-02T13:02:39-07:00</updated>
   <id>http://carter.rabasa.com/2004/07/02/gmail-hacks</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/gmail-hacks&quot;&gt;http://cubanlinks.org/2006/11/30/gmail-hacks&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;It was just a matter of time before &lt;a href=&quot;http://www.holovaty.com/blog/archive/2004/06/20/0242&quot;&gt;people started to write hacks for Gmail&lt;/a&gt;.   This stuff is so cool.  Anyone working on Java versions of this?&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Taurus is Up and Running</title>
   <link href="http://carter.rabasa.com/2004/06/17/taurus-is-up-and-running/"/>
   <updated>2004-06-17T05:07:48-07:00</updated>
   <id>http://carter.rabasa.com/2004/06/17/taurus-is-up-and-running</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/taurus-is-up-and-running&quot;&gt;http://cubanlinks.org/2006/11/30/taurus-is-up-and-running&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Those of you who are subscribed to any of the mailing lists I manage (kickball, poker, etc) may have noticed things amiss yesterday.  This was due to a not-so-seamless migration of my email and email-services from my old machine (rome.cubanlinks.org, &lt;span class=&quot;caps&quot;&gt;PII&lt;/span&gt; box) to my new machine (taurus.cubanlinks.org, &lt;span class=&quot;caps&quot;&gt;PIII&lt;/span&gt; box) which was donated by, and thus christened after, Taurus.&lt;/p&gt;


&lt;p&gt;Anyway, things seem to be fixed at the moment, and I thought I&amp;#8217;d describe some of the upgrades associated with my migration.&lt;/p&gt;


&lt;p&gt;  &lt;a href=&quot;/blog/articles/2004/06/17/taurus-is-up-and-running&quot;&gt;Read more&amp;#8230;&lt;/a&gt;&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Google's Done</title>
   <link href="http://carter.rabasa.com/2004/05/13/google-s-done/"/>
   <updated>2004-05-13T06:38:14-07:00</updated>
   <id>http://carter.rabasa.com/2004/05/13/google-s-done</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/google-s-done&quot;&gt;http://cubanlinks.org/2006/11/30/google-s-done&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;It was too good to last.  The idea that a company like Google could go from zero to hero and stay true to what got them there.  But money (and investors and management and PR people and&amp;#8230;) talks and then next thing you know &lt;a href=&quot;http://diveintomark.org/archives/2004/05/11/google-watcher&quot;&gt;Google is speaking legalese and covering their asses&lt;/a&gt; with the best of them.&lt;/p&gt;


&lt;p&gt;I&amp;#8217;m sure you&amp;#8217;ll think I&amp;#8217;m blowing this out of proportion, but I don&amp;#8217;t think so.  This is a trend I&amp;#8217;ve been noticing, from booting people from their AdSense program without cause to trying to quash &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; with Atom. Google is forgetting about what got them to the table, and how fickle a user base can be.  If it turns out that AllTheWeb.com (or anything coming from Microsoft or the open source community) is better, I&amp;#8217;ll switch in a heartbeat.  Why wouldn&amp;#8217;t I?  Google has no lock-in.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Compressing Web Content</title>
   <link href="http://carter.rabasa.com/2004/05/11/compressing-web-content/"/>
   <updated>2004-05-11T06:01:38-07:00</updated>
   <id>http://carter.rabasa.com/2004/05/11/compressing-web-content</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/compressing-web-content&quot;&gt;http://cubanlinks.org/2006/11/30/compressing-web-content&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Linux Journal has a great article on &lt;a href=&quot;http://www.linuxjournal.com/article.php?sid=6802&quot;&gt;compressing the content served by Apache&lt;/a&gt;.  Since the vast majority of content being served is text (HTML, &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt;, etc) compression makes a lot of sense.  Lower bandwidth, quicker downloads, the works.  The real trick is to find the sweet spot between the level of compression and the amount of &lt;span class=&quot;caps&quot;&gt;CPU&lt;/span&gt; you sacrifice to handle it.  Once my new server is up and running (courtesy of Taurus) I will implement this &lt;span class=&quot;caps&quot;&gt;ASAP&lt;/span&gt;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Limits</title>
   <link href="http://carter.rabasa.com/2004/05/04/limits/"/>
   <updated>2004-05-04T06:56:22-07:00</updated>
   <id>http://carter.rabasa.com/2004/05/04/limits</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/limits&quot;&gt;http://cubanlinks.org/2006/11/30/limits&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Anyone who even casually browses my sight has noticed a lot of changes.  Worse, they&amp;#8217;ve probably noticed a lot of broken code.  Pages not rendering, error messages, etc.  Other computers are affected too.  Feed readers that can&amp;#8217;t find feeds (rss.do) that were there the day before.  Feeds that are broken (post.xml).  People who click on links to my site from Google (or other search engines) may encounter broken links or empty pages half the time.
&lt;br/&gt;&lt;br/&gt;
The point being that 1) my methods for coding and testing are not working and 2) better methods were consume time that I don&amp;#8217;t have.  This is annoying.  I like working on the site, but I&amp;#8217;m finding that the code-base has become too complicated for simple acceptance testing (clicking on a few links to see what happens).
&lt;br/&gt;&lt;br/&gt;
So, I need to try to find a way to easily automate some simple testing.  Both of the underlying code, and of the &lt;span class=&quot;caps&quot;&gt;JSP&lt;/span&gt; pages.  We&amp;#8217;ll see how it goes, and I apologize for any problems y&amp;#8217;all are having.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Trackback Help</title>
   <link href="http://carter.rabasa.com/2004/04/30/trackback-help/"/>
   <updated>2004-04-30T04:11:07-07:00</updated>
   <id>http://carter.rabasa.com/2004/04/30/trackback-help</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/trackback-help&quot;&gt;http://cubanlinks.org/2006/11/30/trackback-help&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I&amp;#8217;ve just implemented &lt;a href=&quot;http://www.movabletype.org/trackback/beginners/&quot;&gt;Trackback&lt;/a&gt; for my blog.  If you&amp;#8217;re reading this, and can spare a second, send me a trackback.  Please let me know if you experience any problems.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Google Away</title>
   <link href="http://carter.rabasa.com/2004/04/29/google-away/"/>
   <updated>2004-04-29T05:43:07-07:00</updated>
   <id>http://carter.rabasa.com/2004/04/29/google-away</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/google-away&quot;&gt;http://cubanlinks.org/2006/11/30/google-away&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I realized shortly after launching the update to my site, that I had broken every link Google had for me.  I&amp;#8217;ll go into the details below, but suffice to say I needed to fix this quick.  After all, Google &lt;a href=&quot;http://www.google.com/search?hl=en&amp;#38;ie=UTF-8&amp;#38;oe=UTF-8&amp;#38;q=site%3Acubanlinks.org+the&quot;&gt;has indexed over 1,000 pages from my site&lt;/a&gt;.&lt;/p&gt;




&lt;p&gt;First of, you&amp;#8217;ll notice as you browse that my blog URLs have extensions now (html, xml, etc).  I decided (against conventional wisdom) to add back extensions because I think they make sense: they describe to the user what kind of file is being served.  If the link has &lt;b&gt;.html&lt;/b&gt; appended to it, you&amp;#8217;ll be getting an &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt; file.  If the link has &lt;b&gt;.xml&lt;/b&gt; appended to it, you&amp;#8217;ll be getting a flavor of &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt; (in this case &lt;span class=&quot;caps&quot;&gt;RSS 2&lt;/span&gt;.0).
&lt;br/&gt;&lt;br/&gt;
This decision made it possible for me to generate &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; feeds for 5 different views related to posts:&lt;br/&gt;
&lt;ol&gt;
&lt;li&gt;All posts&lt;/li&gt;
&lt;li&gt;Posts for a section&lt;/li&gt;
&lt;li&gt;Posts for a year&lt;/li&gt;
&lt;li&gt;Posts for a month&lt;/li&gt;
&lt;li&gt;Posts for a day&lt;/li&gt;
&lt;/ol&gt;
Sure, the bottom 3 feeds are somewhat useless, but the architecture is flexible, and I like that.  The next feature I might implement is search, and the current design makes it trivial to convert searches to feeds too.
&lt;br/&gt;&lt;br/&gt;
So, the problem I had with Google was converting old links (with no extension) into the new format.  This was accomplished using the Apache module mod_rewrite.  Now, all requests for posts without a suffix will be redirected to the proper &lt;span class=&quot;caps&quot;&gt;URL&lt;/span&gt;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Burning the Midnight Oil</title>
   <link href="http://carter.rabasa.com/2004/04/27/burning-the-midnight-oil/"/>
   <updated>2004-04-27T05:03:11-07:00</updated>
   <id>http://carter.rabasa.com/2004/04/27/burning-the-midnight-oil</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/burning-the-midnight-oil&quot;&gt;http://cubanlinks.org/2006/11/30/burning-the-midnight-oil&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Since I don&amp;#8217;t have access to my server from work, making any big changes is difficult since I have to get it done before I leave for work the next day.  Sprinkle in going to the gym and eating dinner, and the hours are few and far between.
&lt;br/&gt;&lt;br/&gt;
In any case, I think I&amp;#8217;m on my way to locking down my server.  Here&amp;#8217;s a &lt;b&gt;before&lt;/b&gt; snapshot:&lt;br/&gt;&lt;br/&gt;
&lt;ul&gt;
&lt;li&gt;Apache 1.3 (non-SSL) + &lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt; + Tomcat&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;caps&quot;&gt;IMAP&lt;/span&gt; (plaintext over port 143)&lt;/li&gt;
&lt;li&gt;Sendmail 8.12.8 w/ old conf file&lt;/li&gt;
&lt;/ul&gt;
Here&amp;#8217;s how things stand &lt;b&gt;now&lt;/b&gt;:&lt;br/&gt;
&lt;ul&gt;
&lt;li&gt;Apache 1.3 (non-SSL) + Tomcat (my blog)&lt;/li&gt;
&lt;li&gt;Apache 2.0 &lt;span class=&quot;caps&quot;&gt;SSL&lt;/span&gt; (my WebMail)&lt;/li&gt;
&lt;li&gt;&lt;span class=&quot;caps&quot;&gt;IMAP&lt;/span&gt; (checked over an &lt;span class=&quot;caps&quot;&gt;SSH&lt;/span&gt; tunnel)&lt;/li&gt;
&lt;li&gt;Sendmail 8.12.11 w/ new conf file&lt;/li&gt;
&lt;/ul&gt;
So, I&amp;#8217;m feeling better.  Still needs some work, but I&amp;#8217;m getting there.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Bad Times</title>
   <link href="http://carter.rabasa.com/2004/04/26/bad-times/"/>
   <updated>2004-04-26T10:31:46-07:00</updated>
   <id>http://carter.rabasa.com/2004/04/26/bad-times</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/bad-times&quot;&gt;http://cubanlinks.org/2006/11/30/bad-times&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;My email is currently down.  The problems I was having on my Linux box have not gone away, and as a result I&amp;#8217;ve had to shut down my mail server.  My friend Mark (who is hosting my box) is looking into it, but things don&amp;#8217;t look good.  Looks like it&amp;#8217;s been hacked in to.
&lt;br/&gt;&lt;br/&gt;
So, my naive view of the world on-line has been shattered.  Spam, viruses, trojan horses, and hacking-in-general have been introduced into my life in a harsh way.  Long term this is a valuable lesson to learn.  At the moment it couldn&amp;#8217;t come at a worse time.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>More Taste, Less Filling</title>
   <link href="http://carter.rabasa.com/2004/04/26/more-taste-less-filling/"/>
   <updated>2004-04-26T04:11:00-07:00</updated>
   <id>http://carter.rabasa.com/2004/04/26/more-taste-less-filling</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/more-taste-less-filling&quot;&gt;http://cubanlinks.org/2006/11/30/more-taste-less-filling&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;You may (or may not) notice a slight re-vamping to my site.  Under the hood, I&amp;#8217;ve re-written and re-factored just about every line of code.  The most signifact change is that I am now using &lt;a href=&quot;http://www.hibernate.org&quot;&gt;Hibernate&lt;/a&gt; to interface with my database.  Once I get the code cleaned up to my liking, I will post the source on this site.
&lt;br/&gt;&lt;br/&gt;
There are some changes that you should notice:&lt;br/&gt;
&lt;ul&gt;
&lt;li&gt;The list of blogs on the right is now powered by &lt;a href=&quot;http://www.bloglines.com&quot;&gt;Bloglines&lt;/a&gt;, and is seperated by category.&lt;/li&gt;
&lt;li&gt;The URLs now have extensions (.html and .xml).  These extensions determine whether to render the page as &lt;span class=&quot;caps&quot;&gt;HTML&lt;/span&gt; or as &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt;.  So, just about every page on my blog is now also an &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; feed.  If you only care about when I write about &lt;a href=&quot;/section/Poker.html&quot;&gt;poker&lt;/a&gt;, then subscribe to &lt;a href=&quot;/section/Poker.xml&quot;&gt;poker &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; feed&lt;/a&gt;.&lt;/li&gt;
&lt;li&gt;I am in the process of adding Trackback support.  Should be in sometime this week.&lt;/li&gt;
&lt;li&gt;Cosmetic changes have been made. Bueno?&lt;/li&gt;
&lt;/ul&gt;
Feed back is always welcome and appreciated.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>The Google Decade</title>
   <link href="http://carter.rabasa.com/2004/04/06/the-google-decade/"/>
   <updated>2004-04-06T07:03:09-07:00</updated>
   <id>http://carter.rabasa.com/2004/04/06/the-google-decade</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/the-google-decade&quot;&gt;http://cubanlinks.org/2006/11/30/the-google-decade&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://blog.topix.net/archives/000016.html&quot;&gt;A very thought-provoking look into Google&amp;#8217;s technology and where it might take them.&lt;/a&gt;  I&amp;#8217;m a strong believer in the inevitable migration away from pure desktop applications to internet-enabled applications, and it seems like Google may be poised to be a dominant player in that space in the future.
&lt;br/&gt;&lt;br/&gt;
Of course, people (Sun, Oracle, etc) have been saying this for years, and many attempts at pure thin-clients have failed.  What they never understood is that the best internet applications (or services) work in &lt;em&gt;conjunction&lt;/em&gt; with desktop apps. Examples:&lt;br/&gt;
&lt;ul&gt;
&lt;li&gt;CD Player programs + &lt;span class=&quot;caps&quot;&gt;CDDB&lt;/span&gt;&lt;/li&gt;
&lt;li&gt;iTunes + the online music store&lt;/li&gt;
&lt;li&gt;Email client + &lt;span class=&quot;caps&quot;&gt;LDAP&lt;/span&gt; address book&lt;/li&gt;
&lt;li&gt;Windows + Software Updates service&lt;/li&gt;
&lt;li&gt;Quicken + banking services&lt;/li&gt;
&lt;/ul&gt;
The list goes on, and the line between local functionality and network services are getting blurred.  And this isn&amp;#8217;t just a cool technical idea, with no relation to customer demand.  Every day I wish for a way to consolodate personal information (addresses, emails, credit cards, medical info) and have it be available &lt;b&gt;in a secure fashion&lt;/b&gt; to the applications I&amp;#8217;m using or the vendors (stores, doctors, etc) that I&amp;#8217;m interacting with.  And I know I&amp;#8217;m not alone.  The companies who can provide this service will be &lt;em&gt;sitting on a gold mine&lt;/em&gt;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>The Apple of My Eye</title>
   <link href="http://carter.rabasa.com/2004/03/31/the-apple-of-my-eye/"/>
   <updated>2004-03-31T06:29:00-08:00</updated>
   <id>http://carter.rabasa.com/2004/03/31/the-apple-of-my-eye</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/the-apple-of-my-eye&quot;&gt;http://cubanlinks.org/2006/11/30/the-apple-of-my-eye&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://jeremy.zawodny.com/blog/archives/001819.html&quot;&gt;Jeremy is getting a new Powerbook&lt;/a&gt;.  And dammit, I want one too!
&lt;br/&gt;&lt;br/&gt;
&lt;a href=&quot;http://www.proteus.com&quot;&gt;The company I used to work for&lt;/a&gt; was a bastion of Apple goodness.  Even a year later, I still miss my old-school black PowerBook.  As hard as I&amp;#8217;ve tried, my Dell Latutude simply hasn&amp;#8217;t grown on me.  How they remain so firmly extrenched at number 1 is a mystery to me.
&lt;br/&gt;&lt;br/&gt;
Of course, the minute I realize I&amp;#8217;d have to throw down &lt;a href=&quot;http://store.apple.com/1-800-MY-APPLE/WebObjects/AppleStore?family=PowerBook&quot;&gt;over 2 g&amp;#8217;s for a new PowerBook&lt;/a&gt;, I calm down.  I spent 2 plus weeks traveling around southeast Asia for around $2k, so I&amp;#8217;m not sure that iPhoto can really compete with that.  I guess I&amp;#8217;ll just have to wait until my 3 1/2 year old PC starts to make some wheezing noises.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>RSS: How Did (Do) We Live Without It?</title>
   <link href="http://carter.rabasa.com/2004/03/23/rss-how-did-do-we-live-without-it/"/>
   <updated>2004-03-23T09:58:33-08:00</updated>
   <id>http://carter.rabasa.com/2004/03/23/rss-how-did-do-we-live-without-it</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/rss-how-did-do-we-live-without-it&quot;&gt;http://cubanlinks.org/2006/11/30/rss-how-did-do-we-live-without-it&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;b&gt;The series of events:&lt;/b&gt;
&lt;ul&gt;
&lt;li&gt;My &lt;a href=&quot;http://www.bloglines.com&quot;&gt;news aggregator&lt;/a&gt; tells me that &lt;a href=&quot;http://www.scripting.com&quot;&gt;Dave&amp;#8217;s site&lt;/a&gt; has a new post (several actually). My aggregator is web-based, and automatically refreshes the page to alert me of new posts.&lt;/li&gt;
&lt;li&gt;&lt;a href=&quot;http://archive.scripting.com/2004/03/23#When:11:43:26AM&quot;&gt;He mentions&lt;/a&gt; that Harvard is holding a &lt;a href=&quot;http://cyber.law.harvard.edu/ilaw&quot;&gt;Internet law conference&lt;/a&gt; this May.  The cost is &lt;em&gt;$2000&lt;/em&gt; but bloggers who have an interest in Internet law (me) may apply for a fee-waiver (scholorship).&lt;/li&gt;
&lt;li&gt;I send in an email, crossing my fingers.&lt;/li&gt;
&lt;/ul&gt;
The odds of this happening a few years ago would have been slim.  Everything would have hinged on browsing Dave&amp;#8217;s site just as the post went up, so that I might notice it sitting at the top of the page.  The ineffiencies of the past are staggering.&lt;br/&gt;&lt;br/&gt;
And it doesn&amp;#8217;t stop with blogs.  Why isn&amp;#8217;t &lt;a href=&quot;http://www.amazon.com&quot;&gt;Amazon.com&lt;/a&gt; offer a feed for new products (maybe by category)?  How great would it be to know (immediately) when a new cell phone or &lt;span class=&quot;caps&quot;&gt;MP3&lt;/span&gt; player is being offered for sale?  How can these features not exists already?
&lt;br/&gt;&lt;br/&gt;
&lt;i&gt;Update:&lt;/i&gt; &lt;a href=&quot;http://www.onfocus.com/index.asp?xml=2003_07_01_past.xml#3268&quot;&gt;Here is a way to obtain &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; feeds for Amazon products sorted by sales rank or date&lt;/a&gt;. &lt;a href=&quot;http://www.onfocus.com&quot;&gt;[onfocus.com]&lt;/a&gt;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Falling Behind</title>
   <link href="http://carter.rabasa.com/2004/01/06/falling-behind/"/>
   <updated>2004-01-06T10:59:01-08:00</updated>
   <id>http://carter.rabasa.com/2004/01/06/falling-behind</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/falling-behind&quot;&gt;http://cubanlinks.org/2006/11/30/falling-behind&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;It is tragic how out of step I am with the latest and greatest things these days.  I used to live and die on the bleeding edge of things, but I now find myself clued-out of a range of exciting things:&lt;br/&gt;&lt;/p&gt;

&lt;ul&gt;
&lt;li&gt;Social Networks &amp;#8211; &lt;a href=&quot;http://www.friendster.com&quot;&gt;Friendster&lt;/a&gt;, &lt;a href=&quot;http://www.linkedin.com&quot;&gt;LinkedIn&lt;/a&gt;, etc&lt;/li&gt;
&lt;li&gt;Non-Kazaa &lt;span class=&quot;caps&quot;&gt;P2P&lt;/span&gt; &amp;#8211; &lt;a href=&quot;http://www.edonkey.com/&quot;&gt;E-Donkey&lt;/a&gt;, &lt;a href=&quot;http://bitconjurer.org/BitTorrent/&quot;&gt;Bit Torrent&lt;/a&gt;, &lt;a href=&quot;http://dcplusplus.sourceforge.net/&quot;&gt;DC++&lt;/a&gt;, etc&lt;/li&gt;
&lt;li&gt;Lossless Audio &amp;#8211; &lt;a href=&quot;http://www.etree.org/shncom.html&quot;&gt;&lt;span class=&quot;caps&quot;&gt;SHN&lt;/span&gt; (Shorten) audio compression&lt;/a&gt;, &lt;a href=&quot;http://db.etree.org/&quot;&gt;The Traders Database&lt;/a&gt;, etc&lt;/li&gt;
&lt;/ul&gt;


&lt;p&gt;This goes on and on&amp;#8230;.&lt;/p&gt;
</content>
 </entry>
 
 <entry>
   <title>Creative Commons</title>
   <link href="http://carter.rabasa.com/2003/12/18/creative-commons/"/>
   <updated>2003-12-18T10:29:37-08:00</updated>
   <id>http://carter.rabasa.com/2003/12/18/creative-commons</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/creative-commons&quot;&gt;http://cubanlinks.org/2006/11/30/creative-commons&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Ever since I first stumbled upon Prof. &lt;a href=&quot;http://www.lessig.org/blog/&quot;&gt;Lawrence Lessig&amp;lt;/a&amp;gt;&amp;#8217;s book &lt;a href=&quot;http://www.amazon.com/exec/obidos/tg/detail/-/0375726446/qid=1071771299//ref=sr_8_xs_ap_i2_xgl14/102-8258752-4716120?v=glance&amp;#38;s=books&amp;#38;n=507846&quot;&gt;The Future of Ideas&lt;/a&gt;, I have been keenly aware that we are living in a dangerous era, where yesterday&amp;#8217;s laws are being superceded by today&amp;#8217;s technologies.  And this erosion in the relevance of yesterday&amp;#8217;s laws are creating a panic within the industries who are incapable of imagining themselves in this new world.  And through lawsuits (RIAA) and legislation (DMCA), these industries (music, film, etc) not only hope to stunt the growth of choice and convenience among consumers of content, but possibly even supercede their previous bounderies and ulimtately eradicate all conceptions of fair use.
&lt;br/&gt;&lt;br/&gt;
Think I&amp;#8217;m crazy?  &lt;a href=&quot;http://techdirt.com/articles/20031217/1820229_F.shtml&quot;&gt;Check out&lt;/a&gt; what&amp;#8217;s going on up in Ithaca.  This is just a taste of the world we will all be coming to know as information becomes more digital, and we all become more connected (and trackable).
&lt;br/&gt;&lt;br/&gt;
What&amp;#8217;s the remedy?  I don&amp;#8217;t know, but the &lt;a href=&quot;http://creativecommons.org&quot;&gt;Creative Commons&lt;/a&gt; is a start.  If you want an animated trip through some of the issues that the Creative Commons means to tackle, check out this &lt;a href=&quot;http://mirrors.creativecommons.org/recticulum_rex/cc.milestones.121503.swf&quot;&gt;Flash presentation&lt;/a&gt;.  It does an amazing job of summing up what many find hard to express about the problems with the current copyright legal system.
&lt;br/&gt;&lt;br/&gt;
Once you&amp;#8217;re sold on the idea of the Creative Commons, make sure to check out &lt;a href=&quot;http://commoncontent.org/&quot;&gt;Common Content&lt;/a&gt;, a repository of Creative Commons content.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Cubanlinks V2.0</title>
   <link href="http://carter.rabasa.com/2003/12/16/cubanlinks-v2-0/"/>
   <updated>2003-12-16T10:32:52-08:00</updated>
   <id>http://carter.rabasa.com/2003/12/16/cubanlinks-v2-0</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/cubanlinks-v2-0&quot;&gt;http://cubanlinks.org/2006/11/30/cubanlinks-v2-0&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Well, I&amp;#8217;m back.  Hope you like the new look.  I&amp;#8217;ll go into some detail about what&amp;#8217;s new, what&amp;#8217;s been thrown out, and what&amp;#8217;s on the way.&lt;br/&gt;&lt;br/&gt;
Feedback is greatly appreciated.  The constructive, the better, but I can handle some flames.&lt;br/&gt;&lt;br/&gt;
For those of you who don&amp;#8217;t tilt your head when I saw &amp;#8220;blog&amp;#8221;, you might notice some similarities to some popular blogs (&lt;a href=&quot;http://diveintomark.org&quot;&gt;Dive Into Mark&lt;/a&gt;) and popular blogging software (&lt;a href=&quot;http://moveabletype.org&quot;&gt;Moveable Type&lt;/a&gt;).&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Arrrrr!</title>
   <link href="http://carter.rabasa.com/2003/10/29/arrrrr/"/>
   <updated>2003-10-29T11:56:41-08:00</updated>
   <id>http://carter.rabasa.com/2003/10/29/arrrrr</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/arrrrr&quot;&gt;http://cubanlinks.org/2006/11/30/arrrrr&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Next time someone labels me a music download &lt;em&gt;pirate&lt;/em&gt; (are you listening &lt;span class=&quot;caps&quot;&gt;RIAA&lt;/span&gt;??), I&amp;#8217;ll just whip out my credit card bill which should have a &lt;b&gt;$0.99&lt;/b&gt; line item for the download of &amp;#8220;Cortez the Killer&amp;#8221; by Neil Young.  How did I come to this purchase?  By looking at the &amp;#8220;celebrity&amp;#8221; playlist set-up by Billy Corgan, of Smashing Pumpkin fame.
&lt;br/&gt;&lt;br/&gt;
So, sure, I still have a couple hundred downloaded songs, but this is a promising start.  I can&amp;#8217;t wait to get home and stick this song on my iPod.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Take a Bite From This Apple</title>
   <link href="http://carter.rabasa.com/2003/10/29/take-a-bite-from-this-apple/"/>
   <updated>2003-10-29T09:41:08-08:00</updated>
   <id>http://carter.rabasa.com/2003/10/29/take-a-bite-from-this-apple</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/take-a-bite-from-this-apple&quot;&gt;http://cubanlinks.org/2006/11/30/take-a-bite-from-this-apple&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I just downloaded &lt;a href=&quot;http://www.apple.com/itunes/&quot;&gt;iTunes for Windows&lt;/a&gt; and have rediscovered something that I loved (and missed) so much about my old Mac.  I had been limping by using Winamp, Windows Media Player, and various freeware &lt;span class=&quot;caps&quot;&gt;ID3&lt;/span&gt; tag editors.
&lt;br/&gt;&lt;br/&gt;
I haven&amp;#8217;t had a chance to install this on my home machine (where my main music collection lives) but I&amp;#8217;ve played around enough of my laptop to feel confident that my entire Mp3 collection will be properly tagged and organized by the end of the weekend.  Which is no small feat.  If you&amp;#8217;re a Windows user and you haven&amp;#8217;t tried iTunes, you&amp;#8217;ve got to check it out.
&lt;br/&gt;&lt;br/&gt;
I might even buy a track or two from the on-line store, imagine that!&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Carter: 0, Computer: 1</title>
   <link href="http://carter.rabasa.com/2003/04/09/carter-0-computer-1/"/>
   <updated>2003-04-09T10:59:58-07:00</updated>
   <id>http://carter.rabasa.com/2003/04/09/carter-0-computer-1</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/carter-0-computer-1&quot;&gt;http://cubanlinks.org/2006/11/30/carter-0-computer-1&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;My Linux server is pimp-slapping me around like a nickel ho.  I tried to upgrade my &lt;a href=&quot;http://www.openssh.org&quot; title=&quot;OpenSSH&quot;&gt;OpenSSH&lt;/a&gt; installation to 3.6.1.  My previous install was 3.0.1, and was woefully out of date.  So, I install the new &lt;span class=&quot;caps&quot;&gt;SSH&lt;/span&gt; binaries and reboot my computer.  &lt;br/&gt;&lt;br/&gt;
Naturally, everything explodes.  Despite my money start-up scripts, &lt;b&gt;nothing comes up&lt;/b&gt; (save httpd).  My box is hosted out at my buddy&amp;#8217;s hosting facility and I was forced to wait for him to schlep out to some random building and find out what was wrong.  He logs-on and discovers that my &lt;span class=&quot;caps&quot;&gt;SSH&lt;/span&gt; install is a shambles, and for some reason will not authenticate users.
&lt;br/&gt;&lt;br/&gt;
Anyway, my system has been down for hours at this point, so I ask him to start-up my vital services (SMTP, &lt;span class=&quot;caps&quot;&gt;IMAP&lt;/span&gt;, and &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt;) and promise to come over myself tomorrow morning and fix the rest.  What a &lt;em&gt;show&lt;/em&gt;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Verizon: The Anti-Christ of Utility Companies</title>
   <link href="http://carter.rabasa.com/2003/04/02/verizon-the-anti-christ-of-utility-companies/"/>
   <updated>2003-04-02T12:31:03-08:00</updated>
   <id>http://carter.rabasa.com/2003/04/02/verizon-the-anti-christ-of-utility-companies</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/verizon-the-anti-christ-of-utility-companies&quot;&gt;http://cubanlinks.org/2006/11/30/verizon-the-anti-christ-of-utility-companies&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I moved into my new apartment on March 15th.  My original date for the installation of my phone line was March 17th.  By the time I picked up a phone and got a dial tone it was &lt;b&gt;April 1st&lt;/b&gt;.
&lt;br/&gt;&lt;br/&gt;
While that might not sound &lt;u&gt;so&lt;/u&gt; bad, you first need to understand the constant stream of bullshit that I got for their CSRs.  Every day I would call and inquire to the status of my order.  &lt;span class=&quot;caps&quot;&gt;EVERY DAY&lt;/span&gt;, I would be told the same thing: &lt;i&gt;We&amp;#8217;re sending someone out [this evening,tomorrow morning].&lt;/i&gt;  The next day would come, there would be no dial tone, and I would call back and repeat the process.  It became a running joke in my apartment and at work.
&lt;br/&gt;&lt;br/&gt;
Eventually I flipped out and demanded to speak to a manager on Monday, March 31st.  This was a day after I got a voice-mail on my cell phone from an Verizon cable tech telling me: &lt;i&gt;There are problems with the lines.  Blah blah.  We fix the issues, and have your service on in 24 hours.&lt;/i&gt;  So, the &lt;span class=&quot;caps&quot;&gt;CSR&lt;/span&gt; tells me no manager is available at the moment, but she&amp;#8217;ll have one return my call by 7pm.  7:01pm rolls around and I call back.  By some chance I get the same lady.  She recognizes me and puts me through to a manager.  I &lt;em&gt;strongly&lt;/em&gt; voice my displeasure, and he explains to me they&amp;#8217;re doing the best they can, etc.  He promises to have someone out the next day.
&lt;br/&gt;&lt;br/&gt;
I got home from work yesterday and, purely out of habit, checked to see if there was a dial tone.  Indeed there was!  Of course, the hilarious part is that I still need to get &lt;span class=&quot;caps&quot;&gt;DSL&lt;/span&gt;.  I&amp;#8217;d say the over/under on that would be June 1st.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Slashdot Down!</title>
   <link href="http://carter.rabasa.com/2003/03/28/slashdot-down/"/>
   <updated>2003-03-28T13:56:34-08:00</updated>
   <id>http://carter.rabasa.com/2003/03/28/slashdot-down</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/slashdot-down&quot;&gt;http://cubanlinks.org/2006/11/30/slashdot-down&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://slashdot.org&quot; title=&quot;News for Nerds&quot;&gt;Slashdot&lt;/a&gt; was down for a moment today.  Screenshot of this will be up in a moment.
&lt;br/&gt;&lt;br/&gt;
&lt;i&gt;Update:&lt;/i&gt; &lt;a href=&quot;/images/slashdot_down.png&quot; title=&quot;screen cap of Slashdot.org down&quot;&gt;Here&lt;/a&gt; is the screen shot I got.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Bug #184729 Fixed</title>
   <link href="http://carter.rabasa.com/2003/03/24/bug-184729-fixed/"/>
   <updated>2003-03-24T15:38:19-08:00</updated>
   <id>http://carter.rabasa.com/2003/03/24/bug-184729-fixed</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/bug-184729-fixed&quot;&gt;http://cubanlinks.org/2006/11/30/bug-184729-fixed&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I sent my friend Sarah a perma-link to a post I wrote about the war.  It was easier than explaining how I felt over IM.  Much to my dismay, she told me she got an error page when she clicked on the link.  After some investigation, I discovered I was improperly &lt;a href=&quot;http://java.sun.com/j2se/1.4.1/docs/api/java/text/SimpleDateFormat.html&quot; title=&quot;SimpleDateFormat object in Java&quot;&gt;formatting the date&lt;/a&gt;.
&lt;br/&gt;&lt;br/&gt;
This:&lt;br/&gt;&lt;br/&gt;
&lt;code&gt;
private final SimpleDateFormat datetime =
    new SimpleDateFormat(&quot;M/d/yyyy hh:mm&quot;);
&lt;/code&gt;
&lt;br/&gt;&lt;br/&gt;
... became this:&lt;br/&gt;&lt;br/&gt;
&lt;code&gt;
private final SimpleDateFormat datetime =
    new SimpleDateFormat(&quot;M/d/yyyy HH:mm&quot;);
&lt;/code&gt;
&lt;br/&gt;&lt;br/&gt;
Notice the uppercase H&amp;#8217;s in the bottom.  Lower case mean the hour is treated as 0-12.  Uppercase means the hour is treated as 0-23. God, I hate those type of bugs.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Putting Bots in a Figure-Four</title>
   <link href="http://carter.rabasa.com/2003/02/26/putting-bots-in-a-figure-four/"/>
   <updated>2003-02-26T08:15:08-08:00</updated>
   <id>http://carter.rabasa.com/2003/02/26/putting-bots-in-a-figure-four</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/putting-bots-in-a-figure-four&quot;&gt;http://cubanlinks.org/2006/11/30/putting-bots-in-a-figure-four&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Great &lt;a href=&quot;http://diveintomark.org/archives/2003/02/26/how_to_block_spambots_ban_spybots_and_tell_unwanted_robots_to_go_to_hell.html&quot; title=&quot;fuck-off, bots&quot;&gt;rant&lt;/a&gt; on &lt;a href=&quot;http://diveintomark.org/&quot; title=&quot;Mark Pilgrim's site&quot;&gt;Mark Pilgrim&amp;#8217;s site&lt;/a&gt; about how webmasters can shield their sites from unwanted bots.  If you run a larger site and have bandwidth bills to pay ($$) this is a &lt;em&gt;must-read&lt;/em&gt;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Pinging Weblogs.com</title>
   <link href="http://carter.rabasa.com/2003/02/22/pinging-weblogs-com/"/>
   <updated>2003-02-22T13:12:35-08:00</updated>
   <id>http://carter.rabasa.com/2003/02/22/pinging-weblogs-com</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/pinging-weblogs-com&quot;&gt;http://cubanlinks.org/2006/11/30/pinging-weblogs-com&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I just added a feature that allows my blog to &amp;#8220;ping&amp;#8221; weblogs.com (using &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt;-RPC) everytime I add a new post.
&lt;br/&gt;&lt;br/&gt;
&lt;i&gt;What is weblogs.com?&lt;/i&gt;&lt;br/&gt;
&amp;#8220;The core function of Weblogs.Com is a list of weblogs that have changed in the last three hours.&amp;#8221; &lt;a href=&quot;http://newhome.weblogs.com/faq#whatIsWeblogscom&quot;&gt;More information&lt;/a&gt;
&lt;br/&gt;&lt;br/&gt;
&lt;i&gt;What is &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt;-RPC?&lt;/i&gt;
&amp;#8220;It&amp;#8217;s remote procedure calling using &lt;span class=&quot;caps&quot;&gt;HTTP&lt;/span&gt; as the transport and &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt; as the encoding. &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt;-RPC is designed to be as simple as possible, while allowing complex data structures to be transmitted, processed and returned.&amp;#8221; &lt;a href=&quot;http://www.xmlrpc.com/#whatIsXmlrpc&quot;&gt;More information&lt;/a&gt;
&lt;br/&gt;&lt;br/&gt;
&lt;i&gt;How did you implement this?&lt;/i&gt;&lt;br/&gt;
I used an &lt;a href=&quot;http://ws.apache.org/xmlrpc/&quot;&gt;&lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt;-RPC Java library&lt;/a&gt; from Apache.  The code ended up looking like this:&lt;br/&gt;&lt;br/&gt;
&lt;code&gt;
 XmlRpcClient xmlrpc = new XmlRpcClient(XML_RPC_URL);&amp;lt;br/&amp;gt;
Vector params = new Vector ();&amp;lt;br/&amp;gt;
params.addElement (&quot;Carter's Blog&quot;);&amp;lt;br/&amp;gt;
params.addElement (&quot;http://cubanlinks.org&quot;);&amp;lt;br/&amp;gt;
Hashtable result = (Hashtable)xmlrpc.execute(&quot;weblogUpdates.ping&quot;,params);&amp;lt;br/&amp;gt;
&lt;/code&gt;&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Refactoring</title>
   <link href="http://carter.rabasa.com/2003/02/22/refactoring/"/>
   <updated>2003-02-22T12:28:16-08:00</updated>
   <id>http://carter.rabasa.com/2003/02/22/refactoring</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/refactoring&quot;&gt;http://cubanlinks.org/2006/11/30/refactoring&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;In case you couldn&amp;#8217;t tell, I&amp;#8217;m revamping my web-site a little bit.  Finally have some free time to tinker, so tinker I will.  If you have any comments/suggestions, please pass them along.&lt;br/&gt;&lt;br/&gt;
&lt;i&gt;Note: added a ping to weblogs.com via the &lt;a href=&quot;http://www.xmlrpc.com/weblogsCom&quot; title=&quot;weblogs.com XML-RPC&quot;&gt;&lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt;-RPC interface&lt;/a&gt;.  Neat stuff.&lt;/i&gt;&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Dvorak on the Music Industry</title>
   <link href="http://carter.rabasa.com/2002/09/25/dvorak-on-the-music-industry/"/>
   <updated>2002-09-25T07:47:19-07:00</updated>
   <id>http://carter.rabasa.com/2002/09/25/dvorak-on-the-music-industry</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/dvorak-on-the-music-industry&quot;&gt;http://cubanlinks.org/2006/11/30/dvorak-on-the-music-industry&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Here&amp;#8217;s a &lt;a href=&quot;http://www.pcmag.com/article2/0,4149,548513,00.asp&quot; title=&quot;One Buck Forty or Die&quot;&gt;quote&lt;/a&gt; by John C. Dvorak that blew my mind:&lt;br/&gt;&lt;br/&gt;
&lt;i&gt;When Edison first released his prerecorded cylinders, they sold for $4 each. With mass production, he eventually brought the price down to 35 cents, nearly a 90 percent reduction. If the same ratio held true with $16 CDs, the cost of which has been perpetually propped up by price fixing, they would cost $1.40. Since it costs less than 25 cents to mass-produce a CD, $1.40 is reasonable and profitable&amp;#8230; The industry can still make millions of dollars, just not billions. And many artists can go back to making money the old-fashioned way &amp;#8211; by working harder and performing more.&lt;/i&gt;&lt;br/&gt;&lt;br/&gt;
Dvorak is saying two things: 1) that the price of an album should be tied to the cost of pressing a CD and 2) that the music industry should sit back and accept a drop in revenue by a factor of 1000.&lt;br/&gt;&lt;br/&gt;
On the first point, there are a myriad of costs associated with the creation of an album of music that have nothing to do with the medium on which it is delivered.  Artist salaries, music video budgets, the list goes on.  Likewise the record labels recoup this cost in different ways: CD&amp;#8217;s, concerts, merchandise, etc.  Ultimately, the cost of an album should be determined by the market.  I find his price-fixing allegations to be the worriesome issue.&lt;br/&gt;&lt;br/&gt;
The second point I find more disturbing.  I&amp;#8217;m a believer that people will ultimately pay what they consider to be a fair price for legitimate content.  The &lt;span class=&quot;caps&quot;&gt;VCR&lt;/span&gt;, long feared by the movie industry, ended up being its primary profit engine over the last 20 years.  &lt;span class=&quot;caps&quot;&gt;DVD&lt;/span&gt;, once feared by studios who refused to release their films to the new format, is now the most successful consumer electronics story ever.  I would argue that the ability to purchase music on-line, and have it be burnable and playable on multiple devices will ultimately enrich the music industry ,if they give consumers what they want.  Dvorak&amp;#8217;s view is essentially the one shared by Hillary Rosen and the &lt;span class=&quot;caps&quot;&gt;RIAA&lt;/span&gt;, and it is this backwards, defensive attitude about consumers that will keep a mutually beneficial outcome just out of people&amp;#8217;s reach.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Muse.java v0.1</title>
   <link href="http://carter.rabasa.com/2002/08/09/muse-java-v0-1/"/>
   <updated>2002-08-09T11:08:27-07:00</updated>
   <id>http://carter.rabasa.com/2002/08/09/muse-java-v0-1</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/muse-java-v0-1&quot;&gt;http://cubanlinks.org/2006/11/30/muse-java-v0-1&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I have spent the past couple of weeks working in my spare time on a Java &lt;span class=&quot;caps&quot;&gt;SDK&lt;/span&gt; for the &lt;a href=&quot;http://muse.net&quot; title=&quot;muse.net&quot;&gt;Muse.net&lt;/a&gt; service.  I&amp;#8217;ll let the Muse.net site explain what it is that they do.  The short of it is that they offer a web-service that is open to anyone willing to code against it.  My Java &lt;span class=&quot;caps&quot;&gt;SDK&lt;/span&gt; makes it easy for Java/JSP coders to develope Muse clients. &lt;br/&gt;&lt;br/&gt;
So, the guys at Muse have now linked to my &lt;a href=&quot;http://muse.cubanlinks.org&quot; title=&quot;Muse.Java&quot;&gt;Muse.net Java client v0.1&lt;/a&gt; from their main page.  I don&amp;#8217;t mind the attention (or help if it comes).  I just hope my webserver doesn&amp;#8217;t crash. :)
&lt;br/&gt;&lt;br/&gt;
As I have time, I will be posting source code, build scripts, etc.  For now I guess people can use it, find bugs, and yell at me.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Muse.net: Playback!</title>
   <link href="http://carter.rabasa.com/2002/08/01/muse-net-playback/"/>
   <updated>2002-08-01T11:54:12-07:00</updated>
   <id>http://carter.rabasa.com/2002/08/01/muse-net-playback</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/muse-net-playback&quot;&gt;http://cubanlinks.org/2006/11/30/muse-net-playback&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I got playback working today!  So, at this point in my application you can drill down to music by selecting an artist, selecting an album, and then selecting a track.  Selecting a track will spawn your Mp3 player and open up a stream to the computer that is hosting the music.  Very cool.  It would have been cooler if my Muse.net agent (running on my home computer, where all of my Mp3&amp;#8217;s are) hadn&amp;#8217;t crapped out on me.  Might be time to look for some updated software&amp;#8230;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Subscribe!</title>
   <link href="http://carter.rabasa.com/2002/07/25/subscribe/"/>
   <updated>2002-07-25T11:22:54-07:00</updated>
   <id>http://carter.rabasa.com/2002/07/25/subscribe</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/subscribe&quot;&gt;http://cubanlinks.org/2006/11/30/subscribe&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I have finally gotten a rudimentary &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; feed up and running.  Feel free to point your news aggregator at &lt;a href=&quot;/rss.do&quot; title=&quot;RSS feed&quot;&gt;http://cubanlinks.org/rss.do&lt;/a&gt;.&lt;br/&gt;&lt;br/&gt;
Part of what prompted me to do this was the discovery of a very decent &lt;span class=&quot;caps&quot;&gt;RSS&lt;/span&gt; aggregator for Mac &lt;span class=&quot;caps&quot;&gt;OS X&lt;/span&gt;, &lt;a href=&quot;http://ranchero.com/software/netnewswire/&quot;&gt;NetNewsWire&lt;/a&gt;.&lt;br/&gt;
[via &lt;a href=&quot;http://widepipe.org&quot; title=&quot;widepipe.org&quot;&gt;Sunil&lt;/a&gt;]&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Down for the Count</title>
   <link href="http://carter.rabasa.com/2002/05/09/down-for-the-count/"/>
   <updated>2002-05-09T18:04:38-07:00</updated>
   <id>http://carter.rabasa.com/2002/05/09/down-for-the-count</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/down-for-the-count&quot;&gt;http://cubanlinks.org/2006/11/30/down-for-the-count&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Anyone who frequents my site has probably noticed that the site seems to &lt;em&gt;go down&lt;/em&gt; more than a little bit.  Sometimes I notice it, but other times I&amp;#8217;m notified by someone else.  &lt;b&gt;This sucks&lt;/b&gt;, and for a site as (relatively) small and simple as mine, downtime shouldn&amp;#8217;t happen that often.  Unfortunately, Tomcat has been crapping out on me (randomly) from day one, and while I&amp;#8217;ve tried a couple of things to fix this, none have taken.
&lt;br/&gt;&lt;br/&gt;
So, now my latest theory: the &lt;a href=&quot;http://jakarta.apache.org/tomcat/tomcat-4.0-doc/config/warp.html&quot;&gt;&lt;span class=&quot;caps&quot;&gt;WARP&lt;/span&gt; Connector&lt;/a&gt; that connects Apache to Tomcat is &lt;em&gt;f&amp;#8217;ed&lt;/em&gt;.  Why do I think this?  No great reason, but it&amp;#8217;s time to try something, so I&amp;#8217;ve switched out &lt;span class=&quot;caps&quot;&gt;WARP&lt;/span&gt;, and plugged in &lt;a href=&quot;http://jakarta.apache.org/tomcat/tomcat-4.0-doc/config/ajp.html&quot;&gt;mod_jk&lt;/a&gt; (the &lt;span class=&quot;caps&quot;&gt;AJP13&lt;/span&gt; connector).  We&amp;#8217;ll try this for a week, and see what happens.  Wish me luck.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Google For Everyone!</title>
   <link href="http://carter.rabasa.com/2002/04/11/google-for-everyone/"/>
   <updated>2002-04-11T12:28:20-07:00</updated>
   <id>http://carter.rabasa.com/2002/04/11/google-for-everyone</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/google-for-everyone&quot;&gt;http://cubanlinks.org/2006/11/30/google-for-everyone&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I&amp;#8217;m still speechless at the news.  &lt;a href=&quot;http://www.google.com&quot;&gt;Google&lt;/a&gt; has opened up their repository of over 2 billion webpages for searching to any developer who&amp;#8217;s language of choice speaks &lt;a href=&quot;http://www.soapware.org&quot;&gt;&lt;span class=&quot;caps&quot;&gt;SOAP&lt;/span&gt;&lt;/a&gt;.  All you have to do is read the specs for their &lt;a href=&quot;http://www.google.com/apis/&quot;&gt;&lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt;&amp;#8217;s&lt;/a&gt;.  I can&amp;#8217;t even begin to think of the cool things that are possible now.  I&amp;#8217;m even too stunned to take a cynical look at what Google expects to get out of this&amp;#8230;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>WAP is crap?</title>
   <link href="http://carter.rabasa.com/2002/04/09/wap-is-crap/"/>
   <updated>2002-04-09T06:49:06-07:00</updated>
   <id>http://carter.rabasa.com/2002/04/09/wap-is-crap</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/wap-is-crap&quot;&gt;http://cubanlinks.org/2006/11/30/wap-is-crap&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Interesting &lt;a href=&quot;http://westcot.go.com/users/0000001/stories/2002/04/08/theRealReasonWapIsCrap.html&quot;&gt;point of view&lt;/a&gt; about &lt;span class=&quot;caps&quot;&gt;WAP&lt;/span&gt;, and why i has failed to &lt;em&gt;shock the world&lt;/em&gt;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Tomcat 4.x + Sun JDK 1.3 = CRASH!</title>
   <link href="http://carter.rabasa.com/2002/04/04/tomcat-4-x-sun-jdk-1-3-crash/"/>
   <updated>2002-04-04T13:29:03-08:00</updated>
   <id>http://carter.rabasa.com/2002/04/04/tomcat-4-x-sun-jdk-1-3-crash</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/tomcat-4-x-sun-jdk-1-3-crash&quot;&gt;http://cubanlinks.org/2006/11/30/tomcat-4-x-sun-jdk-1-3-crash&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I had been experiencing problems with my installation of Tomcat 4.x over the last month or so.  For some reason, it would &lt;b&gt;inexplicably crash&lt;/b&gt;, leaving no hint of what had happened in the log files.  It was pretty frustrating, and would obviously cause my site to no longer respond.  In any case, I was looking around on the &lt;a href=&quot;http://jakarta.apache.org/tomcat&quot;&gt;Tomcat&lt;/a&gt; site and found the &lt;em&gt;answer&lt;/em&gt;. &lt;br/&gt;&lt;br/&gt;
Apparently there is an issue with running Tomcat 4.x on using Sun&amp;#8217;s 1.2.x or 1.3.x &lt;span class=&quot;caps&quot;&gt;JDK&lt;/span&gt;.  There were some proposed fixes, but I found the easiest solution was to upgrade to the 1.4 &lt;span class=&quot;caps&quot;&gt;JDK&lt;/span&gt;.  Hope this helps someone.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>WiFi in danger?</title>
   <link href="http://carter.rabasa.com/2002/04/01/wifi-in-danger/"/>
   <updated>2002-04-01T11:00:37-08:00</updated>
   <id>http://carter.rabasa.com/2002/04/01/wifi-in-danger</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/wifi-in-danger&quot;&gt;http://cubanlinks.org/2006/11/30/wifi-in-danger&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;In the Marketplace of today&amp;#8217;s Wall Street Journal, there is an article about the potential collision of WiFi (80211.b) and satellite radio technologies.  Apparently, both utilize spectrum bands that are close enough to each other to cause interference.  The main players in satellite radio, &lt;a href=&quot;http://www.xmradio.com/&quot;&gt;XM&lt;/a&gt; and &lt;a href=&quot;http://www.siriusradio.com&quot;&gt;Sirius&lt;/a&gt;, have asked the &lt;span class=&quot;caps&quot;&gt;FCC&lt;/span&gt; to clamp down on &lt;a href=&quot;http://80211b.weblogger.com/&quot;&gt;80211.b&lt;/a&gt; and enforce tougher standards on their products in order to eliminate interference.  WiFi advocates say that their devices meet current &lt;span class=&quot;caps&quot;&gt;FCC&lt;/span&gt; regs, and that the XM and Sirius should have designed their products with these issues in mind.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>No bugs in Ant</title>
   <link href="http://carter.rabasa.com/2002/03/29/no-bugs-in-ant/"/>
   <updated>2002-03-29T11:10:11-08:00</updated>
   <id>http://carter.rabasa.com/2002/03/29/no-bugs-in-ant</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/no-bugs-in-ant&quot;&gt;http://cubanlinks.org/2006/11/30/no-bugs-in-ant&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I just installed &lt;a href=&quot;http://jakarta.apache.org/ant&quot;&gt;Ant&lt;/a&gt; and very happy with what I&amp;#8217;m seeing so far.  Java and &lt;span class=&quot;caps&quot;&gt;XML&lt;/span&gt; make sure a &lt;b&gt;lovely pair&lt;/b&gt;, and using them to build my project is great.
&lt;br/&gt;&lt;br/&gt;
For those that don&amp;#8217;t know, Ant is a &lt;em&gt;build tool&lt;/em&gt;, similar to make.  You use it to take a set of source files on convert them into something useful (class files, JARs, JavaDocs, etc).  At the moment, I have Ant set up to do a build of my entire source heirarchy and generate the appropriate JavaDoc &lt;a href=&quot;/api&quot;&gt;files&lt;/a&gt;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Howto: Smart URLs</title>
   <link href="http://carter.rabasa.com/2002/03/21/howto-smart-urls/"/>
   <updated>2002-03-21T06:07:40-08:00</updated>
   <id>http://carter.rabasa.com/2002/03/21/howto-smart-urls</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/howto-smart-urls&quot;&gt;http://cubanlinks.org/2006/11/30/howto-smart-urls&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I had a problem, I&amp;#8217;m not afraid to admit it.  The &lt;span class=&quot;caps&quot;&gt;URL&lt;/span&gt;&amp;#8217;s on my site sucked.  Example: http://cubanlinks.org/go/post.do?id=5
&lt;br/&gt;&lt;br/&gt;
Obviously, this is a consequence of creating a dynamic site.  There is one post template page, and it loads data from MySql based on an id.  Unfortunately, to search engines and logfile analyzers, your site seems like it only has one page (post.do).
&lt;br/&gt;&lt;br/&gt;
But, thanks to a couple servlets, that&amp;#8217;s all behind me.  Now, instead of URLs looking like this:
&lt;br/&gt;&lt;br/&gt;
&lt;em&gt;http://cubanlinks.org/go/post.do?section=home=tech&lt;/em&gt;
&lt;br/&gt;&lt;br/&gt;
...to looking like this:
&lt;br/&gt;&lt;br/&gt;
&lt;em&gt;http://cubanlinks.org/go/section/home/tech/&lt;/em&gt;
&lt;br/&gt;&lt;br/&gt;
For this example, I created a SectionServlet, mapped it to /section/*.  The servlet parses its &lt;code&gt;request.getPathInfo()&lt;/code&gt;, which in this case would be &lt;em&gt;/home/tech/&lt;/em&gt;, and forwards the request to the section Action (section.do) passing the appropriate parameters.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>One Address Book to Rule Them All...</title>
   <link href="http://carter.rabasa.com/2002/03/20/one-address-book-to-rule-them-all/"/>
   <updated>2002-03-20T08:29:34-08:00</updated>
   <id>http://carter.rabasa.com/2002/03/20/one-address-book-to-rule-them-all</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/one-address-book-to-rule-them-all&quot;&gt;http://cubanlinks.org/2006/11/30/one-address-book-to-rule-them-all&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I have been looking into setting up an &lt;a href=&quot;http://www.umich.edu/~dirsvcs/ldap/&quot;&gt;&lt;span class=&quot;caps&quot;&gt;LDAP&lt;/span&gt;&lt;a/&gt; server.  I think it would be nice to place all of my contact list information in one place, and have that repository be accessible over the internet.  I&amp;#8217;ve heard good things about &lt;a href=&quot;http://openldap.org&quot;&gt;OpenLDAP&lt;/a&gt;, so I downloaded and built it.
&lt;br/&gt;&lt;br/&gt;
Now, I&amp;#8217;m pulling my hair out trying to get it to work.  It&amp;#8217;s dawning on me why &lt;span class=&quot;caps&quot;&gt;LDAP&lt;/span&gt; hasn&amp;#8217;t exactly set the world on fire.  If anyone has done anything similar to what I&amp;#8217;m trying to do (which has to be the most common use of &lt;span class=&quot;caps&quot;&gt;LDAP&lt;/span&gt; in the world) tips would be appreciated.
&lt;br/&gt;&lt;br/&gt;
Lastly, I was excited to find out that the guys at &lt;a href=&quot;http://www.novell.com&quot;&gt;Novell&lt;/a&gt; had created a Java interface into &lt;span class=&quot;caps&quot;&gt;LDAP&lt;/span&gt;, &lt;a href=&quot;http://www.openldap.org/jldap/&quot;&gt;&lt;span class=&quot;caps&quot;&gt;JLDAP&lt;/span&gt;&lt;/a&gt;.  This was good news for me because it allows me to use my contact information for other cool/programmatic things (mailing lists, etc).&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>JavaMail, Sun's Sample App and Tomcat 4.x</title>
   <link href="http://carter.rabasa.com/2002/03/13/javamail-sun-s-sample-app-and-tomcat-4-x/"/>
   <updated>2002-03-13T19:13:28-08:00</updated>
   <id>http://carter.rabasa.com/2002/03/13/javamail-sun-s-sample-app-and-tomcat-4-x</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/javamail-sun-s-sample-app-and-tomcat-4-x&quot;&gt;http://cubanlinks.org/2006/11/30/javamail-sun-s-sample-app-and-tomcat-4-x&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I recently downloaded Sun&amp;#8217;s &lt;a href=&quot;http://developer.java.sun.com/developer/technicalArticles/javaserverpages/emailapps/&quot;&gt;sample&lt;/a&gt; application for &lt;a href=&quot;http://java.sun.com/products/javamail/&quot;&gt;JavaMail&lt;/a&gt;.  As the name implies, JavaMail is Sun&amp;#8217;s Java &lt;span class=&quot;caps&quot;&gt;API&lt;/span&gt; for interfacing with email systems.  Using JavaMail, you can access &lt;span class=&quot;caps&quot;&gt;POP&lt;/span&gt; or &lt;span class=&quot;caps&quot;&gt;IMAP&lt;/span&gt; accounts, as well as send messages.
&lt;br/&gt;&lt;br/&gt;
Unfortunately, Sun&amp;#8217;s sample app does not run on Tomcat 4.x for &lt;b&gt;two&lt;/b&gt; reasons:  their &lt;span class=&quot;caps&quot;&gt;WEB&lt;/span&gt;-INF/web.xml is malformed and their tags are not fully qualifies.  Both of these issues were most likely ignored by older versions of Tomcat, but this one picky.
&lt;br/&gt;&lt;br/&gt;
Remember the good-old days when it was ok to define a tag-library before defining a servlet in web.xml?  Well, forget those days.  Tomcat 4 wants web.xml to adhere tp the following &lt;span class=&quot;caps&quot;&gt;DTD&lt;/span&gt;:
&lt;br/&gt;&lt;br/&gt;
&lt;code&gt;
(icon?,display-name?,description?,distributable?,context-param*,servlet*,servlet-mapping*,session-config?,mime-mapping*,welcome-file-list?,error-page*,taglib*, resource-ref*,security-constraint*,login-config?,security-role*,env-entry*,ejb-ref*)
&lt;/code&gt;
&lt;br/&gt;&lt;br/&gt;
So, modify web.xml and places all the servlet tags first, the servlet-mapping tags second and the taglib tag last.
&lt;br/&gt;&lt;br/&gt;
The next problem was harder to figure out.  I was getting errors on the &lt;span class=&quot;caps&quot;&gt;JSP&lt;/span&gt; pages, telling me that classes used for JavaMail&amp;#8217;s custom tags weren&amp;#8217;t being found.  Basically, the JavaMail taglib &lt;span class=&quot;caps&quot;&gt;JAR&lt;/span&gt; had classe files that weren&amp;#8217;t in a fully qualified directory (eg. com.sun.javamail.taglib), they were at the root of the &lt;span class=&quot;caps&quot;&gt;JAR&lt;/span&gt;.  For some reason this kept Jasper from finding them and using them to compile the JSPs.  Long story short, modify the following files:
&lt;br/&gt;&lt;br/&gt;
&lt;u&gt;messagecontent.jsp&lt;/u&gt;&lt;br/&gt;
add:&lt;br/&gt;
&lt;code&gt;
&amp;amp;lt;%@ page import=&quot;MessageTag&quot; %&amp;amp;gt;&amp;lt;br/&amp;gt;
&amp;amp;lt;%@ page import=&quot;MessageInfo&quot; %&amp;amp;gt;&amp;lt;br/&amp;gt;
&amp;amp;lt;%@ page import=&quot;ListAttachmentsTag&quot; %&amp;amp;gt;
&lt;/code&gt;
&lt;br/&gt;&lt;br/&gt;
&lt;u&gt;messageheaders.jsp&lt;/u&gt;&lt;br/&gt;
add:&lt;br/&gt;
&lt;code&gt;
&amp;amp;lt;%@ page import=&quot;ListMessagesTag&quot; %&amp;amp;gt;&amp;lt;br/&amp;gt;
&amp;amp;lt;%@ page import=&quot;MessageInfo&quot; %&amp;amp;gt;
&lt;/code&gt;
&lt;br/&gt;&lt;br/&gt;
&lt;u&gt;send.jsp&lt;/u&gt;&lt;br/&gt;
add:&lt;br/&gt;
&lt;code&gt;
&amp;amp;lt;%@ page import=&quot;SendTag&quot; %&amp;amp;gt;
&lt;/code&gt;
&lt;br/&gt;&lt;br/&gt;
Hope that helps!&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>I Hate Crackers....</title>
   <link href="http://carter.rabasa.com/2002/03/13/i-hate-crackers/"/>
   <updated>2002-03-13T10:05:23-08:00</updated>
   <id>http://carter.rabasa.com/2002/03/13/i-hate-crackers</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/i-hate-crackers&quot;&gt;http://cubanlinks.org/2006/11/30/i-hate-crackers&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I just read an &lt;a href=&quot;http://www.pcmag.com/article/0,2997,s=1493&amp;#38;a=23170,00.asp&quot;&gt;article&lt;/a&gt; by Bill Machrone (PC Magazine) about the dangers of leaving machines and other hardware vulnerable to &lt;a href=&quot;http://www.tuxedo.org/~esr/jargon/html/entry/cracker.html&quot;&gt;crackers&lt;/a&gt;.  Specifically, he mentioned that some routers provide information that crackers can use to expliot your network.  Machrone went on to warn that security was a never-ending battle, and that products that are secure today &amp;#8220;may be swiss-cheese&amp;#8221; tomorrow.
&lt;br/&gt;&lt;br/&gt;
I feel as if I am the only one who feels this is unacceptable.  Imagine if the same situtation existed in the real world.  If you&amp;#8217;re walking home from work and get mugged, it&amp;#8217;s &lt;i&gt;your&lt;/i&gt; fault for not carrying mace.  If you&amp;#8217;re shot during a burglury, shame on you for not wearing your kevlar vest.  Of course, we don&amp;#8217;t really react that way, for a number of reasons.  Primarilly. it is more efficient to control the deviant behavior of a few than to force an entire population to buy mace and kevlar vests and live in fear.
&lt;br/&gt;&lt;br/&gt;
While it is possible to create buildings that are virtually impregnable, the costs are usually pretty high.  The same can be said for software.  Every dollar (or hour of someone&amp;#8217;s time) that is spent frantically combatting crackers is time and money lost.  This kind of economic drain is wasteful not only because of the time and money put into it, but because of the &lt;b&gt;lack of results&lt;/b&gt;!  As long as software and systems have to interoperate and communicate, systems will always be vulnerable.  So, crackers, instead of doing the cyber-equivalent of poking someone in the neck with a stick, get a life.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Howto: Creating a Soap Service</title>
   <link href="http://carter.rabasa.com/2002/03/12/howto-creating-a-soap-service/"/>
   <updated>2002-03-12T16:29:24-08:00</updated>
   <id>http://carter.rabasa.com/2002/03/12/howto-creating-a-soap-service</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/howto-creating-a-soap-service&quot;&gt;http://cubanlinks.org/2006/11/30/howto-creating-a-soap-service&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;&lt;a href=&quot;http://www.w3.org/TR/SOAP/&quot;&gt;&lt;span class=&quot;caps&quot;&gt;SOAP&lt;/span&gt;&lt;/a&gt; (Simple Object Access Protocol) is a protocol used for developing web-services.  A web-service, as its name implies, is a service that is accessible via the internet.  The classic example is the stock quote web-service: you provide it a company symbol, and it responds with the current price of the stock.
&lt;br/&gt;&lt;br/&gt;
Web services are powerful in that they have the ability to tie together disparate systems.  It is possible for a &lt;span class=&quot;caps&quot;&gt;COBOL&lt;/span&gt;/Unix machine to communicate with a C#/Intel box so long as both speak &lt;span class=&quot;caps&quot;&gt;SOAP&lt;/span&gt;.
&lt;br/&gt;&lt;br/&gt;
I have chosen to use &lt;span class=&quot;caps&quot;&gt;SOAP&lt;/span&gt; internally on cubanlinks.org in order to faciliate communication between code I&amp;#8217;ve written in Java and &lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt;.  You might be asking: why not just write your application in one language or the other?  Two reasons:&lt;br/&gt;
&lt;ul&gt;
&lt;li&gt;&lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt; does some things better than Java, and vice versa. &lt;/li&gt;
&lt;li&gt;Re-writing my &lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt; code in Java is time-consuming.&lt;/li&gt;
&lt;/ul&gt;&lt;br/&gt;
So, let&amp;#8217;s examine my &lt;span class=&quot;caps&quot;&gt;SOAP&lt;/span&gt; service.  I used Dietrich Ayala&amp;#8217;s &lt;a href=&quot;http://dietrich.ganx4.com/soapx4/&quot;&gt;soapx4&lt;/a&gt; implementation for &lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt;.  The version I used had &lt;b&gt;very&lt;/b&gt; limited support complex data types, but since then has been much improved.
&lt;br/&gt;&lt;br/&gt;
More to come &amp;#8230;.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>No Tresspassing</title>
   <link href="http://carter.rabasa.com/2002/03/07/no-tresspassing/"/>
   <updated>2002-03-07T18:51:05-08:00</updated>
   <id>http://carter.rabasa.com/2002/03/07/no-tresspassing</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/no-tresspassing&quot;&gt;http://cubanlinks.org/2006/11/30/no-tresspassing&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I just finished rigging up my site to handle authentication on my &lt;a href=&quot;/go/admin/&quot;&gt;admin&lt;/a&gt; site.  Previously, it had been wide open, but that&amp;#8217;s the beauty of security through obscurity.  :)
&lt;br/&gt;&lt;br/&gt;
Anyway, it was a royal pain-in-the-ass to get container-managed authentication working.  When I get a chance, I&amp;#8217;ll post a blow-by-blow account of problems I had and what I did to fix them.  Suffice to say, the &lt;a href=&quot;http://jakarta.apache.org/tomcat/tomcat-4.0-doc/realm-howto.html&quot;&gt;documentation&lt;/a&gt; out there isn&amp;#8217;t entirely correct on all matters.  To this day, I&amp;#8217;m not sure why I couldn&amp;#8217;t put my Realm block in a Context block.  It also doesn&amp;#8217;t help that Tomcat generates a myriad of logfiles that you have to wade through to find what you want (catalina.log ended up be my savior).&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Look at all that nothing</title>
   <link href="http://carter.rabasa.com/2002/03/01/look-at-all-that-nothing/"/>
   <updated>2002-03-01T06:27:57-08:00</updated>
   <id>http://carter.rabasa.com/2002/03/01/look-at-all-that-nothing</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/look-at-all-that-nothing&quot;&gt;http://cubanlinks.org/2006/11/30/look-at-all-that-nothing&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;I have just stumbled upon a fantastic package for analyzing the log files that websites churn out.  It&amp;#8217;s called &lt;a href=&quot;http://www.mrunix.net/webalizer&quot;&gt;Webalizer&lt;/a&gt; and after downloading it, I was creating reports on the traffic to my website in minutes.  Anyway, very cool software.  I&amp;#8217;ll post more details in the &lt;a href=&quot;/section/tech/&quot;&gt;Tech&lt;/a&gt; section at a later date.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Frankenstein</title>
   <link href="http://carter.rabasa.com/2002/02/28/frankenstein/"/>
   <updated>2002-02-28T06:10:04-08:00</updated>
   <id>http://carter.rabasa.com/2002/02/28/frankenstein</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/frankenstein&quot;&gt;http://cubanlinks.org/2006/11/30/frankenstein&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;So far, cubanlinks is built on the following technologies: &lt;a href=&quot;http://www.mysql.com&quot;&gt;MySQL&lt;/a&gt;, &lt;a href=&quot;http://www.apache.org&quot;&gt;Apache&lt;/a&gt;, &lt;a href=&quot;http://www.php.net&quot;&gt;&lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt;&lt;/a&gt;, &lt;a href=&quot;http://jakarta.apache.org/tomcat/&quot;&gt;Tomcat&lt;/a&gt;, &lt;a href=&quot;http://jakarta.apache.org/struts/&quot;&gt;Struts&lt;/a&gt; and &lt;a href=&quot;http://jakarta.apache.org/log4j/docs/&quot;&gt;Log4J&lt;/a&gt;.
&lt;br/&gt;&lt;br/&gt;
MySQL is my current open-source (free) database of choice.  My back-end Java code (which runs on Tomcat) accesses the dB via the &lt;a href=&quot;http://mmmysql.sourceforge.net/&quot;&gt;MM MySQL &lt;span class=&quot;caps&quot;&gt;JDBC&lt;/span&gt; drivers&lt;/a&gt;.  I&amp;#8217;m using &lt;span class=&quot;caps&quot;&gt;PHP&lt;/span&gt; to access the directories where I store my &lt;a href=&quot;/album/&quot;&gt;Photo Album&lt;/a&gt;.  Struts powers the &lt;span class=&quot;caps&quot;&gt;MVC&lt;/span&gt; architecture of my site.  Last, but not least, Log4J handles my debugging and logging.
&lt;br/&gt;&lt;br/&gt;
Anyway, more details to come.  Stay tuned.&lt;/p&gt;

</content>
 </entry>
 
 <entry>
   <title>Hello Kitty Kat</title>
   <link href="http://carter.rabasa.com/2002/02/27/hello-kitty-kat/"/>
   <updated>2002-02-27T17:18:15-08:00</updated>
   <id>http://carter.rabasa.com/2002/02/27/hello-kitty-kat</id>
   <content type="html">&lt;p&gt;&amp;raquo; Cross-posted from &lt;a href=&quot;http://cubanlinks.org/2006/11/30/hello-kitty-kat&quot;&gt;http://cubanlinks.org/2006/11/30/hello-kitty-kat&lt;/a&gt; &amp;laquo;&lt;/p&gt;

&lt;p&gt;Welcome to my site, cubanlinks.org.  I would try to pin down what this site is &lt;i&gt;about&lt;/i&gt; but every day that seems to change.  As far as I can tell, right now there are a couple of things I&amp;#8217;m trying to do.
&lt;br/&gt;&lt;br/&gt;
The first is to share my life (via posts, &lt;a href=&quot;/album/&quot;&gt;photos&lt;/a&gt;, etc) with friends and family.  I&amp;#8217;m not the most keep-in-touch person in the world, so maybe these pages can help a little bit.
&lt;br/&gt;&lt;br/&gt;
The other purpose has nothing to do whatsoever with friends or family, and everything to do with web-development.  Every facet of this site will attempt to incorporate the latest and greatest web-dev &lt;a href=&quot;http://jakarta.apache.org&quot;&gt;technologies&lt;/a&gt; and techniques.  In addition, I will try as hard as I can to document how and why I do things, in the hope that somebody gets some use out of this.
&lt;br/&gt;&lt;br/&gt;
So, feel free to poke around.  Don&amp;#8217;t be too upset if something is broken.&lt;/p&gt;

</content>
 </entry>
 
 
</feed>

