<?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 &#187; Technology</title>
	<atom:link href="http://www.tailrecursive.org/blog/category/technology/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>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>Holy Spam, Batman&#8230;</title>
		<link>http://www.tailrecursive.org/blog/2007/06/01/holy-spam-batman/</link>
		<comments>http://www.tailrecursive.org/blog/2007/06/01/holy-spam-batman/#comments</comments>
		<pubDate>Fri, 01 Jun 2007 18:46:18 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.tailrecursive.org/blog/2007/06/01/holy-spam-batman/</guid>
		<description><![CDATA[Ok. So, I haven&#8217;t posted in a long, long time. But I saw this message when I checked out the administrative interface on WordPress: [Missing Picture] Akismet, by the way, is the WordPress plug-in I use to catch and throw &#8230; <a href="http://www.tailrecursive.org/blog/2007/06/01/holy-spam-batman/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Ok. So, I haven&#8217;t posted in a long, long time. But I saw this message when I checked out the administrative interface on WordPress:</p>
<p>[Missing Picture]</p>
<p><a href="http://akismet.com/">Akismet</a>, by the way, is the WordPress plug-in I use to catch and throw out the spam comments I get on this blog. That&#8217;s right, if I didn&#8217;t have Akismet, I would have had to delete more than 13,000 comments by hand. Yikes!</p>
<p>[Edit: Removed image link after I lost the image file on the site... oops!]</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tailrecursive.org/blog/2007/06/01/holy-spam-batman/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Blast from the Past</title>
		<link>http://www.tailrecursive.org/blog/2007/05/03/a-blast-from-the-past/</link>
		<comments>http://www.tailrecursive.org/blog/2007/05/03/a-blast-from-the-past/#comments</comments>
		<pubDate>Thu, 03 May 2007 16:42:51 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Nostalgia]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.tailrecursive.org/blog/2007/05/03/a-blast-from-the-past/</guid>
		<description><![CDATA[The Register just posted an article on the old Epson HX-20. I don&#8217;t know if you remember these things, but I sure do. I wanted one of those things so badly when I was a kid: very portable, a full &#8230; <a href="http://www.tailrecursive.org/blog/2007/05/03/a-blast-from-the-past/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.theregister.co.uk">Register</a> just posted an article on the old <a href="http://www.reghardware.co.uk/2007/05/03/forgotten_tech_epson_hx20/">Epson HX-20</a>. I don&#8217;t know if you remember these things, but I sure do. I wanted one of those things so badly when I was a kid: very portable, a full keyboard, and a killer battery life. Of course, today I&#8217;m mainly just amused by the ad photos. What&#8217;s with the riding cap on the flight attendant&#8230; is she going to compete in dressage when she gets to her destination? If so, how is the Epson going to help?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tailrecursive.org/blog/2007/05/03/a-blast-from-the-past/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My So-called Second Life</title>
		<link>http://www.tailrecursive.org/blog/2006/12/15/my-second-life/</link>
		<comments>http://www.tailrecursive.org/blog/2006/12/15/my-second-life/#comments</comments>
		<pubDate>Fri, 15 Dec 2006 07:37:52 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.tailrecursive.org/blog/2006/12/15/my-second-life/</guid>
		<description><![CDATA[Recently, I&#8217;ve started playing around with a technology called Second Life. For those of you who have not heard of it (I hadn&#8217;t until last year sometime), it&#8217;s a virtual reality program that connects you to a mess of servers &#8230; <a href="http://www.tailrecursive.org/blog/2006/12/15/my-second-life/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>Recently, I&#8217;ve started playing around with a technology called <a href="http://www.secondlife.com">Second Life</a>. For those of you who have not heard of it (I hadn&#8217;t until last year sometime), it&#8217;s a virtual reality program that connects you to a mess of servers owned by a San Francisco company called Linden Labs. Second Life is a 3D world you can wander around in and interact with. There are also a whole mess of other people in there that you can meet and interact with as well. Second Life is at once a game, a chat tool, a collaboration engine, and a place for commerce&#8230; with a healthy (or unhealthy, depending upon your attitude) mixture of the Wild West added to the pot. And, when I say &#8220;Wild West,&#8221; I mean gun slingers, saloons, and whores, yes (well, the 21st century equivalent, I suppose&#8230; the gun slingers don&#8217;t really use guns so much as scripts that fling people about, the saloons are dance clubs, and the whores are&#8230; well&#8230; whores).</p>
<p><span id="more-61"></span></p>
<p>I started playing in the world mainly because I am interested in how a 3D environment can be used to make instant messaging more effective. Where I work, I am almost never working face-to-face with my co-workers. I either talk to them on the phone, exchange e-mails, or chat in IM. This is all well and good, but you lose all those non-verbal cues. In my case, this is especially irritating, because I talk a lot with my hands and want to point at things. One of the features of Second Life is that you can animate your avatar to express emotions, and because you are all in a 3D world, you can gesture.</p>
<p>Right away, I&#8217;ve learned that the shift to a 3D world changes things considerably from text chat. For one thing, it quickly becomes second nature to interact with objects and people spatially. As an example, I was talking with someone the other day, and we were talking about his projects in the world. At one point, he said, &#8220;if you look over here&#8221; and walked over to an object. I knew immediately what he meant, and I didn&#8217;t even think about how natural it was until after the conversation was over.</p>
<p>Another more subtle change is that you are more <em>discoverable</em> than in other technologies. What I mean is that you are present at a certain location in the world, and <em>others can see you</em> whether you know them or not. Just as in the real world, if you are standing in front of a shop someone can come up and ask you a question, someone can come up to you in Second Life and talk to you&#8230; even if they don&#8217;t know you. This is different from all the IM and e-mail technologies, because they require you to know the other person. This sort of thing has happened several times for me, and I&#8217;ve even met a couple of friends this way and found out about things I might otherwise have missed.</p>
<p>One final thing to note is that Second Life is much different from other 3D worlds in that the &#8220;residents&#8221; are given the ability to make things in the world. Bundled as part of the client software are all the tools needed to build anything the world can handle (with the exception of sounds and textures). In fact, most everything in Second Life was created by the residents of the world, and not the company that created Second Life. In this respect (and many others I may get into later), the world is a lot like the early web: everything created by the people using the system&#8230; with few barriers. Now, most of us probably remember the early web: it was an odd mixture of interesting and beautiful things right next to total garbage. Second Life is like that too. Some places are amazing and beautiful (the two images below come from one area I&#8217;d consider as beautiful), but in some places, you&#8217;ll just see a huge wooden block or something else equally trashy.</p>
<p>Anyway, Second Life is an interesting experiment for me, and I imagine I&#8217;ll keep playing with it for a while. In case you happen to be in Second Life as well (or plan to be) and want to meet up with me, my name in game is Loraan Fierrens. You can find me in the people tab in the search tool and send me an IM. At the moment, I&#8217;m in-world for considerably longer than is probably healthy.</p>
<table>
<tr valign="top">
<td><a class="imagelink" href="http://www.tailrecursive.org/blog/wp-content/uploads/2006/12/loraan_in_teal.png" title="Loraan in Teal"><img id="image59" src="http://www.tailrecursive.org/blog/wp-content/uploads/2006/12/loraan_in_teal.thumbnail.png" alt="Loraan in Teal" /></a></td>
<td>My avatar in a pretty area called Teal where there are all sorts of tutorials on how to do pretty particle effects.<br />
Yes, those are wings, and <em>yes</em> my avatar looks nothing like me. You want to make a big deal about it? Well, do ya?<br />
</tr>
<tr valign="top">
<td><a class="imagelink" href="http://www.tailrecursive.org/blog/wp-content/uploads/2006/12/loraan_watching_pretty_lights.png" title="Loraan Watching Pretty Lights"><img id="image60" src="http://www.tailrecursive.org/blog/wp-content/uploads/2006/12/loraan_watching_pretty_lights.thumbnail.png" alt="Loraan Watching Pretty Lights" /></a></td>
<td>Another picture of my avatar in Teal. This time, I&#8217;m watching one of the pretty&#8230; and ever-so-mesmerizing light shows the owner has created. Something seems to be interesting my avatar over on the left&#8230; I&#8217;m not sure what it could be.</td>
</tr>
</table>
]]></content:encoded>
			<wfw:commentRss>http://www.tailrecursive.org/blog/2006/12/15/my-second-life/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Free Software Goodies</title>
		<link>http://www.tailrecursive.org/blog/2006/10/23/free-software-goodies/</link>
		<comments>http://www.tailrecursive.org/blog/2006/10/23/free-software-goodies/#comments</comments>
		<pubDate>Tue, 24 Oct 2006 06:34:01 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Gaming]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.tailrecursive.org/blog/2006/10/23/free-software-goodies/</guid>
		<description><![CDATA[It&#8217;s been a while since I posted last, and that&#8217;s mainly because I haven&#8217;t been doing anything interesting. I have been playing around with a couple of software packages which might be of interest. First, a little while ago, Microsoft &#8230; <a href="http://www.tailrecursive.org/blog/2006/10/23/free-software-goodies/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been a while since I posted last, and that&#8217;s mainly because I haven&#8217;t been doing anything interesting. I have been playing around with a couple of software packages which might be of interest.</p>
<p>First, a little while ago, Microsoft brought out a free version of Visual Studio, called <a href="http://msdn.microsoft.com/vstudio/express/default.aspx">Visual Studio Express</a>. C#, C++, J#, and Visual Basic are available, as is an express edition of SQL Server. Now, I&#8217;m no fan of Microsoft, but Visual Studio 2005 and .NET are considerably less horrible than some of their old tools (oh, the agony of trying to write robust code in Visual Basic 6!). The express editions are, as you might expect, considerably less full-featured than their professional counter-parts; but they are certainly good enough for students, hobbyists, or just plain messing about. So, if you&#8217;ve been thinking you need to learn C# but didn&#8217;t want to pay for the full package, this might be a good way to go.</p>
<p>Along the same lines, Microsoft has also released a beta of a simplified game development environment called <a href="http://msdn.microsoft.com/directx/xna/gse/">XNA Game Studio Express</a>. This package plugs into the Visual Studio Express package and allows the student or hobbyist to write games fairly easily using .NET and DirectX. Currently, the games only play under Windows, but they claim the games will be able to run on the XBox 360 by the time the software is finalized. I haven&#8217;t played with this last package very much yet, but I can say that what I&#8217;ve seen so far would make it relatively easy to build some simple games. You won&#8217;t be writing the next <em>Halo</em> using this, but you could still write something pretty neat.</p>
<p>Both of these moves represent something of a shift for Microsoft, I think. It used to be that, except for something like QBasic in the bad old days of DOS, there really was no free software from Microsoft for development. Their tools were always good, but you had to pay for them (and in the case of the professional and enterprise packages, the price could be steep). Now, you can get a decent version of a C# IDE without spending a dime, <em>and</em> you get a game development package for free too. In both cases, Microsoft is lowering the barrier to entry to learning how to work with their tools and libraries. Considering that there are numerous free tools available (Sun&#8217;s JDK, the GNU suite, and a plethora of free implementations of various programming languages like <a href="http://www.squeak.org">Squeak</a>&nbsp;[a personal favorite], Scheme, Common Lisp,&nbsp;<em>etc</em>.), this is a pretty smart move. Now, if you want to learn how to work with the Microsoft stack of software and don&#8217;t have a lot of money to spend, there is a path for you where there might not have been one before.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tailrecursive.org/blog/2006/10/23/free-software-goodies/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A First Guide to PostScript</title>
		<link>http://www.tailrecursive.org/blog/2006/10/06/first-guide-to-postscript/</link>
		<comments>http://www.tailrecursive.org/blog/2006/10/06/first-guide-to-postscript/#comments</comments>
		<pubDate>Fri, 06 Oct 2006 16:52:40 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.tailrecursive.org/blog/2006/10/06/first-guide-to-postscript/</guid>
		<description><![CDATA[After ten years, IU has decided it&#8217;s had enough of supporting my alumni account. Since this account is the one that owns the First Guide to PostScript I wrote back in grad school, I will no longer be able to &#8230; <a href="http://www.tailrecursive.org/blog/2006/10/06/first-guide-to-postscript/">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
			<content:encoded><![CDATA[<p>After ten years, IU has decided it&#8217;s had enough of supporting my alumni account. Since this account is the one that owns the First Guide to PostScript I wrote back in grad school, I will no longer be able to maintain that document on the old IU servers. I&#8217;ve decided to move the guide to this web site so I can maintain it and keep it going (actually, I had always intended to move the document here&#8230; that&#8217;s part of the reason I set up a domain rather than using a hosted blog).</p>
<p>Unfortunately, I&#8217;m still revising the new version, so things may be a little wonky until that&#8217;s done. If you have a look at it and find a problem or have a question, let me know at pjw at tailrecursive dot org.</p>
<p>Anyway, have a look at the new version of the <a title="First Guide to PostScript" href="http://www.tailrecursive.org/postscript/postscript.html">First Guide to Postscript</a> in its new official home.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tailrecursive.org/blog/2006/10/06/first-guide-to-postscript/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Busy Weekend&#8230;</title>
		<link>http://www.tailrecursive.org/blog/2006/07/03/busy-weekend/</link>
		<comments>http://www.tailrecursive.org/blog/2006/07/03/busy-weekend/#comments</comments>
		<pubDate>Tue, 04 Jul 2006 02:03:45 +0000</pubDate>
		<dc:creator>Peter</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.tailrecursive.org/blog/2006/07/03/busy-weekend/</guid>
		<description><![CDATA[I got back on the bike this weekend, and went riding along Cañada Road with Erik and Susan (see the path using Google Earth). It&#8217;s a short ride (]]></description>
			<content:encoded><![CDATA[<p>I got back on the bike this weekend, and went riding along Cañada Road with Erik and Susan (see the <a href="http://www.tailrecursive.org/maps/Biking.kmz">path</a> using <a href="http://earth.google.com">Google Earth</a>). It&#8217;s a short ride (<8 miles unless you start in Woodside), but it's really pretty. They close down Cañada every Sunday for bike riders, so you don't have to worry about cars—just the insane roadies who are <em>way</em> faster than you are.<br />
<span id="more-27"></span></p>
<p>After my accident, I can say that my knee is almost completely healed. I have some scars and new skin there (still a bit tender that), but the knee works fine and I escaped without serious damage. My wrist, unfortunately, is still bothering me. Fortunately, the ride did not aggrevate that.</p>
<p>After getting cleaned up, I had lunch with Shawn, Max, and Krista, and we headed over to the <a href="http://www.computerhistory.org/">Computer History Museum</a>. We went over mainly because there was an exhibit on chess playing computers, and Max&#8217;s father had been a researcher working on the problem in the sixies. We spend most of our time in the main exhibit hall, however, on a guided tour of their truly amazing collection. They have some truly unique pieces at the museum, and the guided tour was really quite interesting.</p>
<p>The only problem is that the tour guide was either having some fun with us or had some attitudes that were as old as the equipment he was showing us: he kept picking out Krista as an example of traditionally womanly arts. I especially enjoyed when he tried to interest her in the Neiman-Marcus kitchen computer (which was funny, anyway: $10,000 and you could only use it if you knew binary code&#8230; strangely, no one ever bought it). Still, it was well worth going. If you&#8217;re ever in the bay area, be sure to stop by.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.tailrecursive.org/blog/2006/07/03/busy-weekend/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
