<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments on: RESTful Data</title>
	<atom:link href="http://steve.vinoski.net/blog/2008/02/28/restful-data/feed/" rel="self" type="application/rss+xml" />
	<link>http://steve.vinoski.net/blog/2008/02/28/restful-data/</link>
	<description>Ask forgiveness, not permission.</description>
	<pubDate>Sun, 07 Sep 2008 17:34:16 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.1</generator>
		<item>
		<title>By: Weekly SOA crumbs #10 - Service Endpoint</title>
		<link>http://steve.vinoski.net/blog/2008/02/28/restful-data/#comment-729</link>
		<dc:creator>Weekly SOA crumbs #10 - Service Endpoint</dc:creator>
		<pubDate>Mon, 10 Mar 2008 05:26:29 +0000</pubDate>
		<guid isPermaLink="false">http://steve.vinoski.net/blog/2008/02/28/restful-data/#comment-729</guid>
		<description>[...] REST RESTful Data Idempotency of PUT, and common mistakes (via Stefan Tilkov) [...]</description>
		<content:encoded><![CDATA[<p>[...] REST RESTful Data Idempotency of PUT, and common mistakes (via Stefan Tilkov) [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>By: Adam Burry</title>
		<link>http://steve.vinoski.net/blog/2008/02/28/restful-data/#comment-720</link>
		<dc:creator>Adam Burry</dc:creator>
		<pubDate>Thu, 28 Feb 2008 18:38:46 +0000</pubDate>
		<guid isPermaLink="false">http://steve.vinoski.net/blog/2008/02/28/restful-data/#comment-720</guid>
		<description>I liked your description of C-like structs as describing the shape of bit sequences. I also liked the idea of contrasting this with self-describing data. It reminds me of the well-known statement by Hoare, "We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil."

Compilers are able to optimize monolithic programs because at compile time they have the complete definition of the system. Therefore, they know which registers have to be pushed before a function call, and which don't, and they know that everyone is in agreement about the "shape" of the data.

However, in the distributed case, the notion of a compiler, a process with a complete view of the system, is not desirable. Or at least, not realistic. In this case, optimizing the data by obscuring its shape appears to be a premature optimization. We need flexibility there because we do not have all the information about what happens to the data next.

Sections 2.4, 2.5 and 5.5 of "Structure and Interpretation of Computer Programs" by Abelson and Sussman applies here. I think even clearer than the text might be lectures 4b and 10a by the same authors found here: http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/</description>
		<content:encoded><![CDATA[<p>I liked your description of C-like structs as describing the shape of bit sequences. I also liked the idea of contrasting this with self-describing data. It reminds me of the well-known statement by Hoare, &#8220;We should forget about small efficiencies, say about 97% of the time: premature optimization is the root of all evil.&#8221;</p>
<p>Compilers are able to optimize monolithic programs because at compile time they have the complete definition of the system. Therefore, they know which registers have to be pushed before a function call, and which don&#8217;t, and they know that everyone is in agreement about the &#8220;shape&#8221; of the data.</p>
<p>However, in the distributed case, the notion of a compiler, a process with a complete view of the system, is not desirable. Or at least, not realistic. In this case, optimizing the data by obscuring its shape appears to be a premature optimization. We need flexibility there because we do not have all the information about what happens to the data next.</p>
<p>Sections 2.4, 2.5 and 5.5 of &#8220;Structure and Interpretation of Computer Programs&#8221; by Abelson and Sussman applies here. I think even clearer than the text might be lectures 4b and 10a by the same authors found here: <a href="http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/" rel="nofollow">http://swiss.csail.mit.edu/classes/6.001/abelson-sussman-lectures/</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>
