<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Tail Recursive</title>
	<atom:link href="http://www.tailrecursive.org/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.tailrecursive.org/blog</link>
	<description>The random mutterings of a propeller-head...</description>
	<lastBuildDate>Sat, 26 Jun 2010 21:32:09 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Another Visit to SL7B</title>
		<link>http://www.tailrecursive.org/blog/2010/06/26/another-visit-to-sl7b/</link>
		<comments>http://www.tailrecursive.org/blog/2010/06/26/another-visit-to-sl7b/#comments</comments>
		<pubDate>Sat, 26 Jun 2010 21:32:09 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Second Life]]></category>

		<guid isPermaLink="false">http://www.tailrecursive.org/blog/?p=172</guid>
		<description><![CDATA[I went back again last night and visited some more of the installations (there are really too many things there to see in the span of one evening.) Two installations I saw last night stood out. The first was the &#8230; <a href="http://www.tailrecursive.org/blog/2010/06/26/another-visit-to-sl7b/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I went back again last night and visited some more of the installations (there are really too many things there to see in the span of one evening.)</p>
<p><span id="more-172"></span>Two installations I saw last night stood out. The first was the Amazing <a title="Teleoctoscope" href="http://slurl.com/secondlife/SL7B%20Phenomenal/152/9/22">TeleOctoscope</a>. I don&#8217;t really have words to describe it, so I&#8217;ll just quote the creators, <a href="http://mayaparisbluestocking.blogspot.com/2010/06/teleoctoscope-maya-paris-l1aura-loire.html">Maya Paris and L1Aura Loire</a>:</p>
<blockquote><p>Built by cephalopods and powered by steam, tea and chocolate, the TeleOctoscope was inspired by the 19th century invention of the &#8220;telectroscope&#8221; and enables communication and collaboration on interactive art projects and machinima between Boston (US) and Whitstable (UK).</p></blockquote>
<p>Quite apart from the detailed build, this installation encouraged participation, which really helps bring something to life for me. In this case, there were videos to watch, and a fetching Mer-mechanic outfit you can wear and swim around while you examine the teleoctoscope (the hat is a bit unwieldy, but the mustache is an excellent touch):</p>
<p style="text-align: center;"><a title="Teleoctoscope and Mermechman by Peter Weingartner, on Flickr" href="http://www.flickr.com/photos/tailrecursive/4736768882/"><img class="aligncenter" src="http://farm5.static.flickr.com/4093/4736768882_d303547c22.jpg" alt="Teleoctoscope and Mermechman" width="500" height="472" /></a></p>
<p style="text-align: left;">The other <a href="http://slurl.com/secondlife/SL7B%20Contradiction/187/22/21">installation</a> I enjoyed was the one from the good folks (critters?) at <a href="http://raglanshire.com/">Raglan Shire</a>. Raglan Shire is a community of &#8220;tinies,&#8221; which is the name for the really small avatars that maybe come up to your knee. At their installation, you learn the awful truth about Second Life: it&#8217;s powered by tinies and waffles! I decided to slip into my tiny bunny avatar and do my part:</p>
<p style="text-align: center;"><a title="Tines Power Second Life by Peter Weingartner, on Flickr" href="http://www.flickr.com/photos/tailrecursive/4736768838/"><img class="aligncenter" src="http://farm5.static.flickr.com/4098/4736768838_014ff77316.jpg" alt="Tines Power Second Life" width="500" height="316" /></a></p>
<p style="text-align: left;">It was hard work; but dang, those were tasty waffles.</p>
<p style="text-align: left;">There is a common thread here for what I enjoy: audience participation and humor. The builds where there is something to make you crack a smile or something to do end up being more memorable for me. And waffles&#8230; don&#8217;t forget the waffles.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tailrecursive.org/blog/2010/06/26/another-visit-to-sl7b/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>SL7B</title>
		<link>http://www.tailrecursive.org/blog/2010/06/25/sl7b/</link>
		<comments>http://www.tailrecursive.org/blog/2010/06/25/sl7b/#comments</comments>
		<pubDate>Sat, 26 Jun 2010 01:25:07 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Second Life]]></category>

		<guid isPermaLink="false">http://www.tailrecursive.org/blog/?p=167</guid>
		<description><![CDATA[This week is the seventh anniversary of the Second Life virtual world. To mark this anniversary, they are holding a seventh &#8220;birthday&#8221; party (SL7B) with a large collection of exhibits created by many of the Second Life &#8220;residents,&#8221; as they &#8230; <a href="http://www.tailrecursive.org/blog/2010/06/25/sl7b/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This week is the seventh anniversary of the <a title="Second Life" href="http://www.secondlife.com">Second Life</a> virtual world. To mark this anniversary, they are holding a seventh &#8220;birthday&#8221; party (SL7B) with a large collection of exhibits created by many of the Second Life &#8220;residents,&#8221; as they are called. The installations are like much of Second Life itself shrunk down to a small island: strange, whimsical, serious, deep, and banal&#8230; they run the gamut. I have an on-again/off-again interest in this world, but one of the things that draws me back is the creativity so many of its users show, and much of that is on showcase now.</p>
<p><span id="more-167"></span>I wandered around quite a bit last night. Some of the things left me puzzled, and some a little disturbed. I think my favorite so far has to be pallina60 Loon&#8217;s &#8220;Bodied Words,&#8221; installation. You walk among giant books, pens, postcards, and a particularly treacherous ink blotter. You can become ink yourself and become part of the installation too. It is beautifully done, fantastic, and funny; and with my love of pens, it is irresistible.</p>
<p style="text-align: center;"><a title="Blotted by Peter Weingartner, on Flickr" href="http://www.flickr.com/photos/tailrecursive/4734548242/"><img class="aligncenter" src="http://farm2.static.flickr.com/1113/4734548242_206c4e75fc.jpg" alt="Blotted" width="500" height="396" /></a></p>
<p>You can visit pallina60 Loon&#8217;s installation through a direct <a title="Bodied Words" href="http://slurl.com/secondlife/SL7B%20Absurdity/55/139/22">teleport link</a>. You need to have an account and the Second Life client (both are free). You can also see more pictures from my wanderings on my flickr <a title="SL7B Flickr Pictures" href="http://www.flickr.com/photos/tailrecursive/tags/sl7b/">account</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tailrecursive.org/blog/2010/06/25/sl7b/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Still Alive</title>
		<link>http://www.tailrecursive.org/blog/2010/06/18/still-alive/</link>
		<comments>http://www.tailrecursive.org/blog/2010/06/18/still-alive/#comments</comments>
		<pubDate>Sat, 19 Jun 2010 02:32:10 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.tailrecursive.org/blog/?p=164</guid>
		<description><![CDATA[Despite the efforts of the universe, particularly in the form of school children at the California Academy of Sciences (at least one of whom was carrying a simply delightful cold virus), I am still alive. The past few weeks have &#8230; <a href="http://www.tailrecursive.org/blog/2010/06/18/still-alive/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Despite the efforts of the universe, particularly in the form of school children at the <a title="California Academy of Sciences" href="http://www.calacademy.org">California Academy of Sciences</a> (at least one of whom was carrying a simply delightful cold virus), I am still alive.</p>
<p><span id="more-164"></span>The past few weeks have been eventful, if a little foggy. My sister and nephew were out for a visit at the end of May. We visited a number of spots around the area including the tide pools I like outside Pescadero, the <a title="Monterey Bay Aquarium" href="http://www.montereybayaquarium.org">Monterey Bay Aquarium</a>, and the new California Academy of Sciences. My nephew seemed to enjoy himself greatly… especially at the touch pools at both Monterey and the California Academy of Sciences. I have to say though that the Academy&#8217;s new building is just amazing and is a must visit. They have a three level rain forest in the building that is really very nicely done with lots of birds and butterflies flying all over the place and some fish in the &#8220;river&#8221; that were astoundingly huge.</p>
<p>While I was out and about with my sister and nephew, though, I caught a lovely cold and was out of it for about two weeks. Just this last weekend, though, my parents were out for a convention, and we visited a little and went to <a title="Filoli" href="http://www.filoli.org">Filoli</a>, which is a place I had never been before, although I have been past it many times. Filoli was nice enough, I suppose, if you like that sort of thing. Certainly, the gardens were very beautiful, but they are formal English gardens. I never really learned to love formal gardens and have always preferred things to be a bit more wild than that. Still, an interesting visit.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tailrecursive.org/blog/2010/06/18/still-alive/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Where Did I Go?</title>
		<link>http://www.tailrecursive.org/blog/2008/04/18/where-did-i-go/</link>
		<comments>http://www.tailrecursive.org/blog/2008/04/18/where-did-i-go/#comments</comments>
		<pubDate>Sat, 19 Apr 2008 03:17:57 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Self-improvement]]></category>

		<guid isPermaLink="false">http://www.tailrecursive.org/blog/?p=109</guid>
		<description><![CDATA[Ok. So, it would seem it has been a while since I last posted anything here… certainly nothing since Georgie died. It has been an eventful few months, but I will only mention a couple of things here. First, as &#8230; <a href="http://www.tailrecursive.org/blog/2008/04/18/where-did-i-go/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ok. So, it would seem it has been a while since I last posted anything here… certainly nothing since Georgie died. It has been an eventful few months, but I will only mention a couple of things here.</p>
<p><span id="more-109"></span></p>
<p>First, as I mentioned earlier, I have been experimenting with the virtual world of <a href="http://www.secondlife.com">Second Life</a>. I was fairly involved with it for a while, but as Georgie got more and more sick and required more and more care, I spent very little time in it. After Georgie&#8217;s death, I tried to go back and found that my interest was completely gone. Partly, it was that her death made me see so many of the people you meet there as vain and empty. Really, after that innocent life ended in my arms after I had cared for it for over a decade, the various issues, dramas, and nonsense in the Second Life community somehow lost their vitality. It went from a fascinating and vibrant place to a hall of shadows. Add to this that there have been a number of crippling technical problems for me with the tool, and I found I didn&#8217;t get much positive out of the world. I still go in-world on occasion, as I still know some people in there; but I now spend very little time there. I may write more about this in the future. The concept of Second Life is very interesting in its way, but there is much of it that leaves something to be desired.</p>
<p>The other major thing is that I have gone through is medical. Some time ago, I checked my blood pressure at one of those machines one finds in offices and the supermarket and was shocked at the reading: it said I had stage two hypertension. I booked an appointment with my doctor and found that I did indeed have hypertension and that it needed treatment (the phrase &#8220;lit fuse&#8221; was spoken). He also told me frankly that it was time to lose weight. So, I went on blood pressure meds and a weight loss program.</p>
<p>The weight loss program I am on is the Zone system&#8230; it&#8217;s one of these low carb diets that are around and is focused on controlling insulin and blood sugar levels. It&#8217;s been remarkably successful so far: I started at the end of February at roughly 210 pounds, and I now weigh 175. I&#8217;ve now reached my target weight (I wanted to get to between 170 and 180), and will soon be starting the maintenance phase of the diet. I&#8217;ve also lost four inches off my waist, and my belly is basically gone (I can feel my ribs and sternum for crying out loud). More importantly, the weight loss and exercise have helped to bring down my blood pressure. The doctor has taken me off my meds and my blood pressure has stabilized to normal (well, slightly on the high side but still good).</p>
<p>This improvement does not come without a cost, however. I have learned that I have entered that stage of life where I have to consciously work on body maintenance. I can&#8217;t rely on my youth (what&#8217;s left of it), to carry me through. I have to exercise daily now (I take a fairly vigorous 40 minute walk every day after work) and I have a mortal enemy to keep at arm&#8217;s length: the carbohydrate. Actually, carbohydrates are not really the enemy; but I like them a little too much and need to moderate my intake with care. My old grain-heavy diet just won&#8217;t do anymore, and I have to learn new habits. Still, I like the results I&#8217;ve gotten so far and am finding, as a result, that the old morning bagel doesn&#8217;t sound as tasty as it used to.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tailrecursive.org/blog/2008/04/18/where-did-i-go/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>One Less Light in my World</title>
		<link>http://www.tailrecursive.org/blog/2007/12/18/one-less-light-in-my-world/</link>
		<comments>http://www.tailrecursive.org/blog/2007/12/18/one-less-light-in-my-world/#comments</comments>
		<pubDate>Tue, 18 Dec 2007 19:30:44 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Bunnies]]></category>
		<category><![CDATA[Death]]></category>
		<category><![CDATA[Life]]></category>

		<guid isPermaLink="false">http://www.tailrecursive.org/blog/2007/12/18/one-less-light-in-my-world/</guid>
		<description><![CDATA[I don&#8217;t know how many of you reading this blog knew her, but my rabbit Georgie died this morning. Most of you for whom I am keeping this blog (my friends and family, really) will have met her at some &#8230; <a href="http://www.tailrecursive.org/blog/2007/12/18/one-less-light-in-my-world/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t know how many of you reading this blog knew her, but my rabbit Georgie died this morning. Most of you for whom I am keeping this blog (my friends and family, really) will have met her at some point or other&#8230; although some of you have not. Also, I&#8217;m sure there are people reading this whom I&#8217;ve never actually met. Regardless, many of you will not know what she has been going through the past few months.</p>
<p><span id="more-106"></span></p>
<p>There is a disease called <em><a href="http://www.rabbit.org/journal/3-2/e-cuniculi.html">e. cuniculi</a></em>. It is, I believe, a protozoan that in some rabbits attacks the nervous system as they get weaker (either through other diseases or old age). It can cause head tilt and paralysis. For some time now, Georgie had been showing signs of the disease: lack of coordination, weakness in the back legs, and so on. A few months ago, there was an event in the middle of the night where suddenly she couldn&#8217;t walk straight. She just spun in circles. Honestly, I thought she had suffered a stroke. We tried various things with no luck, and the past few weeks have been a story of her rapid decline. It eventually reached the point where I had to hold her up to eat and had to give her fluids by injection because she would not drink.</p>
<p>This morning, the vet said that there was really nothing else she could do for poor Georgie—any longer, and we would risk her suffering considerable pain. I decided it was time to put her to sleep. The vet gave her two injections: one to make her fall asleep and a final injection to stop her little heart. It was over very quickly, and I was there petting her and talking to her the whole time.</p>
<p>Georgie has been with me for about nine years—before I bought my house. I originally brought her home to keep Charlie company, since he was obviously so distraught whenever I would have to go on a trip. She and Charlie bonded fairly quickly, and she soon took her rightful position as the queen bee of the household. She was fiery, full of life, and very concerned that the proprieties be observed. If you&#8217;ve ever heard of <a href="http://www.birdchick.com/adventures/rabbit/">Disapproving Rabbits</a>, Georgie would have been their goddess:</p>
<p>&#8220;No, you may <strong>not</strong> pet my head!&#8221;</p>
<p>&#8220;How <strong>dare</strong> you trim my nails? You are dead, do you hear me? Dead!&#8221;</p>
<p>&#8220;Bananas? Well, maybe I won&#8217;t kill you yet, but you&#8217;re on thin ice, buddy.&#8221;</p>
<p>In the time I had Georgie, she:</p>
<ul>
<li>Broke my toe (I kid not, although I do exaggerate just a tiny amount&#8230; she did break my toe, but indirectly)</li>
<li>Destroyed countless phone cords that I could have sworn were out of reach</li>
<li>Ripped up numerous tasty rugs&#8230; including the carpet at my last apartment (good thing I didn&#8217;t need that deposit)</li>
<li>Showed me that she knew perfectly well what her litter box was for but that she wasn&#8217;t about to let me tell her what to do (and, in the process, ruined a couple of rugs)</li>
<li>Woke me up I don&#8217;t know how many times in the middle of the night throwing dishes around to complain about the lousy service in this joint.</li>
</ul>
<p>In other words, she was my precious little firebrand who wanted it to be clear that she didn&#8217;t need me or want me around unless I had something tasty for her. That is&#8230; until the end, when she just wanted to be held and nibble on her favorite foods.</p>
<p>We know, when we bring these little fur balls into our homes, that this day will come. We know their lives are short and that, in the end, we may have to do the hard thing to end their suffering. That&#8217;s cold comfort, though, and it still stings like unholy hell. Still, she lived a long life (10 years) and was protected the entire time. The woman who had her originally was going to let her free in the wild; Georgie would have lasted about a day out there. So Georgie had with me nine years of safety, regular medical care, companionship (even if they were somewhat rude, stinky, and clumsy humans), and dinners served promptly at 6:30 containing all her favorites. I guess that&#8217;s something.</p>
<p>Still, I know I&#8217;m going to miss her terribly and can&#8217;t face going into my bedroom to see the rug where she should be napping right now. Not yet, at any rate.</p>
<p>Here are some pictures of Georgie in her better days:</p>
<table>
<tr valign="top">
<td><a href="http://www.tailrecursive.org/blog/wp-content/uploads/2007/12/georgie-repose-cropped.jpg" title="Georgie in Repose"><img src="http://www.tailrecursive.org/blog/wp-content/uploads/2007/12/georgie-repose-cropped.thumbnail.jpg" alt="Georgie in Repose" /></a></td>
<td>&#8220;What are you doing with that camera? Who said you could take my picture?&#8221;</td>
</tr>
</table>
<p>Sleep well, little one.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tailrecursive.org/blog/2007/12/18/one-less-light-in-my-world/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ask the Pilot</title>
		<link>http://www.tailrecursive.org/blog/2007/12/14/ask-the-pilot/</link>
		<comments>http://www.tailrecursive.org/blog/2007/12/14/ask-the-pilot/#comments</comments>
		<pubDate>Sat, 15 Dec 2007 00:19:39 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Must Read]]></category>

		<guid isPermaLink="false">http://www.tailrecursive.org/blog/2007/12/14/ask-the-pilot/</guid>
		<description><![CDATA[This has nothing to do with anything, but I just thought I would share: One of my absolute favorite columns published on the web is Salon&#8217;s Ask the Pilot, written by Patrick Smith. The author is a professional airline pilot, &#8230; <a href="http://www.tailrecursive.org/blog/2007/12/14/ask-the-pilot/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>This has nothing to do with anything, but I just thought I would share:</p>
<p>One of my absolute favorite columns published on the web is Salon&#8217;s <a href="http://dir.salon.com/topics/p_smith/" title="Ask the Pilot">Ask the Pilot</a>, written by Patrick Smith. The author is a professional airline pilot, and he answers reader mail about flying and the airline industry. I find the column to be a fascinating read. The airline industry is fairly opaque to the typical flying customer: we get caught in delays, and we don&#8217;t know why; we are told we can&#8217;t use our electronics, and we don&#8217;t know why (or don&#8217;t buy the explanation); we encounter many things that strike us as odd, and we just don&#8217;t understand. Flying is a complicated business for so many reasons (some good, some bad), and Mr. Smith&#8217;s column gives a well written glimpse into this business through the eyes of at least one insider. If you fly at all and have ever wondered why some crazy thing is the way it is, have a look at his column.</p>
<p>Oh&#8230; and he also posts links to really cool pictures of planes. Vrooooooooooom!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tailrecursive.org/blog/2007/12/14/ask-the-pilot/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fun with Mashups (Part 2)</title>
		<link>http://www.tailrecursive.org/blog/2007/11/08/fun-with-mashups-pt2/</link>
		<comments>http://www.tailrecursive.org/blog/2007/11/08/fun-with-mashups-pt2/#comments</comments>
		<pubDate>Fri, 09 Nov 2007 03:25:16 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Dashcode]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Yahoo Pipes]]></category>

		<guid isPermaLink="false">http://www.tailrecursive.org/blog/2007/11/08/fun-with-mashups-pt2/</guid>
		<description><![CDATA[Earlier, I wrote a quick sketch to show how you can use Yahoo! Pipes to build a new RSS feed summarizing recent activity on some favorite websites (in this case, web comics). That is all very well, but how do &#8230; <a href="http://www.tailrecursive.org/blog/2007/11/08/fun-with-mashups-pt2/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Earlier, I wrote a <a href="/blog/2007/11/05/fun-with-mashups-pt1/">quick sketch</a> to show how you can use <a href="http://pipes.yahoo.com">Yahoo! Pipes</a> to build a new RSS feed summarizing recent activity on some favorite websites (in this case, web comics). That is all very well, but how do you actually use the darned thing now that you have got it? Sure, you can look at the list in the Pipes application, but that is not very convenient. Well, this post is about how you can use that pipe you have created.</p>
<p><span id="more-96"></span></p>
<p>If you go back to a pipe&#8217;s page, you will see bar with a number of buttons on it:</p>
<p style="text-align: center"><img src="http://www.tailrecursive.org/blog/wp-content/uploads/2007/11/consumingpipe.png" alt="Using a Pipe" /></p>
<p>You can see that there are several options listed here: you can subscribe to the pipe in a number of news reader services out on the web, including My Yahoo!, Google, Bloglines, Rojo, Netvibes, Newsgator, and AOL. If you were to click one of those add buttons, Pipes would send the information about the pipe to the matching service, which would set up an RSS subscription to the pipe. You would then be able read the updates from the pipe right in your regular news reader. For instance, I use Google to keep up on my RSS feeds. If I click the &#8220;Add to Google&#8221; button on the pipe, I am forwarded to Google and get a chance to add the pipe to either my Google Reader account or my homepage. If I choose to send the pipe to my homepage, then a new gadget appears on my homepage (see the picture below). The process works in much the same way on any of the other online news reader services.<a href="http://www.tailrecursive.org/blog/wp-content/uploads/2007/11/googlehomepage.png" title="Google Homepage"></a></p>
<p style="text-align: center"><a href="http://www.tailrecursive.org/blog/wp-content/uploads/2007/11/googlehomepage.png" title="Google Homepage"><img src="http://www.tailrecursive.org/blog/wp-content/uploads/2007/11/googlehomepage.png" alt="Google Homepage" /></a></p>
<p>What if you do not use one of the online news readers? What if you use a desktop RSS reader tool instead? Well in the &#8220;More Options,&#8221; you can use &#8220;Get as RSS&#8221; to get the raw RSS feed for the pipe and use that in your favorite news reader.</p>
<h2>For Mac Users</h2>
<p>If you are a Mac user, however, and have upgraded to Leopard, there is an additional way you can use a pipe that is easy to do: you can make your own dashboard widget. While you have been able to do this sort of thing before Leopard, it was a somewhat difficult operation to build your own widget, requiring hand-coding of the widget. With Leopard, though, there is a new tool called Dashcode which makes building widgets incredibly easy. When you start up Dashcode, it presents you with a list of pre-packaged templates you can use. There are several to choose from; but to start with, we will just pick the simple RSS template.</p>
<p style="text-align: center"><a href="http://www.tailrecursive.org/blog/wp-content/uploads/2007/11/dashcode_templates.png" title="Dashcode Templates"><img src="http://www.tailrecursive.org/blog/wp-content/uploads/2007/11/dashcode_templates.thumbnail.png" alt="Dashcode Templates" /></a></p>
<p>When you select the RSS template, a window will open with a generic RSS reader widget. There are a couple of things to notice in this window. First, on the right there is a view of the widget framework&#8230; with all the little UI elements you need to get started. You can update any of them right in the workspace area. On the left is an outline view of the various elements of the widget, including the front and back views of the widget (the back view is where the configuration options are set in most widgets). On the bottom-left is a convenient workflow to tell you what needs to happen to complete your widget.</p>
<p style="text-align: center"><a href="http://www.tailrecursive.org/blog/wp-content/uploads/2007/11/dashcode_blank.png" title="Blank Widget"><img src="http://www.tailrecursive.org/blog/wp-content/uploads/2007/11/dashcode_blank.thumbnail.png" alt="Blank Widget" /></a></p>
<p>To get started, double click on &#8220;My RSS Feed&#8221; and change the text to something more descriptive&#8230; maybe &#8220;Recent Comics.&#8221; Next, we need to set some attributes of the widget so it can actually work (like the URL to the RSS feed). Click on arrow next to &#8220;RSS Properties&#8221; in the &#8220;Provide RSS feed&#8221; workflow step. A window should open with a whole mess of property settings you can change.<a href="http://www.tailrecursive.org/blog/wp-content/uploads/2007/11/dashcode_attributes.png" title="Widget Attributes"></a></p>
<p style="text-align: center"><a href="http://www.tailrecursive.org/blog/wp-content/uploads/2007/11/dashcode_attributes.png" title="Widget Attributes"></a></p>
<p style="text-align: center"><a href="http://www.tailrecursive.org/blog/wp-content/uploads/2007/11/dashcode_attributes.png" title="Widget Attributes"><img src="http://www.tailrecursive.org/blog/wp-content/uploads/2007/11/dashcode_attributes.thumbnail.png" alt="Widget Attributes" /></a></p>
<p>There are a lot of things you can set here, but for our purposes there are really only two things we have to worry about: the Widget Identifier, and the Feed URL. The Widget Identifier must be a unique text string naming the widget to the system. If you know about these things from developing other Mac OS X software, put in whatever you like. If you do not know about this sort of thing, just replace the &#8220;Untitled&#8221; bit at the end with something like &#8220;RecentComics&#8221;. You should not reuse a widget identifier for a different widget! The next step is to set the Feed URL&#8230; just paste in the URL you get from Pipes when you select &#8220;Get as RSS.&#8221; If you like, you can now click the &#8220;Mark as Done&#8221; button in the &#8220;Provide RSS feed&#8221; workflow step. Ordinarily, at this point, you would go on to set other widget attributes, customize the image used for the widget and the widget icon, <em>etc</em>. For our purposes, however, this is good enough. Now try out the widget. In the upper left corner of Dashcode, you will see an icon marked &#8220;Run.&#8221; Click it. Soon, up will pop your brand-spanking new widget for you to try out. It should list the items that are in your pipe. Neat!<a href="http://www.tailrecursive.org/blog/wp-content/uploads/2007/11/dashcode_debug.png" title="Widget Debugging"></a></p>
<p style="text-align: center"><a href="http://www.tailrecursive.org/blog/wp-content/uploads/2007/11/dashcode_debug.png" title="Widget Debugging"><img src="http://www.tailrecursive.org/blog/wp-content/uploads/2007/11/dashcode_debug.thumbnail.png" alt="Widget Debugging" /></a></p>
<p>Now, if you want, you can go one extra step and add the widget to your dashboard. Save the project, and then look in the File menu for &#8220;Deploy Widget to Dashboard&#8230;&#8221; This menu item will bundle the widget into the correct file format to use in the dashboard and will then install it in your personal dashboard. You can then use it any time you like (if you decide you want to get rid of it, the widget will be in the &#8220;Widgets&#8221; folder in your personal &#8220;Library&#8221; folder&#8230; you can just drag the widget file to the trash). If you like, you can also take that widget file and share it with others (although the &#8220;Deploy&#8221; option might be better for that, since it will not hide the file in your library). Also, if you are going to share your widget with others, you might want to add your own icon to the project (the icon appears in the widget bar when you are selecting widgets to add to your dashboard) and maybe make your own spiffy background to give your widget some pizazz.</p>
<p>The process of building this widget has taken considerably longer to write about (and probably for you to read) than it takes to complete. I believe the second time I built a widget using Dashcode, it took me about five minutes. Think about that for a moment, to built a little application that goes out on the internet, pulls down up-to-date data from a variety of sources, and then formats it all into a nice, legible window took me <em>five</em> minutes! Not too shabby!</p>
<p>Of course, we are making heavy use of Dashcode&#8217;s built-in templates&#8230; anything beyond what the base templates can do would require custom coding (but Dashcode helps with that too). Also, Dashcode supplies a number of interesting templates for different common purposes. One of my favorites is the map template: it allows you to combine an RSS feed with Google maps within the dashboard. If you have an RSS feed with special geo tags added (basically, latitude and longitude coordinates), the widget will show the items on the map at the specified locations. You can the click on the map marker to view the contents of the item. Oh, and before you ask, Yahoo! Pipes has an operator that will go through a feed item, look for an address, and apply the appropriate geo tags (also, a number of services will export geo tags, if the location information is present in the source data).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tailrecursive.org/blog/2007/11/08/fun-with-mashups-pt2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fun with Mashups (Part 1)</title>
		<link>http://www.tailrecursive.org/blog/2007/11/05/fun-with-mashups-pt1/</link>
		<comments>http://www.tailrecursive.org/blog/2007/11/05/fun-with-mashups-pt1/#comments</comments>
		<pubDate>Tue, 06 Nov 2007 06:57:38 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Technology]]></category>
		<category><![CDATA[Yahoo Pipes]]></category>

		<guid isPermaLink="false">http://www.tailrecursive.org/blog/2007/11/05/fun-with-mashups-pt1/</guid>
		<description><![CDATA[I haven&#8217;t been blogging much about technology stuff, but lately I&#8217;ve been playing with some neat new technology that I think is worth writing about. There are a couple of pieces involved, so I&#8217;ll break this up over a couple &#8230; <a href="http://www.tailrecursive.org/blog/2007/11/05/fun-with-mashups-pt1/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I haven&#8217;t been blogging much about technology stuff, but lately I&#8217;ve been playing with some neat new technology that I think is worth writing about. There are a couple of pieces involved, so I&#8217;ll break this up over a couple of posts, but they all center around <a href="http://en.wikipedia.org/wiki/Mashup_%28web_application_hybrid%29">mashups</a>, the blending of multiple data sources or services on the internet to make a new tool. There are a variety of new tools out there to make this sort of thing really easy to do. First up is <a href="http://pipes.yahoo.com">Yahoo! Pipes</a>.</p>
<p><span id="more-91"></span></p>
<p>Yahoo! Pipes (freely available, but you&#8217;ll have to have a Yahoo! account to use it) is a visual tool and is based on a &#8220;data flow&#8221; model, where you draw out diagrams showing how the data flows from a source, through operations that change it and finally out to its destination. You start off with a main workspace in which you can draw out your pipe. To the left of the workspace is a menu of different building blocks: these can be &#8220;sources&#8221; for the data (ways to pull data off of various websites or files), &#8220;operators&#8221; to transform the data in some way, some blocks for user inputs so you can let users of your pipe configure it, and then some special purpose building blocks to handle specific data types (numbers, dates, <em>etc</em>.). You create a pipe by dragging a source block (you can have more than one) onto your workspace, configuring it, and then drawing a line from the block to a special &#8220;Pipe Output&#8221; block at the bottom of the workspace. If you need to transform the data in some way, you would insert the correct operator blocks in between.</p>
<h2>A Simple Pipe</h2>
<p>I&#8217;ll make this more concrete with a specific example. I love web comics and read my favorites every day. I would love to be able to have a single list of all the most recent updates to my favorite web comics so I can see at a glance when there is something new to read. Fortunately, many of the web comics I read are pretty savvy and have <a href="http://en.wikipedia.org/wiki/Rss">RSS</a> feeds. Wouldn&#8217;t it be convenient if I could mash all those RSS feeds together and have just one to look at? This is easy to do in Pipes. Here are the step-by-step instructions (assuming you&#8217;ve got a Yahoo! account and have gone to the <a href="http://pipes.yahoo.com">Pipes</a> page):</p>
<ol>
<li>Click &#8220;Create Pipe.&#8221;</li>
<li>When the workspace opens up, click the &#8220;Sources&#8221; label in the left channel menu and drag &#8220;Fetch Feed&#8221; to the workspace. You should get a small rectangular block in the workspace. You&#8217;ll see a plus sign labeled &#8220;URL,&#8221; and a text box with a minus sign. There is also a funny little bloop at the bottom of the block, which is a connection point. The &#8220;Fetch Feed&#8221; block takes the RSS data it finds at the URL you provide and makes it available to the pipe on the connection point on the bottom of the block. You can give &#8220;Fetch Feed&#8221; more than one URL, in which case it mixes the data all up in a bucket and makes <strong>all</strong> the results available on that connection point.</li>
<li>Paste the URL for the first RSS feed you want to use in the text box.</li>
<li>Click the plus sign, and a new text box should appear.</li>
<li>Paste the URL for the next RSS feed in the new (empty) text box.</li>
<li>Repeat #4 and #5 for as many feeds as you like.</li>
<li>Drag a line from the connection point on the bottom of the &#8220;Fetch Feed&#8221; block to the connection point on the top of the &#8220;Pipe Output&#8221; block at the bottom of the workspace (the &#8220;Pipe Output&#8221; block is a special block that indicates what the results of the pipe will be). You should see a curvy connection form between the two&#8230; this means that the output of the &#8220;Fetch Feed&#8221; block will now go to the output of the entire pipe. You should also see some activity happen and a list of items (the results of running the pipe) should appear in a text area below the grid of the workspace. The results should look like the picture below (although you don&#8217;t need to use the RSS URLs I did).</li>
<li>If everything looks right, go ahead and save your pipe. You can then look at it in the &#8220;My Pipes&#8221; page and see what it looks like when you run it for real. Also, from the pipe&#8217;s page in &#8220;My Pipes,&#8221; you can subscribe to the pipe data in a variety of RSS readers, or get the RSS URL to use in some other reader of your choice.</li>
</ol>
<p align="center"><a href="http://www.tailrecursive.org/blog/wp-content/uploads/2007/11/basiccomics.png" title="Basic Comics Pipe"><img src="http://www.tailrecursive.org/blog/wp-content/uploads/2007/11/basiccomics.thumbnail.png" alt="Basic Comics Pipe" /></a></p>
<h2>A Filtered Pipe</h2>
<p>This is great and everything, but it shows <em>every</em> comic in all the feeds&#8230; in some cases even ones that are pretty old. Wouldn&#8217;t it be nice if we could filter things a bit and just show the most recent items&#8230; say, only those posted within the past seven days? Well, we can quite easily by using an operator:</p>
<ol>
<li>Click the connection point on the top of the &#8220;Pipe Output&#8221; block.</li>
<li>Click the scissors icon that appears on the connection to break the connection between the &#8220;Fetch Feed&#8221; block and the pipe output.</li>
<li>Click the &#8220;Operators&#8221; label in the menu.</li>
<li>Drag &#8220;Filter&#8221; to the workspace a little bit below your &#8220;Fetch Feed&#8221; block. A new block labeled &#8220;Filter&#8221; will appear with a lot of options. Operators are blocks that take feed data as input, make some change, and send the results out for further processing. In this case, the &#8220;Filter&#8221; operator takes in feed data (on its top connection point) and throws away items that match certain criteria you specify. What&#8217;s left over is made available for the next stage on the bottom connection point.</li>
<li>Drag a connection from the bottom of the &#8220;Fetch Feed&#8221; block to the top of the &#8220;Filter&#8221; block.</li>
<li>Set the options on the Filter block so you &#8220;<strong>Block</strong> items that  match <strong>all</strong> of the following rules.&#8221;</li>
<li>Select &#8220;item.pubDate&#8221; in the first drop-down box of the rule (this is the property of the feed item we&#8217;re going to check&#8230; in this case, the date the item was published).</li>
<li>Select &#8220;is before&#8221; as the test to make.</li>
<li>Type &#8220;1 week ago&#8221; into the text box. (The &#8220;Filter&#8221; block will now look at each item in the source RSS feeds, and throw out any item which has a publication date (pubDate) that is older than seven days ago). Isn&#8217;t it nice that the &#8220;Filter&#8221; block understands relative date phrases (like &#8220;1 week ago&#8221;)?</li>
<li>Drag a connection from the bottom of the &#8220;Filter&#8221; block to the top of the &#8220;Pipe Output&#8221; block.</li>
<li>You should be able to refresh the test data at the bottom of the screen and save the updated feed. It should look like the picture below. You should see that the number of items in the results is lower than before&#8230; at the very least, nothing in the results should be more than a week old.</li>
</ol>
<p align="center"><a href="http://www.tailrecursive.org/blog/wp-content/uploads/2007/11/filteredcomics.png" title="Recent Comics"><img src="http://www.tailrecursive.org/blog/wp-content/uploads/2007/11/filteredcomics.thumbnail.png" alt="Recent Comics" /></a></p>
<p>If you&#8217;d like, you can see my version of this pipe on my Yahoo! Pipes page. It&#8217;s called &#8220;<a href="http://pipes.yahoo.com/pipes/pipe.info?_id=Eh4O4pmK3BGgejKmiXrL0A">Favorite Comics</a>.&#8221;</p>
<p>There&#8217;s a great deal more to Yahoo! Pipes than what I&#8217;ve written here; this is just a very basic example. If you&#8217;re interested, you can explore and get a feel for the possibilities. But, look at what we&#8217;ve done. In the span of just a few minutes, we&#8217;ve created a new RSS feed that brings together a variety of our favorite RSS feeds and filters out items we don&#8217;t want (those that are too old). In other words, we have pulled together data from a variety of sources, tailored it to our specific desires, and then bundled it up so we can use it. We&#8217;ve just scratched the surface however.</p>
<p><strong>Next time:</strong> so, now that you have a feed of your own, how can you use it?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tailrecursive.org/blog/2007/11/05/fun-with-mashups-pt1/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Things That go Bump in the Night</title>
		<link>http://www.tailrecursive.org/blog/2007/10/31/things-that-go-bump-in-the-night/</link>
		<comments>http://www.tailrecursive.org/blog/2007/10/31/things-that-go-bump-in-the-night/#comments</comments>
		<pubDate>Wed, 31 Oct 2007 15:32:05 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[California]]></category>
		<category><![CDATA[Earthquakes]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.tailrecursive.org/blog/2007/10/31/things-that-go-bump-in-the-night/</guid>
		<description><![CDATA[As you may have seen in the news, we had a bit of a rumble last night&#8230; a 5.6 magnitude earthquake. It was only a few miles from my house, so I really felt it. It was the strongest quake &#8230; <a href="http://www.tailrecursive.org/blog/2007/10/31/things-that-go-bump-in-the-night/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>As you may have seen in the news, we had a bit of a rumble last night&#8230; a 5.6 magnitude <a href="http://quake.wr.usgs.gov/recenteqs/Quakes/nc40204628.html">earthquake</a>. It was only a few miles from my house, so I really felt it. It was the strongest quake I have ever felt, and it lasted quite a while. I could hear the house flexing a bit during the main quake, and the chandelier was swinging madly afterwards. According to the news on the radio this morning, this was the strongest quake in the area since the Loma Prieta quake in 1989 that did so much damage up in San Francisco (before my time). That said, there was no damage that I could find to the house; and apart from a knocked-over web cam and some shifted papers at work, I saw no evidence anything had happened at all. Still, I take this as a warning I need to be a little more diligent about earthquake safety around the house&#8230; too many things can slide around the place for my comfort.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tailrecursive.org/blog/2007/10/31/things-that-go-bump-in-the-night/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Vacation</title>
		<link>http://www.tailrecursive.org/blog/2007/09/15/vacation-09-2007/</link>
		<comments>http://www.tailrecursive.org/blog/2007/09/15/vacation-09-2007/#comments</comments>
		<pubDate>Sat, 15 Sep 2007 17:37:10 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.tailrecursive.org/blog/2007/09/15/vacation-09-2007/</guid>
		<description><![CDATA[I just got back last night from a little trip back to Indiana to visit with the family. We didn&#8217;t really do anything terribly exciting, just visits with the family&#8230; although we did take a little hike in Spring Mill &#8230; <a href="http://www.tailrecursive.org/blog/2007/09/15/vacation-09-2007/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>I just got back last night from a little trip back to Indiana to visit with the family. We didn&#8217;t really do anything terribly exciting, just visits with the family&#8230; although we did take a little hike in <a href="http://www.in.gov/dnr/parklake/properties/park_springmill.html">Spring Mill State Park</a> in Mitchell. Spring Mill is a nice little park. There are a couple of caves you can visit as well as a virgin forest that was preserved back in the 1800s and is simply beautiful&#8230; especially since there are so few places now where you can see truly old tulip poplars, oaks, and beeches. Links to some photos are after the jump.</p>
<p><span id="more-85"></span></p>
<p>I uploaded two photo streams to Flickr for this trip:</p>
<table cellspacing="1" cellpadding="1" border="0">
<tbody>
<tr valign="top">
<td><a href="http://www.flickr.com/photos/tailrecursive/sets/72157602031146619/"><img width="500" height="375" src="http://farm2.static.flickr.com/1170/1386797319_a579b02c49.jpg" alt="Koi #2" /></a></td>
<td>Pictures of my father&#8217;s koi pond.</td>
</tr>
<tr valign="top">
<td><a href="http://www.flickr.com/photos/tailrecursive/sets/72157602021123768/"><img width="500" height="375" src="http://farm2.static.flickr.com/1191/1386724661_3fb6f78205.jpg" alt="Twin Caves #1" /></a></td>
<td>Pictures from the trip to Spring Mill.</td>
</tr>
</tbody>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.tailrecursive.org/blog/2007/09/15/vacation-09-2007/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
