0xDECAFBAD

It's all spinning wheels and self-doubt until the first pot of coffee.

Pipelining the web makes for messy URLs

Jon Udell wrote a few columns and weblog entries about pipelining the web, and the power of the URL-line as akin to a UNIX command line with pipes. His examples did nifty things with a publicly available XSLT processor to use an XSL stylesheet at one URL and an XML document at another to produce a new document.

So, this is what I've been playing with a bit this week, expecially with GoogleToRSS and RssDisplay. But, this is what the URL looks like when I string the two together (line wrapping forced):



http://www.decafbad.com/web-services/url-based/rss_display.cgi?xml_img=htt
p://www.decafbad.com/images/tinyXML.jpg&src=http%3A%2F%2Fwww.decafbad.com%
2Fweb-services%2Furl-based%2Fgoogle_rss.cgi%3Fquery%3Dlink%3AXGnxCbayl9UC%
3Awww.decafbad.com%2F%26title%3DLinks+to+0xDECAFBAD%26description%3DTop%25
2010%2520Links%2520to%25200xDECAFBAD%26


What a pain this was to build. I had to make a little form in a throwaway page to trick my browser into doing the hard work. I suppose I could make a lil utility script to do the meta character escaping more easily. But, man, if people are already making fun of the punctuation and obfuscation possible in Perl, imagine what they'll say about scripts on the URL-line. (Assuming I'm not missing reams of existing ridicule already. :) )



Jon does make a note of this little problem, but I'm thinking it's going to be what makes me wrap up my URL-as-command-line experiments. What would this URL look like if it had 1 or 2 more levels of pipeline?

I suppose I could, as he'd also mentioned, employ a few tricks like reducing script names and parameter names down to single characters, but then I'm sacrificing one of the virtues he'd mentioned: the human readable, self-documenting nature of URL-based services. Well, that gets scrapped at the first layer of pipelined URL indirection with the escaping of URL meta characters. Hmm...



Still poking away at things, anyway.

shortname=oooaod