<?xml version="1.0"?>
<rss version="2.0" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:media="http://search.yahoo.com/mrss/" xmlns:yt="http://gdata.youtube.com/schemas/2007">
   <channel>
      <title>Stay Current with Java</title>
      <description>This is a feed of about 50 items which is useful for java programmers to keep track of things on the go.</description>
      <link>http://pipes.yahoo.com/pipes/pipe.info?_id=gATh5rq63BGUfHPtJphxuA</link>
      <pubDate>Sun, 29 Nov 2009 11:27:37 -0800</pubDate>
      <generator>http://pipes.yahoo.com/pipes/</generator>
      <item>
         <title>Vale JCP? - Scala and Java:</title>
         <link>http://feeds.oreilly.com/~r/oreilly/java/~3/m0EDcEJ8AQg/vale-jcp.html</link>
         <author>Rick Jelliffe</author>
         <guid isPermaLink="false">http://broadcast.oreilly.com/2009/11/vale-jcp.html</guid>
         <pubDate>Wed, 25 Nov 2009 13:28:21 -0800</pubDate>
      </item>
      <item>
         <title>Programming Google App Engine</title>
         <link>http://feeds.oreilly.com/~r/oreilly/java/~3/MDPDulcwl8Q/</link>
         <author>Dan Sanderson</author>
         <guid isPermaLink="false">http://oreilly.com/catalog/9780596522728/</guid>
         <pubDate>Wed, 25 Nov 2009 02:20:26 -0800</pubDate>
      </item>
      <item>
         <title>RESTful Java with JAX-RS</title>
         <link>http://feeds.oreilly.com/~r/oreilly/java/~3/eB9VwfhzvLU/</link>
         <author>Bill Burke</author>
         <guid isPermaLink="false">http://oreilly.com/catalog/9780596158040/</guid>
         <pubDate>Tue, 17 Nov 2009 02:49:31 -0800</pubDate>
      </item>
      <item>
         <title>Great Java</title>
         <link>http://feeds.oreilly.com/~r/oreilly/java/~3/7XUesELfjFI/</link>
         <author>Brett McLaughlin</author>
         <guid isPermaLink="false">http://oreilly.com/catalog/9780596809393/</guid>
         <pubDate>Tue, 10 Nov 2009 02:19:53 -0800</pubDate>
      </item>
      <item>
         <title>Announcing O'Reilly Answers - Clever Hacks. Creative Ideas. Innovative Solutions.</title>
         <link>http://feeds.oreilly.com/~r/oreilly/java/~3/puiBWffkI30/announcing-oreilly-answers.html</link>
         <author>Allen Noren</author>
         <guid isPermaLink="false">http://broadcast.oreilly.com/2009/11/announcing-oreilly-answers.html</guid>
         <pubDate>Wed, 04 Nov 2009 01:57:52 -0800</pubDate>
      </item>
      <item>
         <title>Hello, Android</title>
         <link>http://feeds.oreilly.com/~r/oreilly/java/~3/k754iiKl87M/</link>
         <author>Ed Burnette</author>
         <guid isPermaLink="false">http://oreilly.com/catalog/9781934356494/</guid>
         <pubDate>Fri, 23 Oct 2009 16:50:58 -0700</pubDate>
      </item>
      <item>
         <title>Grails</title>
         <link>http://feeds.oreilly.com/~r/oreilly/java/~3/7iIKmCJTr2s/</link>
         <author>Dave Klein</author>
         <guid isPermaLink="false">http://oreilly.com/catalog/9781934356463/</guid>
         <pubDate>Wed, 21 Oct 2009 16:50:59 -0700</pubDate>
      </item>
      <item>
         <title>Potomac - Bringing OSGi Modularity to Flex</title>
         <link>http://feeds.oreilly.com/~r/oreilly/java/~3/JzFBPNJjSpM/potomac---bringing-osgi-modula.html</link>
         <author>Chris Gross</author>
         <guid isPermaLink="false">http://www.insideria.com/2009/10/potomac---bringing-osgi-modula.html</guid>
         <pubDate>Thu, 01 Oct 2009 06:10:01 -0700</pubDate>
      </item>
      <item>
         <title>Is There Any Correct Java Code Out There?</title>
         <link>http://feeds.oreilly.com/~r/oreilly/java/~3/oMpT5yXCiJ8/is-there-any-correct-java-code.html</link>
         <author>James Elliott</author>
         <guid isPermaLink="false">http://broadcast.oreilly.com/2009/08/is-there-any-correct-java-code.html</guid>
         <pubDate>Wed, 05 Aug 2009 08:26:05 -0700</pubDate>
      </item>
      <item>
         <title>Developing Android Applications - A Free Live Online Workshop - Aug 5 @ 10am PT</title>
         <link>http://feeds.oreilly.com/~r/oreilly/java/~3/3a3J00V-fSk/</link>
         <author>O'Reilly Media</author>
         <guid isPermaLink="false">http://training.oreilly.com/androidapps/</guid>
         <pubDate>Thu, 30 Jul 2009 10:25:53 -0700</pubDate>
      </item>
      <item>
         <title>CRUD Operation using JSF,Web Services and OJB</title>
         <link>http://feedproxy.google.com/~r/techtarget/tsscom/home/~3/__dF0oit6_4/thread.tss</link>
         <description>An article summarizes the rapid application development on SOA platforms using JSF and OJB.
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/S8fMg2ah0r5hXPZDvsTntawDbR8/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/S8fMg2ah0r5hXPZDvsTntawDbR8/0/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/S8fMg2ah0r5hXPZDvsTntawDbR8/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/S8fMg2ah0r5hXPZDvsTntawDbR8/1/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=__dF0oit6_4:xlMtlswIHgQ:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=__dF0oit6_4:xlMtlswIHgQ:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=__dF0oit6_4:xlMtlswIHgQ:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?i=__dF0oit6_4:xlMtlswIHgQ:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/techtarget/tsscom/home/~4/__dF0oit6_4&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
         <author>Frank Charles@nospam.com</author>
         <guid isPermaLink="false">http://www.theserverside.com/news/thread.tss?thread_id=58550</guid>
         <pubDate>Wed, 25 Nov 2009 07:42:19 -0800</pubDate>
         <category>Java, J2EE</category>
      </item>
      <item>
         <title>Terracotta Aquires Quartz Scheduler Open-Source Project</title>
         <link>http://feedproxy.google.com/~r/techtarget/tsscom/home/~3/lAFoIYGJxM8/thread.tss</link>
         <description>Terracotta Inc. announced late last week that it had acquired the Quartz Scheduler open source project.
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/-sf6EP-VHl4-7Xw5mBiET51bVy8/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/-sf6EP-VHl4-7Xw5mBiET51bVy8/0/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/-sf6EP-VHl4-7Xw5mBiET51bVy8/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/-sf6EP-VHl4-7Xw5mBiET51bVy8/1/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=lAFoIYGJxM8:ssmm8ZFY80s:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=lAFoIYGJxM8:ssmm8ZFY80s:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=lAFoIYGJxM8:ssmm8ZFY80s:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?i=lAFoIYGJxM8:ssmm8ZFY80s:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/techtarget/tsscom/home/~4/lAFoIYGJxM8&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
         <author>Doug Flansbaugh@nospam.com</author>
         <guid isPermaLink="false">http://www.theserverside.com/news/thread.tss?thread_id=58626</guid>
         <pubDate>Tue, 24 Nov 2009 09:14:19 -0800</pubDate>
         <category>Java, J2EE</category>
      </item>
      <item>
         <title>Hard times for JavaFX?</title>
         <link>http://feedproxy.google.com/~r/techtarget/tsscom/home/~3/qQRmF84OUrg/thread.tss</link>
         <description>Steve Anglin said that RIMs decision to go with Adobe might just spell the end of JavaFX as a viable mobile platform. For many, the framework showed promise for developing GUIs on mobile devices, but it has gained little ground while competitors flood the field.
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/TnOm7S8BmeBX_NRASEZ_69MViB8/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/TnOm7S8BmeBX_NRASEZ_69MViB8/0/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/TnOm7S8BmeBX_NRASEZ_69MViB8/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/TnOm7S8BmeBX_NRASEZ_69MViB8/1/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=qQRmF84OUrg:FaMoI37jHoA:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=qQRmF84OUrg:FaMoI37jHoA:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=qQRmF84OUrg:FaMoI37jHoA:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?i=qQRmF84OUrg:FaMoI37jHoA:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/techtarget/tsscom/home/~4/qQRmF84OUrg&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
         <author>George Lawton@nospam.com</author>
         <guid isPermaLink="false">http://www.theserverside.com/news/thread.tss?thread_id=58536</guid>
         <pubDate>Mon, 23 Nov 2009 07:04:46 -0800</pubDate>
         <category>Java, J2EE</category>
      </item>
      <item>
         <title>LogDigger Server 1.0 Released</title>
         <link>http://feedproxy.google.com/~r/techtarget/tsscom/home/~3/n4QCL5D7rVE/thread.tss</link>
         <description>LogDigger Server 1.0 collects your servers logs, tracks application usage and offers fast bug reporting to an external issue tracker.
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/Rop_yqz4O6WnTXXxnyZWrGUDnIc/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/Rop_yqz4O6WnTXXxnyZWrGUDnIc/0/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/Rop_yqz4O6WnTXXxnyZWrGUDnIc/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/Rop_yqz4O6WnTXXxnyZWrGUDnIc/1/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=n4QCL5D7rVE:ived55LZTUQ:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=n4QCL5D7rVE:ived55LZTUQ:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=n4QCL5D7rVE:ived55LZTUQ:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?i=n4QCL5D7rVE:ived55LZTUQ:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/techtarget/tsscom/home/~4/n4QCL5D7rVE&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
         <author>Martin Wertheimer@nospam.com</author>
         <guid isPermaLink="false">http://www.theserverside.com/news/thread.tss?thread_id=58519</guid>
         <pubDate>Mon, 23 Nov 2009 07:03:18 -0800</pubDate>
         <category>Java, J2EE</category>
      </item>
      <item>
         <title>JavATE 0.4 The domain driven framework</title>
         <link>http://feedproxy.google.com/~r/techtarget/tsscom/home/~3/1VJQomN5ENg/thread.tss</link>
         <description>JavATE 0.4 has been released.It is a set of Java libraries that enables application development using the domain driven methodology.
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/NIG0XX-xwrBxu42V-4RWoMltZBs/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/NIG0XX-xwrBxu42V-4RWoMltZBs/0/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/NIG0XX-xwrBxu42V-4RWoMltZBs/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/NIG0XX-xwrBxu42V-4RWoMltZBs/1/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=1VJQomN5ENg:HUUf8WNu4Rc:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=1VJQomN5ENg:HUUf8WNu4Rc:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=1VJQomN5ENg:HUUf8WNu4Rc:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?i=1VJQomN5ENg:HUUf8WNu4Rc:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/techtarget/tsscom/home/~4/1VJQomN5ENg&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
         <author>Andrea Mattioli@nospam.com</author>
         <guid isPermaLink="false">http://www.theserverside.com/news/thread.tss?thread_id=58541</guid>
         <pubDate>Mon, 23 Nov 2009 04:25:33 -0800</pubDate>
         <category>Java, J2EE</category>
      </item>
      <item>
         <title>Registration for TheServerSide Java Symposium Las Vegas now open</title>
         <link>http://feedproxy.google.com/~r/techtarget/tsscom/home/~3/MvZQZlysAHU/thread.tss</link>
         <description>Register now for the TheServerSide Java Symposium Las Vegas taking place in March, 2010. Visit the event website to register and for more information.
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/1v9ZaHW6BcqkGRoArC99OYpqjDY/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/1v9ZaHW6BcqkGRoArC99OYpqjDY/0/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/1v9ZaHW6BcqkGRoArC99OYpqjDY/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/1v9ZaHW6BcqkGRoArC99OYpqjDY/1/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=MvZQZlysAHU:xnID1ZunYeM:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=MvZQZlysAHU:xnID1ZunYeM:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=MvZQZlysAHU:xnID1ZunYeM:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?i=MvZQZlysAHU:xnID1ZunYeM:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/techtarget/tsscom/home/~4/MvZQZlysAHU&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
         <author>Bree Matturro@nospam.com</author>
         <guid isPermaLink="false">http://www.theserverside.com/news/thread.tss?thread_id=58532</guid>
         <pubDate>Fri, 20 Nov 2009 16:59:07 -0800</pubDate>
         <category>Java, J2EE</category>
      </item>
      <item>
         <title>Mule Data Integrator released for graphical data transformation</title>
         <link>http://feedproxy.google.com/~r/techtarget/tsscom/home/~3/85GHH7jc4J4/thread.tss</link>
         <description>One of the biggest challenges in implementing SOA is figuring out how to handle the data. Data can exist in relational databases and in various file formats. To address the issue, MuleSoft has released Mule Data Integrator. It includes an Eclipse-based designer that is fully integrated with Mule IDE.
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/3rJ5YkMYbGDPZ94zrnsuC3hc8I4/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/3rJ5YkMYbGDPZ94zrnsuC3hc8I4/0/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/3rJ5YkMYbGDPZ94zrnsuC3hc8I4/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/3rJ5YkMYbGDPZ94zrnsuC3hc8I4/1/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=85GHH7jc4J4:6wRC5hb0LBw:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=85GHH7jc4J4:6wRC5hb0LBw:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=85GHH7jc4J4:6wRC5hb0LBw:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?i=85GHH7jc4J4:6wRC5hb0LBw:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/techtarget/tsscom/home/~4/85GHH7jc4J4&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
         <author>Mahau Ma@nospam.com</author>
         <guid isPermaLink="false">http://www.theserverside.com/news/thread.tss?thread_id=58521</guid>
         <pubDate>Thu, 19 Nov 2009 09:27:15 -0800</pubDate>
         <category>Java, J2EE</category>
      </item>
      <item>
         <title>Jailer 3.2 Released: Database Subsetting Tool</title>
         <link>http://feedproxy.google.com/~r/techtarget/tsscom/home/~3/mCGTvusQFY0/thread.tss</link>
         <description>The Jailer crew announced the release of 3.2.Jailer which exports consistent, referentially intact row-sets from relational databases.
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/redumtqyAeY0wf4NYih0aMh5YDs/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/redumtqyAeY0wf4NYih0aMh5YDs/0/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/redumtqyAeY0wf4NYih0aMh5YDs/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/redumtqyAeY0wf4NYih0aMh5YDs/1/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=mCGTvusQFY0:C83v87G2EyY:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=mCGTvusQFY0:C83v87G2EyY:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=mCGTvusQFY0:C83v87G2EyY:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?i=mCGTvusQFY0:C83v87G2EyY:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/techtarget/tsscom/home/~4/mCGTvusQFY0&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
         <author>Ralf Wisser@nospam.com</author>
         <guid isPermaLink="false">http://www.theserverside.com/news/thread.tss?thread_id=58518</guid>
         <pubDate>Thu, 19 Nov 2009 05:14:22 -0800</pubDate>
         <category>Java, J2EE</category>
      </item>
      <item>
         <title>OpenCL Standard Speeds Compute Intensive Applications</title>
         <link>http://feedproxy.google.com/~r/techtarget/tsscom/home/~3/IfgTSOhoVyw/thread.tss</link>
         <description>The OpenCL standard blurs the lines between writing code for processors, GPUs, and other types of hardware. It is poised for take-off with more products and supporters.
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/AqVmjW-smPnD4pitabWCbvsDpFE/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/AqVmjW-smPnD4pitabWCbvsDpFE/0/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/AqVmjW-smPnD4pitabWCbvsDpFE/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/AqVmjW-smPnD4pitabWCbvsDpFE/1/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=IfgTSOhoVyw:JDO4hDjGHTk:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=IfgTSOhoVyw:JDO4hDjGHTk:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=IfgTSOhoVyw:JDO4hDjGHTk:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?i=IfgTSOhoVyw:JDO4hDjGHTk:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/techtarget/tsscom/home/~4/IfgTSOhoVyw&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
         <author>George Lawton@nospam.com</author>
         <guid isPermaLink="false">http://www.theserverside.com/news/thread.tss?thread_id=58513</guid>
         <pubDate>Wed, 18 Nov 2009 21:13:53 -0800</pubDate>
         <category>Java, J2EE</category>
      </item>
      <item>
         <title>Data-Driven webtest of Drupal using Grails</title>
         <link>http://feedproxy.google.com/~r/techtarget/tsscom/home/~3/oATBlMdDnaM/thread.tss</link>
         <description>Wait... Drupal is PHP based, why grails? Because it's easy and super fast to get things done. Grails takes just a couple of minutes to install, installation is a 3 step process: 1) extract 2) update path 3) set env variable. And once it's installed, it's nothing to create a grails app to do some testing.
