There was quite a fuss about Yahoo PIpes when it first emerged but, since I didn’t really have a use for it, I kind of ignored the whole thing. Well, a few days ago I needed a way to filter the posts from Geek-Speak so that only my own were included (so that I could include them in my Facebook profile) and decided that Yahoo Pipes might be the way to go. I have to say, I’m very impressed with Pipes: here’s how it went.
After logging in at pipes.yahoo.com with my Yahoo ID, and clicking on “Create a Pipe”, I was presented with a workspace in which to visually build my “piped” RSS feed. So far so good… it all looked very clean and intuitive. Down the left-hand side are a plethora of modules: data sources, user inputs, operators, URLs, string functions, date functions, locations (for specifying addresses etc), numerical functions, other pipes you have created, and some deprecated modules. Your custom pipe is then built by dragging different combinations of these modules onto the workspace and connecting them together.
So let’s go through the process of creating a feed that only picks up posts from my esteemed co-author, headphonaught.
In the Sources menu, select “Fetch Feed” and drag it onto the workspace. It doesn’t really matter where it is placed on the workspace… just arrange stuff in a way you find easy to work with. The module is created with one space for you to enter the address of an RSS feed – in this case, http://feeds.feedburner.com/Geek-Speak. You can add more feeds if you wish by clicking on the plus sign, in which case the module will combine all the feeds you specify into one.

The Fetch Feed Module
OK, so that’s the input sorted. We could just link the input straight to the pipe output that will have appeared on the bottom of the workspace, and if you were just trying to merge some feeds then that would be perfectly OK. But we’re trying to filter this one, so we need to find a way of only allowing certain posts through. Enter the Filter module (from the Operators menu). Drag that one out and connected the Fetch module’s output to the Filter module’s input by clicking on the dot at the bottom of the Fetch module, and dragging to the dot at the top of the Filter one.

Connecting modules: Click for a larger image
Now for the actual filtering. We need to set the filter to permit items that are written by headphonaught. The appropriate element in the original RSS feed is the item Author.Name, so we change the filter to “Permit”, and then select item.author.name from the list of available XML nodes (this will have been pre-populated with everything that is available when you connected the Fetch and Filter earlier). Then specify the text that the filter should match – “headphonaught” here.

Specifying filter conditions: Click for a larger image
To check if the filter has been set up correctly, click on the title bar of the module so that it turns orange. In the bottom pane of the workspace you will now see a live view of the pipe so far. Here we see that there is one post, which matches with the articles written by headphonaught so far.
![]()
Live Preview: Click for a larger image
And that’s all the processing we want to take place, so connect the output of the filter to the Pipe Output using the same method as before.

Connecting to the pipe’s output: Click for a larger image
Finally, click on Save and give the pipe a sensible name. You can now have a look in “My Pipes” to see your new pipe, publish it so everyone else can enjoy it, or subscribe to it in a feed reader. There we go – a filtered RSS feed that only shows headphonaught’s posts on Geek-Speak!
Related reading (auto-generated):
Join us on Facebook
Declare your geekdom for the world to see... well, the part of the world that's on Facebook anyway.
Visit our Facebook page to keep up to date with the latest Geek-Speak posts right in your Facebook stream, as well as hearing about discounts and offers before they're posted on the site.
What are you waiting for? Head on over and "like" us.
Comments on this entry are closed. Have you read our commenting guidelines?