<?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-3339316202894508517.post4542956456020685224..comments</id><updated>2009-05-13T15:42:49.889-07:00</updated><category term='randomness'/><category term='walking'/><category term='cvs'/><category term='java'/><category term='usalife'/><category term='cookies'/><category term='san francisco'/><category term='apple'/><category term='xmlrpc'/><category term='bay bridge'/><category term='greencard'/><category term='terminator'/><category term='bash'/><category term='concurrency'/><category term='life hacks'/><category term='drwho'/><category term='inbox zero'/><category term='jar'/><category term='oracle'/><category term='jdeveloper'/><category term='bloopers'/><category term='golden gate bridge'/><category term='coding'/><category term='investment'/><category term='email'/><category term='ternary'/><category term='tv'/><category term='collections'/><category term='folders'/><category term='thunderbird'/><category term='blogging'/><category term='chinese'/><category term='subversion'/><category term='google'/><title type='text'>Comments on Duffblog 2.0: Detecting Concurrent Changes with the Decorator Pa...</title><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://blog.dubh.org/feeds/4542956456020685224/comments/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3339316202894508517/4542956456020685224/comments/default'/><link rel='alternate' type='text/html' href='http://blog.dubh.org/2007/11/detecting-concurrent-changes-with.html'/><author><name>Brian Duff</name><uri>http://www.blogger.com/profile/15591692569924908268</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='http://4.bp.blogspot.com/_hknXBwhowq8/SKFF6lnOXwI/AAAAAAAABQU/eKs70Zvao8E/s1600-R/AIbEiAIAAABDCP2K0_2e1rbcTyILdmNhcmRfcGhvdG8qKDUwOGIyY2JjMDlhMGViZjRhYjVhOGIzMTViYWQ1ZjBlNmJhMzAxYzkwAXj0CCSh4AYzik3iJwcsA4sV0Kno.png'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>2</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>25</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-3339316202894508517.post-8614509094119885171</id><published>2007-11-16T15:10:00.000-08:00</published><updated>2007-11-16T15:10:00.000-08:00</updated><title type='text'>What a clever use of the ForwardingList! The autho...</title><content type='html'>What a clever use of the ForwardingList! The authors' original intent was really to improve abstractions and eliminate repetition in the Collections library, it's nice to see it has other practical applications.&lt;BR/&gt;&lt;BR/&gt;You briefly mention enabling this only for debug environments. I haven't used Guice yet, and I know just a little bit about bytecode injection, but I keep thinking how one might use those to automatically provide this behavior to concrete list implementations, providing an easy way to track down such exceptions without recompiling code.&lt;BR/&gt;&lt;BR/&gt;Tangentially, here in Google Santa Monica, our Design Patterns reading group just finished discussing Decorator. Since people tend to think of patterns in their, shall we say, prototypical environment (GUI components, Java IO library), this helped reinforce the value of discussing patterns in non-standard environments.</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3339316202894508517/4542956456020685224/comments/default/8614509094119885171'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3339316202894508517/4542956456020685224/comments/default/8614509094119885171'/><link rel='alternate' type='text/html' href='http://blog.dubh.org/2007/11/detecting-concurrent-changes-with.html?showComment=1195254600000#c8614509094119885171' title=''/><author><name>Robert Konigsberg</name><uri>http://www.blogger.com/profile/04616226121996611123</uri><email>noreply@blogger.com</email><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='OpenSocialUserId' value='06410400049778679782'/><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://blog.dubh.org/2007/11/detecting-concurrent-changes-with.html' ref='tag:blogger.com,1999:blog-3339316202894508517.post-4542956456020685224' source='http://www.blogger.com/feeds/3339316202894508517/posts/default/4542956456020685224' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-926585474'/></entry><entry><id>tag:blogger.com,1999:blog-3339316202894508517.post-5554644257099659803</id><published>2007-11-16T00:59:00.000-08:00</published><updated>2007-11-16T00:59:00.000-08:00</updated><title type='text'>Something I've experienced a few times is an assum...</title><content type='html'>Something I've experienced a few times is an assumption that ConcurrentModificationException automatically means you have a problem with threads.&lt;BR/&gt;&lt;BR/&gt;This article explains how you can experience the ConcurrentModificationException in a single thread:&lt;BR/&gt;&lt;BR/&gt;http://www.java2s.com/Tutorial/Java/0140__Collections/ConcurrentModificationException.htm</content><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/3339316202894508517/4542956456020685224/comments/default/5554644257099659803'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/3339316202894508517/4542956456020685224/comments/default/5554644257099659803'/><link rel='alternate' type='text/html' href='http://blog.dubh.org/2007/11/detecting-concurrent-changes-with.html?showComment=1195203540000#c5554644257099659803' 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://blog.dubh.org/2007/11/detecting-concurrent-changes-with.html' ref='tag:blogger.com,1999:blog-3339316202894508517.post-4542956456020685224' source='http://www.blogger.com/feeds/3339316202894508517/posts/default/4542956456020685224' type='text/html'/><gd:extendedProperty xmlns:gd='http://schemas.google.com/g/2005' name='blogger.itemClass' value='pid-1515423990'/></entry></feed>
