{
  "attachments": [],
  "comments_archived": true,
  "date": "2007-02-15T08:49:56.000Z",
  "layout": "post",
  "tags": [
    "webdev",
    "rss",
    "mashups",
    "atom",
    "yahoo",
    "feedmagick"
  ],
  "title": "Thoughts on Pipes on the Web - Part II",
  "wordpress_id": 1039,
  "wordpress_slug": "thoughts-on-pipes-on-the-web-part-ii",
  "wordpress_url": "http://decafbad.com/blog/2007/02/15/thoughts-on-pipes-on-the-web-part-ii",
  "year": "2007",
  "month": "02",
  "day": "15",
  "isDir": false,
  "slug": "thoughts-on-pipes-on-the-web-part-ii",
  "type": "entry",
  "postName": "2007-02-15-thoughts-on-pipes-on-the-web-part-ii",
  "html": "<p>In <a href=\"http://decafbad.com/blog/2007/02/15/thoughts-on-pipes-on-the-web\">the last post</a>, I expressed concern for my own well-being over a lack of head-over-heels love for <a href=\"http://pipes.yahoo.com/\">Yahoo! Pipes</a>.  On the surface, I think it's because it's not a freshly discovered concept for me, and also probably because I'm tired and a bit hacked out right now.  But, I think there's a bit more to it.</p>\n<p>First of all, I'm not impressed by GUI builders for most things.  Don't get me wrong:  That <a href=\"http://pipes.yahoo.com/\">Pipes</a> GUI is pretty sweet and quite an impressive implementation — but as a rule, such things don't quite get my geek on.  So, there's that.</p>\n<p>Another thing is that I've done something <em>kinda</em> like <a href=\"http://pipes.yahoo.com/\">Yahoo! Pipes</a>, called <a href=\"http://decafbad.com/trac/wiki/FeedMagick\">FeedMagick</a> — only, it doesn't have a GUI and I mostly abandoned it after releasing the code and having used it for a project at my old job.  It's one of those <a href=\"http://decafbad.com/blog/2006/05/26/confessions-of-a-serial-enthusiast\">serial enthusiasms</a> that I've figured I'd circle back to eventually.  I still think it's a pretty cool idea.  </p>\n<p>All kudos to the <a href=\"http://pipes.yahoo.com/\">Yahoo! Pipes</a> team though: Unlike me, they've actually got a living and breathing project — which trumps a paged-to-disk <a href=\"http://decafbad.com/blog/2006/05/26/confessions-of-a-serial-enthusiast\">serial enthusiasm</a> most days.</p>\n<p>So what else is really curbing my enthusiasm?  Well, <a href=\"http://pipes.yahoo.com/\">Yahoo! Pipes</a> looks like a pretty self-contained pipes engine — data goes in one end, <a href=\"http://www.catb.org/~esr/jargon/html/F/frobnicate.html\">frobnication</a> happens in the middle, data comes out the other side.</p>\n<p>But, what I like about the notion of <a href=\"http://207.22.26.166/bytecols/2001-08-15.html\">the URL-line</a> is that you can take one URL and <em>supply it as a parameter to another URL</em> — making <a href=\"http://www.decafbad.com/blog/2002/04/18/oooaod\">messy pipelined URLs</a> while building a crazy web-wide distributed execution environment powered by HTTP and REST.  This is the kernel of the notion that I think really excites me about pipe on the web — I just haven't had a chance to do much with it lately.</p>\n<p>Depending on the perspective, true pipes on the web — that is, URLs fetching URLs — look to me like <a href=\"http://www.defmacro.org/ramblings/fp.html\">functional programming</a> ala <a href=\"http://en.wikipedia.org/wiki/Lisp_programming_language\">Lisp</a>.  Consider an idempotent GET request as a pure function call with no side-effects.  Then, consider a GET request that accepts a URL as a parameter — it's a nested function call: the outer GET must make an inner GET to fetch the parameter-supplied URL.  Give the inner URL another URL as a parameter, and you've got yet another nested function call.  </p>\n<p>But, if you like, ignore the theoretical <a href=\"http://www.defmacro.org/ramblings/fp.html\">benefits of functional programming</a> — flip the nested function calls inside out and you've got a pipe.  And, since you're using HTTP GET, you can get all the benefits of HTTP — like caching of execution results and a web full of distributed processing nodes, among other things.  </p>\n<p>I haven't explored <a href=\"http://pipes.yahoo.com/\">Yahoo! Pipes</a> deeply enough yet, so maybe I'm missing the features that pipe authors can used to call on other distributed pipe elements out on the web at large.  But, I think that's what ultimately gets me psyched about pipes the web and hasn't yet for <a href=\"http://pipes.yahoo.com/\">Yahoo! Pipes</a>.</p>\n<p>And, of course, I think I'm just a little hacked out and tired of whizbang new stuff right now.  :)</p>\n<div id=\"comments\" class=\"comments archived-comments\"><h3>Archived Comments</h3>\n<ul class=\"comments\">\n<li class=\"comment\" id=\"comment-221090511\">\n<div class=\"meta\">\n<div class=\"author\">\n<a class=\"avatar image\" rel=\"nofollow\" href=\"http://journal.2manyjohns.com\"><img src=\"http://www.gravatar.com/avatar.php?gravatar_id=d9670e63de2bba834c5a725193702718&amp;size=32&amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png\" width=\"\" height=\"\"></a>\n<a class=\"avatar name\" rel=\"nofollow\" href=\"http://journal.2manyjohns.com\">John Evans</a>\n</div>\n\n\n<p><a href=\"#comment-221090511\" class=\"permalink\"><time datetime=\"2007-02-15T13:59:01\">2007-02-15T13:59:01</time></a></p>\n</div>\n\n\n<div class=\"content\"><p>The thing that struck me about Pipes is that it seemed rather limiting to someone who can code but too geeky to someone who can't. Maybe I am wrong but I wonder that once the hype dies down who exactly the audience will be long term.</p></div>\n\n\n</li>\n<li class=\"comment\" id=\"comment-221090512\">\n<div class=\"meta\">\n<div class=\"author\">\n<a class=\"avatar image\" rel=\"nofollow\" href=\"http://sturob.com/\"><img src=\"http://www.gravatar.com/avatar.php?gravatar_id=66681517af9a0a62c1044b16a528b7e3&amp;size=32&amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png\" width=\"\" height=\"\"></a>\n<a class=\"avatar name\" rel=\"nofollow\" href=\"http://sturob.com/\">Stuart Robinson</a>\n</div>\n\n\n<p><a href=\"#comment-221090512\" class=\"permalink\"><time datetime=\"2007-02-15T19:35:41\">2007-02-15T19:35:41</time></a></p>\n</div>\n\n\n<div class=\"content\"><p>Don't be so apologetic! Conceptually it's cool, but the UI quickly becomes frustrating for anyone with text-based coding experience. I guess this is the web's visual basic and we are all going to be more interested in it's perl.</p></div>\n\n\n</li>\n</ul>\n\n\n</div>\n\n\n",
  "body": "In [the last post][part1], I expressed concern for my own well-being over a lack of head-over-heels love for [Yahoo! Pipes][pipes].  On the surface, I think it's because it's not a freshly discovered concept for me, and also probably because I'm tired and a bit hacked out right now.  But, I think there's a bit more to it.\r\n\r\nFirst of all, I'm not impressed by GUI builders for most things.  Don't get me wrong:  That [Pipes][] GUI is pretty sweet and quite an impressive implementation — but as a rule, such things don't quite get my geek on.  So, there's that.\r\n\r\nAnother thing is that I've done something *kinda* like [Yahoo! Pipes][pipes], called [FeedMagick][] — only, it doesn't have a GUI and I mostly abandoned it after releasing the code and having used it for a project at my old job.  It's one of those [serial enthusiasms][se] that I've figured I'd circle back to eventually.  I still think it's a pretty cool idea.  \r\n\r\nAll kudos to the [Yahoo! Pipes][pipes] team though: Unlike me, they've actually got a living and breathing project — which trumps a paged-to-disk [serial enthusiasm][se] most days.\r\n\r\nSo what else is really curbing my enthusiasm?  Well, [Yahoo! Pipes][pipes] looks like a pretty self-contained pipes engine — data goes in one end, [frobnication][] happens in the middle, data comes out the other side.\r\n\r\nBut, what I like about the notion of [the URL-line][urlline] is that you can take one URL and *supply it as a parameter to another URL* — making [messy pipelined URLs][pipelined] while building a crazy web-wide distributed execution environment powered by HTTP and REST.  This is the kernel of the notion that I think really excites me about pipe on the web — I just haven't had a chance to do much with it lately.\r\n\r\nDepending on the perspective, true pipes on the web — that is, URLs fetching URLs — look to me like [functional programming][fp] ala [Lisp][].  Consider an idempotent GET request as a pure function call with no side-effects.  Then, consider a GET request that accepts a URL as a parameter — it's a nested function call: the outer GET must make an inner GET to fetch the parameter-supplied URL.  Give the inner URL another URL as a parameter, and you've got yet another nested function call.  \r\n\r\nBut, if you like, ignore the theoretical [benefits of functional programming][fp] — flip the nested function calls inside out and you've got a pipe.  And, since you're using HTTP GET, you can get all the benefits of HTTP — like caching of execution results and a web full of distributed processing nodes, among other things.  \r\n\r\nI haven't explored [Yahoo! Pipes][pipes] deeply enough yet, so maybe I'm missing the features that pipe authors can used to call on other distributed pipe elements out on the web at large.  But, I think that's what ultimately gets me psyched about pipes the web and hasn't yet for [Yahoo! Pipes][pipes].\r\n\r\nAnd, of course, I think I'm just a little hacked out and tired of whizbang new stuff right now.  :)\r\n\r\n[fp]: http://www.defmacro.org/ramblings/fp.html\r\n[lisp]: http://en.wikipedia.org/wiki/Lisp_programming_language\r\n[pipelined]: http://www.decafbad.com/blog/2002/04/18/oooaod\r\n[urlline]: http://207.22.26.166/bytecols/2001-08-15.html\r\n[frobnication]: http://www.catb.org/~esr/jargon/html/F/frobnicate.html\r\n[se]: http://decafbad.com/blog/2006/05/26/confessions-of-a-serial-enthusiast\r\n[feedmagick]: http://decafbad.com/trac/wiki/FeedMagick\r\n[pipes]: http://pipes.yahoo.com/\r\n[part1]: http://decafbad.com/blog/2007/02/15/thoughts-on-pipes-on-the-web\n\n<div id=\"comments\" class=\"comments archived-comments\">\n            <h3>Archived Comments</h3>\n            \n        <ul class=\"comments\">\n            \n        <li class=\"comment\" id=\"comment-221090511\">\n            <div class=\"meta\">\n                <div class=\"author\">\n                    <a class=\"avatar image\" rel=\"nofollow\" \n                       href=\"http://journal.2manyjohns.com\"><img src=\"http://www.gravatar.com/avatar.php?gravatar_id=d9670e63de2bba834c5a725193702718&amp;size=32&amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png\"/></a>\n                    <a class=\"avatar name\" rel=\"nofollow\" \n                       href=\"http://journal.2manyjohns.com\">John Evans</a>\n                </div>\n                <a href=\"#comment-221090511\" class=\"permalink\"><time datetime=\"2007-02-15T13:59:01\">2007-02-15T13:59:01</time></a>\n            </div>\n            <div class=\"content\"><p>The thing that struck me about Pipes is that it seemed rather limiting to someone who can code but too geeky to someone who can't. Maybe I am wrong but I wonder that once the hype dies down who exactly the audience will be long term.</p></div>\n            \n        </li>\n    \n        <li class=\"comment\" id=\"comment-221090512\">\n            <div class=\"meta\">\n                <div class=\"author\">\n                    <a class=\"avatar image\" rel=\"nofollow\" \n                       href=\"http://sturob.com/\"><img src=\"http://www.gravatar.com/avatar.php?gravatar_id=66681517af9a0a62c1044b16a528b7e3&amp;size=32&amp;default=http://mediacdn.disqus.com/1320279820/images/noavatar32.png\"/></a>\n                    <a class=\"avatar name\" rel=\"nofollow\" \n                       href=\"http://sturob.com/\">Stuart Robinson</a>\n                </div>\n                <a href=\"#comment-221090512\" class=\"permalink\"><time datetime=\"2007-02-15T19:35:41\">2007-02-15T19:35:41</time></a>\n            </div>\n            <div class=\"content\"><p>Don't be so apologetic! Conceptually it's cool, but the UI quickly becomes frustrating for anyone with text-based coding experience. I guess this is the web's visual basic and we are all going to be more interested in it's perl.</p></div>\n            \n        </li>\n    \n        </ul>\n    \n        </div>\n    ",
  "parentPath": "./content/posts/archives/2007",
  "path": "2007/02/15/thoughts-on-pipes-on-the-web-part-ii",
  "needsBuild": true,
  "prevPostPath": "2007/02/15/thoughts-on-pipes-on-the-web",
  "prevPostTitle": "Thoughts on Pipes on the Web",
  "nextPostPath": "2007/02/15/i-should-be-writing",
  "nextPostTitle": "i should be writing"
}