<?xml version="1.0"?>
<atom:feed xmlns:atom="http://www.w3.org/2005/Atom" xmlns:html="http://www.w3.org/1999/xhtml">
  <atom:id>http://bill.welliver.org/atom/start/2006-04-25/1</atom:id>
  <atom:title type="text">electronic.alchemy :: New AJAX sample application for Fins</atom:title>
  <atom:updated>2026-05-22T18:00:00-04:00</atom:updated>
  <atom:link href="http://bill.welliver.org/atom/start/2006-04-25/1" type="application/atom+xml"></atom:link>
  <atom:link href="http://bill.welliver.org/space/start/2006-04-25/1" type="text/html"></atom:link>
  <atom:link href="http://bill.welliver.org/rss/start/2006-04-25/1" type="application/rss+xml"></atom:link>
  <atom:generator uri="http://modules.gotpike.org/blahblah/Public.Syndication.ATOM" version="0.1">Public.Syndication.ATOM (Pike v8.0 release 702)</atom:generator>
  <atom:icon>http://bill.welliver.org/favicon.ico</atom:icon>
  <atom:logo>http://bill.welliver.org/static/images/alchemy.gif</atom:logo>
  <atom:subtitle type="xhtml"><html:div xmlns:html="http://www.w3.org/1999/xhtml"><html:p>I was surfing around the other day and ran across a little screencast[1]&#xD;
on the Ruby on Rails website. The point of the screencast was basically&#xD;
demonstrating how to create an AJAX application in a few minutes using&#xD;
Rails and Prototype (a javascript library). Well, obviously Ruby doesn't&#xD;
have the market cornered on ease of development. We in the Pike world have&#xD;
options, too.</html:p><html:p class="paragraph"/>
So, last night I threw together the Fins[2] equivalent that searches&#xD;
SmugMug[3] for images and returns the results to you. It's functionally&#xD;
equivalent to the Rails demo application that uses Flickr.<html:p class="paragraph"/>
A running instance of the sample app can be found here:<html:p class="paragraph"/>
<html:span class="nobr"><html:img height="9" width="8" src="/static/images/Icon-Extlink.png" alt="[external]"/><html:a href="http://buoy.riverweb.com:9098/">http://buoy.riverweb.com:9098/</html:a></html:span><html:p class="paragraph"/>
The code is available here:<html:p class="paragraph"/>
<html:span class="nobr"><html:img height="9" width="8" src="/static/images/Icon-Extlink.png" alt="[external]"/><html:a href="http://hww3.riverweb.com/dist/Fins/samples">http://hww3.riverweb.com/dist/Fins/samples</html:a></html:span><html:p class="paragraph"/>
You'll note that most of the bulk of the download consists of the Dojo[4]&#xD;
javascript library we're using to achieve some of the client side&#xD;
functionality. You'll also need to download Fins, which can be found in&#xD;
the directory immediately above. Simply untar both files, and run<html:p class="paragraph"/>
<html:div class="code"><html:pre><html:pre>&#xD;
./fin_serve.pike -p yourportnumber /path/to/smugmug&#xD;
</html:pre></html:pre></html:div><html:p class="paragraph"/>
&#xD;
If you don't have the Public.Image.SmugMug and Public.Web.RSS modules,&#xD;
this app won't do much for you, but that's sort of beside the point.<html:p class="paragraph"/>
The only other difference between the amount of work required to achieve&#xD;
the pike version is that you're responsible for doing a lot of the&#xD;
javascript work yourself. I'm not sure how I feel about the Rails way of&#xD;
doing things, which is to say there's a lot of magic involved. I suppose&#xD;
it might be worthwhile to build some convenience functions that make some&#xD;
of this easier.<html:p class="paragraph"/>
As always, comments and suggestions are welcome!<html:p class="paragraph"/>
[1] <html:span class="nobr"><html:img height="9" width="8" src="/static/images/Icon-Extlink.png" alt="[external]"/><html:a href="http://media.rubyonrails.org/video/flickr-rails-ajax.mov">http://media.rubyonrails.org/video/flickr-rails-ajax.mov</html:a></html:span> <html:br class="break"/>
[2] <html:span class="nobr"><html:img height="9" width="8" src="/static/images/Icon-Extlink.png" alt="[external]"/><html:a href="http://hww3.riverweb.com/space/pike/Fins">http://hww3.riverweb.com/space/pike/Fins</html:a></html:span> <html:br class="break"/>
[3] <html:span class="nobr"><html:img height="9" width="8" src="/static/images/Icon-Extlink.png" alt="[external]"/><html:a href="http://www.smugmug.com">http://www.smugmug.com</html:a></html:span> <html:br class="break"/>
[4] <html:span class="nobr"><html:img height="9" width="8" src="/static/images/Icon-Extlink.png" alt="[external]"/><html:a href="http://www.dojotoolkit.org">http://www.dojotoolkit.org</html:a></html:span><html:p class="paragraph"/>
</html:div></atom:subtitle>
</atom:feed>
