<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"><channel><atom:link rel="hub" href="http://tumblr.superfeedr.com/" xmlns:atom="http://www.w3.org/2005/Atom"/><description>tips, tricks, techniques, and tools for yahoo! pipes by alex ibrado</description><title>plumber!s toolbox</title><generator>Tumblr (3.0; @pipes)</generator><link>http://pipes.tumblr.com/</link><item><title>pubDate and guid in RSS</title><description>&lt;p&gt;&lt;img src="http://74.54.212.169/Dlqj2c1fR81dyqcbvjSLBKrO_500.png" height="248" width="500"/&gt;&lt;/p&gt;
&lt;p&gt;When creating a custom feed from e.g. a JSON source, it’s so irritating not to have &lt;i&gt;pubDate&lt;/i&gt; or proper &lt;i&gt;guid&lt;/i&gt; fields in the output RSS. Creating &lt;i&gt;item.pubDate&lt;/i&gt; and &lt;i&gt;item.guid&lt;/i&gt; entries won’t work. Here’s how to do it.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://pipes.yahoo.com/plumber/dateguid" target="_blank"&gt;pipes.yahoo.com/plumber/dateguid&lt;/a&gt;&lt;/p&gt;</description><link>http://pipes.tumblr.com/post/32331202</link><guid>http://pipes.tumblr.com/post/32331202</guid><pubDate>Mon, 21 Apr 2008 00:39:00 +0800</pubDate><category>yahoo! pipes</category><category>techniques</category></item><item><title>Relative Time</title><description>&lt;p&gt;&lt;img src="http://74.54.212.169/Dlqj2c1fR7yscgcvFwxIH5Zm_r4_500.png" height="381" width="500"/&gt;&lt;/p&gt;
&lt;p&gt;Here’s a module that converts date/time strings to relative time, e.g. “less than a minute ago”, “about 3 hours ago”, “about 26 days from now”, etc. It handles past and future dates and outputs relative time from minutes to years. The &lt;i&gt;Date Input&lt;/i&gt; module is quite lax as to what constitutes a valid date, and everything is converted to UTC — make sure you test it first so there are no surprises. &lt;/p&gt;
&lt;p&gt;For a demo, please see &lt;a href="http://pipes.yahoo.com/plumber/reltimedemo" target="_blank"&gt;pipes.yahoo.com/plumber/reltimedemo&lt;/a&gt;. You can see it running below:&lt;/p&gt;
&lt;hr&gt;
&lt;script src="http://pipes.yahoo.com/js/listbadge.js"&gt;{"pipe_id":"AOHXh4cN3RGT2APz9IS63A","_btype":"list","pipe_params":{"origdate":"19 Apr 2008 04:50:10 +0800"},"width":"500","height":"100"}&lt;/script&gt;&lt;hr&gt;
&lt;p&gt;This module is for &lt;a href="http://melecio.org/" target="_blank"&gt;Gari&lt;/a&gt;. Hi, bro! :-) &lt;/p&gt;
&lt;p&gt;&lt;a href="http://pipes.yahoo.com/plumber/reltime" target="_blank"&gt;pipes.yahoo.com/plumber/reltime&lt;/a&gt;&lt;/p&gt;</description><link>http://pipes.tumblr.com/post/32192166</link><guid>http://pipes.tumblr.com/post/32192166</guid><pubDate>Sat, 19 Apr 2008 07:03:00 +0800</pubDate><category>yahoo! pipes</category><category>tools</category><category>modules</category></item><item><title>Field(s) in Regex</title><description>&lt;p&gt;&lt;img src="http://74.54.212.169/Dlqj2c1fR7yi2oj2uCzdm0Tc_500.png" align="middle" height="353" width="500"/&gt;&lt;/p&gt;
&lt;p&gt;To use a field as part of the replacement value in a &lt;i&gt;Regex&lt;/i&gt;, use the following: &lt;b&gt;${fieldname}. &lt;/b&gt;You can use this with a &lt;i&gt;String Builder&lt;/i&gt; as well.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://pipes.yahoo.com/plumber/fieldinregex" target="_blank"&gt;pipes.yahoo.com/plumber/fieldinregex&lt;/a&gt;&lt;/p&gt;</description><link>http://pipes.tumblr.com/post/32153703</link><guid>http://pipes.tumblr.com/post/32153703</guid><pubDate>Fri, 18 Apr 2008 23:45:00 +0800</pubDate><category>yahoo! pipes</category><category>tips</category></item><item><title>Array to string</title><description>&lt;p align="center"&gt;&lt;img src="http://74.54.212.169/Dlqj2c1fR7yhs28xYIJs240m_500.png" height="249" width="421"/&gt;&lt;/p&gt;
&lt;p&gt;Here’s a neat trick. Did you know that you can use the &lt;i&gt;URL Builder&lt;/i&gt; to turn array elements into a slash-delimited string? &lt;/p&gt;
&lt;p&gt;&lt;a href="http://pipes.yahoo.com/plumber/a2str" target="_blank"&gt;pipes.yahoo.com/plumber/a2str&lt;/a&gt;&lt;/p&gt;</description><link>http://pipes.tumblr.com/post/32153333</link><guid>http://pipes.tumblr.com/post/32153333</guid><pubDate>Fri, 18 Apr 2008 23:44:00 +0800</pubDate><category>yahoo! pipes</category><category>tricks</category></item><item><title>Tumblr Titles with Tags</title><description>&lt;p&gt;&lt;img src="http://74.54.212.169/Dlqj2c1fR7ygz2fakbJaqzuy_r1_500.png" height="466" width="500"/&gt;&lt;/p&gt;
&lt;p&gt;Given the &lt;a href="http://pipes.tumblr.com/post/32153703"&gt;Field in Regex&lt;/a&gt; and &lt;a href="http://pipes.tumblr.com/post/32153333"&gt;Array To String&lt;/a&gt; tricks, here’s a standalone tool that modifes your &lt;a href="http://www.tumblr.com/" target="_blank"&gt;Tumblr&lt;/a&gt; feed such that the tags you assign to a post are appended to the title. You can optionally specify a regex for the tags that you want to exclude.&lt;/p&gt;
&lt;p&gt;Check it out!&lt;/p&gt;
&lt;hr&gt;
&lt;script src="http://pipes.yahoo.com/js/listbadge.js"&gt;{"pipe_id":"690dceabe2fc466e6d605ef7d1e15e07","_btype":"list","pipe_params":{"ex":"yahoo! pipes","rss":"http:\/\/pipes.tumblr.com\/rss"},"width":"500","height":"200"}&lt;/script&gt;&lt;hr&gt;
&lt;p&gt;&lt;a href="http://pipes.yahoo.com/plumber/tttags" target="_blank"&gt;pipes.yahoo.com/plumber/tttags&lt;/a&gt;&lt;/p&gt;</description><link>http://pipes.tumblr.com/post/32152064</link><guid>http://pipes.tumblr.com/post/32152064</guid><pubDate>Fri, 18 Apr 2008 23:43:00 +0800</pubDate><category>yahoo! pipes</category><category>tools</category><category>standalone</category><category>tumblr</category></item><item><title>Case-insensitive regex</title><description>&lt;p&gt;&lt;img src="http://74.54.212.169/Dlqj2c1fR7u10rcox0dAes5C_500.png" align="left" height="260" width="250"/&gt;You can specify “i” in the &lt;i&gt;Regex&lt;/i&gt; operator, but what about the &lt;i&gt;Filter&lt;/i&gt; operator and &lt;i&gt;String Regex&lt;/i&gt; module?&lt;/p&gt;
&lt;p&gt;Simple. Just prefix your regex with &lt;b&gt;(?i)&lt;/b&gt; — this makes the match case-insensitive for the remainder of the string.&lt;/p&gt;
&lt;p&gt;&lt;br clear="all"/&gt;&lt;a href="http://pipes.yahoo.com/plumber/ciregex" target="_blank"&gt;pipes.yahoo.com/plumber/ciregex&lt;/a&gt;&lt;/p&gt;</description><link>http://pipes.tumblr.com/post/31826989</link><guid>http://pipes.tumblr.com/post/31826989</guid><pubDate>Tue, 15 Apr 2008 21:08:00 +0800</pubDate><category>yahoo! pipes</category><category>tips</category></item><item><title>Parameter reuse</title><description>&lt;p&gt;&lt;img src="http://74.54.212.169/Dlqj2c1fR7t9m4d8LlBp9nGA_r1_500.png" align="right" height="194" width="212"/&gt;&lt;br/&gt;It may not be immediately obvious, but you can wire the output of various &lt;i&gt;Inputs&lt;/i&gt; and &lt;i&gt;Builders&lt;/i&gt; as many times as you need.  &lt;/p&gt;
&lt;p&gt;&lt;br clear="all"/&gt;&lt;a href="http://pipes.yahoo.com/plumber/reuseparam" target="_blank"&gt;pipes.yahoo.com/plumber/reuseparam&lt;/a&gt; &lt;/p&gt;</description><link>http://pipes.tumblr.com/post/31776804</link><guid>http://pipes.tumblr.com/post/31776804</guid><pubDate>Tue, 15 Apr 2008 07:39:00 +0800</pubDate><category>yahoo! pipes</category><category>tips</category></item><item><title>Counter (for loop)</title><description>&lt;p&gt;&lt;img src="http://74.54.212.169/Dlqj2c1fR7sew59pZxFgecoa_r5_500.png" border="0" height="440" width="500"/&gt;&lt;/p&gt;
&lt;p&gt;A loop that counts from A to B is quite useful for the times when you need to repeat a certain operation X times.&lt;/p&gt;
&lt;p&gt;This module is similar to &lt;a href="http://pipes.yahoo.com/pipes/pipe.info?_id=UhP6IpHM3BGVJPDHX0sBXw" target="_blank"&gt;Mauricio Scheffer’s&lt;/a&gt;, but uses an internal string for the number source instead of pulling in a CSV file from a remote host. By default, it’s limited to a max of 1000 loops as well, but you can just add more numbers.&lt;/p&gt;
&lt;p&gt;To use this, clone it and drag into your editor from “My pipes” into a Loop where you embed your desired action. The counter is accessible as “item.i”. Note that the silly “+ 0” loop is a workaround for a bug in the &lt;i&gt;String Tokenizer&lt;/i&gt;, where it tokenizes 0 to an empty string.  &lt;/p&gt;
&lt;p&gt;Here’s a &lt;i&gt;bash&lt;/i&gt; one-liner to make more numbers. Just copy and paste the values into the &lt;i&gt;String Builder&lt;/i&gt;. &lt;/p&gt;
&lt;p&gt;&lt;b&gt;limit=2000; (for ((i=0;i &lt; $limit; ++i)); do echo -n $i; if [ $i -ne (( $limit-1 )) ]; echo -n , ’ ) &gt; $limit-numbers.csv&lt;/b&gt;&lt;/p&gt;
&lt;p&gt;&lt;a href="http://pipes.yahoo.com/plumber/counter" target="_blank"&gt;pipes.yahoo.com/plumber/counter&lt;/a&gt;&lt;/p&gt;</description><link>http://pipes.tumblr.com/post/31708799</link><guid>http://pipes.tumblr.com/post/31708799</guid><pubDate>Mon, 14 Apr 2008 18:01:00 +0800</pubDate><category>yahoo! pipes</category><category>tools</category><category>modules</category></item><item><title>Feed switch</title><description>&lt;p&gt; &lt;img src="http://data.tumblr.com/Dlqj2c1fR7sceciiNCbRkkW4_500.png" border="0" height="337" width="500"/&gt;&lt;/p&gt;
&lt;p&gt;You can use this technique for any problem that requires runtime modification of the pipe output, for instance, when you use a feed with embeddable gadgets.&lt;/p&gt;
&lt;p&gt;In this example, you can exclude descriptions (excerpts) by specifying an &lt;i&gt;xd&lt;/i&gt; parameter value of 1.&lt;/p&gt;
&lt;p&gt;&lt;a href="http://pipes.yahoo.com/plumber/feedswitch" target="_blank"&gt;pipes.yahoo.com/plumber/feedswitch&lt;/a&gt; &lt;/p&gt;</description><link>http://pipes.tumblr.com/post/31706745</link><guid>http://pipes.tumblr.com/post/31706745</guid><pubDate>Mon, 14 Apr 2008 17:29:00 +0800</pubDate><category>yahoo! pipes</category><category>techniques</category></item></channel></rss>
