<?xml version="1.0" encoding="UTF-8"?><!-- generator="wordpress/2.3.3" -->
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	>
<channel>
	<title>Comments for Josh the Outspoken</title>
	<link>http://blog.reverberate.org</link>
	<description>Wholesome, enlightened ranting about programming.</description>
	<pubDate>Fri, 04 Jul 2008 19:42:18 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.3.3</generator>
		<item>
		<title>Comment on Why ALL OS&#8217;s (except BeOS) have failed on the desktop by phoudoin</title>
		<link>http://blog.reverberate.org/2007/07/25/why-all-oss-except-beos-have-failed-on-the-desktop/#comment-941</link>
		<dc:creator>phoudoin</dc:creator>
		<pubDate>Wed, 11 Jun 2008 22:53:57 +0000</pubDate>
		<guid>http://blog.reverberate.org/2007/07/25/why-all-oss-except-beos-have-failed-on-the-desktop/#comment-941</guid>
		<description>If you're still interested in BeOS quite unique regarding desktop responsiveness, you my check Haiku, aka BeOS re-written from scratch in open source:

http://www.haiku-os.org</description>
		<content:encoded><![CDATA[<p>If you&#8217;re still interested in BeOS quite unique regarding desktop responsiveness, you my check Haiku, aka BeOS re-written from scratch in open source:</p>
<p><a href="http://www.haiku-os.org" rel="nofollow">http://www.haiku-os.org</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The future of automatic memory management by Sho</title>
		<link>http://blog.reverberate.org/2008/04/09/the-future-of-automatic-memory-management/#comment-939</link>
		<dc:creator>Sho</dc:creator>
		<pubDate>Mon, 09 Jun 2008 22:12:05 +0000</pubDate>
		<guid>http://blog.reverberate.org/2008/04/09/the-future-of-automatic-memory-management/#comment-939</guid>
		<description>I believe that Mac OS X has garbage collection that runs in its own thread starting with OS X 1.5.</description>
		<content:encoded><![CDATA[<p>I believe that Mac OS X has garbage collection that runs in its own thread starting with OS X 1.5.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on What&#8217;s the best way to visualize a parse tree? by Kent Mein</title>
		<link>http://blog.reverberate.org/2008/02/26/whats-the-best-way-to-visualize-a-parse-tree/#comment-937</link>
		<dc:creator>Kent Mein</dc:creator>
		<pubDate>Wed, 04 Jun 2008 17:16:17 +0000</pubDate>
		<guid>http://blog.reverberate.org/2008/02/26/whats-the-best-way-to-visualize-a-parse-tree/#comment-937</guid>
		<description>One thing that would really be cool is if you had expandable/collapsible sections similar to the way you can do threads for emails in some mail programs.

Going off of the sql section for a simple example:
alter table tableparams
tableparams: add ...  &#124; del ... &#124; etc...

It would be sweet if tableparams showed up as a folder type of icon that you can collapse/expand.</description>
		<content:encoded><![CDATA[<p>One thing that would really be cool is if you had expandable/collapsible sections similar to the way you can do threads for emails in some mail programs.</p>
<p>Going off of the sql section for a simple example:<br />
alter table tableparams<br />
tableparams: add &#8230;  | del &#8230; | etc&#8230;</p>
<p>It would be sweet if tableparams showed up as a folder type of icon that you can collapse/expand.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Gazelle Grammar Visualization by Pascal</title>
		<link>http://blog.reverberate.org/2008/04/10/gazelle-grammar-visualization/#comment-929</link>
		<dc:creator>Pascal</dc:creator>
		<pubDate>Thu, 29 May 2008 20:42:44 +0000</pubDate>
		<guid>http://blog.reverberate.org/2008/04/10/gazelle-grammar-visualization/#comment-929</guid>
		<description>Keep on the good works!

I've read your "Gazelle" blog and the Gazelle manual, and amen!

I was sick of language in the style of ANT/MAVEN pseudo-language XML-Hell.

For doing some language transformation and some DSL (in my day job), I was looking into parsing.

I've looked into ANTLR (pragmatic book) but something didn't fit: the embedding of action into the grammar file (I have to redo the grammar file if I want to generate in another language ? WTF)

The other solution I found is doing the grammar inside the language like Parsec from the Haskell World, no more beautiful (very common for DSL in the Lisp world too).

I found about GOLD in your blog, look good, but since it is a Windows-only thing...

So basically no tools fit my need, maybe Gazelle at version 1.0  :)

Question:
Have you any rational for your grammar syntax ? Instead of using BNF/EBNF of SDF ?

I will look into your release 0.2,
Thanks for the good work.
(note: I can't get the formating of my comment correct...?)</description>
		<content:encoded><![CDATA[<p>Keep on the good works!</p>
<p>I&#8217;ve read your &#8220;Gazelle&#8221; blog and the Gazelle manual, and amen!</p>
<p>I was sick of language in the style of ANT/MAVEN pseudo-language XML-Hell.</p>
<p>For doing some language transformation and some DSL (in my day job), I was looking into parsing.</p>
<p>I&#8217;ve looked into ANTLR (pragmatic book) but something didn&#8217;t fit: the embedding of action into the grammar file (I have to redo the grammar file if I want to generate in another language ? WTF)</p>
<p>The other solution I found is doing the grammar inside the language like Parsec from the Haskell World, no more beautiful (very common for DSL in the Lisp world too).</p>
<p>I found about GOLD in your blog, look good, but since it is a Windows-only thing&#8230;</p>
<p>So basically no tools fit my need, maybe Gazelle at version 1.0  <img src='http://blog.reverberate.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Question:<br />
Have you any rational for your grammar syntax ? Instead of using BNF/EBNF of SDF ?</p>
<p>I will look into your release 0.2,<br />
Thanks for the good work.<br />
(note: I can&#8217;t get the formating of my comment correct&#8230;?)</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Defending RPC by Matt Brubeck</title>
		<link>http://blog.reverberate.org/2008/05/23/defending-rpc/#comment-922</link>
		<dc:creator>Matt Brubeck</dc:creator>
		<pubDate>Tue, 27 May 2008 07:31:21 +0000</pubDate>
		<guid>http://blog.reverberate.org/2008/05/23/defending-rpc/#comment-922</guid>
		<description>I vote for Gazelle, personally.  :)</description>
		<content:encoded><![CDATA[<p>I vote for Gazelle, personally.  <img src='http://blog.reverberate.org/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Defending RPC by josh</title>
		<link>http://blog.reverberate.org/2008/05/23/defending-rpc/#comment-921</link>
		<dc:creator>josh</dc:creator>
		<pubDate>Tue, 27 May 2008 07:10:17 +0000</pubDate>
		<guid>http://blog.reverberate.org/2008/05/23/defending-rpc/#comment-921</guid>
		<description>Matt,

You have wonderfully substantive arguments, as always!  To address them fully I'll need to write a full blog entry.  There's just one thing I want to answer at the moment:

I wasn't trying to claim that there isn't software that implements RESTful services, proxying, caching, wire formats, etc.; of course there is.  I just wanted Steve to pick an actual implementation of one that he thinks fairly represents the REST ideal, so we could compare apples to apples (one request/reply implementation to another) and make objective comparisons like:

- what does "Hello, world!" look like?
- how do you document and support your APIs?
- how does the system handle various failure modes?
- how much work does it take for others to interoperate with you?
- how well can the system support adjusting the caching strategy?

What I wanted to avoid is going down a path of discussion where I would say "REST doesn't support scenario X very well" and hear a retort like "the REST stack could support a feature that does X perfectly."  I want to talk about reality and not Plato's world of forms.  I want to compare actual implementations and not architectural ideals.

Anyway, I'm on the fence about whether I want to take the time to really thoroughly explain my point of view right now.  On one hand, this has been on my mind for a while.  On the other hand, this discussion has started to wear on me a bit and I really desperately want to get the next version of Gazelle out the door.</description>
		<content:encoded><![CDATA[<p>Matt,</p>
<p>You have wonderfully substantive arguments, as always!  To address them fully I&#8217;ll need to write a full blog entry.  There&#8217;s just one thing I want to answer at the moment:</p>
<p>I wasn&#8217;t trying to claim that there isn&#8217;t software that implements RESTful services, proxying, caching, wire formats, etc.; of course there is.  I just wanted Steve to pick an actual implementation of one that he thinks fairly represents the REST ideal, so we could compare apples to apples (one request/reply implementation to another) and make objective comparisons like:</p>
<p>- what does &#8220;Hello, world!&#8221; look like?<br />
- how do you document and support your APIs?<br />
- how does the system handle various failure modes?<br />
- how much work does it take for others to interoperate with you?<br />
- how well can the system support adjusting the caching strategy?</p>
<p>What I wanted to avoid is going down a path of discussion where I would say &#8220;REST doesn&#8217;t support scenario X very well&#8221; and hear a retort like &#8220;the REST stack could support a feature that does X perfectly.&#8221;  I want to talk about reality and not Plato&#8217;s world of forms.  I want to compare actual implementations and not architectural ideals.</p>
<p>Anyway, I&#8217;m on the fence about whether I want to take the time to really thoroughly explain my point of view right now.  On one hand, this has been on my mind for a while.  On the other hand, this discussion has started to wear on me a bit and I really desperately want to get the next version of Gazelle out the door.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Defending RPC by Matt Brubeck</title>
		<link>http://blog.reverberate.org/2008/05/23/defending-rpc/#comment-920</link>
		<dc:creator>Matt Brubeck</dc:creator>
		<pubDate>Tue, 27 May 2008 06:39:39 +0000</pubDate>
		<guid>http://blog.reverberate.org/2008/05/23/defending-rpc/#comment-920</guid>
		<description>I don't care about Cisco or the definition of RPC, but I do still want to convince you that the REST architectural style has something to bring to the table.  I'm not convinced that you've actually fully understood what REST means.  I do hope you'll read &lt;a href="http://www.oreilly.com/catalog/9780596529260/" rel="nofollow"&gt;RESTful Web Services&lt;/a&gt; by Sam Ruby and Leonard Richardson, because I think you'd actually appreciate quite a bit of what it has to say.  Plus, most of the examples are in Ruby!

This is really a response to &lt;a href="http://steve.vinoski.net/blog/2008/05/24/defending-something-other-than-rpc/#comment-956" rel="nofollow"&gt;this comment thread&lt;/a&gt;, but I thought I'd converse with you directly rather than via Steve's blog.

&lt;blockquote&gt;RESTful HTTP is not software. I can’t download, compile, and develop with it.&lt;/blockquote&gt;

&lt;a href="http://api.rubyonrails.com/classes/ActiveResource.html" rel="nofollow"&gt;Sure you can.&lt;/a&gt;  Oh, but other software is available that does REST on HTTP?  That's a bad thing?  If someone wrote a pure-Java ICE stack that interoperated with the original, would that make ICE a worse choice, or a better one?

It's true.  REST - even a specific RESTful architecture like Ruby and Richardson's ROA, on a specific protocol like HTTP - does not constrain you to a single software implementation.

But I'd say that it's actually the other choice that's underconstrained.  RPC-like middleware frameworks like ICE and Thrift may provide plenty of guidance as to what software needs to run on each end of the connection, but they are completely unconstrained when it comes to the hard questions of desiign and architecture.  What should my API look like?  Should session state be maintained by the server or the client?  How are state changes represented?  How does data point to other data, possibly in other services?  REST answers all of these.  ICE and Thrift leave it up to the developer to design client-server interaction patterns.  (At least some of the REST constraints can be followed within an RPC-like system, and should be for any system that has to scale and interoperate).

&lt;blockquote&gt;I’m still left deciding what my on-the-wire format will be.&lt;/blockquote&gt;

Not true.  HTTP has a wire format, just like the request-reply system I mentioned above does.  HTTP's format is richer in some ways, and poorer in others.  Both include extensible metadata.  HTTP's wire format also defines semantics for things like modification and expiry dates, authentication tokens, retry counts, character encoding, redirections to other services, and data fields whose formats are described by MIME types.  The proprietary system allows only one format for its data fields, but this data format maps better onto some popular programming language data structures than the common MIME types used with HTTP.

But if you do want to pass simple RPC-like parameters through HTTP without referencing a separately-specified data format, the URI specification gives the standard way to do this for HTTP GET (using URI-encoded parameters in the query string), and the "application/x-www-form-urlencoded" MIME type is a default format for use with HTTP POST.  Neither is really that great as serialization formats go, but I'll freely admit that taking full advantage of HTTP does require the designer to choose an appropriate content-type for the data being transferred.  On the other hand, most middleware systems work much more poorly with content types that do not match their native formats.

&lt;blockquote&gt;Even if I choose an on-the-wire format like JSON (and choose an implementation of JSON) I still need more code to actually dispatch incoming requests to my request handlers.&lt;/blockquote&gt;

Sure, if by "write" you mean "download a widely-deployed piece of software like Rails that will generate it for me."  The same is necessary with the main RPC-like framework I've worked in, by the way.  Anyway, it's not like any system is just going to let you download third-party software without writing some of your own to handle your specific logic for each request.  Fortunately, both HTTP and ICE-style frameworks have implementations that will take care of the boring boilerplate parts like dispatching for you.

(In fact, Apache alone *is* a perfectly good dispatching system for many purposes - I've implemented quite a bit of functionality for some applications just using mod_rewrite and CGI.)

&lt;blockquote&gt;And if you’re making the traditional “caches, proxies, and tunnels, oh my!” arguments that REST advocates make, you’ll need yet more software to actually give you these things.&lt;/blockquote&gt;

I'm not sure why you seem to think this is hand-waving.  Every large-scale HTTP service I've seen (except the ones that are just tunnels for proprietary request-reply protocols!) makes use of HTTP caching, and most make use of proxies.  I personally am responsible for four different services that publish feeds over HTTP, and four different applications that consume those feeds.  These eight programs, implemented in three different languages, all see improved latency and decreased bandwidth thanks to their common support for HTTP's cache expiry and validation.

With every HTTP library I've used, caching is built in - no need for separate software.  Yes, if you decide to introduce proxies into your architecture then you'll need to choose one to meet your needs.  Again, I'm not sure why you think it's a bad thing that the client/server framework doesn't commit you to using just one proxy implementation.</description>
		<content:encoded><![CDATA[<p>I don&#8217;t care about Cisco or the definition of RPC, but I do still want to convince you that the REST architectural style has something to bring to the table.  I&#8217;m not convinced that you&#8217;ve actually fully understood what REST means.  I do hope you&#8217;ll read <a href="http://www.oreilly.com/catalog/9780596529260/" rel="nofollow">RESTful Web Services</a> by Sam Ruby and Leonard Richardson, because I think you&#8217;d actually appreciate quite a bit of what it has to say.  Plus, most of the examples are in Ruby!</p>
<p>This is really a response to <a href="http://steve.vinoski.net/blog/2008/05/24/defending-something-other-than-rpc/#comment-956" rel="nofollow">this comment thread</a>, but I thought I&#8217;d converse with you directly rather than via Steve&#8217;s blog.</p>
<blockquote><p>RESTful HTTP is not software. I can’t download, compile, and develop with it.</p></blockquote>
<p><a href="http://api.rubyonrails.com/classes/ActiveResource.html" rel="nofollow">Sure you can.</a>  Oh, but other software is available that does REST on HTTP?  That&#8217;s a bad thing?  If someone wrote a pure-Java ICE stack that interoperated with the original, would that make ICE a worse choice, or a better one?</p>
<p>It&#8217;s true.  REST - even a specific RESTful architecture like Ruby and Richardson&#8217;s ROA, on a specific protocol like HTTP - does not constrain you to a single software implementation.</p>
<p>But I&#8217;d say that it&#8217;s actually the other choice that&#8217;s underconstrained.  RPC-like middleware frameworks like ICE and Thrift may provide plenty of guidance as to what software needs to run on each end of the connection, but they are completely unconstrained when it comes to the hard questions of desiign and architecture.  What should my API look like?  Should session state be maintained by the server or the client?  How are state changes represented?  How does data point to other data, possibly in other services?  REST answers all of these.  ICE and Thrift leave it up to the developer to design client-server interaction patterns.  (At least some of the REST constraints can be followed within an RPC-like system, and should be for any system that has to scale and interoperate).</p>
<blockquote><p>I’m still left deciding what my on-the-wire format will be.</p></blockquote>
<p>Not true.  HTTP has a wire format, just like the request-reply system I mentioned above does.  HTTP&#8217;s format is richer in some ways, and poorer in others.  Both include extensible metadata.  HTTP&#8217;s wire format also defines semantics for things like modification and expiry dates, authentication tokens, retry counts, character encoding, redirections to other services, and data fields whose formats are described by MIME types.  The proprietary system allows only one format for its data fields, but this data format maps better onto some popular programming language data structures than the common MIME types used with HTTP.</p>
<p>But if you do want to pass simple RPC-like parameters through HTTP without referencing a separately-specified data format, the URI specification gives the standard way to do this for HTTP GET (using URI-encoded parameters in the query string), and the &#8220;application/x-www-form-urlencoded&#8221; MIME type is a default format for use with HTTP POST.  Neither is really that great as serialization formats go, but I&#8217;ll freely admit that taking full advantage of HTTP does require the designer to choose an appropriate content-type for the data being transferred.  On the other hand, most middleware systems work much more poorly with content types that do not match their native formats.</p>
<blockquote><p>Even if I choose an on-the-wire format like JSON (and choose an implementation of JSON) I still need more code to actually dispatch incoming requests to my request handlers.</p></blockquote>
<p>Sure, if by &#8220;write&#8221; you mean &#8220;download a widely-deployed piece of software like Rails that will generate it for me.&#8221;  The same is necessary with the main RPC-like framework I&#8217;ve worked in, by the way.  Anyway, it&#8217;s not like any system is just going to let you download third-party software without writing some of your own to handle your specific logic for each request.  Fortunately, both HTTP and ICE-style frameworks have implementations that will take care of the boring boilerplate parts like dispatching for you.</p>
<p>(In fact, Apache alone *is* a perfectly good dispatching system for many purposes - I&#8217;ve implemented quite a bit of functionality for some applications just using mod_rewrite and CGI.)</p>
<blockquote><p>And if you’re making the traditional “caches, proxies, and tunnels, oh my!” arguments that REST advocates make, you’ll need yet more software to actually give you these things.</p></blockquote>
<p>I&#8217;m not sure why you seem to think this is hand-waving.  Every large-scale HTTP service I&#8217;ve seen (except the ones that are just tunnels for proprietary request-reply protocols!) makes use of HTTP caching, and most make use of proxies.  I personally am responsible for four different services that publish feeds over HTTP, and four different applications that consume those feeds.  These eight programs, implemented in three different languages, all see improved latency and decreased bandwidth thanks to their common support for HTTP&#8217;s cache expiry and validation.</p>
<p>With every HTTP library I&#8217;ve used, caching is built in - no need for separate software.  Yes, if you decide to introduce proxies into your architecture then you&#8217;ll need to choose one to meet your needs.  Again, I&#8217;m not sure why you think it&#8217;s a bad thing that the client/server framework doesn&#8217;t commit you to using just one proxy implementation.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Defending RPC by Rajith Attapattu</title>
		<link>http://blog.reverberate.org/2008/05/23/defending-rpc/#comment-914</link>
		<dc:creator>Rajith Attapattu</dc:creator>
		<pubDate>Sat, 24 May 2008 19:55:32 +0000</pubDate>
		<guid>http://blog.reverberate.org/2008/05/23/defending-rpc/#comment-914</guid>
		<description>@Josh
&lt;blockquote&gt;Since nothing you write is a substantive critique of my blog entry, there’s not really anything more to say&lt;/blockquote&gt;
Frankly there is nothing much to critique in your blog entry. There are no technical arguments to say why RPC is better while the rest of the industry is moving more towards message oriented middleware. All you have done is to say Facebook and  Google is using RPC in the backend. Dude,  simply bcos it's Google or Facebook do you automatically believe that RPC was the best choice? Have you considered how different it may have been if they used  a message oriented approach? Do you know the advantages/disadvantages each approach would have yeilded for the given systems. If you do have them please state and we can have a good debate about it. Simply bcos something works does that mean that is the best way to do it?

&lt;blockquote&gt;Yes, on a network shit happens, and no sane RPC system will try to hide this from you.&lt;/blockquote&gt; I think you got the definition of RPC wrong.  RPC by definition provides the illusion of calling a routine on a remote address space looks as if it resides in the local address space. As a programmer you write the same code whether the routine is local or remote.  If my  remoting framework doesn't hide the network from me, then I am doing something else not RPC.

&lt;blockquote&gt;
Adding a new parameter? No problem, old servers simply won’t see it. &lt;/blockquote&gt;
If only a developers life is this easy.  Here are some use cases taken from the &lt;a&gt;thrift white paper&lt;/a&gt;

Added field, old client, new server. In this case, the old client  does not send the new field. The new server recognizes that the field is not set, and implements default behavior for out-of-date requests. 
 Removed field, old client, new server. In this case, the old client sends the removed field. The new server simply ignores it. 
 Added field, new client, old server. The new client sends a field that the old server does not recognize. The old server simply ignores it and processes as normal. 
 Removed field, new client, old server. This is the most dangerous case, as the old server is unlikely to have suitable default behavior implemented for the missing field. It is recommended that in this situation the new server be rolled out prior to the new clients. 


You can see from case 4 that adding a paramter is not as easy as you think. If it was such an easy from problem to solve then why is thrift (which is what Facebook is using and one of the systems that you seem to toot about) is recomending that you need to roll out a new server?

&lt;blockquote&gt;Completely changing the semantics of your call? No problem — just give the new call a new name. &lt;/blockquote&gt;
Try telling that to your manager when the system  is already in production.</description>
		<content:encoded><![CDATA[<p>@Josh</p>
<blockquote><p>Since nothing you write is a substantive critique of my blog entry, there’s not really anything more to say</p></blockquote>
<p>Frankly there is nothing much to critique in your blog entry. There are no technical arguments to say why RPC is better while the rest of the industry is moving more towards message oriented middleware. All you have done is to say Facebook and  Google is using RPC in the backend. Dude,  simply bcos it&#8217;s Google or Facebook do you automatically believe that RPC was the best choice? Have you considered how different it may have been if they used  a message oriented approach? Do you know the advantages/disadvantages each approach would have yeilded for the given systems. If you do have them please state and we can have a good debate about it. Simply bcos something works does that mean that is the best way to do it?</p>
<blockquote><p>Yes, on a network shit happens, and no sane RPC system will try to hide this from you.</p></blockquote>
<p> I think you got the definition of RPC wrong.  RPC by definition provides the illusion of calling a routine on a remote address space looks as if it resides in the local address space. As a programmer you write the same code whether the routine is local or remote.  If my  remoting framework doesn&#8217;t hide the network from me, then I am doing something else not RPC.</p>
<blockquote><p>
Adding a new parameter? No problem, old servers simply won’t see it. </p></blockquote>
<p>If only a developers life is this easy.  Here are some use cases taken from the <a>thrift white paper</a></p>
<p>Added field, old client, new server. In this case, the old client  does not send the new field. The new server recognizes that the field is not set, and implements default behavior for out-of-date requests.<br />
 Removed field, old client, new server. In this case, the old client sends the removed field. The new server simply ignores it.<br />
 Added field, new client, old server. The new client sends a field that the old server does not recognize. The old server simply ignores it and processes as normal.<br />
 Removed field, new client, old server. This is the most dangerous case, as the old server is unlikely to have suitable default behavior implemented for the missing field. It is recommended that in this situation the new server be rolled out prior to the new clients. </p>
<p>You can see from case 4 that adding a paramter is not as easy as you think. If it was such an easy from problem to solve then why is thrift (which is what Facebook is using and one of the systems that you seem to toot about) is recomending that you need to roll out a new server?</p>
<blockquote><p>Completely changing the semantics of your call? No problem — just give the new call a new name. </p></blockquote>
<p>Try telling that to your manager when the system  is already in production.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Defending RPC by Steve Vinoski</title>
		<link>http://blog.reverberate.org/2008/05/23/defending-rpc/#comment-913</link>
		<dc:creator>Steve Vinoski</dc:creator>
		<pubDate>Sat, 24 May 2008 16:01:13 +0000</pubDate>
		<guid>http://blog.reverberate.org/2008/05/23/defending-rpc/#comment-913</guid>
		<description>Josh, I've posted a response to my blog. Your comment system doesn't seem to allow links, but you can see my response at steve.vinoski.net.

</description>
		<content:encoded><![CDATA[<p>Josh, I&#8217;ve posted a response to my blog. Your comment system doesn&#8217;t seem to allow links, but you can see my response at steve.vinoski.net.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Defending RPC by Defending Something Other Than RPC :: Steve Vinoski&#8217;s Blog</title>
		<link>http://blog.reverberate.org/2008/05/23/defending-rpc/#comment-912</link>
		<dc:creator>Defending Something Other Than RPC :: Steve Vinoski&#8217;s Blog</dc:creator>
		<pubDate>Sat, 24 May 2008 15:57:39 +0000</pubDate>
		<guid>http://blog.reverberate.org/2008/05/23/defending-rpc/#comment-912</guid>
		<description>[...] Josh Haberman takes me to task for my previous posting: Steve Vinoski has come out very vocally against RPC in the last few days&#8230; [...]</description>
		<content:encoded><![CDATA[<p>[&#8230;] Josh Haberman takes me to task for my previous posting: Steve Vinoski has come out very vocally against RPC in the last few days&#8230; [&#8230;]</p>
]]></content:encoded>
	</item>
</channel>
</rss>