&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/sJWplCPEFbylR49RAKyMaBuDYIo/0/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/sJWplCPEFbylR49RAKyMaBuDYIo/0/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;br/&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feedads.g.doubleclick.net/~at/sJWplCPEFbylR49RAKyMaBuDYIo/1/da&quot;&gt;&lt;img src=&quot;http://feedads.g.doubleclick.net/~at/sJWplCPEFbylR49RAKyMaBuDYIo/1/di&quot; border=&quot;0&quot; ismap&gt;&lt;/a&gt;&lt;/p&gt;&lt;div class=&quot;feedflare&quot;&gt;
&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=oATBlMdDnaM:Fa_pvT52uUA:yIl2AUoC8zA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=yIl2AUoC8zA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=oATBlMdDnaM:Fa_pvT52uUA:7Q72WNTAKBA&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?d=7Q72WNTAKBA&quot; border=&quot;0&quot;&gt;&lt;/a&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?a=oATBlMdDnaM:Fa_pvT52uUA:V_sGLiPBpWU&quot;&gt;&lt;img src=&quot;http://feeds.feedburner.com/~ff/techtarget/tsscom/home?i=oATBlMdDnaM:Fa_pvT52uUA:V_sGLiPBpWU&quot; border=&quot;0&quot;&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src=&quot;http://feeds.feedburner.com/~r/techtarget/tsscom/home/~4/oATBlMdDnaM&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
         <author>Phillip Rhodes@nospam.com</author>
         <guid isPermaLink="false">http://www.theserverside.com/news/thread.tss?thread_id=58510</guid>
         <pubDate>Wed, 18 Nov 2009 11:32:33 -0800</pubDate>
         <category>Java, J2EE</category>
      </item>
      <item>
         <title>Using Simple for XML serialization</title>
         <link>http://www.ibm.com/developerworks/java/library/x-simplexobjs/index.html?ca=drs-</link>
         <description>Java developers have a variety of choices when it comes to serializing and deserializing Extensible Markup Language (XML) objects. Simple is one such example, and it offers a number of advantages over its competitors. In this article, explore an introductory overview of how to use Simple within an XML communication system.</description>
         <guid isPermaLink="false"></guid>
         <pubDate>Mon, 23 Nov 2009 21:00:00 -0800</pubDate>
      </item>
      <item>
         <title>Practically Groovy: SwingBuilder and the Twitter API, Part 2</title>
         <link>http://www.ibm.com/developerworks/java/library/j-pg11179/index.html?ca=drs-</link>
         <description>In this Practically Groovy article, Scott Davis continues building the Groovy Twitter client named Gwitter that he began in Part 1. This time, he tackles HTTP Basic authentication and use of Groovy&amp;apos;s ConfigSlurper to read in configuration settings.</description>
         <guid isPermaLink="false"></guid>
         <pubDate>Mon, 16 Nov 2009 21:00:00 -0800</pubDate>
      </item>
      <item>
         <title>Java development 2.0: REST up with CouchDB and Groovy&amp;apos;s RESTClient</title>
         <link>http://www.ibm.com/developerworks/java/library/j-javadev2-5/index.html?ca=drs-</link>
         <description>A burst of innovation in the open source world over the last few years has led to an increase in Java developer productivity. Freely available tools, frameworks, and solutions address once-common time sinks. A promising new entry on the scene is Apache CouchDB, hailed by some as the database for Web 2.0. The big picture of CouchDB is easy to grasp, and using it is as simple as using a Web browser. This Java development 2.0 column introduces CouchDB and shows you how Groovy&amp;apos;s RESTClient can help you tap into its strengths.</description>
         <guid isPermaLink="false"></guid>
         <pubDate>Mon, 16 Nov 2009 21:00:00 -0800</pubDate>
      </item>
      <item>
         <title>The Support Authority: Know what your Web application is really doing</title>
         <link>http://www.ibm.com/developerworks/websphere/techjournal/0911_supauth/0911_supauth.html?ca=drs-</link>
         <description>The IBM Monitoring and Diagnostic Tools for Java - Health Center is a lightweight tool that monitors IBM virtual machines for Java with minimal performance overhead. It provides live information and recommendations about classes being loaded, the virtual machine environment, garbage collection, locking, and profiling. This article introduces you to the Health Center and shows an example of how it can be used to check the impact of a source code change in a Web application.</description>
         <guid isPermaLink="false"></guid>
         <pubDate>Tue, 03 Nov 2009 21:00:00 -0800</pubDate>
      </item>
      <item>
         <title>Use Sun SPOTs as your build canary</title>
         <link>http://www.ibm.com/developerworks/java/library/j-spots/index.html?ca=drs-</link>
         <description>Find out how to turn a new, open source wireless device -- Sun&amp;apos;s Small Programmable Object Technology (SPOT) -- into a highly visible indicator of the health of a Continuous Integration build. Craig Caulfield introduces you to Sun SPOTs and the SPOT SDK, then shows how to use SPOTs as an early-warning system for CruiseControl builds.</description>
         <guid isPermaLink="false"></guid>
         <pubDate>Mon, 02 Nov 2009 21:00:00 -0800</pubDate>
      </item>
      <item>
         <title>Introduction to the eSWT mobile extension, Part 2: Use advanced controls for your mobile applications</title>
         <link>http://www.ibm.com/developerworks/java/library/os-eswt2/index.html?ca=drs-</link>
         <description>As mobile platforms become increasingly sophisticated, the demand for mobile computing will increase. In this &quot;Introduction to the eSWT mobile extension&quot; series, learn about the embedded Standard Widget Toolkit (eSWT). You can use eSWT to develop native-looking Java applications for a variety of mobile phones. In this article, learn how to use more of the mobile controls: MobileShell, SortedList, HyperLink, TextExtension, and TaskTip.</description>
         <guid isPermaLink="false"></guid>
         <pubDate>Mon, 02 Nov 2009 21:00:00 -0800</pubDate>
      </item>
      <item>
         <title>Patching in Eclipse Galileo</title>
         <link>http://www.ibm.com/developerworks/java/library/os-eclipse-galileopatch/index.html?ca=drs-</link>
         <description>Eclipse Galileo includes new features for applying patches, including the ability to copy a patch to the clipboard and paste it directly into the Project Explorer. This article introduces this and provides an overview of the method for creating and applying patches, and includes an overview of the patch format used by Eclipse.</description>
         <guid isPermaLink="false"></guid>
         <pubDate>Mon, 02 Nov 2009 21:00:00 -0800</pubDate>
      </item>
      <item>
         <title>Java Web services: Introducing Metro</title>
         <link>http://www.ibm.com/developerworks/java/library/j-jws9.html?ca=drs-</link>
         <description>The Metro Web service stack provides a comprehensive solution for accessing and implementing Web services. It&amp;apos;s based on the reference implementations of the JAXB 2.x and JAX-WS 2.x Java standards, with added components to support WS-* SOAP extension technologies and actual Web service deployment. This article continues Dennis Sosnoski&amp;apos;s Java Web services column series with a look at the basic principles of Metro client and server development.</description>
         <guid isPermaLink="false"></guid>
         <pubDate>Mon, 02 Nov 2009 21:00:00 -0800</pubDate>
      </item>
      <item>
         <title>Java development 2.0: Easy EC2</title>
         <link>http://www.ibm.com/developerworks/java/library/j-javadev2-4/index.html?ca=drs-</link>
         <description>Provisioning an EC2 instance for hosting a Java Web application is a snap. In this Java development 2.0 column, you&amp;apos;ll quickly build a Web application that leverages Groovy, Spring, and Hibernate (via the Grails framework) and deploy it on an EC2 instance.</description>
         <guid isPermaLink="false"></guid>
         <pubDate>Mon, 26 Oct 2009 21:00:00 -0700</pubDate>
      </item>
      <item>
         <title>Joda-Time</title>
         <link>http://www.ibm.com/developerworks/java/library/j-jodatime.html?ca=drs-</link>
         <description>No enterprise application can escape time. Applications need to know what time it is and what time it&amp;apos;s going to be, and sometimes they must calculate the path between the two. Using the JDK to do this job can be painful and tedious. Enter Joda-Time, an easy-to-use open source date/time library for the Java platform. As you&amp;apos;ll see in this article, Joda-Time eases the pain and tedium of manipulating dates and time.</description>
         <guid isPermaLink="false"></guid>
         <pubDate>Mon, 26 Oct 2009 21:00:00 -0700</pubDate>
      </item>
      <item>
         <title>Why Android WINS</title>
         <link>http://www.javablogs.com/Jump.action?id=543514</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://mobilebytes.wordpress.com&quot;&gt;MobileBytes&lt;/a&gt; (82 reads)&lt;/p&gt;Several &amp;#8216;webtards&amp;#8217; have gotten this wrong such as:
