<?xml version="1.0" encoding="utf-8"?>
<feed xml:lang="en-us" xmlns="http://www.w3.org/2005/Atom"><title>Simon Willison's Weblog: damien-katz</title><link href="http://simonwillison.net/" rel="alternate"/><link href="http://simonwillison.net/tags/damien-katz.atom" rel="self"/><id>http://simonwillison.net/</id><updated>2008-08-17T23:19:32+00:00</updated><author><name>Simon Willison</name></author><entry><title>Explaining REST to Damien Katz</title><link href="https://simonwillison.net/2008/Aug/17/dare/#atom-tag" rel="alternate"/><published>2008-08-17T23:19:32+00:00</published><updated>2008-08-17T23:19:32+00:00</updated><id>https://simonwillison.net/2008/Aug/17/dare/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://www.25hoursaday.com/weblog/2008/08/17/ExplainingRESTToDamienKatz.aspx"&gt;Explaining REST to Damien Katz&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
I didn’t know that it was Mark Baker back in 2002 who first pointed out that SOAP was flawed because it ignored the architecture of the Web as defined by Roy Fielding’s Ph.D thesis.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/damien-katz"&gt;damien-katz&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/dare-obasanjo"&gt;dare-obasanjo&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/history"&gt;history&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mark-baker"&gt;mark-baker&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/rest"&gt;rest&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/royfielding"&gt;royfielding&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/soap"&gt;soap&lt;/a&gt;&lt;/p&gt;



</summary><category term="damien-katz"/><category term="dare-obasanjo"/><category term="history"/><category term="mark-baker"/><category term="rest"/><category term="royfielding"/><category term="soap"/></entry><entry><title>REST, I just don't get it</title><link href="https://simonwillison.net/2008/Aug/15/katz/#atom-tag" rel="alternate"/><published>2008-08-15T08:20:04+00:00</published><updated>2008-08-15T08:20:04+00:00</updated><id>https://simonwillison.net/2008/Aug/15/katz/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://damienkatz.net/2008/08/rest-i-just-dont-get-it.html"&gt;REST, I just don&amp;#x27;t get it&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Read the comments for some excellent practical reasons to care about REST, including cache management (PUT and DELETE can expire the cache entries for the corresponding GET), the ability to add or move parts of the server API without redeploying client libraries and the idempotency of GET / PUT / DELETE and HEAD (repeated POST operations may have side-effects).


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/caching"&gt;caching&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/damien-katz"&gt;damien-katz&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/delete"&gt;delete&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/get"&gt;get&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/idempotency"&gt;idempotency&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/post"&gt;post&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/put"&gt;put&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/rest"&gt;rest&lt;/a&gt;&lt;/p&gt;



</summary><category term="caching"/><category term="damien-katz"/><category term="delete"/><category term="get"/><category term="idempotency"/><category term="post"/><category term="put"/><category term="rest"/></entry><entry><title>Quoting Damien Katz</title><link href="https://simonwillison.net/2008/Aug/15/damien/#atom-tag" rel="alternate"/><published>2008-08-15T08:07:06+00:00</published><updated>2008-08-15T08:07:06+00:00</updated><id>https://simonwillison.net/2008/Aug/15/damien/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://damienkatz.net/2008/08/rest-i-just-dont-get-it.html"&gt;&lt;p&gt;If it's easy to make all your calls conform to the RESTful verb architecture, then that's good, I guess. But if not, then just use a POST as an RPC call, keep it as simple as possible and be done with it. And don't spend another minute worrying about being RESTful or not.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://damienkatz.net/2008/08/rest-i-just-dont-get-it.html"&gt;Damien Katz&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/damien-katz"&gt;damien-katz&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/http"&gt;http&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/post"&gt;post&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/rest"&gt;rest&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/restful"&gt;restful&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/rpc"&gt;rpc&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/web-services"&gt;web-services&lt;/a&gt;&lt;/p&gt;



</summary><category term="damien-katz"/><category term="http"/><category term="post"/><category term="rest"/><category term="restful"/><category term="rpc"/><category term="web-services"/></entry><entry><title>Quoting Damien Katz</title><link href="https://simonwillison.net/2008/Jun/11/damien/#atom-tag" rel="alternate"/><published>2008-06-11T06:51:21+00:00</published><updated>2008-06-11T06:51:21+00:00</updated><id>https://simonwillison.net/2008/Jun/11/damien/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://damienkatz.net/2008/06/epiphany.html"&gt;&lt;p&gt;Static typing in OO languages isn't the solution to software complexity, rather it's an enabler of it. Static typing is like giving a drunk a bunch of breath mints and saying "Don't drive drunk. But if you must, use these breath mints in case you get pulled over."&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://damienkatz.net/2008/06/epiphany.html"&gt;Damien Katz&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/complexity"&gt;complexity&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/damien-katz"&gt;damien-katz&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/static-typing"&gt;static-typing&lt;/a&gt;&lt;/p&gt;



