<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/'><id>tag:blogger.com,1999:blog-8624721007426248377.comments</id><updated>2010-07-20T05:53:56.015+01:00</updated><category term='linux'/><category term='rest'/><category term='couchdb'/><category term='openid'/><category term='music'/><category term='funny'/><category term='go'/><category term='erlang'/><category term='python'/><category term='aikido'/><category term='development'/><title type='text'>Random Acts of Senseless Blogging</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://matt.goodall.me/feeds/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/comments/default'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>Matt Goodall</name><uri>https://profiles.google.com/113886470075752902605</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='32' height='32' src='//lh5.googleusercontent.com/-ebtqlvB7kEo/AAAAAAAAAAI/AAAAAAAAA6Y/OnOD6-IpzHE/s512-c/photo.jpg'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>19</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-8624721007426248377.post-8725642218235994638</id><published>2010-03-31T15:13:43.403+01:00</published><updated>2010-03-31T15:13:43.403+01:00</updated><title type='text'>@Anonymous Sorry, not seen that error.</title><content type='html'>@Anonymous Sorry, not seen that error.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7662523359535414761/comments/default/8725642218235994638'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7662523359535414761/comments/default/8725642218235994638'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/2009/09/build-couchdb-on-ubuntu-910-karmic.html?showComment=1270044823403#c8725642218235994638' title=''/><author><name>Matt Goodall</name><uri>http://www.blogger.com/profile/15357759138022834323</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://matt.goodall.me/2009/09/build-couchdb-on-ubuntu-910-karmic.html' ref='tag:blogger.com,1999:blog-8624721007426248377.post-7662523359535414761' source='http://www.blogger.com/feeds/8624721007426248377/posts/default/7662523359535414761' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-17752347'/></entry><entry><id>tag:blogger.com,1999:blog-8624721007426248377.post-5050969650506913037</id><published>2010-03-31T14:58:30.886+01:00</published><updated>2010-03-31T14:58:30.886+01:00</updated><title type='text'>It compiled using your commands but when I try to ...</title><content type='html'>It compiled using your commands but when I try to run the testsuite or doing anything I get {&amp;quot;error&amp;quot;:&amp;quot;bad_request&amp;quot;,&amp;quot;reason&amp;quot;:&amp;quot;invalid UTF-8 JSON&amp;quot;}&lt;br /&gt;Did you have the same Error or a solution for that?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7662523359535414761/comments/default/5050969650506913037'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7662523359535414761/comments/default/5050969650506913037'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/2009/09/build-couchdb-on-ubuntu-910-karmic.html?showComment=1270043910886#c5050969650506913037' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://matt.goodall.me/2009/09/build-couchdb-on-ubuntu-910-karmic.html' ref='tag:blogger.com,1999:blog-8624721007426248377.post-7662523359535414761' source='http://www.blogger.com/feeds/8624721007426248377/posts/default/7662523359535414761' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1050288696'/></entry><entry><id>tag:blogger.com,1999:blog-8624721007426248377.post-2085094590811411791</id><published>2009-11-27T19:43:04.173Z</published><updated>2009-11-27T19:43:04.173Z</updated><title type='text'>@ThomasH. I&amp;#39;ve seen the ring of processes a fe...</title><content type='html'>@ThomasH. I&amp;#39;ve seen the ring of processes a few times now as well as various Joe Armstrong talks but I don&amp;#39;t think I&amp;#39;ve seen that one before. Thanks!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/3470986062162724450/comments/default/2085094590811411791'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/3470986062162724450/comments/default/2085094590811411791'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/2009/11/100000-tasklets-erlang-and-go.html?showComment=1259350984173#c2085094590811411791' title=''/><author><name>Matt Goodall</name><uri>http://www.blogger.com/profile/15357759138022834323</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://matt.goodall.me/2009/11/100000-tasklets-erlang-and-go.html' ref='tag:blogger.com,1999:blog-8624721007426248377.post-3470986062162724450' source='http://www.blogger.com/feeds/8624721007426248377/posts/default/3470986062162724450' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-17752347'/></entry><entry><id>tag:blogger.com,1999:blog-8624721007426248377.post-5901443697819981643</id><published>2009-11-27T15:02:23.090Z</published><updated>2009-11-27T15:02:23.090Z</updated><title type='text'>Just for your entertainment: This all goes back (I...</title><content type='html'>Just for your entertainment: This all goes back (I think) to a very entertaining talk Joe Armstrong gave a couple of years ago at a small conference (&lt;a href="http://ll2.ai.mit.edu/" rel="nofollow" rel="nofollow"&gt;LL2 at MIT&lt;/a&gt;), entitled &amp;quot;Concurrency oriented programming in Erlang&amp;quot;, and I was really amused to see it re-surface in the Go presentation. It&amp;#39;s very entertaining and still instructive, so if you have an hour and want something to smile, give it a go. It&amp;#39;s the first talk of the morning session, so you don&amp;#39;t have to wait through the video. But have his slides alongside :).</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/3470986062162724450/comments/default/5901443697819981643'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/3470986062162724450/comments/default/5901443697819981643'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/2009/11/100000-tasklets-erlang-and-go.html?showComment=1259334143090#c5901443697819981643' title=''/><author><name>ThomasH</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://matt.goodall.me/2009/11/100000-tasklets-erlang-and-go.html' ref='tag:blogger.com,1999:blog-8624721007426248377.post-3470986062162724450' source='http://www.blogger.com/feeds/8624721007426248377/posts/default/3470986062162724450' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-154659055'/></entry><entry><id>tag:blogger.com,1999:blog-8624721007426248377.post-2555641592882799142</id><published>2009-11-16T22:34:06.204Z</published><updated>2009-11-16T22:34:06.204Z</updated><title type='text'>I managed to push the Erlang version to 1300000 by...</title><content type='html'>I managed to push the Erlang version to 1300000 by shutting down everything and running from a terminal. Anything more than that and the Linux OOM killer kicked in and did its job ;-).&lt;br /&gt;&lt;br /&gt;Sadly, I could only get the Go version up to about 260000 before memory was exhausted.&lt;br /&gt;&lt;br /&gt;At 250000, Erlang took 0m2.401s and Go took 4m31.750s although the Go times were quite variable.&lt;br /&gt;&lt;br /&gt;For reference, Erlang with 1000000 processes took 0m31.461s.&lt;br /&gt;&lt;br /&gt;I don&amp;#39;t have Stackless installed so can&amp;#39;t provide timings for that, sorry.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/3470986062162724450/comments/default/2555641592882799142'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/3470986062162724450/comments/default/2555641592882799142'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/2009/11/100000-tasklets-erlang-and-go.html?showComment=1258410846204#c2555641592882799142' title=''/><author><name>Matt Goodall</name><uri>http://www.blogger.com/profile/15357759138022834323</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://matt.goodall.me/2009/11/100000-tasklets-erlang-and-go.html' ref='tag:blogger.com,1999:blog-8624721007426248377.post-3470986062162724450' source='http://www.blogger.com/feeds/8624721007426248377/posts/default/3470986062162724450' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-17752347'/></entry><entry><id>tag:blogger.com,1999:blog-8624721007426248377.post-8359615998475512562</id><published>2009-11-16T10:40:33.602Z</published><updated>2009-11-16T10:40:33.602Z</updated><title type='text'>How does it scale if you bump it up to 1,000,000 t...</title><content type='html'>How does it scale if you bump it up to 1,000,000 tasklets? Does it increase by the same constant factor for all three languages?</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/3470986062162724450/comments/default/8359615998475512562'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/3470986062162724450/comments/default/8359615998475512562'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/2009/11/100000-tasklets-erlang-and-go.html?showComment=1258368033602#c8359615998475512562' title=''/><author><name>EY</name><uri>http://www.blogger.com/profile/14163554987019555889</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://matt.goodall.me/2009/11/100000-tasklets-erlang-and-go.html' ref='tag:blogger.com,1999:blog-8624721007426248377.post-3470986062162724450' source='http://www.blogger.com/feeds/8624721007426248377/posts/default/3470986062162724450' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-830718018'/></entry><entry><id>tag:blogger.com,1999:blog-8624721007426248377.post-8468743987440205711</id><published>2009-11-12T10:41:55.871Z</published><updated>2009-11-12T10:41:55.871Z</updated><title type='text'>I just updated the post with the latest xulrunner ...</title><content type='html'>I just updated the post with the latest xulrunner paths (it&amp;#39;s just been upgraded) and to use LD_RUN_PATH instead of LD_LIBRARY_PATH. LD_RUN_PATH gets built into the binary at link time making it faster and easier to run once installed.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7662523359535414761/comments/default/8468743987440205711'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7662523359535414761/comments/default/8468743987440205711'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/2009/09/build-couchdb-on-ubuntu-910-karmic.html?showComment=1258022515871#c8468743987440205711' title=''/><author><name>Matt Goodall</name><uri>http://www.blogger.com/profile/15357759138022834323</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://matt.goodall.me/2009/09/build-couchdb-on-ubuntu-910-karmic.html' ref='tag:blogger.com,1999:blog-8624721007426248377.post-7662523359535414761' source='http://www.blogger.com/feeds/8624721007426248377/posts/default/7662523359535414761' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-17752347'/></entry><entry><id>tag:blogger.com,1999:blog-8624721007426248377.post-854157084293426247</id><published>2009-11-04T20:42:29.788Z</published><updated>2009-11-04T20:42:29.788Z</updated><title type='text'>@Anonymous thread locals may or may not be a probl...</title><content type='html'>@Anonymous thread locals may or may not be a problem for you. It depends how you want to write and run your web application.&lt;br /&gt;&lt;br /&gt;If you use thread locals you&amp;#39;re limiting yourself to running in a web server that is threaded. That quite likely excludes event-driven servers, i.e. Twisted, eventlet/spawning, Tornado, and all the generator-based servers, that can typically handle huge numbers of concurrent connections.&lt;br /&gt;&lt;br /&gt;If it makes sense for your application to use thread locals then fine, no problem. But why be forced down that route by a library or framework unless truly necessary?&lt;br /&gt;&lt;br /&gt;I&amp;#39;m not saying that thread locals have no purpose but I believe they are often abused:&lt;br /&gt;&lt;br /&gt;* to provide psuedo-globals. WSGI already has a great request-scoped place for this - the environ.&lt;br /&gt;&lt;br /&gt;* for the &amp;quot;convenience&amp;quot; of not having to pass args to functions. Passing args around is a good thing - it&amp;#39;s explicit and makes code more readable, testable and predictable.&lt;br /&gt;&lt;br /&gt;restish doesn&amp;#39;t use thread locals (it works fine in a threaded or event-driven server) and explicitly passes the request/environ to anything that needs it. That&amp;#39;s the way I like it ;-).</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/4014759663997829136/comments/default/854157084293426247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/4014759663997829136/comments/default/854157084293426247'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/2009/01/restish-resources-from-ground-up.html?showComment=1257367349788#c854157084293426247' title=''/><author><name>Matt Goodall</name><uri>http://www.blogger.com/profile/15357759138022834323</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://matt.goodall.me/2009/01/restish-resources-from-ground-up.html' ref='tag:blogger.com,1999:blog-8624721007426248377.post-4014759663997829136' source='http://www.blogger.com/feeds/8624721007426248377/posts/default/4014759663997829136' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-17752347'/></entry><entry><id>tag:blogger.com,1999:blog-8624721007426248377.post-6956864065545540835</id><published>2009-11-04T16:41:44.196Z</published><updated>2009-11-04T16:41:44.196Z</updated><title type='text'>So, what is the problem with thread locals?  I&amp;#39...</title><content type='html'>So, what is the problem with thread locals?  I&amp;#39;m looking at different frameworks right now trying to pick one out.  Is thread locals something I should be concerned with?  (I dont have much experience with threads locals or their downsides)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/4014759663997829136/comments/default/6956864065545540835'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/4014759663997829136/comments/default/6956864065545540835'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/2009/01/restish-resources-from-ground-up.html?showComment=1257352904196#c6956864065545540835' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://matt.goodall.me/2009/01/restish-resources-from-ground-up.html' ref='tag:blogger.com,1999:blog-8624721007426248377.post-4014759663997829136' source='http://www.blogger.com/feeds/8624721007426248377/posts/default/4014759663997829136' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1157244114'/></entry><entry><id>tag:blogger.com,1999:blog-8624721007426248377.post-4721493285786618949</id><published>2009-11-01T17:32:52.522Z</published><updated>2009-11-01T17:32:52.522Z</updated><title type='text'>Thanks for sharing this. I just setup a vm of karm...</title><content type='html'>Thanks for sharing this. I just setup a vm of karmic and I&amp;#39;m just itching to experiment (-:</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7662523359535414761/comments/default/4721493285786618949'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7662523359535414761/comments/default/4721493285786618949'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/2009/09/build-couchdb-on-ubuntu-910-karmic.html?showComment=1257096772522#c4721493285786618949' title=''/><author><name>AK</name><uri>http://www.blogger.com/profile/10281948627768921435</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://matt.goodall.me/2009/09/build-couchdb-on-ubuntu-910-karmic.html' ref='tag:blogger.com,1999:blog-8624721007426248377.post-7662523359535414761' source='http://www.blogger.com/feeds/8624721007426248377/posts/default/7662523359535414761' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-528627978'/></entry><entry><id>tag:blogger.com,1999:blog-8624721007426248377.post-6199125665746814666</id><published>2009-11-01T10:32:17.127Z</published><updated>2009-11-01T10:32:17.127Z</updated><title type='text'>@AK I&amp;#39;ve just rewritten the post. I hope it he...</title><content type='html'>@AK I&amp;#39;ve just rewritten the post. I hope it helps but, if not, let me know and I&amp;#39;ll try to help.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7662523359535414761/comments/default/6199125665746814666'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7662523359535414761/comments/default/6199125665746814666'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/2009/09/build-couchdb-on-ubuntu-910-karmic.html?showComment=1257071537127#c6199125665746814666' title=''/><author><name>Matt Goodall</name><uri>http://www.blogger.com/profile/15357759138022834323</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://matt.goodall.me/2009/09/build-couchdb-on-ubuntu-910-karmic.html' ref='tag:blogger.com,1999:blog-8624721007426248377.post-7662523359535414761' source='http://www.blogger.com/feeds/8624721007426248377/posts/default/7662523359535414761' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-17752347'/></entry><entry><id>tag:blogger.com,1999:blog-8624721007426248377.post-2233260536392482200</id><published>2009-11-01T09:17:47.804Z</published><updated>2009-11-01T09:17:47.804Z</updated><title type='text'>Sorry, but this is quite interesting so can you pr...</title><content type='html'>Sorry, but this is quite interesting so can you provide some context to this, like what sudo apt-get packages are required.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7662523359535414761/comments/default/2233260536392482200'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7662523359535414761/comments/default/2233260536392482200'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/2009/09/build-couchdb-on-ubuntu-910-karmic.html?showComment=1257067067804#c2233260536392482200' title=''/><author><name>AK</name><uri>http://www.blogger.com/profile/10281948627768921435</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://matt.goodall.me/2009/09/build-couchdb-on-ubuntu-910-karmic.html' ref='tag:blogger.com,1999:blog-8624721007426248377.post-7662523359535414761' source='http://www.blogger.com/feeds/8624721007426248377/posts/default/7662523359535414761' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-528627978'/></entry><entry><id>tag:blogger.com,1999:blog-8624721007426248377.post-6607289928552869649</id><published>2009-09-19T13:44:54.195+01:00</published><updated>2009-09-19T13:44:54.195+01:00</updated><title type='text'>Oops, fixed. Thanks Anonymous.</title><content type='html'>Oops, fixed. Thanks Anonymous.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/576298937022844590/comments/default/6607289928552869649'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/576298937022844590/comments/default/6607289928552869649'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/2009/09/torndao-first-thoughts.html?showComment=1253364294195#c6607289928552869649' title=''/><author><name>Matt Goodall</name><uri>http://www.blogger.com/profile/15357759138022834323</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://matt.goodall.me/2009/09/torndao-first-thoughts.html' ref='tag:blogger.com,1999:blog-8624721007426248377.post-576298937022844590' source='http://www.blogger.com/feeds/8624721007426248377/posts/default/576298937022844590' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-17752347'/></entry><entry><id>tag:blogger.com,1999:blog-8624721007426248377.post-6458723897862555424</id><published>2009-09-19T02:25:05.930+01:00</published><updated>2009-09-19T02:25:05.930+01:00</updated><title type='text'>typo: s/Torndao/Tornado/;</title><content type='html'>typo: s/Torndao/Tornado/;</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/576298937022844590/comments/default/6458723897862555424'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/576298937022844590/comments/default/6458723897862555424'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/2009/09/torndao-first-thoughts.html?showComment=1253323505930#c6458723897862555424' title=''/><author><name>Anonymous</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://matt.goodall.me/2009/09/torndao-first-thoughts.html' ref='tag:blogger.com,1999:blog-8624721007426248377.post-576298937022844590' source='http://www.blogger.com/feeds/8624721007426248377/posts/default/576298937022844590' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-653471142'/></entry><entry><id>tag:blogger.com,1999:blog-8624721007426248377.post-7767535720646077709</id><published>2009-01-03T15:23:00.000Z</published><updated>2009-01-03T15:23:00.000Z</updated><title type='text'>@Matt That's perfectly fine, I am always happy to ...</title><content type='html'>@Matt That's perfectly fine, I am always happy to be corrected :-)</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7174193135469499177/comments/default/7767535720646077709'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7174193135469499177/comments/default/7767535720646077709'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/2009/01/get-and-idempotence.html?showComment=1230996180000#c7767535720646077709' title=''/><author><name>Esaj</name><uri>http://www.jasondavies.com/</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://matt.goodall.me/2009/01/get-and-idempotence.html' ref='tag:blogger.com,1999:blog-8624721007426248377.post-7174193135469499177' source='http://www.blogger.com/feeds/8624721007426248377/posts/default/7174193135469499177' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-401783063'/></entry><entry><id>tag:blogger.com,1999:blog-8624721007426248377.post-8948692173131338839</id><published>2009-01-03T14:56:00.000Z</published><updated>2009-01-03T14:56:00.000Z</updated><title type='text'>@Esaj sorry for singling out your specific post to...</title><content type='html'>@Esaj sorry for singling out your specific post to the CouchDB mailing list but it really just reminded me of something I've seen in a few other places and always struck me as unnecessary.&lt;BR/&gt;&lt;BR/&gt;For reference, here's the &lt;A HREF="http://mail-archives.apache.org/mod_mbox/couchdb-user/200901.mbox/%3C21939021.1440421230910477169.JavaMail.servlet@perfora%3E" REL="nofollow"&gt;thread that started started this&lt;/A&gt;.&lt;BR/&gt;&lt;BR/&gt;Thanks for the comments!</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7174193135469499177/comments/default/8948692173131338839'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7174193135469499177/comments/default/8948692173131338839'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/2009/01/get-and-idempotence.html?showComment=1230994560000#c8948692173131338839' title=''/><author><name>Matt Goodall</name><uri>http://www.blogger.com/profile/15357759138022834323</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://matt.goodall.me/2009/01/get-and-idempotence.html' ref='tag:blogger.com,1999:blog-8624721007426248377.post-7174193135469499177' source='http://www.blogger.com/feeds/8624721007426248377/posts/default/7174193135469499177' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-17752347'/></entry><entry><id>tag:blogger.com,1999:blog-8624721007426248377.post-344416055247117965</id><published>2009-01-03T14:28:00.000Z</published><updated>2009-01-03T14:28:00.000Z</updated><title type='text'>Hehe, it's the first time I've posted a sentence t...</title><content type='html'>Hehe, it's the first time I've posted a sentence to a mailing list only to find it has sparked a whole blog post about the subject!  Yes, the sentence on its own was an utter falsehood, but in my defence, I was trying to get at the fact that new unique UUIDs *must* be generated *every single time* they are requested, and any in-between proxies cannot cache anything or "optimise" multiple GET requests into one or anything like that.&lt;BR/&gt;&lt;BR/&gt;Now, after further research into the HTTP RFC it seems that operations are all transparent unless otherwise explicitly requested, so in fact my worries were probably unfounded.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7174193135469499177/comments/default/344416055247117965'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7174193135469499177/comments/default/344416055247117965'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/2009/01/get-and-idempotence.html?showComment=1230992880000#c344416055247117965' title=''/><author><name>Esaj</name><uri>http://www.jasondavies.com/</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/openid16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://matt.goodall.me/2009/01/get-and-idempotence.html' ref='tag:blogger.com,1999:blog-8624721007426248377.post-7174193135469499177' source='http://www.blogger.com/feeds/8624721007426248377/posts/default/7174193135469499177' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-401783063'/></entry><entry><id>tag:blogger.com,1999:blog-8624721007426248377.post-5632979297703005281</id><published>2009-01-03T09:30:00.000Z</published><updated>2009-01-03T09:30:00.000Z</updated><title type='text'>Actually, the UUID generator changes no state in C...</title><content type='html'>Actually, the UUID generator changes no state in CouchDB. CouchDB relies on the uniqueness "guarantees" inherent in UUIDs to assume that the UUIDs are currently unused and do not need to be reserved.&lt;BR/&gt;&lt;BR/&gt;It's safe to GET the resource multiple times, has no unintended side effects and does not affect other clients. Therefore, it seems to me that the _uuid resource, used in isolation, is both safe and idempotent.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7174193135469499177/comments/default/5632979297703005281'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7174193135469499177/comments/default/5632979297703005281'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/2009/01/get-and-idempotence.html?showComment=1230975000000#c5632979297703005281' title=''/><author><name>Matt Goodall</name><uri>http://www.blogger.com/profile/15357759138022834323</uri><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://matt.goodall.me/2009/01/get-and-idempotence.html' ref='tag:blogger.com,1999:blog-8624721007426248377.post-7174193135469499177' source='http://www.blogger.com/feeds/8624721007426248377/posts/default/7174193135469499177' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-17752347'/></entry><entry><id>tag:blogger.com,1999:blog-8624721007426248377.post-1472149730180150247</id><published>2009-01-03T07:18:00.000Z</published><updated>2009-01-03T07:18:00.000Z</updated><title type='text'>While I don't know CouchDB internals, it sounds to...</title><content type='html'>While I don't know CouchDB internals, it sounds to me like the implementation of the unique ID does change the server state (and it would be too difficult to remove that from the implementation and still be able to provide a uniqueness guarantee) so the CouchDB implementers are doing the right thing.&lt;BR/&gt;&lt;BR/&gt;The flaw in your example is that a time server is not required to require a unique response for &lt;B&gt;every&lt;/B&gt; request.  Two responses that are close enough together (or happening effectively simultaneously on different processors) can return the same response.  Since it does not provide a uniqueness guarantee, a timeserver can be RESTful and use GET.&lt;BR/&gt;&lt;BR/&gt;I doubt you can come up with an implementation of a UUID generator that is both stateless and portable.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7174193135469499177/comments/default/1472149730180150247'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/8624721007426248377/7174193135469499177/comments/default/1472149730180150247'/><link rel='alternate' type='text/html' href='http://matt.goodall.me/2009/01/get-and-idempotence.html?showComment=1230967080000#c1472149730180150247' title=''/><author><name>R Samuel Klatchko</name><email>noreply@blogger.com</email><gd:image xmlns:gd='http://schemas.google.com/g/2005' rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img1.blogblog.com/img/blank.gif'/></author><thr:in-reply-to xmlns:thr='http://purl.org/syndication/thread/1.0' href='http://matt.goodall.me/2009/01/get-and-idempotence.html' ref='tag:blogger.com,1999:blog-8624721007426248377.post-7174193135469499177' source='http://www.blogger.com/feeds/8624721007426248377/posts/default/7174193135469499177' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-850523284'/></entry></feed>
