<?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"
	>

<channel>
	<title>Untangled</title>
	<atom:link href="http://roy.gbiv.com/untangled/feed" rel="self" type="application/rss+xml" />
	<link>http://roy.gbiv.com/untangled</link>
	<description>musings of Roy T. Fielding</description>
	<pubDate>Mon, 24 Mar 2008 23:49:34 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.5.1</generator>
	<language>en</language>
			<item>
		<title>Information networks</title>
		<link>http://roy.gbiv.com/untangled/2008/information-networks</link>
		<comments>http://roy.gbiv.com/untangled/2008/information-networks#comments</comments>
		<pubDate>Mon, 24 Mar 2008 23:49:34 +0000</pubDate>
		<dc:creator>Roy T. Fielding</dc:creator>
		
		<category><![CDATA[web architecture]]></category>

		<category><![CDATA[courses]]></category>

		<category><![CDATA[information networks]]></category>

		<guid isPermaLink="false">http://roy.gbiv.com/untangled/2008/information-networks</guid>
		<description><![CDATA[One of the keys to understanding how the Web works is to understand how social networks impact the structure of information (and vice versa). Jon Kleinberg at Cornell University has organized a couple great courses on the subject, at both the undergraduate and graduate levels. One of these days, I&#8217;ll find the time to (re)read [...]]]></description>
			<content:encoded><![CDATA[<p>One of the keys to understanding how the Web works is to understand how social networks impact the structure of information (and vice versa). <a href="http://www.cs.cornell.edu/home/kleinber/">Jon Kleinberg</a> at Cornell University has organized a couple great courses on the subject, at both the <a href="http://www.infosci.cornell.edu/courses/info204/2008sp/">undergraduate</a> and <a href="http://www.cs.cornell.edu/Courses/cs685/2007fa/">graduate</a> levels. One of these days, I&#8217;ll find the time to (re)read all of those papers&#8230; for now, all I can do is shorten the distance.</p>
]]></content:encoded>
			<wfw:commentRss>http://roy.gbiv.com/untangled/2008/information-networks/feed</wfw:commentRss>
		</item>
		<item>
		<title>On software architecture</title>
		<link>http://roy.gbiv.com/untangled/2008/on-software-architecture</link>
		<comments>http://roy.gbiv.com/untangled/2008/on-software-architecture#comments</comments>
		<pubDate>Sat, 22 Mar 2008 21:24:01 +0000</pubDate>
		<dc:creator>Roy T. Fielding</dc:creator>
		
		<category><![CDATA[software architecture]]></category>

		<category><![CDATA[web architecture]]></category>

		<category><![CDATA[architectural style]]></category>

		<category><![CDATA[blackboard]]></category>

		<category><![CDATA[Linda]]></category>

		<category><![CDATA[REST]]></category>

		<category><![CDATA[ROA]]></category>

		<category><![CDATA[tuplespace]]></category>

		<guid isPermaLink="false">http://roy.gbiv.com/untangled/2008/on-software-architecture</guid>
		<description><![CDATA[I ran across a spout yesterday about the uniform interface in REST. Actually, it is more of an attack on resource-oriented architecture (ROA) with the usual sideswipes at REST. Like most criticisms of my work, it got me thinking&#8230; not just about what was being criticized (in this case, the lack of REST constraint enforcement [...]]]></description>
			<content:encoded><![CDATA[<p>I ran across a <a href="http://blog.bwtaylor.com/2008/03/20/uniform_interface">spout</a> yesterday about the uniform interface in REST. Actually, it is more of an attack on resource-oriented architecture (ROA) with the usual sideswipes at REST. Like most criticisms of my work, it got me thinking&#8230; not just about what was being criticized (in this case, the lack of REST constraint enforcement in HTTP), but how to fix the underlying problem that a lot of folks simply don&#8217;t understand the differences between software architecture and implementation, let alone between architectural styles and software architecture.</p>
<blockquote><p>A <a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/software_arch.htm#sec_1_1">software architecture</a> is an abstraction of the run-time elements of a software system during some phase of its operation. A system may be composed of many levels of abstraction and many phases of operation, each with its own software architecture.</p></blockquote>
<p>Let&#8217;s start with a simple (yet surprisingly complex) example. My blog is a network-based application — a specific grouping of functionality and behavior that allows me to accomplish a desired task using multiple computers that communicate via a network. That&#8217;s what <em>application</em> means in our industry: applying computing to accomplish a given task.</p>
<p><span id="more-10"></span>The implementation of my blog consists of, at the time of this writing, an installation of <a href="http://httpd.apache.org/">Apache HTTP Server 2.0.61</a> that is executing <a href="http://php.net/">PHP 5.2.3</a> in order to run the scripts from <a href="http://wordpress.org/">Wordpress 2.3.3</a> which use sockets to interact with another server running <a href="http://mysql.com/">MySQL 5.0</a> in order to store, manipulate, and retrieve database entries that form the content of my blog when passed through various template scripts and delivered to any number of specific versions of Web-based clients, usually via HTTP, many of which apply stylesheets prior to rendering said content in a form that is (hopefully) readable by you. Phew! And that&#8217;s just the Web interface. Wordpress has at least four other interfaces that are not Web-based, and each has its own set of network or server-side clients with their own specific versions, and the sum of all of these individual components make up the implementation of what I call <a href="http://roy.gbiv.com/untangled/">Untangled</a>.</p>
<p>Note that some of this blog&#8217;s implementation (the clients used by other readers) is not under my control. The vast majority of it, in fact, regardless of whether we count in lines of code or software installs. If you don&#8217;t think the clients should be considered part of the implementation, then think again: all this effort would be wasted if the words can&#8217;t be read.</p>
<p>Within my blog implementation there are many software architectures. A huge number of architectures, in fact, at various levels of abstraction and component granularity. I could probably spend months trying to describe them all and would still miss a few valid abstractions. If we limit ourselves to just the network-based architectures (the ones where component interaction is limited to message exchange), then we might just have a chance to discuss them in a week. However, just one example should be enough to get the idea, and the Atom publishing mechanism within Wordpress is ideally suited for our purpose.</p>
<p><a href="http://www.intertwingly.net/wiki/pie/FrontPage">Atom</a> is a great example of how architectures are often nested within other architectures. Using typed links (hypertext), a couple XML media types, and a subset of HTTP, Atom defines a range of expected behaviors and interactions for the purpose of authoring blog entries and syndicating feeds. The Atom implementation within my blog consists of the various Web browsers and Atom clients out on the Internet (which are thankfully pretty consistent at the moment) and a couple scripts, utility functions, and links within the theme headers of my Wordpress installation. Compare that to the Atom <em>architecture</em> within my blog,  which consists of just the externally observable behavioral abstraction: clients that consume or produce the atom formats, send AtomPub  request messages, and receive AtomPub responses; a server that identifies and provides specific resources that accept HTTP requests, stores entries, and responds in accordance with the Atom protocols.</p>
<p>Note that when we talk about the implementation of my blog versus an architecture of my blog, we are still talking about the same software — the only difference between the two is the amount of extraneous detail being ignored. Of course, another advantage of the architecture view is that we can talk about the interactions independent of the specific implementations, and thus find common ground in which to standardize the interactions in the form of an application-level protocol. It is also easier to perceive systemic effects at the higher architectural levels (architectural properties, such as evolvability, that encompass many implementations over time).</p>
<p>So, where do software architectural styles fit within this scheme?</p>
<p><a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/rest_arch_style.htm">Representational State Transfer (REST)</a> is a <a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/software_arch.htm#sec_1_5">software architectural style</a>, not a software architecture. REST is just one of <a href="http://www.ics.uci.edu/~fielding/pubs/dissertation/net_arch_styles.htm">many software architectural styles</a>. Specifically, REST is a named set of constraints on component interaction that, when obeyed, cause the resulting architecture to have certain properties (preferably, desirable properties). Like software patterns, an architectural style packages a set of constraints under a convenient name and tells us about the properties that are induced by those constraints <strong>when we follow the style</strong>. There are some subtle differences between architectural patterns and architectural styles, mainly due to the different audiences/communities, but they are equivalent from the point of view of an architect of network-based software.</p>
<p>We can talk about architectural styles as an abstraction in general. We can also talk about the architectural styles found within specific architectures, such as the Web architecture as a whole, or within the Atom publishing protocols as standardized, or even the architecture observed by abstracting a specific implementation of WordPress. We can compare different architectures that perform the same function, along with the different styles found within those architectures, in terms of their architectural properties. Furthermore, we can talk about how a given implementation matches (or fails to match) an intended architecture that is supposed be an example of a given style.</p>
<p>Discussion of software architecture therefore falls into the same tracks that we often hear when real-world architects talk about the architecture of buildings. They might have discussions about the <a href="http://oncampus.richmond.edu/classics/students/Olsen/doric.html">Doric style</a>, compare examples of that style found within <a href="http://www.fotosearch.com/photos-images/doric-style.html">various architectures</a>, or just admire the <a href="http://www.greatbuildings.com/buildings/The_Parthenon.html">Parthenon</a>. Likewise, different styles that perform the same function can be compared, as can slight differences in the specific implementations that are used as examples of a given style.</p>
<p>Architecture is therefore an abstraction of implementation, and styles are the named patterns by which we can understand architectures and architectural design. Simple, right?</p>
<p>Then why is it that SOA advocates insist on comparing REST to specific implementations and then complain about how <em>vague</em> the style is compared to the implementation? ROA is not REST. ROA is supposed to be a kind of design method for RESTful services, apparently, but most folks who use the term are talking about REST without the hypertext constraint. In other words, not RESTful at all. REST without the hypertext constraint is like pipe-and-filter without the pipes: completely useless because it no longer induces any interesting properties. The <a href="http://www.oreilly.com/catalog/9780596529260/">RESTful Web Services</a> book doesn&#8217;t help the situation by renaming the hypertext engine as <em>connectedness</em>. That does nothing but obscure its role as the driving force in RESTful applications.</p>
<p><a href="http://en.wikipedia.org/wiki/Linda_(coordination_language)">Linda</a> is another example of oddly construed comparisons with REST, though in this case it is generally abused by REST advocates. <a href="http://www.markbaker.ca/blog/">Mark Baker</a> was the first to notice the similarity between Linda&#8217;s uniform interface and the uniform interface constraints within REST. However, Linda is not a style — it is an architecture for coordination via a shared tuplespace (an example of the blackboard architectural style). It makes sense to compare REST to the blackboard style (they do have a lot in common, as styles go).  Likewise, there are some limited comparisons that can be made between Linda and the Web architecture, but one must keep in mind that they serve completely different functions (Linda being a coordination language and the Web being a distributed hypermedia system). But to make any comparison at all between REST (a style) and Linda (an architecture designed to support a different style in order to accomplish an entirely different function) is absurd; just as absurd as trying to compare the Doric style to my condo&#8217;s garage door opener. Unlike Mark, some REST advocates have a tendency to lose track of when they are talking about REST versus when they are talking about Web architecture versus when they are talking about specific implementations that attempt to match the Web architecture.</p>
<p>In summary:</p>
<ol>
<li>Web implementation consists of the current universe of information identified by URIs and all of the specific versions of software currently operating within that information space (like Safari, Firefox, Apache httpd, Wordpress, &#8230;).</li>
<li>Web architecture consists of the protocols and data formats that define the syntax and semantics of interactions between Web components: the standards for URI, HTTP, HTML, XML, and many others. All of these standards are designed to optimize RESTful interaction, with varying degrees of success, but not to require such interaction because RESTful interaction is not the only way they are used.</li>
<li>REST is an architectural style that, when followed, allows components to carry out their functions in a way that maximizes the most important architectural properties of a multi-organizational, network-based information system. In particular, it maximizes the growth of identified information within that system, which increases the utility of the system as a whole.</li>
</ol>
<p>Web implementations are not equivalent to Web architecture and Web architecture is not equivalent to the REST style. REST constraints do not constrain Web architecture — they constrain RESTful architectures (including those found within the Web architecture) that voluntarily wish to be so constrained. HTTP/1.1 was designed to enable and improve RESTful architectures, just as REST was designed to reflect and explain all of the best things about Web architecture. That does not mean that HTTP/1.1 is constrained to a single style; it means those other styles are not part of the design (i.e., we don&#8217;t care if future changes to HTTP will cause them to break). Only some of the architectures found on the Web are RESTful, but that doesn&#8217;t change the fact that RESTful architectures do work better on the Web than any other known styles. They work better because REST induces the architectural properties that the Web needs most — reusability, anarchic scalability, evolvability, and synergistic growth — and thus the Web architecture has been updated over time to promote RESTful styles over all others, by design.</p>
]]></content:encoded>
			<wfw:commentRss>http://roy.gbiv.com/untangled/2008/on-software-architecture/feed</wfw:commentRss>
		</item>
		<item>
		<title>Resource, Resource! Wherefore art thou Resource?</title>
		<link>http://roy.gbiv.com/untangled/2008/resource-resource-wherefore-art-thou-resource</link>
		<comments>http://roy.gbiv.com/untangled/2008/resource-resource-wherefore-art-thou-resource#comments</comments>
		<pubDate>Sun, 24 Feb 2008 07:05:12 +0000</pubDate>
		<dc:creator>Roy T. Fielding</dc:creator>
		
		<category><![CDATA[web architecture]]></category>

		<category><![CDATA[semantic web]]></category>

		<category><![CDATA[webarch]]></category>

		<guid isPermaLink="false">http://roy.gbiv.com/untangled/2008/resource-resource-wherefore-art-thou-resource</guid>
		<description><![CDATA[Noah Mendelsohn posted a pre-draft about some thoughts on resources, information resources and representations, in which he tries to make sense of the never-ending debate on httpRange-14 httpRedirections-57.
I&#8217;ve been vaguely following this discussion on the W3C TAG mailing list for some time and, against my better judgement, I feel a need to comment on the [...]]]></description>
			<content:encoded><![CDATA[<p>Noah Mendelsohn posted a pre-draft about <a href="http://www.w3.org/2001/tag/2008/02/RepresentationResources.html">some thoughts on resources, information resources and representations</a>, in which he tries to make sense of the never-ending debate on <strike>httpRange-14</strike> <a href="http://www.w3.org/2001/tag/group/track/issues/57">httpRedirections-57</a>.</p>
<p>I&#8217;ve been vaguely following <a href="http://lists.w3.org/Archives/Public/www-tag/2008Feb/0013.html">this discussion</a> on the W3C TAG mailing list for some time and, against my better judgement, I feel a need to comment on the suggestions. Actually, that&#8217;s not quite right, since I really don&#8217;t have any polite comments to make on the suggestions, and I wouldn&#8217;t want to offend my friends on the TAG.</p>
<p>Instead, I&#8217;ll just ask a few questions about this one sentence:</p>
<blockquote><p>A key requirement of the Semantic Web is that URIs be used<br />
to identify resources unambiguously.</p></blockquote>
<p>Why?</p>
<ul>
<li>What makes that a key <strong>requirement</strong> of the Semantic Web?</li>
<li>What makes the TAG think it is feasible to satisfy that requirement?</li>
<li>How will the TAG know when the requirement is (or isn&#8217;t) satisfied?</li>
<li>If someone can show that this requirement is inherently unsatisfiable, doesn&#8217;t that imply the Semantic Web will never happen?</li>
</ul>
<p>Or, is it <strong>not a requirement</strong>, and all these proposals are just an excuse to avoid designing a Semantic Web that would actually work within the same problem space of the current Web?</p>
<blockquote><p>I don’t want the Web to constrain what people do: the Web<br />
is not there to constrain society. It’s there to model society<br />
in its completeness, in its entirety. <em>[Tim Berners-Lee, 1994]</em></p></blockquote>
<p>Have we forgotten why?</p>
<p>On the Web, millions of people mint URIs, and millions more use them in references. Millions of human beings, conversing over time, with an occasional URI thrown in to refer to a subject under discussion.</p>
<p>When was the last time you had an unambiguous discussion?</p>
]]></content:encoded>
			<wfw:commentRss>http://roy.gbiv.com/untangled/2008/resource-resource-wherefore-art-thou-resource/feed</wfw:commentRss>
		</item>
		<item>
		<title>Watching the ripples</title>
		<link>http://roy.gbiv.com/untangled/2008/watching-the-ripples</link>
		<comments>http://roy.gbiv.com/untangled/2008/watching-the-ripples#comments</comments>
		<pubDate>Thu, 21 Feb 2008 21:03:04 +0000</pubDate>
		<dc:creator>Roy T. Fielding</dc:creator>
		
		<category><![CDATA[blogging]]></category>

		<category><![CDATA[open source]]></category>

		<category><![CDATA[open development]]></category>

		<category><![CDATA[OpenSolaris]]></category>

		<guid isPermaLink="false">http://roy.gbiv.com/untangled/2008/watching-the-ripples</guid>
		<description><![CDATA[Last week, I resigned from membership in OpenSolaris shortly after midnight on February 14th (Valentine&#8217;s Day). I won&#8217;t attempt to explain all of the reasons here. What I find more interesting at the moment is the propagation delay in the news.
For traditional media, an event that happened last week would be old news by now. [...]]]></description>
			<content:encoded><![CDATA[<p>Last week, <a href="http://mail.opensolaris.org/pipermail/ogb-discuss/2008-February/004488.html" title="resignation email to ogb-discuss">I resigned from membership in OpenSolaris</a> shortly after midnight on February 14th (Valentine&#8217;s Day). I won&#8217;t attempt to explain all of the reasons here. What I find more interesting at the moment is the propagation delay in the news.</p>
<p>For traditional media, an event that happened last week would be old news by now. After my message, I received a bunch of warm regrets from folks I know in the community, a collection of thanks from people who were just glad someone did something, and no formal reaction from anyone. No news coverage, no public apologies, and not even the sense that anything would change. There were a few blog mentions from people outside the community (<a href="http://www.ratliff.net/blog/index.php/2008/02/14/not-with-a-bang-but-a-whimper/" title="Not with a bang, but a whimper">Emily Ratliff</a> on the 14th, rippling to <a href="http://www.michaeldolan.com/1105">Michael Dolan</a> on the 15th, which in turn rippled to <a href="http://blogs.sun.com/jimgris/entry/a_chuckle" title="A chuckle?">Jim Grisanzio</a> on the 17th), but nobody asked me for further comments. That was last week.</p>
<p>This week, the traditional side of non-traditional media reporting went back to work (on Tuesday, actually, due to the three-day weekend for President&#8217;s day that some companies observe). It started on the 20th with a 9am email message from IDG asking for comment on my resignation, which the reporter had discovered while &#8220;looking through some Sun blogs.&#8221;  The problem with spin control is that sometimes you spin up a larger storm than the one being controlled. That&#8217;s six full days after the event (five days after traditional media would have ignored the story as old news).</p>
<p>Unfortunately, I was stuck in the lobby of an Acura dealership waiting for my car, reading the 500 or so email messages I downloaded just before 9am, and did not get back to him in time even if I had wanted to add something (I didn&#8217;t). Naturally, Sun&#8217;s very competent PR team are never caught without something to say, and <a href="http://www.infoworld.com/article/08/02/20/Web-pioneer-quits-OpenSolaris_1.html">Terri&#8217;s response</a> was polite with only the tiniest amount of spin. <em>["consultant" ... WTF? I get paid for consulting. The only thing Sun provided me is travel expenses for two face-to-face meetings and one keynote talk in Berlin. <a href="http://www.day.com/">Day</a> paid all of my other costs. There is a huge difference between being a member of the community (an advisor) and being a consultant, even if the original invitation to join the OpenSolaris CAB came from Sun. Sun certainly didn't refer to me as a consultant when they bragged about that in the press. If Sun wants to call me a consultant, maybe Day should send a bill for my hourly rate.]</em></p>
<p>To close the door on that article, IDG turned to an &#8220;industry analyst&#8221; from Redmonk. <a href="http://redmonk.com/sogrady/">Stephen O&#8217;Grady</a>, who does happen to be one of Sun&#8217;s consultants (in a refreshingly open way), tossed a little water on the embers of my resignation. He later <a href="http://redmonk.com/sogrady/2008/02/20/linux-vs-opensolarisagain-the-qa/">rippled on the larger conversation</a> as well, in a fairly balanced piece. Entirely accurate points on their own, yet entirely missing my point. Sun is running into trouble because it has a problem with honesty and with ethical behavior within a community setting, and you can&#8217;t blame that on anyone else (especially not the critics). What is the point of creating the OpenSolaris Community governance if the community isn&#8217;t even allowed to decide what is called OpenSolaris? This isn&#8217;t an abstract discussion of trademarks. It is the fundamental basis for making technical decisions of any kind for the project.</p>
<p>Sun made a commitment to open development with the <a href="http://opensolaris.org/os/community/cab/charter/">OpenSolaris Charter</a>. Sun does have the legal right to take advantage of its own trademarks, which is precisely what they had been doing for the past three years, in the press, by taking advantage of the positive spin regarding open development. Sun is fully capable of changing that decision by amending or dissolving the charter, but instead has chosen to ignore the governance model while at the same time claiming the open development manta as their own. I cannot support that. Sun was using my name as &#8220;proof&#8221; that they were listening to the open development community, so I had to go.</p>
<p>The issue is really quite simple: Sun wants to <a href="http://www.bartleby.com/59/3/youcanthavey.html">have your cake and eat it too</a>.</p>
<p>In contrast, the <a href="http://www.mysql.com/">MySQL</a> model is open source, not open development. I respect that because they are honest about it, not just because the result is published as open source. There is even a <a href="http://forge.mysql.com/">MySQL user community</a>, providing input to the company without any illusion that they are helping to develop the main product.</p>
<p>I am not a free software zealot. For me, open source is a business decision, not a religion. In my opinion, an open development model results in better source code, but that&#8217;s just one of many aspects that can improve or reduce software product quality. For example,  <a href="http://www.day.com/" title="Day Software">Day Software</a> developers participate in open development at <a href="http://www.apache.org/">Apache</a> for almost all of our infrastructure software, which we then use as components within our not-entirely-open-source <a href="http://www.day.com/site/en/index/products.html">content management products</a>. We learn from that open development experience, every day, and it influences all of the products that we develop. Each of our developers are better developers because they participate in open development, and that in turn has encouraged more great open source developers to work for Day. It isn&#8217;t just about the code.</p>
<p>In any case, the IDG article showed up in the evening of the 20th, in an <a href="http://www.infoworld.com/article/08/02/20/Web-pioneer-quits-OpenSolaris_1.html">InfoWorld blog</a>, and then spread from there to several outlets. Boom! A rock has been heaved into the pond, and more ripples go forth. I&#8217;ve had four google alerts already today and it&#8217;s barely past noon. We&#8217;ve got bloggers who are blogging about blogs that comment on other blogs that discuss a blog that referenced an email message that I wrote last week. Now, if I could just get them to comment on what I wrote, instead of just commenting on the commentary&#8230; <em>sigh</em>.</p>
<p>Oh, right, I have a blog now. I&#8217;ll just toss another pebble in &#8230;</p>
<p><em>[Update 1: fixed the spelling of MySQL, pointed to their user community, and explained a bit more about open development at Day.] </em></p>
<p><em>[Update 2: clarified that Stephen's piece is separate from the IDG quote and removed an assumption of how IDG picks its sources.]</em></p>
]]></content:encoded>
			<wfw:commentRss>http://roy.gbiv.com/untangled/2008/watching-the-ripples/feed</wfw:commentRss>
		</item>
		<item>
		<title>Why untangled?</title>
		<link>http://roy.gbiv.com/untangled/2008/why-untangled</link>
		<comments>http://roy.gbiv.com/untangled/2008/why-untangled#comments</comments>
		<pubDate>Sun, 17 Feb 2008 00:15:53 +0000</pubDate>
		<dc:creator>Roy T. Fielding</dc:creator>
		
		<category><![CDATA[blogging]]></category>

		<category><![CDATA[babylon5]]></category>

		<category><![CDATA[REST]]></category>

		<guid isPermaLink="false">http://roy.gbiv.com/untangled/2008/why-untangled</guid>
		<description><![CDATA[I have been posting things on the Internet for so long, in so many forms, that I never felt a need to join into the latest round we call blogging, particularly since I already spend most of my working days simply trying to get through the email. Lately, however, it seems that I spend more [...]]]></description>
			<content:encoded><![CDATA[<p>I have been posting things on the Internet for so long, in so many forms, that I never felt a need to join into the latest round we call blogging, particularly since I already spend most of my working days simply trying to get through the email. Lately, however, it seems that I spend more time answering people&#8217;s questions about REST than I should – many of them questions that I have answered a dozen times or more, but are simply lost in the thousands of email messages archived in too many places around the net for me to even think about tracking them down and forwarding. So, I write more email, and more archives pile up. I need to start organizing my own correspondence.</p>
<p>Why <a href="http://roy.gbiv.com/untangled/">untangled</a>? Because I&#8217;ve always liked this quote from <em>Babylon 5</em>:</p>
<blockquote><p>
  &#8220;You&#8217;re a problem solver. You&#8217;re one of these people who would pick up a rope that&#8217;s gotten all tangled up and spend an entire day untangling it. Because it&#8217;s a challenge, because it defies your sense of order in the universe, and because you can.&#8221;
</p></blockquote>
<p>
which is about as close a description of me as I could find, at least in the abstract. I am not quite as bad as <em>Monk</em>, but I love a good puzzle, and I can be exceedingly stubborn about finishing the things that I start.</p>
]]></content:encoded>
			<wfw:commentRss>http://roy.gbiv.com/untangled/2008/why-untangled/feed</wfw:commentRss>
		</item>
	</channel>
</rss>

<!-- Dynamic Page Served (once) in 0.601 seconds -->
<!-- Cached page served by WP-Cache -->