</summary><category term="complexity"/><category term="damien-katz"/><category term="static-typing"/></entry><entry><title>Quoting Damien Katz</title><link href="https://simonwillison.net/2008/Apr/14/damien/#atom-tag" rel="alternate"/><published>2008-04-14T15:17:39+00:00</published><updated>2008-04-14T15:17:39+00:00</updated><id>https://simonwillison.net/2008/Apr/14/damien/#atom-tag</id><summary type="html">
    &lt;blockquote cite="http://damienkatz.net/2008/04/lisp_as_blub.html"&gt;&lt;p&gt;Once you reach a certain level of activity in the system where the garbage collector can no longer keep up (and it will happen), then every line of code in your system is now a potential failure point that can leave the whole program in a bad state. Lisp has this problem. Java has this problem. Erlang does not.&lt;/p&gt;&lt;/blockquote&gt;
&lt;p class="cite"&gt;&amp;mdash; &lt;a href="http://damienkatz.net/2008/04/lisp_as_blub.html"&gt;Damien Katz&lt;/a&gt;&lt;/p&gt;

    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/damien-katz"&gt;damien-katz&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/erlang"&gt;erlang&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/faliure"&gt;faliure&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/garbagecollection"&gt;garbagecollection&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/java"&gt;java&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/lisp"&gt;lisp&lt;/a&gt;&lt;/p&gt;



</summary><category term="damien-katz"/><category term="erlang"/><category term="faliure"/><category term="garbagecollection"/><category term="java"/><category term="lisp"/></entry><entry><title>In Response to "What Sucks About Erlang"</title><link href="https://simonwillison.net/2008/Mar/11/yarivus/#atom-tag" rel="alternate"/><published>2008-03-11T05:46:05+00:00</published><updated>2008-03-11T05:46:05+00:00</updated><id>https://simonwillison.net/2008/Mar/11/yarivus/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://yarivsblog.com/articles/2008/03/09/in-response-to-what-sucks-about-erlang/"&gt;In Response to &amp;quot;What Sucks About Erlang&amp;quot;&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Yariv Sadan responds to Damien’s criticism.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/damien-katz"&gt;damien-katz&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/erlang"&gt;erlang&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/yarivsadan"&gt;yarivsadan&lt;/a&gt;&lt;/p&gt;



</summary><category term="damien-katz"/><category term="erlang"/><category term="yarivsadan"/></entry><entry><title>What Sucks About Erlang</title><link href="https://simonwillison.net/2008/Mar/11/damien/#atom-tag" rel="alternate"/><published>2008-03-11T05:45:16+00:00</published><updated>2008-03-11T05:45:16+00:00</updated><id>https://simonwillison.net/2008/Mar/11/damien/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://damienkatz.net/2008/03/what_sucks_abou.html"&gt;What Sucks About Erlang&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
Damien Katz shares his greatest frustrations from working with Erlang on CouchDB.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/couchdb"&gt;couchdb&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/damien-katz"&gt;damien-katz&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/erlang"&gt;erlang&lt;/a&gt;&lt;/p&gt;



</summary><category term="couchdb"/><category term="damien-katz"/><category term="erlang"/></entry><entry><title>Damien Katz: New Gig</title><link href="https://simonwillison.net/2008/Jan/2/damien/#atom-tag" rel="alternate"/><published>2008-01-02T20:35:24+00:00</published><updated>2008-01-02T20:35:24+00:00</updated><id>https://simonwillison.net/2008/Jan/2/damien/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://damienkatz.net/2008/01/new_gig.html"&gt;Damien Katz: New Gig&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
IBM have employed Damien Katz to work full time on CouchDB. The work will be under the Apache license with the ASF owning the copyright.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/apache"&gt;apache&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/asf"&gt;asf&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/couchdb"&gt;couchdb&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/damien-katz"&gt;damien-katz&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/ibm"&gt;ibm&lt;/a&gt;&lt;/p&gt;



</summary><category term="apache"/><category term="asf"/><category term="couchdb"/><category term="damien-katz"/><category term="ibm"/></entry><entry><title>CouchDB: Thinking beyond the RDBMS</title><link href="https://simonwillison.net/2007/Sep/3/labnotes/#atom-tag" rel="alternate"/><published>2007-09-03T09:48:43+00:00</published><updated>2007-09-03T09:48:43+00:00</updated><id>https://simonwillison.net/2007/Sep/3/labnotes/#atom-tag</id><summary type="html">
    
&lt;p&gt;&lt;strong&gt;&lt;a href="http://blog.labnotes.org/2007/09/02/couchdb-thinking-beyond-the-rdbms/"&gt;CouchDB: Thinking beyond the RDBMS&lt;/a&gt;&lt;/strong&gt;&lt;/p&gt;
CouchDB is a fascinating project—an Erlang powered non-relational database with a JSON API that lets you define “views” (really computed tables) based on JavaScript functions that execute using map/reduce. Damien Katz, the main developer currently works for MySQL and used to work on Lotus Notes.


    &lt;p&gt;Tags: &lt;a href="https://simonwillison.net/tags/couchdb"&gt;couchdb&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/damien-katz"&gt;damien-katz&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/databases"&gt;databases&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/erlang"&gt;erlang&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/javascript"&gt;javascript&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/json"&gt;json&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/lotusnotes"&gt;lotusnotes&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mapreduce"&gt;mapreduce&lt;/a&gt;, &lt;a href="https://simonwillison.net/tags/mysql"&gt;mysql&lt;/a&gt;&lt;/p&gt;



</summary><category term="couchdb"/><category term="damien-katz"/><category term="databases"/><category term="erlang"/><category term="javascript"/><category term="json"/><category term="lotusnotes"/><category term="mapreduce"/><category term="mysql"/></entry></feed>