Scoble;
Google Android: we want developers but…
85,000 reasons why Apple’s iPhone isn’t going to be disrupted
..and countless others. These &amp;#8216;webtards&amp;#8217; have never worked in the telecom industry and would not know a correct trend if bit them on the ass. let us deal with the underlying mobile operator telecom [...]&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=mobilebytes.wordpress.com&amp;blog=7868484&amp;post=547&amp;subd=mobilebytes&amp;ref=&amp;feed=1&quot;/&gt;</description>
         <guid isPermaLink="false">http://mobilebytes.wordpress.com/?p=547</guid>
         <pubDate>Sat, 28 Nov 2009 14:23:31 -0800</pubDate>
      </item>
      <item>
         <title>Why extension methods are evil ?</title>
         <link>http://www.javablogs.com/Jump.action?id=543510</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.java.net/blog&quot;&gt;Java.net blogs&lt;/a&gt; (76 reads)&lt;/p&gt;&lt;span class='print-link'&gt;&lt;/span&gt;&lt;p&gt; Mark Reinhold recently blogs about the renaissance of &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blogs.sun.com/mr/entry/closures&quot;&gt;closure in Java&lt;/a&gt; (*). In his blog, he also wrote that in order to have closures in Java, Java will have to include another feature named &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Extension_method&quot;&gt;extension methods&lt;/a&gt;. As you may already know, I'm a big fan of closures but the introduction of extension methods in Java really scary me.
&lt;/p&gt;
&lt;p&gt; * Ok, they are more lambdas than closures.
&lt;/p&gt; &lt;p&gt;&lt;b&gt;Why extension methods ?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt; If closures are added to Java, collections API need to be retrofitted to allow some simple things like iterate over a collection, filter a collection, transform (map) a collection to another one using closures. &lt;br/&gt; C# developers face the same problem during the development of the C# 3.0 and add a new feature called extension method. &lt;br/&gt; An extension method is a static method but with a special syntax to differentiate them from static method. Because the syntax is not important, I use a new keyword, extension that can be used instead of static. This allow to retrofit already existing static method to an extension method.
&lt;/p&gt;
&lt;pre&gt; public class Collections { ... public &lt;b&gt;extension&lt;/b&gt; &amp;lt;E&amp;gt; void forEach(Collection&amp;lt;? extends E&amp;gt; c, #void(E) closure) { for(E element: c) { closure.invoke(element); } } }
&lt;/pre&gt;
&lt;p&gt; Now, how to use them ? First you have to include them in the current scope of the file, C# use &lt;tt&gt;using&lt;/tt&gt; for that, in Java, the equivalent is &lt;tt&gt;import static&lt;/tt&gt;. Then you can call an extension method like any non static method using dot ('.') with the first parameter of the extension method as the receiver of the method call.
&lt;/p&gt; &lt;pre&gt; import static java.util.Collections.*; ... List&amp;lt;String&amp;gt; list = ... list.forEach(#(String s) { System.out.println(s); });
&lt;/pre&gt; &lt;p&gt;&lt;b&gt;Why extension methods are evil ?&lt;/b&gt;&lt;/p&gt;
&lt;p&gt; As emphasis in &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://mediacast.sun.com/users/jddarcy/media/Devoxx2009-Project-Coin.pdf&quot;&gt;Joe Darcy Devoxx'09 slides&lt;/a&gt;, (slide 15) some of Java Language principle are: &lt;ul&gt; &lt;li&gt;Reading is more important than writing. (1) &lt;li&gt;The language should not hide what's happening. (2) &lt;li&gt;A clear semantic model greatly boost readability. (3) &lt;/ul&gt;
&lt;/p&gt; &lt;p&gt; Extension methods are imported to the file main scope but nobody read import statements, IDEs hide them. So having a way to let any users to define the semantics of functions that operate on a very well known set of classes like the collection API is really dangerous. This breaks principle 1.
&lt;/p&gt; &lt;p&gt; If you add extension methods to Java, you add another way to call a method on an object. Method calls are polymorphic in Java (VM do late binding) but because extension methods are static methods, extension method calls are not polymorphic. Calling extention methods with dot creates an uniform way to call two very different beasts, not a very good idea. This breaks principle 2 and 3.
&lt;/p&gt; &lt;p&gt; Moreover, &lt;tt&gt;import static&lt;/tt&gt; has severe limitations: &lt;ol&gt; &lt;li&gt;You can't use more that one &lt;tt&gt;import static Foo.*;&lt;/tt&gt; by file, otherwise your code is not future proof. Like &lt;tt&gt;import *&lt;/tt&gt;, if you import static more than one classes and one of these classes has a new method in the future, if this method has the same name and the same number of parameter types than one method in another class, your code may not compile any more. &lt;li&gt;local scope is more important that import static scope, the code below doesn't compile. &lt;/ol&gt;
&lt;/p&gt; &lt;pre&gt; import static java.util.Arrays.*; public class StaticImportAreBroken { void sort() { ... } public static void main(String[] args) { sort(args); // doesn't compile } }
&lt;/pre&gt; &lt;p&gt; To finish this post with an optimistic inclination. What we really need is an interface with code inside and the ability to insert this extension stuff(TM) into an already existing class that is a subtype of an interface. &lt;br/&gt; Similar features already exist in lot of languages, they are named &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Mixin&quot;&gt;Mixin&lt;/a&gt; or &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.wikipedia.org/wiki/Trait_%28abstract_type%29&quot;&gt;Trait&lt;/a&gt; depending on the languages. I don't advocate for any of these specifications/implementations but for a better solution than extension methods. &lt;br/&gt; Also note that &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://openjdk.java.net/projects/mlvm/subprojects.html#InterfaceInjection&quot;&gt;Interface injection&lt;/a&gt;, one sub-project of &lt;a rel=&quot;nofollow&quot;&gt;Da Vinci&lt;/a&gt; machine project can be used to mix already existing class with extension class at runtime thus preserving backward compatibility with already existing code bases. I also think that this can also be implemented using the new invokedynamic bytecode introduced in jdk7.
&lt;/p&gt;
&lt;p&gt; Cheers,&lt;br/&gt; Rémi
&lt;/p&gt;</description>
         <guid isPermaLink="false">328614 at http://www.java.net</guid>
         <pubDate>Sat, 28 Nov 2009 11:49:55 -0800</pubDate>
      </item>
      <item>
         <title>Finally, Cold War Ends for Java ME on Android</title>
         <link>http://www.javablogs.com/Jump.action?id=543518</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.dzone.com/links/tag/java.html&quot;&gt;dzone.com: java&lt;/a&gt; (65 reads)&lt;/p&gt;Myriad will provide Java ME on the upcoming LG Android phones.</description>
         <guid isPermaLink="false">http://www.dzone.com/links/305583.html</guid>
         <pubDate>Sat, 28 Nov 2009 16:55:57 -0800</pubDate>
      </item>
      <item>
         <title>Scalability - where to scale</title>
         <link>http://www.javablogs.com/Jump.action?id=543582</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://wiki.cantara.no&quot;&gt;Confluence RSS Feed&lt;/a&gt; (63 reads)&lt;/p&gt;&lt;div class=&quot;feed&quot;&gt; &lt;p&gt; Page &lt;b&gt;edited&lt;/b&gt; by &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://wiki.cantara.no/display/~totto&quot;&gt;Thor Henning Hetland&lt;/a&gt; &lt;/p&gt; &lt;div style=&quot;border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:10px;&quot;&gt; &lt;p&gt;&lt;b&gt;Legend&lt;/b&gt;&lt;/p&gt; &lt;ul&gt; &lt;li&gt;H = high probability for successful scaling&lt;/li&gt; &lt;li&gt;M = Medium probability for successful scaling&lt;/li&gt; &lt;li&gt;L = Low probability for successful scaling&lt;/li&gt;
&lt;/ul&gt; &lt;table class='confluenceTable'&gt;&lt;tbody&gt;
&lt;tr&gt;
&lt;th class='confluenceTh'&gt;&amp;nbsp;&lt;/th&gt;
&lt;th class='confluenceTh'&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;complex data&amp;#93;&lt;/span&gt; &lt;/th&gt;
&lt;th class='confluenceTh'&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;large data&amp;#93;&lt;/span&gt; &lt;/th&gt;
&lt;th class='confluenceTh'&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;high reads&amp;#93;&lt;/span&gt; &lt;/th&gt;
&lt;th class='confluenceTh'&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;high writes&amp;#93;&lt;/span&gt; &lt;/th&gt;
&lt;th class='confluenceTh'&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;compute-process&amp;#93;&lt;/span&gt; &lt;/th&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class='confluenceTd'&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;database&amp;#93;&lt;/span&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;scale complex data in the database layer&quot;&gt;H&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;scale complex data in the database layer&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;panelContent&quot;&gt;
Graph databases, search indexes
&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;scale large data in the database layer&quot;&gt;H&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;scale large data in the database layer&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;scale high read in the database layer&quot;&gt;M&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;scale high read in the database layer&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;scale high write in the database layer&quot;&gt;H&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;scale high write in the database layer&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;cpd&quot;&gt;L&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;cpd&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class='confluenceTd'&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;infrastructure&amp;#93;&lt;/span&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;cdi&quot;&gt;L&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;cdi&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;ldi&quot;&gt;H&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;ldi&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;hri&quot;&gt;L&lt;/a&gt;&lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;hri&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;hwi&quot;&gt;M&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;hwi&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;cpi&quot;&gt;H&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;cpi&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class='confluenceTd'&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;os-cloud&amp;#93;&lt;/span&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;cdo&quot;&gt;L&lt;/a&gt;&lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;cdo&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;ldo&quot;&gt;L&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;ldo&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;hro&quot;&gt;L&lt;/a&gt;&lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;hro&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;hwo&quot;&gt;L&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;hwo&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;cpo&quot;&gt;L&lt;/a&gt; &lt;p&gt;.&lt;/p&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;middleware&quot;&gt;middleware&lt;/a&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;cdm&quot;&gt;L&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;cdm&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;ldm&quot;&gt;L&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;ldm&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;High reads in the middleware&quot;&gt;H&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;High reads in the middleware&lt;/b&gt;&lt;/div&gt;&lt;div class=&quot;panelContent&quot;&gt;
Put your reverse proxy with cache as the gate to your middleware. Behind this we can hide the load balancer to take care of cache misses.
&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;hwm&quot;&gt;M&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;hwm&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;cpm&quot;&gt;H&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;cpm&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class='confluenceTd'&gt; &lt;span class=&quot;error&quot;&gt;&amp;#91;server code&amp;#93;&lt;/span&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;cds&quot;&gt;H&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;cds&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;lds&quot;&gt;H&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;lds&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;hrs&quot;&gt;L&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;hrs&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;hws&quot;&gt;H&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;hws&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;cps&quot;&gt;H&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;cps&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;tr&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;client&quot;&gt;client&lt;/a&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;cdc&quot;&gt;L&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;cdc&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;ldc&quot;&gt;L&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;ldc&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;hrc&quot;&gt;H&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;hrc&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;hwc&quot;&gt;M&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;hwc&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;td class='confluenceTd'&gt; &lt;a rel=&quot;nofollow&quot; title=&quot;cpc&quot;&gt;H&lt;/a&gt; &lt;div class=&quot;panel&quot; style=&quot;border-width:1px;&quot;&gt;&lt;div class=&quot;panelHeader&quot; style=&quot;border-bottom-width:1px;&quot;&gt;&lt;b&gt;cpc&lt;/b&gt;&lt;/div&gt;&lt;/div&gt; &lt;/td&gt;
&lt;/tr&gt;
&lt;/tbody&gt;&lt;/table&gt; &lt;/div&gt; &lt;div style=&quot;padding:10px 0;&quot;&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://wiki.cantara.no/display/KM/Scalability+-+where+to+scale&quot;&gt;View Online&lt;/a&gt; &lt;/div&gt; &lt;style type=&quot;text/css&quot;&gt;.diffadded{background:#ddffdd;padding:1px 1px 1px 4px;border-left:4px solid darkgreen;font-size:10pt;}.diffdeleted{color:#999;background:#ffdddd;padding:1px 1px 1px 4px;border-left:4px solid darkred;font-size:10pt;}.diffnochange{padding:1px 1px 1px 4px;border-left:4px solid #d3d3d3;font-size:10pt;}.differror{background:brown;font-size:10pt;}.diff{font-family:lucida console, courier new,;font-size:10pt;}.diffaddedchars{background-color:#99ff99;font-weight:bolder;}.diffremovedchars{background-color:#ff9999;text-decoration:line-through;font-weight:bolder;}.diffnav{display:none;}&lt;/style&gt; &lt;div style=&quot;border-top:1px solid #ddd;padding:10px 0;&quot;&gt; &lt;p&gt; Changes between &lt;a rel=&quot;nofollow&quot;&gt;revision 12&lt;/a&gt; and &lt;a rel=&quot;nofollow&quot;&gt;revision 13&lt;/a&gt;: &lt;br /&gt; &lt;/p&gt; &lt;div class=&quot;diff&quot; style=&quot;padding:0px 10px;&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;*Legend*&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;* H = high probability for successful scaling&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;* M = Medium probability for successful scaling&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;* L = Low probability for successful scaling&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;|| || [complex data] || [large data] || [high reads] || [high writes] || [compute-process] ||&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&lt;a rel=&quot;nofollow&quot; name='change0'&gt;&lt;/a&gt;&amp;nbsp;&lt;/td&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&amp;nbsp;&lt;td class=&quot;diffdeleted&quot;&gt;| [database] | [H|scale complex data in the database layer] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:scale&lt;/span&gt; complex data in the database layer} | [H|scale large data in the database layer] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:scale&lt;/span&gt; large data in the database layer} | [M|scale high read in the database layer] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:scale&lt;/span&gt; high read in the database layer} | [H|scale high write in the database layer] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:scale&lt;/span&gt; high write in the database layer} | [L|cpd] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:cpd}&lt;/span&gt; | &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffdeleted&quot;&gt;| [infrastructure] | [L|cdi] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:cdi}&lt;/span&gt; | [H|ldi] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:ldi}&lt;/span&gt; | &lt;span class=&quot;diffremovedchars&quot;&gt;[L|hri]{include:hri}&lt;/span&gt; | [M|hwi] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:hwi}&lt;/span&gt; | [H|cpi] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:cpi}&lt;/span&gt; | &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffdeleted&quot;&gt;| [os-cloud] | &lt;span class=&quot;diffremovedchars&quot;&gt;[L|cdo]{include:cdo}&lt;/span&gt; | [L|ldo] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:ldo}&lt;/span&gt; | &lt;span class=&quot;diffremovedchars&quot;&gt;[L|hro]{include:hro}&lt;/span&gt; | [L|hwo] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:hwo}&lt;/span&gt; | [L|cpo] {include:cpo} | &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffdeleted&quot;&gt;| [middleware] | [L|cdm] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:cdm}&lt;/span&gt; | [L|ldm] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:ldm}&lt;/span&gt; | [H|High reads in the middleware] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:High&lt;/span&gt; reads in the middleware} | [M|hwm] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:hwm}&lt;/span&gt; | [H|cpm] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:cpm}&lt;/span&gt; | &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffdeleted&quot;&gt;| [server code] | [H|cds] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:cds}&lt;/span&gt; | [H|lds] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:lds}&lt;/span&gt; | [L|hrs] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:hrs}&lt;/span&gt; | [H|hws] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:hws}&lt;/span&gt; | [H|cps] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:cps}&lt;/span&gt; | &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffdeleted&quot;&gt;| [client] | [L|cdc] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:cdc}&lt;/span&gt; | [L|ldc] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:ldc}&lt;/span&gt; | [H|hrc] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:hrc}&lt;/span&gt; | [M|hwc] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:hwc}&lt;/span&gt; | [H|cpc] &lt;span class=&quot;diffremovedchars&quot;&gt;{include:cpc}&lt;/span&gt; | &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&lt;a rel=&quot;nofollow&quot; name='change0'&gt;&lt;/a&gt;&amp;nbsp;&lt;/td&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&amp;nbsp;&lt;td class=&quot;diffadded&quot;&gt;| [database] | [H|scale complex data in the database layer] &lt;span class=&quot;diffaddedchars&quot;&gt;{excerpt-include:scale&lt;/span&gt; complex data in the database layer} | [H|scale large data in the database layer] &lt;span class=&quot;diffaddedchars&quot;&gt;{excerpt-include:scale&lt;/span&gt; large data in the database layer} | [M|scale high read in the database layer] &lt;span class=&quot;diffaddedchars&quot;&gt;{excerpt-include:scale&lt;/span&gt; high read in the database layer} | [H|scale high write in the database layer] &lt;span class=&quot;diffaddedchars&quot;&gt;{excerpt-include:scale&lt;/span&gt; high write in the database layer} | [L|cpd] &lt;span class=&quot;diffaddedchars&quot;&gt;{excerpt-include:cpd}&lt;/span&gt; | &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffadded&quot;&gt;| [infrastructure] | [L|cdi] {excerpt-include:cdi} | [H|ldi] {excerpt-include:ldi} | [L|hri]{excerpt-include:hri} | [M|hwi] {excerpt-include:hwi} | [H|cpi] {excerpt-include:cpi} |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffadded&quot;&gt;| [os-cloud] | [L|cdo]{excerpt-include:cdo} | [L|ldo] {excerpt-include:ldo} | [L|hro]{excerpt-include:hro} | [L|hwo] {excerpt-include:hwo} | [L|cpo] {include:cpo} |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffadded&quot;&gt;| [middleware] | [L|cdm] &lt;span class=&quot;diffaddedchars&quot;&gt;{excerpt-include:cdm}&lt;/span&gt; | [L|ldm] &lt;span class=&quot;diffaddedchars&quot;&gt;{excerpt-include:ldm}&lt;/span&gt; | [H|High reads in the middleware] &lt;span class=&quot;diffaddedchars&quot;&gt;{excerpt-include:High&lt;/span&gt; reads in the middleware} | [M|hwm] &lt;span class=&quot;diffaddedchars&quot;&gt;{excerpt-include:hwm}&lt;/span&gt; | [H|cpm] &lt;span class=&quot;diffaddedchars&quot;&gt;{excerpt-include:cpm}&lt;/span&gt; | &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffadded&quot;&gt;| [server code] | [H|cds] {excerpt-include:cds} | [H|lds] {excerpt-include:lds} | [L|hrs] {excerpt-include:hrs} | [H|hws] {excerpt-include:hws} | [H|cps] {excerpt-include:cps} |&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffadded&quot;&gt;| [client] | [L|cdc] {excerpt-include:cdc} | [L|ldc] {excerpt-include:ldc} | [H|hrc] {excerpt-include:hrc} | [M|hwc] {excerpt-include:hwc} | [H|cpc] {excerpt-include:cpc} |&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt; &lt;/div&gt; &lt;div style=&quot;padding-bottom:10px;&quot;&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://wiki.cantara.no/pages/viewpreviousversions.action?pageId=3867369&quot;&gt;View All Revisions&lt;/a&gt; | &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://wiki.cantara.no/pages/revertpagebacktoversion.action?pageId=3867369&amp;version=12&quot;&gt;Revert To Version 12&lt;/a&gt; &lt;/div&gt; &lt;/div&gt;</description>
         <guid isPermaLink="false">http://wiki.cantara.no/display/KM/Scalability+-+where+to+scale</guid>
         <pubDate>Sun, 29 Nov 2009 03:29:44 -0800</pubDate>
      </item>
      <item>
         <title>Apple has begun testing the next model of iPhone (3.1)</title>
         <link>http://www.javablogs.com/Jump.action?id=543517</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://iphoneroot.com&quot;&gt;iPhoneRoot.com&lt;/a&gt; (56 reads)&lt;/p&gt;&lt;p&gt;&lt;img class=&quot;alignnone size-large wp-image-5588&quot; title=&quot;iphone31&quot; src=&quot;http://iphoneroot.com/wp-content/uploads/2009/11/iphone31-400x266.jpg&quot; alt=&quot;iphone31 400x266 Apple has begun testing the next model of iPhone (3.1)&quot; width=&quot;400&quot; height=&quot;266&quot;/&gt;&lt;/p&gt;
&lt;p&gt;iPhone developer Pandav informed MacRumors that they, thanks to the scripts of &lt;a rel=&quot;nofollow&quot; title=&quot;statistics&quot; target=&quot;_blank&quot; href=&quot;http://iphoneroot.com/tag/statistics/&quot;&gt;statistics&lt;/a&gt; included in their application, have managed to record tracks for a new iPhone model, not yet released.&lt;/p&gt;
&lt;p&gt;PinchMedia, which offers a system of statistics and analysis on the use of &lt;a rel=&quot;nofollow&quot; title=&quot;software&quot; target=&quot;_blank&quot; href=&quot;http://iphoneroot.com/category/all/software/&quot;&gt;software&lt;/a&gt;, has noticed the same thing and the new device is identified with the code iPhone3,1. The last iPhone released to the public was the &lt;a rel=&quot;nofollow&quot; title=&quot;iPhone 3GS&quot; target=&quot;_blank&quot; href=&quot;http://iphoneroot.com/tag/iphone-3gs/&quot;&gt;iPhone 3GS&lt;/a&gt; which carries the identification string iPhone2,1. Apple similarly began testing the iPhone 3GS (iPhone2,1) back in October of 2008 about 8 months ahead of its launch.&lt;/p&gt;
&lt;p&gt;The next generation iPhone might include a multi-core processor and &lt;a rel=&quot;nofollow&quot; title=&quot;Verizon&quot; target=&quot;_blank&quot; href=&quot;http://iphoneroot.com/tag/verizon/&quot;&gt;Verizon&lt;/a&gt; compatibility. It might be released as early as mid 2010.&lt;/p&gt;</description>
         <guid isPermaLink="false">http://iphoneroot.com/?p=5587</guid>
         <pubDate>Sat, 28 Nov 2009 16:39:00 -0800</pubDate>
      </item>
      <item>
         <title>Upfront Design Doesn’t Belong in the ‘10-Commandments-for-Creating-Good-Code’.</title>
         <link>http://www.javablogs.com/Jump.action?id=543520</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://objectopia.com&quot;&gt;Objectopia&lt;/a&gt; (55 reads)&lt;/p&gt;Any upfront design of a system is likely wrong; but a great design (which is necessary for good code) does already exist in the minds of the domain experts (though they may not yet know it). It's down to you to draw it out. It's like Michaelangelo exposing 'The David' which existed already in a slab of marble - he saw it with his expertise (domain knowledge?) and with great art exposed it for the rest of us to admire. Can you recognise a David in a slab of marble - then draw it out to create great art? Maybe; or maybe not. Whatever the case though I bet you can't do it before you start coding.&lt;img alt=&quot;&quot; border=&quot;0&quot; src=&quot;http://stats.wordpress.com/b.gif?host=objectopia.com&amp;blog=8328377&amp;post=308&amp;subd=objectopia&amp;ref=&amp;feed=1&quot;/&gt;</description>
         <guid isPermaLink="false">http://objectopia.com/?p=308</guid>
         <pubDate>Sat, 28 Nov 2009 19:06:46 -0800</pubDate>
      </item>
      <item>
         <title>Hard core multicore with TestNG</title>
         <link>http://www.javablogs.com/Jump.action?id=543511</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://beust.com/weblog&quot;&gt;Otaku, Cedric&amp;apos;s weblog&lt;/a&gt; (53 reads)&lt;/p&gt;I recently implemented a new feature in TestNG that took me down an interesting technical path that ended up mixing graph theory with concurrency. Here are a few notes....</description>
         <guid isPermaLink="false">http://beust.com/weblog/archives/000525.html</guid>
         <pubDate>Sat, 28 Nov 2009 10:05:49 -0800</pubDate>
      </item>
      <item>
         <title>How to hire; Why don’t we date, get engaged, and only then get married to a job</title>
         <link>http://www.javablogs.com/Jump.action?id=543528</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://almaer.com/blog&quot;&gt;techno.blog(&quot;Dion&quot;) &amp;#187; Tech&lt;/a&gt; (46 reads)&lt;/p&gt;Aaron gave a humane look at how to hire a programmer. It was less about programmers than it was about hiring, and how to judge people. Some have jumped on how this doesn&amp;#8217;t scale to BigCorps, and others don&amp;#8217;t think it tests the programming side of things at all.
First, the scaling. If you take a [...]</description>
         <guid isPermaLink="false">http://almaer.com/blog/?p=2580</guid>
         <pubDate>Sat, 28 Nov 2009 22:56:56 -0800</pubDate>
      </item>
      <item>
         <title>Software Product Business is not about Software Development</title>
         <link>http://www.javablogs.com/Jump.action?id=543527</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blog.xebia.com&quot;&gt;Xebia Blog&lt;/a&gt; (41 reads)&lt;/p&gt;Software product companies in Europe face threat from American software vendors. This blog describes how European software product companies can wisely direct every Euro spent to customer discovery and learning while leaving software development to outsourced teams.</description>
         <guid isPermaLink="false">http://blog.xebia.com/?p=3733</guid>
         <pubDate>Sat, 28 Nov 2009 22:26:47 -0800</pubDate>
      </item>
      <item>
         <title>Re: To optimize connection pool settings</title>
         <link>http://www.javablogs.com/Jump.action?id=543525</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/forums&amp;amp;amp;ca=drs-fo&quot;&gt;developerWorks: Message List - WebSphere Application Server&lt;/a&gt; (40 reads)&lt;/p&gt;Thanks Janglestrategies,&lt;br /&gt;
&lt;br /&gt;
Company is IBM's customer and we run WS on Win2003 server.&lt;br /&gt;
Which other tool you can recommend?&lt;br /&gt;
&lt;br /&gt;
Sabina</description>
         <guid isPermaLink="false">http://www.ibm.com/developerworks/forums/thread.jspa?messageID=14411835&amp;tstart=0#14411835</guid>
         <pubDate>Sat, 28 Nov 2009 21:30:54 -0800</pubDate>
      </item>
      <item>
         <title>Re: Attempts to flush session locks out websphere application</title>
         <link>http://www.javablogs.com/Jump.action?id=543519</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/forums&amp;amp;amp;ca=drs-fo&quot;&gt;developerWorks: Message List - WebSphere Application Server&lt;/a&gt; (39 reads)&lt;/p&gt;Bill,&lt;br /&gt;
&lt;br /&gt;
Sounds like this issue:&lt;br /&gt;
http://www-01.ibm.com/support/docview.wss?rs=180&amp;#38;uid=swg24021309&lt;br /&gt;
http://www-01.ibm.com/support/docview.wss?rs=180&amp;#38;&amp;#38;uid=swg1PK59051&lt;br /&gt;
&lt;br /&gt;
There are some properties there that you may want to try.&lt;br /&gt;
&lt;br /&gt;
thanks,&lt;br /&gt;
dims</description>
         <guid isPermaLink="false">http://www.ibm.com/developerworks/forums/thread.jspa?messageID=14411832&amp;tstart=0#14411832</guid>
         <pubDate>Sat, 28 Nov 2009 18:52:25 -0800</pubDate>
      </item>
      <item>
         <title>Hire*A*Droid goes international</title>
         <link>http://www.javablogs.com/Jump.action?id=543524</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://dev.bostone.us&quot;&gt;Mea Cup O&amp;apos; Jo&lt;/a&gt; (38 reads)&lt;/p&gt;</description>
         <guid isPermaLink="false">http://dev.bostone.us/?p=303</guid>
         <pubDate>Sat, 28 Nov 2009 20:12:39 -0800</pubDate>
      </item>
      <item>
         <title>Can a Fish Use a Bicycle?</title>
         <link>http://www.javablogs.com/Jump.action?id=543507</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://pipes.yahoo.com/pipes/pipe.info?_id=DNF06UY63RGyKwhy8ivLAg&quot;&gt;Rajneesh&amp;amp;#39;s Feeds&lt;/a&gt; (37 reads)&lt;/p&gt;</description>
         <guid isPermaLink="false">tag:google.com,2005:reader/item/7f773d5a2b2b4acf</guid>
         <pubDate>Sat, 28 Nov 2009 06:15:00 -0800</pubDate>
      </item>
      <item>
         <title>Virtualbox intermittent freezes in Karmic Ubuntu 9.10</title>
         <link>http://www.javablogs.com/Jump.action?id=543598</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://en.newinstance.it&quot;&gt;NewInstance&lt;/a&gt; (37 reads)&lt;/p&gt;After my upgrade to Ubuntu 9.10 I got VirtualBox nomore working running a WindowsXP guest, it was crashing repeatedly and continuously so that it became totally unusable.
To fix it, after reading forums and articles on internet finally I found a working solution or at least a workaround.
It consists of some steps that can be tried [...]</description>
         <guid isPermaLink="false">http://en.newinstance.it/2009/11/29/virtualbox-intermittent-freezes-in-karmic-ubuntu-910/</guid>
         <pubDate>Sun, 29 Nov 2009 06:04:00 -0800</pubDate>
      </item>
      <item>
         <title>Elections in Equatorial Guinea to extend rule of 30-year leader accused of gross corruption</title>
         <link>http://www.javablogs.com/Jump.action?id=543544</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blog.taragana.com&quot;&gt;Simple Thoughts - Java and Web Blog&lt;/a&gt; (37 reads)&lt;/p&gt;Eq. Guinea vote to reinstall leader denying graft JOHANNESBURG — Elections in Equatorial Guinea on Sunday were certain to extend the 30-year rule of Teodoro Obiang Nguema, a man accused of draining his nation's oil wealth to fabulously enrich family and cronies while his people suffer in slums.
Western governments that have promised to fight corruption so ... &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://blog.taragana.com/index.php/archive/elections-in-equatorial-guinea-to-extend-rule-of-30-year-leader-accused-of-gross-corruption/&quot;&gt;Original article on : Elections in Equatorial Guinea to extend rule of 30-year leader accused of gross corruption&lt;/a&gt;.</description>
         <guid isPermaLink="false">http://blog.taragana.com/index.php/archive/elections-in-equatorial-guinea-to-extend-rule-of-30-year-leader-accused-of-gross-corruption/</guid>
         <pubDate>Sun, 29 Nov 2009 01:26:06 -0800</pubDate>
      </item>
      <item>
         <title>My Devoxx Discoveries of the Year</title>
         <link>http://www.javablogs.com/Jump.action?id=543529</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://java.dzone.com&quot;&gt;Javalobby - The heart of the Java developer community&lt;/a&gt; (36 reads)&lt;/p&gt;Every year, the main reason why I go to Devoxx is to discover new
stuff. For me it’s all about technology watch. The internet and RSS
feeds are my main tech watch instrument but there is one thing that is
harder to get through RSS: feelings. Conferences like Devoxx are a
unique opportunity, not only to see what’s happening but also to sense
how the community is feeling about it, which is at...&lt;img src=&quot;http://feeds.feedburner.com/~r/javalobby/frontpage/~4/SOKc8_qetVg&quot; height=&quot;1&quot; width=&quot;1&quot;/&gt;</description>
         <guid isPermaLink="false">14769 at http://java.dzone.com</guid>
         <pubDate>Sat, 28 Nov 2009 23:00:00 -0800</pubDate>
      </item>
      <item>
         <title>Data integration Data integration</title>
         <link>http://www.javablogs.com/Jump.action?id=543549</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://wiki.cantara.no&quot;&gt;Confluence RSS Feed&lt;/a&gt; (36 reads)&lt;/p&gt;&lt;div class=&quot;feed&quot;&gt; &lt;p&gt;File &lt;b&gt;removed&lt;/b&gt; by &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://wiki.cantara.no/display/~jhannes&quot;&gt;Johannes Brodwall&lt;/a&gt; &lt;/p&gt; &lt;div style=&quot;border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:10px;&quot;&gt; &lt;p&gt; &lt;img height=&quot;16&quot; width=&quot;16&quot; border=&quot;0&quot; vspace=&quot;1&quot; align=&quot;absmiddle&quot; alt=&quot;XML File&quot;&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://wiki.cantara.no/download/attachments/3867354/Data+integration?version=3&quot;&gt;Data integration&lt;/a&gt; &lt;span class=&quot;smalltext&quot;&gt;(5 kB)&lt;/span&gt; - GLIFFY DIAGRAM, ONLY EDIT IN GLIFFY EDITOR! &lt;br/&gt; &lt;/p&gt; &lt;/div&gt; &lt;div style=&quot;padding:10px 0;&quot;&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://wiki.cantara.no/pages/viewpageattachments.action?pageId=3867354&quot;&gt;View Attachments&lt;/a&gt; &lt;/div&gt; &lt;/div&gt;</description>
         <guid isPermaLink="false">http://wiki.cantara.no/download/attachments/3867354/Data+integration?version=3</guid>
         <pubDate>Sun, 29 Nov 2009 02:07:10 -0800</pubDate>
      </item>
      <item>
         <title>Attempts to flush session locks out websphere application</title>
         <link>http://www.javablogs.com/Jump.action?id=543515</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.ibm.com/developerworks/forums&amp;amp;amp;ca=drs-fo&quot;&gt;developerWorks: Message List - WebSphere Application Server&lt;/a&gt; (36 reads)&lt;/p&gt;I am running Websphere 6.1.0.25 with Hibernate 3.2.7 and Spring 2.5. We have a scenario where a browser request to the application is preventing the entire application from processing additional request--this lasts for around 2 minutes, then the application behaves normal and starts processing again. This occurs using different application request so we cannot establish a specific bug in the app causing this issue-- we think its a cacheing / flushing of the session issue but cannot figure it out.&lt;br /&gt;
&lt;br /&gt;
This is running on linux.&lt;br /&gt;
&lt;br /&gt;
Here is the Hibernate traces. We have seen that application die and restart but not everytime.&lt;br /&gt;
&lt;p /&gt;
&lt;strike&gt;11/23/09 9:15:03:847 EST&lt;/strike&gt; 00000051 Printer 1 org.hibernate.pretty.Printer toString com.cleartricity.kermit.opscenter.business.domain.Device{measuredPower=200, ulLabelImage=null, serialNumber=5433-3, year=2009, description=tstat, id=1945, energyUsage=null, activeInd=Y, measuredVoltage=1160, deviceController=com.cleartricity.kermit.opscenter.business.domain.DeviceController#1545, currentTempMode=null, deviceType=com.cleartricity.kermit.opscenter.business.domain.DeviceType#5, devicePower=400, make=unknown, physicalLocation=tstat, prevTempMode=null, model=unknown, deviceVoltage=1200, hvacDeviceId=2, deviceName=tstat, gtwyDeviceId=3}&lt;br /&gt;
&lt;strike&gt;11/23/09 9:15:03:850 EST&lt;/strike&gt; 00000051 Printer 1 org.hibernate.pretty.Printer toString com.cleartricity.kermit.opscenter.business.domain.Device{measuredPower=200, ulLabelImage=null, serialNumber=901002, year=2009, description=hvac, id=1944, energyUsage=null, activeInd=Y, measuredVoltage=1160, deviceController=com.cleartricity.kermit.opscenter.business.domain.DeviceController#1544, currentTempMode=com.cleartricity.kermit.opscenter.business.domain.TempMode#2, deviceType=com.cleartricity.kermit.opscenter.business.domain.DeviceType#2, devicePower=400, make=unknown, physicalLocation=hvac, prevTempMode=com.cleartricity.kermit.opscenter.business.domain.TempMode#2, model=unknown, deviceVoltage=1200, hvacDeviceId=0, deviceName=hvac, gtwyDeviceId=2}&lt;br /&gt;
&lt;strike&gt;11/23/09 9:15:03:852 EST&lt;/strike&gt; 00000051 Printer 1 org.hibernate.pretty.Printer toString more......&lt;br /&gt;
&lt;strike&gt;11/23/09 9:15:03:855 EST&lt;/strike&gt; 00000051 AbstractFlush 3 org.hibernate.event.def.AbstractFlushingEventListener performExecutions executing flush&lt;br /&gt;
&lt;strike&gt;11/23/09 9:15:03:858 EST&lt;/strike&gt; 00000051 ConnectionMan 3 org.hibernate.jdbc.ConnectionManager flushBeginning registering flush begin&lt;br /&gt;
&lt;strike&gt;11/23/09 9:15:03:860 EST&lt;/strike&gt; 00000051 ConnectionMan 3 org.hibernate.jdbc.ConnectionManager flushEnding registering flush end&lt;br /&gt;
&lt;strike&gt;11/23/09 9:15:03:863 EST&lt;/strike&gt; 00000051 AbstractFlush 3 org.hibernate.event.def.AbstractFlushingEventListener postFlush post flush&lt;br /&gt;
&lt;strike&gt;11/23/09 9:17:51:908 EST&lt;/strike&gt; 0000000f HAManagerImpl I HMGR0131I: The local member of group IBM_hc=Consert01OpsCenterCluster,WSAF_SIB_BUS=BusCluster1,WSAF_SIB_MESSAGING_ENGINE=Consert01OpsCenterCluster.000-BusCluster1,type=WSAF_SIB has not responded to a health check. The JVM will be terminated.&lt;br /&gt;
&lt;strike&gt;11/23/09 9:17:51:912 EST&lt;/strike&gt; 0000000f SystemOut O Panic:isAlive panic&lt;br /&gt;
&lt;strike&gt;11/23/09 9:17:51:913 EST&lt;/strike&gt; 0000000f SystemErr R java.lang.Throwable&lt;br /&gt;
&lt;strike&gt;11/23/09 9:17:51:920 EST&lt;/strike&gt; 0000000f SystemErr R at java.lang.Thread.dumpStack(Thread.java:441)&lt;br /&gt;
&lt;strike&gt;11/23/09 9:17:51:921 EST&lt;/strike&gt; 0000000f SystemErr R at com.ibm.ws.hamanager.coordinator.impl.JVMControllerImpl.panicJVM(JVMControllerImpl.java:49)&lt;br /&gt;
&lt;strike&gt;11/23/09 9:17:51:921 EST&lt;/strike&gt; 0000000f SystemErr R at com.ibm.ws.hamanager.impl.HAManagerImpl$IsAliveBucket.sendPings(HAManagerImpl.java:979)&lt;br /&gt;
&lt;strike&gt;11/23/09 9:17:51:921 EST&lt;/strike&gt; 0000000f SystemErr R at com.ibm.ws.hamanager.impl.HAManagerImpl$IsAliveManager.alarm(HAManagerImpl.java:767)&lt;br /&gt;
&lt;strike&gt;11/23/09 9:17:51:921 EST&lt;/strike&gt; 0000000f SystemErr R at com.ibm.ejs.util.am._Alarm.run(_Alarm.java:90)&lt;br /&gt;
&lt;strike&gt;11/23/09 9:17:51:922 EST&lt;/strike&gt; 0000000f SystemErr R at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java:1497)&lt;br /&gt;
&lt;p /&gt;
&lt;br /&gt;
Notice the approx. 2 minute gap from 9:15:03:863--9:17:51:908 nothing happens in the app- and in fact we get a jvm panic--&lt;br /&gt;
&lt;br /&gt;
We do not have second level caching turned on.&lt;br /&gt;
&lt;br /&gt;
We are stuck-- Any direction anyone can provide would be appreciated.&lt;br /&gt;
&lt;br /&gt;
Thanks&lt;br /&gt;
Bill&lt;br /&gt;
brodriguez@consert.com</description>
         <guid isPermaLink="false">http://www.ibm.com/developerworks/forums/thread.jspa?messageID=14411817&amp;tstart=0#14411817</guid>
         <pubDate>Sat, 28 Nov 2009 16:43:15 -0800</pubDate>
      </item>
      <item>
         <title>High reads in the middleware</title>
         <link>http://www.javablogs.com/Jump.action?id=543594</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://wiki.cantara.no&quot;&gt;Confluence RSS Feed&lt;/a&gt; (36 reads)&lt;/p&gt;&lt;div class=&quot;feed&quot;&gt; &lt;p&gt; Page &lt;b&gt;edited&lt;/b&gt; by &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://wiki.cantara.no/display/~oml@steria.no&quot;&gt;Ørjan Markhus Lillevik&lt;/a&gt; &lt;/p&gt; &lt;div style=&quot;border-top:1px solid #ddd;border-bottom:1px solid #ddd;padding:10px;&quot;&gt; &lt;h1&gt;&lt;a rel=&quot;nofollow&quot; name=&quot;Highreadsinthemiddleware-CaseAtnewspaper&quot;&gt;&lt;/a&gt;Case - At newspaper&lt;/h1&gt; &lt;p&gt;A newspaper can have many readers and can have many rss-clients polling it as well.&lt;/p&gt; &lt;h3&gt;&lt;a rel=&quot;nofollow&quot; name=&quot;Highreadsinthemiddleware-Howdowescaleforthereadertheenterpriseway&quot;&gt;&lt;/a&gt;How do we scale for the reader - the enterprise way&lt;/h3&gt; &lt;p&gt;Put your reverse proxy with cache as the gate to your middleware. Behind this we can hide the load balancer to take care of cache misses.&lt;/p&gt; &lt;p&gt;Issue when doing html caching is personlized pages can not be cached. A bleeding edge to work around this is caching a non-logged in page and having javascript personalize it using cookie variables or ajax. &lt;/p&gt; &lt;p&gt;Static content on separate nodes (without cookies).&lt;/p&gt; &lt;p&gt;Throttling might be a solution in extreme peak situations. A customer should either be shut out or let in. Throttling a reader &quot;a little bit&quot; gives the reader a bad customer experience. It also lets you collect statistics more effectively (how many % of current users can I serve)&lt;/p&gt; &lt;p&gt;Generate static pages on writes.&lt;/p&gt; &lt;h3&gt;&lt;a rel=&quot;nofollow&quot; name=&quot;Highreadsinthemiddleware-Howdowescaleforthereaderthebleedingedgeway&quot;&gt;&lt;/a&gt;How do we scale for the reader - the bleeding edge way&lt;/h3&gt; &lt;p&gt;Ruby has introduced using a page cache on the web server. You can use this instead of using a cache in front of your load balancer. Enables fragmented caching. Not seen much in practical use.&lt;/p&gt; &lt;p&gt;RSS clients can deal with very slow responses. Often problems with clients and cache controlling headers.&lt;/p&gt; &lt;h3&gt;&lt;a rel=&quot;nofollow&quot; name=&quot;Highreadsinthemiddleware-Howdowescalefortherssclientstheenterpriseway&quot;&gt;&lt;/a&gt;How do we scale for the rss-clients - the enterprise way&lt;/h3&gt; &lt;p&gt;Throttling is advised to avoid the rss-clients stealing all your resources. Throttling should be done based on frequency and not on the client identifier. ETag and ifModifiedSince http headers can be used to distribute cache further into to network.&lt;/p&gt; &lt;p&gt;The RSS feed can often be out of date without being a problems for the client.&lt;/p&gt; &lt;h3&gt;&lt;a rel=&quot;nofollow&quot; name=&quot;Highreadsinthemiddleware-Howdowescalefortherssclientsthebleedingedgeway&quot;&gt;&lt;/a&gt;How do we scale for the rss-clients - the bleeding edge way&lt;/h3&gt; &lt;p&gt;A useful header could be onlyModificationsSince. Is this really useful?&lt;/p&gt; &lt;h3&gt;&lt;a rel=&quot;nofollow&quot; name=&quot;Highreadsinthemiddleware-Commonstupidities&quot;&gt;&lt;/a&gt;Common stupidities&lt;/h3&gt; &lt;p&gt;Don't think about scaling. For the High Reads scenenarios, this is not too bad as long as you make a business decision about it. You can scale up afterwards without the need for rearchitecture.&lt;/p&gt; &lt;p&gt;Volatile data changes everything.&lt;/p&gt; &lt;p&gt;Group 4: Ørjan and Johannes&lt;/p&gt; &lt;/div&gt; &lt;div style=&quot;padding:10px 0;&quot;&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://wiki.cantara.no/display/KM/High+reads+in+the+middleware&quot;&gt;View Online&lt;/a&gt; &lt;/div&gt; &lt;style type=&quot;text/css&quot;&gt;.diffadded{background:#ddffdd;padding:1px 1px 1px 4px;border-left:4px solid darkgreen;font-size:10pt;}.diffdeleted{color:#999;background:#ffdddd;padding:1px 1px 1px 4px;border-left:4px solid darkred;font-size:10pt;}.diffnochange{padding:1px 1px 1px 4px;border-left:4px solid #d3d3d3;font-size:10pt;}.differror{background:brown;font-size:10pt;}.diff{font-family:lucida console, courier new,;font-size:10pt;}.diffaddedchars{background-color:#99ff99;font-weight:bolder;}.diffremovedchars{background-color:#ff9999;text-decoration:line-through;font-weight:bolder;}.diffnav{display:none;}&lt;/style&gt; &lt;div style=&quot;border-top:1px solid #ddd;padding:10px 0;&quot;&gt; &lt;p&gt; Changes between &lt;a rel=&quot;nofollow&quot;&gt;revision 7&lt;/a&gt; and &lt;a rel=&quot;nofollow&quot;&gt;revision 8&lt;/a&gt;: &lt;br /&gt; &lt;/p&gt; &lt;div class=&quot;diff&quot; style=&quot;padding:0px 10px;&quot;&gt;&lt;table&gt;&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;h1. Case - At newspaper&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;A newspaper can have many readers and can have many rss-clients polling it as well.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;h3. How do we scale for the reader - the enterprise way&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;{excerpt}Put your reverse proxy with cache as the gate to your middleware. Behind this we can hide the load balancer to take care of cache misses.{excerpt}&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;Issue when doing html caching is personlized pages can not be cached. A bleeding edge to work around this is caching a non-logged in page and having javascript personalize it using cookie variables or ajax. &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&lt;a rel=&quot;nofollow&quot; name='change0'&gt;&lt;/a&gt;&amp;nbsp;&lt;/td&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&lt;a rel=&quot;nofollow&quot; href='#change1' title='Next change'&gt;&lt;img src='http://wiki.cantara.no/images/icons/nav_down.gif' border='0' width='16' height='16' hspace='1' vspace='1'&gt;&lt;/a&gt;&lt;td class=&quot;diffdeleted&quot;&gt;Throttling might be a solution in extreme peak situations. A customer should either be shut out or let in. Throttling a reader &quot;a little bit&quot; gives the reader a bad customer experience.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&lt;a rel=&quot;nofollow&quot; name='change0'&gt;&lt;/a&gt;&amp;nbsp;&lt;/td&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&amp;nbsp;&lt;td class=&quot;diffadded&quot;&gt;Static content on separate nodes (without cookies).&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&lt;a rel=&quot;nofollow&quot; name='change1'&gt;&lt;/a&gt;&lt;a rel=&quot;nofollow&quot; href='#change0' title='Previous change'&gt;&lt;img src='http://wiki.cantara.no/images/icons/nav_up.gif' border='0' width='16' height='16' hspace='1' vspace='1'&gt;&lt;/a&gt;&lt;/td&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&lt;a rel=&quot;nofollow&quot; href='#change2' title='Next change'&gt;&lt;img src='http://wiki.cantara.no/images/icons/nav_down.gif' border='0' width='16' height='16' hspace='1' vspace='1'&gt;&lt;/a&gt;&lt;td class=&quot;diffadded&quot;&gt;Throttling might be a solution in extreme peak situations. A customer should either be shut out or let in. Throttling a reader &quot;a little bit&quot; gives the reader a bad customer experience. It also lets you collect statistics more effectively (how many % of current users can I serve)&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffadded&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffadded&quot;&gt;Generate static pages on writes.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffadded&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;h3. How do we scale for the reader - the bleeding edge way&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;Ruby has introduced using a page cache on the web server. You can use this instead of using a cache in front of your load balancer. Enables fragmented caching. Not seen much in practical use.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&lt;a rel=&quot;nofollow&quot; name='change2'&gt;&lt;/a&gt;&lt;a rel=&quot;nofollow&quot; href='#change1' title='Previous change'&gt;&lt;img src='http://wiki.cantara.no/images/icons/nav_up.gif' border='0' width='16' height='16' hspace='1' vspace='1'&gt;&lt;/a&gt;&lt;/td&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&lt;a rel=&quot;nofollow&quot; href='#change3' title='Next change'&gt;&lt;img src='http://wiki.cantara.no/images/icons/nav_down.gif' border='0' width='16' height='16' hspace='1' vspace='1'&gt;&lt;/a&gt;&lt;td class=&quot;diffadded&quot;&gt;RSS clients can deal with very slow responses. Often problems with clients and cache controlling headers.&lt;/td&gt;&lt;/tr&gt; &lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffadded&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;h3. How do we scale for the rss-clients - the enterprise way&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&lt;a rel=&quot;nofollow&quot; name='change3'&gt;&lt;/a&gt;&lt;a rel=&quot;nofollow&quot; href='#change2' title='Previous change'&gt;&lt;img src='http://wiki.cantara.no/images/icons/nav_up.gif' border='0' width='16' height='16' hspace='1' vspace='1'&gt;&lt;/a&gt;&lt;/td&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&lt;a rel=&quot;nofollow&quot; href='#change4' title='Next change'&gt;&lt;img src='http://wiki.cantara.no/images/icons/nav_down.gif' border='0' width='16' height='16' hspace='1' vspace='1'&gt;&lt;/a&gt;&lt;td class=&quot;diffdeleted&quot;&gt;Throttling is advised to avoid the rss-clients stealing all your resources. Throttling should be done based on frequency and not on the client identifier. ETag and ifModifiedSince http headers can be used to distribute cache further into to network. &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&lt;a rel=&quot;nofollow&quot; name='change3'&gt;&lt;/a&gt;&amp;nbsp;&lt;/td&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&amp;nbsp;&lt;td class=&quot;diffadded&quot;&gt;Throttling is advised to avoid the rss-clients stealing all your resources. Throttling should be done based on frequency and not on the client identifier. ETag and ifModifiedSince http headers can be used to distribute cache further into to network. &lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&lt;a rel=&quot;nofollow&quot; name='change4'&gt;&lt;/a&gt;&lt;a rel=&quot;nofollow&quot; href='#change3' title='Previous change'&gt;&lt;img src='http://wiki.cantara.no/images/icons/nav_up.gif' border='0' width='16' height='16' hspace='1' vspace='1'&gt;&lt;/a&gt;&lt;/td&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&lt;a rel=&quot;nofollow&quot; href='#change5' title='Next change'&gt;&lt;img src='http://wiki.cantara.no/images/icons/nav_down.gif' border='0' width='16' height='16' hspace='1' vspace='1'&gt;&lt;/a&gt;&lt;td class=&quot;diffadded&quot;&gt;The RSS feed can often be out of date without being a problems for the client.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffadded&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;h3. How do we scale for the rss-clients - the bleeding edge way&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;A useful header could be onlyModificationsSince. Is this really useful?&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;h3. Common stupidities&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;Don't think about scaling. For the High Reads scenenarios, this is not too bad as long as you make a business decision about it. You can scale up afterwards without the need for rearchitecture.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&lt;a rel=&quot;nofollow&quot; name='change5'&gt;&lt;/a&gt;&lt;a rel=&quot;nofollow&quot; href='#change4' title='Previous change'&gt;&lt;img src='http://wiki.cantara.no/images/icons/nav_up.gif' border='0' width='16' height='16' hspace='1' vspace='1'&gt;&lt;/a&gt;&lt;/td&gt;&lt;td valign='top' class='diffnav' width='1%'&gt;&amp;nbsp;&lt;td class=&quot;diffadded&quot;&gt;Volatile data changes everything.&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;&amp;nbsp;&lt;/td&gt;&lt;/tr&gt;
&lt;tr&gt;&lt;td colspan='2' class='diffnav'&gt;&amp;nbsp;&lt;/td&gt;&lt;td class=&quot;diffnochange&quot;&gt;Group 4: &amp;#xD8;rjan and Johannes&lt;/td&gt;&lt;/tr&gt;
&lt;/table&gt;&lt;/div&gt; &lt;/div&gt; &lt;div style=&quot;padding-bottom:10px;&quot;&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://wiki.cantara.no/pages/viewpreviousversions.action?pageId=3867409&quot;&gt;View All Revisions&lt;/a&gt; | &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://wiki.cantara.no/pages/revertpagebacktoversion.action?pageId=3867409&amp;version=7&quot;&gt;Revert To Version 7&lt;/a&gt; &lt;/div&gt; &lt;/div&gt;</description>
         <guid isPermaLink="false">http://wiki.cantara.no/display/KM/High+reads+in+the+middleware</guid>
         <pubDate>Sun, 29 Nov 2009 04:27:11 -0800</pubDate>
      </item>
      <item>
         <title>Oracle Schedules December 10 Meeting with European Commission</title>
         <link>http://www.javablogs.com/Jump.action?id=543523</link>
         <description>&lt;p&gt;&lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href=&quot;http://www.java-entrepreneur.com&quot;&gt;Java Entrepreneur&lt;/a&gt; (35 reads)&lt;/p&gt;&amp;#169; pterjan
Oracle has scheduled a hearing with European Commission regulators regarding its planned acquisition of Sun Microsystems for December 10.
&amp;#34;The deal has already been approved by US regulators, leading some US senators to accuse the Commission of deliberately dragging its feet in order to benefit Oracle's European rivals,&amp;#34; notes The Register's John Oates.
&amp;#34;The European regulators in particular have objected to Oracle’s acquisition of Sun’s MySQL open source database business,&amp;#34; writes Eric Savitz at Barron's. &amp;#34;Last week, the deadline for EU review of the combination ... &lt;br/&gt; &lt;a rel=&quot;nofollow&quot; target=&quot;_blank&quot; href='http://d1.openx.org/ck.php?n=a25605dc&amp;#38;cb=INSERT_RANDOM_NUMBER_HERE'&gt; &lt;img src='http://d1.openx.org/avw.php?zoneid=15692&amp;#38;cb=INSERT_RANDOM_NUMBER_HERE&amp;#38;n=a25605dc' border='0' alt=''/&gt;&lt;/a&gt;</description>
         <guid isPermaLink="false">http://www.java-entrepreneur.com/50226711/oracle_schedules_december_10_meeting_with_european_commission.php</guid>
         <pubDate>Sat, 28 Nov 2009 18:57:24 -0800</pubDate>
      </item>
   </channel>
</rss>
<!-- fe6.pipes.sp1.yahoo.com uncompressed/chunked Sun Nov 29 11:27:34 PST 2009 -->
