<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">
<channel>
  <title>Dieter Krachtus' Weblog *** pro bono lateral thinking</title>
  <link>http://www.jroller.com/dk/</link>
  
  <description />
  <language>en-us</language>
  <copyright>Copyright 2009</copyright>
  <lastBuildDate>Sun, 14 Jun 2009 13:21:30 -0400</lastBuildDate>
  <generator>Apache Roller (incubating) 3.1 (20070421020349:dave)</generator>
        <image><url>http://jroller.com/resources/d/dk/me.jpg</url><title>Dieter Krachtus' Weblog</title></image><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/DieterKrachtusWeblog" type="application/rss+xml" /><feedburner:feedFlare href="http://add.my.yahoo.com/rss?url=http%3A%2F%2Ffeeds.feedburner.com%2FDieterKrachtusWeblog" src="http://us.i1.yimg.com/us.yimg.com/i/us/my/addtomyyahoo4.gif">Subscribe with My Yahoo!</feedburner:feedFlare><feedburner:feedFlare href="http://www.newsgator.com/ngs/subscriber/subext.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FDieterKrachtusWeblog" src="http://www.newsgator.com/images/ngsub1.gif">Subscribe with NewsGator</feedburner:feedFlare><feedburner:feedFlare href="http://feeds.my.aol.com/add.jsp?url=http%3A%2F%2Ffeeds.feedburner.com%2FDieterKrachtusWeblog" src="http://o.aolcdn.com/favorites.my.aol.com/webmaster/ffclient/webroot/locale/en-US/images/myAOLButtonSmall.gif">Subscribe with My AOL</feedburner:feedFlare><feedburner:feedFlare href="http://www.bloglines.com/sub/http://feeds.feedburner.com/DieterKrachtusWeblog" src="http://www.bloglines.com/images/sub_modern11.gif">Subscribe with Bloglines</feedburner:feedFlare><feedburner:feedFlare href="http://www.netvibes.com/subscribe.php?url=http%3A%2F%2Ffeeds.feedburner.com%2FDieterKrachtusWeblog" src="http://www.netvibes.com/img/add2netvibes.gif">Subscribe with Netvibes</feedburner:feedFlare><feedburner:feedFlare href="http://fusion.google.com/add?feedurl=http%3A%2F%2Ffeeds.feedburner.com%2FDieterKrachtusWeblog" src="http://buttons.googlesyndication.com/fusion/add.gif">Subscribe with Google</feedburner:feedFlare><feedburner:feedFlare href="http://www.pageflakes.com/subscribe.aspx?url=http%3A%2F%2Ffeeds.feedburner.com%2FDieterKrachtusWeblog" src="http://www.pageflakes.com/ImageFile.ashx?instanceId=Static_4&amp;fileName=ATP_blu_91x17.gif">Subscribe with Pageflakes</feedburner:feedFlare><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com" /><item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/top_15_cnet_com_appengine</guid>
    <title>Top 15 CNet.com Appengine apps</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/FoG8VYyCqEk/top_15_cnet_com_appengine</link>
        <pubDate>Tue, 5 May 2009 06:11:18 -0400</pubDate>
    <category>Java</category>
    <category>app</category>
    <category>chart</category>
    <category>chartle.net</category>
    <category>map</category>
    <category>plot</category>
    <category>ria</category>
    <category>web</category>
            <description>&lt;p&gt;Recently &lt;a href="http://www.chartle.net"&gt;http://www.chartle.net&lt;/a&gt; was voted one of the &lt;a href="http://news.cnet.com/8301-17939_109-10214930-2.html"&gt;top 15 appengine apps&lt;/a&gt; (being the only web app based on JavaFX technology!) and got a ton of good feedback from other sites. Given that we are in early beta stage with a lot of problems and still many features to come I am very happy.&lt;/p&gt;&lt;p&gt;Embedding of Chartles got a whole lot easier a few days ago. Here are some Chartles published by users in our public gallery:
&lt;/p&gt;


&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;

&lt;iframe height="320" frameborder="0" width="510" scrolling="auto" marginheight="0" marginwidth="0" src="http://genflux.appspot.com/embed?index=383&amp;amp;content" name="charlte.net.383"&gt;Report problems to embedding@chartle.net&lt;/iframe&gt;

&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;

&lt;iframe height="320" frameborder="0" width="510" scrolling="auto" name="charlte.net.12656" src="http://genflux.appspot.com/embed?index=12656&amp;amp;content" marginwidth="0" marginheight="0"&gt;Report problems to embedding@chartle.net&lt;/iframe&gt;

&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;

&lt;iframe height="330" frameborder="0" width="520" scrolling="auto" marginheight="0" marginwidth="0" src="http://genflux.appspot.com/embed?index=391&amp;amp;content" name="charlte.net.391"&gt;Report problems to embedding@chartle.net&lt;/iframe&gt;

&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;

&lt;iframe height="330" frameborder="0" width="520" scrolling="auto" name="charlte.net.12662" src="http://genflux.appspot.com/embed?index=12662&amp;amp;content" marginwidth="0" marginheight="0"&gt;Report problems to embedding@chartle.net&lt;/iframe&gt;

&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;


&lt;iframe height="320" frameborder="0" width="510" scrolling="auto" marginheight="0" marginwidth="0" src="http://genflux.appspot.com/embed?index=392&amp;amp;content" name="charlte.net.392"&gt;Report problems to embedding@chartle.net&lt;/iframe&gt;

&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;

&lt;iframe height="320" frameborder="0" width="510" scrolling="auto" marginheight="0" marginwidth="0" src="http://genflux.appspot.com/embed?index=373&amp;amp;content" name="charlte.net.373"&gt;Report problems to embedding@chartle.net&lt;/iframe&gt;

&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;

&lt;iframe height="386" frameborder="0" width="513" scrolling="auto" marginheight="0" marginwidth="0" src="http://genflux.appspot.com/embed?index=343&amp;amp;content" name="charlte.net.343"&gt;Report problems to embedding@chartle.net&lt;/iframe&gt;

&lt;br /&gt;&lt;hr /&gt;&lt;br /&gt;

&lt;iframe height="320" frameborder="0" width="510" scrolling="auto" name="charlte.net.12726" src="http://genflux.appspot.com/embed?index=12726&amp;amp;content" marginwidth="0" marginheight="0"&gt;Report problems to embedding@chartle.net&lt;/iframe&gt;

&lt;pre width="100" class="embed" style="width: 100%;"&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/pre&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=FoG8VYyCqEk:45vOJan7RT8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=FoG8VYyCqEk:45vOJan7RT8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=FoG8VYyCqEk:45vOJan7RT8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=FoG8VYyCqEk:45vOJan7RT8:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=FoG8VYyCqEk:45vOJan7RT8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=FoG8VYyCqEk:45vOJan7RT8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=FoG8VYyCqEk:45vOJan7RT8:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=FoG8VYyCqEk:45vOJan7RT8:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=FoG8VYyCqEk:45vOJan7RT8:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=FoG8VYyCqEk:45vOJan7RT8:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=FoG8VYyCqEk:45vOJan7RT8:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=FoG8VYyCqEk:45vOJan7RT8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=FoG8VYyCqEk:45vOJan7RT8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/FoG8VYyCqEk" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/top_15_cnet_com_appengine</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/chartle_net_charts_plots_maps</guid>
    <title>Chartle.net: charts, plots, maps and diagrams.</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/vrDIT6Lxmps/chartle_net_charts_plots_maps</link>
        <pubDate>Mon, 16 Mar 2009 08:06:28 -0400</pubDate>
    <category>Java</category>
    <category>charts</category>
    <category>diagrams</category>
    <category>maps</category>
    <category>plots</category>
    <category>reporting</category>
            <description>&lt;p&gt;I am happy to announce the &lt;b&gt;alpha version&lt;/b&gt; of one of my pet projects: &lt;a href="http://www.chartle.net"&gt;http://www.chartle.net&lt;/a&gt; &lt;/p&gt;&lt;p&gt;Over 1 billion charts, maps,
plots and diagrams are found in print publications each year &lt;span class="marker"&gt;but only 40
million online&lt;/span&gt;.&amp;nbsp;Chartle.net is all about two
key elements: &lt;span class="marker"&gt;simplicity and ubiquity&lt;/span&gt;. It allows you to easily create &amp;amp; publish information that is dear to your heart. There are two types of '&lt;b&gt;Chartles'&lt;/b&gt; you can create:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;&amp;nbsp;&lt;b&gt;static&lt;/b&gt; (png images - as simple as it gets)&lt;/li&gt;&lt;li&gt;&lt;b&gt;interactive&lt;/b&gt; (Ajax, SVG, Flash, etc. - allow users to play with your data)&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Check out the Gallery to see some examples: &lt;a href="http://www.chartle.net/gallery"&gt;http://www.chartle.net/gallery &lt;/a&gt;&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="left"&gt; I leave you with two static examples I created in under a minute for Wikipedia:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="center"&gt;&amp;nbsp;&lt;img hspace="0" vspace="0" border="0" align="baseline" src="http://chart.apis.google.com/chart?cht=p3&amp;amp;chs=500x300&amp;amp;chts=0000FF,22&amp;amp;chd=e:JmFIHrQAZm&amp;amp;chco=FFC800,00FF00,FF0000,0000FF,C0C0C0&amp;amp;chl=Germany%7CFrance%7CUK%7CUSA%7CRest+of+the+World&amp;amp;chtt=Global+carbon+footprint%7CConclusion:+The+problem+is+the+%27Rest+of+the+World%27" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;br /&gt;&lt;p align="center"&gt;&lt;img hspace="0" vspace="0" border="0" align="baseline" src="http://chart.apis.google.com/chart?cht=v&amp;amp;chdlp=r&amp;amp;chs=500x300&amp;amp;chts=0000FF,22&amp;amp;chd=e:..zMmZTNTNTNGa&amp;amp;chdl=Germany%7CJapan%7CUSA&amp;amp;chco=00FF00,FF0000,0000FF&amp;amp;chtt=Shared+Interest+in+Venn+Diagrams" /&gt;&amp;nbsp;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=vrDIT6Lxmps:1k2hlUXljJ0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=vrDIT6Lxmps:1k2hlUXljJ0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=vrDIT6Lxmps:1k2hlUXljJ0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=vrDIT6Lxmps:1k2hlUXljJ0:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=vrDIT6Lxmps:1k2hlUXljJ0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=vrDIT6Lxmps:1k2hlUXljJ0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=vrDIT6Lxmps:1k2hlUXljJ0:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=vrDIT6Lxmps:1k2hlUXljJ0:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=vrDIT6Lxmps:1k2hlUXljJ0:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=vrDIT6Lxmps:1k2hlUXljJ0:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=vrDIT6Lxmps:1k2hlUXljJ0:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=vrDIT6Lxmps:1k2hlUXljJ0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=vrDIT6Lxmps:1k2hlUXljJ0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/vrDIT6Lxmps" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/chartle_net_charts_plots_maps</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/osx_eclipse_support_via_swing</guid>
    <title>OSX Eclipse support via Swing!</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/UTCdPQbIYRw/osx_eclipse_support_via_swing</link>
        <pubDate>Thu, 20 Sep 2007 21:25:20 -0400</pubDate>
    <category>Java</category>
            <description>&lt;p&gt;I invited Chris Deckers today and after a couple of hours using the most advanced debugging techniques we finally squashed one of the most obscure bugs in &lt;a href="http://swtswing.sourceforge.net/main/index.html"&gt;SWTSwing&lt;/a&gt; on my MacBook. This finally means we can recommend you to try out &amp;quot;Eclipse on Swing&amp;quot; on OSX!&lt;/p&gt;&lt;p align="center"&gt;&lt;a href="http://eos.sourceforge.net/"&gt;&lt;img vspace="0" hspace="0" border="0" align="bottom" src="http://jroller.com/resources/d/dk/get_eos3.png" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="center"&gt;Get the OSX-ready version of the EOS plug-in from the &lt;a href="http://eos.sourceforge.net/"&gt;project website&lt;/a&gt;.&lt;/p&gt;&lt;p align="center"&gt;&amp;nbsp;&lt;a href="../../dk/resource/osx_lipstick.png"&gt;&lt;img vspace="0" hspace="0" border="0" align="bottom" src="../../dk/resource/osx_lipstick_thumb.png" /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp; &lt;a href="../../dk/resource/osx1.png"&gt;&lt;img vspace="0" hspace="0" border="0" align="bottom" src="../../dk/resource/osx1_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p align="center"&gt;The two screenshots above are proof that the bug in the StyledText component is history!&lt;/p&gt;&lt;div align="center"&gt;&lt;div&gt;&lt;p&gt;&lt;a href="http://www.jroller.com/dk/resource/osx_java4.png"&gt;&lt;img vspace="0" hspace="0" border="0" align="bottom" src="http://www.jroller.com/dk/resource/osx_java4_thumb.png" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;p&gt;Eclipse on Swing on OSX, with Java1.4 - although we recommend Java5/6:&lt;/p&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=UTCdPQbIYRw:EU4MhCRhv70:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=UTCdPQbIYRw:EU4MhCRhv70:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=UTCdPQbIYRw:EU4MhCRhv70:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=UTCdPQbIYRw:EU4MhCRhv70:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=UTCdPQbIYRw:EU4MhCRhv70:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=UTCdPQbIYRw:EU4MhCRhv70:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=UTCdPQbIYRw:EU4MhCRhv70:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=UTCdPQbIYRw:EU4MhCRhv70:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=UTCdPQbIYRw:EU4MhCRhv70:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=UTCdPQbIYRw:EU4MhCRhv70:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=UTCdPQbIYRw:EU4MhCRhv70:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=UTCdPQbIYRw:EU4MhCRhv70:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=UTCdPQbIYRw:EU4MhCRhv70:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/UTCdPQbIYRw" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/osx_eclipse_support_via_swing</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/filthy_rich_clienst_objective_review</guid>
    <title>The Zen of GUI development: Filthy Rich Clients</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/bHrwor6wceA/filthy_rich_clienst_objective_review</link>
        <pubDate>Wed, 19 Sep 2007 21:07:57 -0400</pubDate>
    <category>Java</category>
            <description>&lt;p&gt;Three days ago my copy of &amp;quot;&lt;u&gt;&lt;a href="http://filthyrichclients.org/"&gt;Filthy Rich Clients&lt;/a&gt;&lt;/u&gt;&amp;quot; by Chet Haase and Romain Guy finally arrived &lt;img src="http://www.jroller.com/images/smileys/smile.gif" class="smiley" alt=":)" title=":)" /&gt;&lt;/p&gt;&lt;p align="center"&gt;&lt;img vspace="0" hspace="0" border="0" align="bottom" src="http://www.jroller.com/dk/resource/FRC_small.png" /&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;On a personal note, if people want me to directly give them a brilliant book review (without even so much as reading a single word) they should fulfill the following simple checklist:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;send me a free copy of your book&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; (check) &lt;/li&gt;&lt;li&gt; list my name in the book acknowledgments &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;nbsp; (check)&lt;/li&gt;&lt;li&gt;a big glass of M&amp;amp;Ms, only the green ones &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; &amp;nbsp; (check)&lt;br /&gt;&lt;/li&gt;&lt;li&gt;a gift basket with local delicacies&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp; (still pending)&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;Where is my gift basket Chet?! Given insufficient bribes I actually had to read it and base my review - which is somehow said to say - solely on facts.&lt;/p&gt;&lt;p&gt;Filthy Rich Clients (FRC) which is also an acronym for FRanCe (cheeky Romain) consists of 4 big parts comprising 19 Chapters. Part I and II deal with graphics fundamentals and advanced rendering. Every Swing/Java2D expert should already knows this by heart since it is one of the reasons why Swing is so very flexible and fun. Although all this information is in some way already available elsewhere and you can always dig into the code and experiment to find out every last detail, FRC presents it in a complete and concise way I never read before. In comparison to other books dealing with this area of expertise one often notices when reading FRC that it benefits from the fact that Chet actually was involved in creating the parts of Java he is talking about. So even if you are a Swing know-it-all keep Part I+II under your pillow as a reference book.&lt;/p&gt;&lt;p&gt;Part III is my favorite dealing with animations in general before leading to a crescendo in chapter 14+15 by introducing the great &lt;a href="https://timingframework.dev.java.net/"&gt;Timing Framework&lt;/a&gt; (TF). The TF version 1.0 is pretty mature and powerful by now. At the very beginning when Chet designed TF I often missed such a complete description of the concepts and his thoughts behind it as we now have with these four chapters. The TF and the FRC book is not about adding more bling and cool effects to your applications  but to actually improve the experience people have with it. Make it both simpler, fun and more efficient.&lt;/p&gt;&lt;p&gt;A while back I wrote a little TF showcase for JavaOne -- &lt;a href="http://jroller.com/dk/entry/sudoku_game_for_javaone_2007"&gt;a Sudoku game&lt;/a&gt;. &lt;br /&gt;&lt;/p&gt;&lt;div align="center"&gt;&lt;a href="http://eos.sourceforge.net/sudoku/sudoku.jnlp" target="_self"&gt;&lt;img vspace="0" hspace="0" border="0" src="http://jroller.com/resources/d/dk/webstart.small2.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;p&gt;  &lt;/p&gt;&lt;p&gt;Left aside that Sudoku is a total bore, this version of it uses animations in a subtle way so you hardly recognize them. The animations simply disappear because this way of user interaction feels very natural and just right. &lt;br /&gt;&lt;/p&gt;&lt;div align="center"&gt;&lt;p&gt;&lt;img vspace="0" hspace="0" border="0" align="bottom" src="http://jroller.com/resources/d/dk/sudoku.png" /&gt;&lt;br /&gt;&lt;/p&gt;&lt;p align="left"&gt;Part III and especially Part IV in my opinion try to lead you down this path. How to enrich applications but not overdo it? You want to go the subtle, the sensible way - make your animations, your effects and your bling become invisible to the user. If you can do that you actually took home the take home message of FRC. PartIV gives a lot of revealing examples that may show you the path to the Zen of GUI development. In that sense - although there is a difference between knowing the path and walking the path - every journey starts with the first step -- this first step is &amp;quot;Filthy Rich Clients&amp;quot;.&lt;br /&gt;&lt;/p&gt;&lt;p align="left"&gt;Apart from my metaphysical comments I should mention that you get a lot of useful code snippets and very helpful figures throughout the book. From a difficulty point of view it somewhere ranges between Harry Potter and Dante's Divine Comedy in its Italian original if all the Italian you know are stereotypes from Godfather I-III. Overall it is a very interesting and often funny and exciting read -- even without a gift basket.&lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;hr width="100%" size="2" /&gt;[Update] There has been a lot of chetter that Hollywood is interested in the script and there may be a movie! Now I have to say it takes a genius to come up with such a brilliant idea to turn a static medium like a book that deals to a great deal with animations into -- an animation (a.k.a. a movie).&lt;p&gt;No, sorry...made that up, no movie! You can't just lean back and not read the book by saying &amp;quot;Thanks but I wait for the movie!&amp;quot;. Go and buy it.&lt;br /&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=bHrwor6wceA:usv7hG6mACA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=bHrwor6wceA:usv7hG6mACA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=bHrwor6wceA:usv7hG6mACA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=bHrwor6wceA:usv7hG6mACA:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=bHrwor6wceA:usv7hG6mACA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=bHrwor6wceA:usv7hG6mACA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=bHrwor6wceA:usv7hG6mACA:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=bHrwor6wceA:usv7hG6mACA:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=bHrwor6wceA:usv7hG6mACA:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=bHrwor6wceA:usv7hG6mACA:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=bHrwor6wceA:usv7hG6mACA:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=bHrwor6wceA:usv7hG6mACA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=bHrwor6wceA:usv7hG6mACA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/bHrwor6wceA" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/filthy_rich_clienst_objective_review</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/swing_in_the_middle</guid>
    <title>Swing in the Middle</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/pa_urWdamkE/swing_in_the_middle</link>
        <pubDate>Thu, 6 Sep 2007 03:32:15 -0400</pubDate>
    <category>Java</category>
    <category>ajax</category>
    <category>swing</category>
    <category>webcream</category>
            <description>&lt;p&gt;In the last years the popularity of Swing applications seems to be on the rise. There are many reasons - like freedom of the Java platform, ease of long-term maintainability or platform-independence. Another aspect is versatileness. This measure can be put to the test by checking how well &amp;quot;&lt;u&gt;connected&lt;/u&gt;&amp;quot; one technology is to others. The technology with the most &amp;quot;&lt;u&gt;edges&lt;/u&gt;&amp;quot; to other technologies would end up &lt;i&gt;in &lt;u&gt;the center&lt;/u&gt;&lt;/i&gt; of a graph-representation after applying an energy-based layout algorithm.&lt;/p&gt;&lt;p&gt;There are already many &amp;quot;edges&amp;quot; between Swing and the world of SWT shown by technologies (I am admittedly affiliated to &lt;img src="http://www.jroller.com/images/smileys/smile.gif" class="smiley" alt=":)" title=":)" /&gt; ) like &lt;a href="http://www.jroller.com/dk/entry/eos_eclipse_on_swing_major"&gt;Eclipse on Swing&lt;/a&gt;, &lt;a href="http://www.jroller.com/dk/entry/swt_running_on_os_2"&gt;SWTSwing&lt;/a&gt; (&lt;a href="http://eos.sourceforge.net/data/Flexibility%20at%20the%20Roots%20of%20Eclipse.pdf"&gt;read more&lt;/a&gt;), the SWT_AWT_brigde, &lt;a href="http://swingwt.sourceforge.net/"&gt;SwingWT&lt;/a&gt;, etc.&lt;/p&gt;&lt;p&gt;Being surrounded by many competing and compatible technologies can be seen as a threat because people are not locked in and can leave you anytime. But it also means that people can later come to you by using a different technology in the first place that is connected to you. People may choose you for not being locked in and knowing that many different compatible technologies and opportunities are only a step away. This is vital not knowing what the future may necessitate. Whatever the case - being connected to many other technologies generates a lot of &lt;b&gt;&amp;quot;flux&amp;quot;&lt;/b&gt; for your technology. Even better, finding yourself in the middle of many technologies means that most of the &lt;b&gt;&amp;quot;traffic&amp;quot;&lt;/b&gt; goes through you with a great chance that some of it sticks. Being connected to many, being in the middle of a versatile of technologies and possibilities becomes ever more important when competing in new areas like mobile devices, RIA, or Web2.0.&lt;/p&gt;&lt;p&gt;Almost weekly I read about a new or already mature technology that fills another gap in this cloud of connected technologies. One nice example I already follow for a long time is &lt;a href="http://creamtec.com/webcream/"&gt;WebCream&lt;/a&gt; (commercial and GPL licensed). It automatically transforms Java Swing and AWT applications into
fully-functional HTML and AJAX websites. It then emulates user actions
as GUI events for the Swing application to ensure that the business
logic executes correctly. WebCream is unique in that it requires no
modifications to existing applications, &lt;u&gt;and does not require
programmers to learn any APIs other then AWT/Swing&lt;/u&gt;.&lt;/p&gt;&lt;p&gt;Finally, the importance of being well connected to others, even to competitors, hopefully becomes clearer. Strong ties to Swing has many advantages for SWT in store as every application based on it can now be converted to Swing and then run as HTML/Ajax.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;Here an example:&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p align="center"&gt;&lt;b&gt;Java Application&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;img vspace="0" hspace="0" border="0" align="bottom" src="http://creamtec.com/webcream/images/screenshots/demo-java.jpg" /&gt;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div align="center"&gt;&lt;p&gt;&lt;b&gt;HTML page&lt;/b&gt;&lt;/p&gt;&lt;p&gt;&lt;img vspace="0" hspace="0" border="0" align="bottom" src="http://creamtec.com/webcream/images/screenshots/demo-webcream.jpg" /&gt;&amp;nbsp;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&lt;br /&gt;Obviously it won't work for all applications which isn't a bug in WebCream but rather a limitation of HTML/Ajax. Still, most of the &lt;a href="http://creamtec.com/webcream/"&gt;SwingSet Demo&lt;/a&gt; and all standard Swing widgets run out of the box. There are many other Java frameworks with a Swing-like API producing similar interactive Ajax code but non to my knowledge can allow you to deploy the same code base as Desktop- or&amp;nbsp; WebStart-Application, Applet or Ajax/Html. Obviously one only would use WebCream in very special cases where this flexibility is more important then anything else. &lt;i&gt;Still - these cases exist and it is good to see that Swing &lt;/i&gt;&lt;i&gt;keeps this door open, for itself and everybody connected to it&lt;/i&gt;.&lt;br /&gt;&amp;nbsp;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=pa_urWdamkE:BB2w8GtdOcc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=pa_urWdamkE:BB2w8GtdOcc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=pa_urWdamkE:BB2w8GtdOcc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=pa_urWdamkE:BB2w8GtdOcc:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=pa_urWdamkE:BB2w8GtdOcc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=pa_urWdamkE:BB2w8GtdOcc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=pa_urWdamkE:BB2w8GtdOcc:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=pa_urWdamkE:BB2w8GtdOcc:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=pa_urWdamkE:BB2w8GtdOcc:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=pa_urWdamkE:BB2w8GtdOcc:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=pa_urWdamkE:BB2w8GtdOcc:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=pa_urWdamkE:BB2w8GtdOcc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=pa_urWdamkE:BB2w8GtdOcc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/pa_urWdamkE" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/swing_in_the_middle</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/does_os_2_support_eclipse</guid>
    <title>OS/2 Eclipse support via Swing!</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/qZOPUt43k1I/does_os_2_support_eclipse</link>
        <pubDate>Sun, 26 Aug 2007 08:14:13 -0400</pubDate>
    <category>Java</category>
    <category>eclipse</category>
    <category>eos</category>
    <category>on</category>
    <category>os/2</category>
    <category>swing</category>
    <category>swtswing</category>
            <description>&lt;p&gt;Yes it does! When writing the code for the newest version of the &amp;quot;Eclipse on Swing&amp;quot; (EOS) plug-in &lt;a href="http://www.jroller.com/dk/entry/eos_eclipse_on_swing_major"&gt;I also planned to support OS/2&lt;/a&gt; -- meaning download Eclipse 3.2.2, install EOS and you are all set. This was supposed to work in theory but not having OS/2 available I never confirmed it in practice.&lt;/p&gt;&lt;p&gt;Luckily with the help of Jürgen Ulbts who is running eComStation 2.0 RC1, we now know more -- EOS works out of the box on OS/2. Here are a few of the screenshots he sent me showing &amp;quot;Eclipse on Swing&amp;quot; with the Lipstik- and the Jgoodies Plastic Look and Feel.&lt;/p&gt;&lt;p align="center"&gt;Lipstik Look and Feel&amp;nbsp;&lt;/p&gt;&lt;div align="center"&gt;&lt;a href="http://eos.sourceforge.net/large/EOS%20OS:2/EOS_093_Eclipse322_01.png"&gt;&lt;img vspace="0" hspace="0" border="0" align="bottom" src="http://www.jroller.com/dk/resource/EOS_093_Eclipse322_01.jpg" /&gt;&lt;/a&gt; &lt;a href="http://eos.sourceforge.net/large/EOS%20OS:2/EOS_093_Eclipse322_02.png"&gt;&lt;img vspace="0" hspace="0" border="0" align="bottom" src="http://www.jroller.com/dk/resource/EOS_093_Eclipse322_02.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;p&gt;JGoodies Plastic Look and Feel&lt;/p&gt;&lt;p&gt;&lt;a href="http://eos.sourceforge.net/large/EOS%20OS:2/EOS_093_Eclipse322_03.png"&gt;&lt;img vspace="0" hspace="0" border="0" align="bottom" src="http://www.jroller.com/dk/resource/EOS_093_Eclipse322_03.jpg" /&gt;&lt;/a&gt;&amp;nbsp; &lt;a href="http://eos.sourceforge.net/large/EOS%20OS:2/EOS_093_Eclipse322_04.png"&gt;&lt;img vspace="0" hspace="0" border="0" align="bottom" src="http://www.jroller.com/dk/resource/EOS_093_Eclipse322_04.jpg" /&gt;&lt;/a&gt;  &lt;br /&gt;&lt;/p&gt;&lt;/div&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;div align="center"&gt;&lt;p&gt;Pretty neat, isn't it. In case you run OS/2 and got curious visit the &lt;a href="http://eos.sourceforge.net/"&gt;EOS website&lt;/a&gt; to find out more.&lt;/p&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=qZOPUt43k1I:fDZLkiaWoDg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=qZOPUt43k1I:fDZLkiaWoDg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=qZOPUt43k1I:fDZLkiaWoDg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=qZOPUt43k1I:fDZLkiaWoDg:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=qZOPUt43k1I:fDZLkiaWoDg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=qZOPUt43k1I:fDZLkiaWoDg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=qZOPUt43k1I:fDZLkiaWoDg:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=qZOPUt43k1I:fDZLkiaWoDg:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=qZOPUt43k1I:fDZLkiaWoDg:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=qZOPUt43k1I:fDZLkiaWoDg:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=qZOPUt43k1I:fDZLkiaWoDg:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=qZOPUt43k1I:fDZLkiaWoDg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=qZOPUt43k1I:fDZLkiaWoDg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/qZOPUt43k1I" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/does_os_2_support_eclipse</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/eos_eclipse_on_swing_major</guid>
    <title>EOS - Eclipse on Swing - Major Release</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/etmKCfopeCk/eos_eclipse_on_swing_major</link>
        <pubDate>Wed, 22 Aug 2007 09:41:02 -0400</pubDate>
    <category>Java</category>
    <category>development</category>
    <category>eclipse</category>
    <category>eos</category>
    <category>gui</category>
    <category>on</category>
    <category>swing</category>
    <category>swt</category>
    <category>swtswing</category>
            <description>There has been a lot of confusion lately if there will be SWT support and thus Eclipse running on OSX 10.5 a.k.a Leopard. Fear not - get EOS &lt;img src="http://www.jroller.com/images/smileys/smile.gif" class="smiley" alt=":)" title=":)" /&gt;&lt;br /&gt;&lt;p&gt;I just released a new major version of the EOS plug-in (Eclipse on Swing) -- download it from the &lt;a href="http://eos.sourceforge.net"&gt;EOS website&lt;/a&gt;. Feel free spreading the word and integrate the Get-EOS-teaser to your blog:&lt;/p&gt;&lt;div align="center"&gt;&lt;p&gt;&lt;a href="http://eos.sourceforge.net"&gt;&lt;img vspace="0" hspace="0" border="0" align="bottom" src="http://jroller.com/resources/d/dk/get_eos3.png" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;div align="center"&gt;&lt;pre id="line575"&gt;&amp;lt;&lt;span class="start-tag"&gt;a&lt;/span&gt;&lt;span class="attribute-name"&gt; href&lt;/span&gt;=&lt;span class="attribute-value"&gt;&amp;quot;http://eos.sourceforge.net&amp;quot; &lt;/span&gt;&lt;span class="attribute-name"&gt;target&lt;/span&gt;=&lt;span class="attribute-value"&gt;&amp;quot;_blank&amp;quot;&lt;/span&gt;&amp;gt;&lt;br /&gt;&amp;lt;&lt;span class="start-tag"&gt;img&lt;/span&gt;&lt;span class="attribute-name"&gt; style&lt;/span&gt;=&lt;span class="attribute-value"&gt;&amp;quot;margin: 8px;&amp;quot; &lt;/span&gt;&lt;span class="attribute-name"&gt;alt&lt;/span&gt;=&lt;span class="attribute-value"&gt;&amp;quot;GetEOS Download Button&amp;quot; &lt;/span&gt;&lt;span class="attribute-name"&gt;title&lt;/span&gt;=&lt;span class="attribute-value"&gt;&amp;quot;GetEOS&amp;quot;&lt;/span&gt;&lt;br /&gt;&lt;span class="attribute-value"&gt; &lt;/span&gt;&lt;span class="attribute-name"&gt;   src&lt;/span&gt;=&lt;span class="attribute-value"&gt;&amp;quot;http://jroller.com/resources/d/dk/get_eos3.png&amp;quot;&lt;/span&gt;&amp;gt;&amp;lt;/&lt;span class="end-tag"&gt;a&lt;/span&gt;&amp;gt;&lt;/pre&gt;&lt;/div&gt;&lt;/div&gt;&lt;p&gt;EOS requires Eclipse3.2, Java1.4+ and theoretically should run on all platforms supporting Swing:&lt;/p&gt;&lt;ul&gt;&lt;li&gt;Windows 9.x, NT4, 2000, XP, Vista (32bit/64 bit)&lt;/li&gt;&lt;li&gt;MacOSX 10.x (32bit/64 bit ***)&lt;/li&gt;&lt;li&gt;Unix/Linux&lt;/li&gt;&lt;li&gt;Solaris ***&lt;/li&gt;&lt;li&gt;OS/2 ***&lt;/li&gt;&lt;li&gt;...enter your favorite OS here... ***&lt;/li&gt;&lt;/ul&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;i&gt;*** these platforms are to our knowledge (which is admittedly limited) 
  not supported by native SWT (ever or yet).&lt;/i&gt; 



&lt;/p&gt;&lt;p align="center"&gt;Proof that it now also runs under OSX (don't test it on OSX yet, you might be disappointed, there is some major Swing-unrelated OSX-specific bug which will soon be gone):&lt;br /&gt;&lt;/p&gt;&lt;div align="center"&gt;&lt;a href="http://eos.sourceforge.net/large/EOS_OSX.png"&gt;&lt;img vspace="0" hspace="0" border="0" align="bottom" src="http://www.jroller.com/dk/resource/EOS_OSX_thumb.png" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;p&gt;On Windows/Linux it already works very good with only one deadly bug left - right click on Project and open it. It doesn't crash Eclipse but most things stop working. There are many more bugs but they are simply less deadly.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;&lt;br /&gt;Obviously I cannot test EOS for all of these platforms.
Feel free to send me some feedback or comment on this thread in &lt;a href="http://www.javalobby.org/java/forums/t100509.html"&gt;JavaLobby&lt;/a&gt;.&lt;br /&gt;
&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=etmKCfopeCk:413CSWeURho:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=etmKCfopeCk:413CSWeURho:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=etmKCfopeCk:413CSWeURho:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=etmKCfopeCk:413CSWeURho:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=etmKCfopeCk:413CSWeURho:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=etmKCfopeCk:413CSWeURho:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=etmKCfopeCk:413CSWeURho:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=etmKCfopeCk:413CSWeURho:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=etmKCfopeCk:413CSWeURho:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=etmKCfopeCk:413CSWeURho:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=etmKCfopeCk:413CSWeURho:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=etmKCfopeCk:413CSWeURho:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=etmKCfopeCk:413CSWeURho:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/etmKCfopeCk" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/eos_eclipse_on_swing_major</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/aot_cl_a_framework_proposal</guid>
    <title>AOT-CL: A Framework Proposal</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/FmM_hUzwcNY/aot_cl_a_framework_proposal</link>
        <pubDate>Fri, 17 Aug 2007 19:30:06 -0400</pubDate>
    <category>Java</category>
    <category>ahead</category>
    <category>aot-cl</category>
    <category>applets</category>
    <category>classloading</category>
    <category>faster</category>
    <category>of</category>
    <category>performance</category>
    <category>time</category>
    <category>tuning</category>
            <description>&lt;p&gt;Performance tuning is an important aspect when it comes to conquering new fields for Java. One of the new advances of the coming Consumer JRE will be a much better behavior when it comes to Applets - namely they won't freeze the browser anymore. Now this is only one side of the medal - the other one is Applet startup time. When we assume the Browser-JRE is already loaded, the startup time of the Applet is determined by how fast the many class-files and resources can be loaded from the server. Apart from the most trivial Applets, in the realm of RIA applications this takes a lot of time.&lt;/p&gt;&lt;p&gt;Some time ago I talked about a mechanism I called AOT-CL (Ahead Of Time Class Loading). Since it was ongoing work I didn't go in the specifics what I had in mind with it but simply called it a means to tune Java performance by loading classes ahead of time. Today I got a an email showing that most people perhaps didn't get my hints in what areas AOT-CL should be really used.&lt;/p&gt;&lt;p&gt;One of the astonishing things with Java (especially in the early days) was that you could simply discover and load classes from everywhere and run them. URLClassLoader + Server - bang! Now this is used but not in the most clever way. Most of the time you basically download all classes + resources ever necessary for your program and then execute it. The alternative would be&amp;nbsp; to download those files&amp;nbsp; the moment you need them --&amp;nbsp; which considering the network latency as a weak spot may result in a horrible user experience.&lt;/p&gt;The third alternative is the idea of AOT-CL, which I used for a very big RIA application. I don't use Applets or Webstart but drafted a specialized deployment system around AOT-CL, but that's not the point. It could be easily generalized to improve the user experience, especially with Applets.&lt;p&gt;With Applets we want a Flash-like experience. An Instant-On experience. So far with Applets one gets the Browser-Freeze experience. What you want is that as little as possible is downloaded from the server -- so your Applet can start up instantly. Having a non-trivial application this is kind of a problem. Let's say your Applet allows the user to create some elaborate drawing and you allow him to export everything as PDF at the end -- then you need to include itext.jar. Usually I have about a dozen .jar files to download ranging between 2-10 MB in total and although they are not immediately needed at Applet startup I force the user to wait minutes while his browser is frozen till they are downloaded -- unacceptable! To solve this problem AOT-CL comes into play:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Optimally, all you need to download is a single class extending the Applet class.&lt;/li&gt;&lt;li&gt;The Applet starts up immediately and directly kicks of the process of AOT-CL. It constantly loads all classes ever possibly needed, before they are needed (ahead of time) but in a &lt;u&gt;&lt;b&gt;clever&lt;/b&gt;&lt;/u&gt; way.&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&lt;u&gt;&lt;b&gt;Clever&lt;/b&gt;&lt;/u&gt; describes the task of determining the best sequence of downloading classes/modules/resources, so that they are already there once they are needed. I had good experiences creating modules and determining their download sequence simply by protocoling which classes are used early and which &lt;i&gt;always&lt;/i&gt; late by letting users interact with the application. In another much faster approach I described the &lt;i&gt;classes&lt;/i&gt; and their &lt;i&gt;relationship/distances&lt;/i&gt; as &lt;i&gt;nodes/edges&lt;/i&gt; of a network and used graph clustering to package classes into very small modules and determine their loading sequence.&lt;/p&gt;&lt;p&gt;You should also be prepared for the case that AOT-CL fails (in my tests it never did). Failing means a class is needed but AOT-CL hasn't downloaded it yet. I've build in a progress-overlay (glasspane is one option) to indicate that I am now fetching the few needed files to continue execution.&lt;br /&gt;&lt;br /&gt;Now there are so many more little hints and tricks I learned to improve user experience with AOT-CL but let's wrap up everything at this point. With the Consumer JRE on the horizon we complement it with:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;A general AOT-CL Framework (one line of code to switch it on/off should be enough)&lt;/li&gt;&lt;li&gt;Clever class loading is optional and needs a little more effort then one line of code but not much&lt;/li&gt;&lt;li&gt;A set of examples show best practices for applications using AOT-CL which directly allow the user to interact with the application/applet while AOT-CL works in the background&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;&amp;nbsp;&lt;br /&gt;Benefits of AOT-CL:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;Instant-On experience for users&lt;/li&gt;&lt;li&gt;You are not forced to use AOT-CL and it won't break with compatibility&lt;/li&gt;&lt;li&gt;It works with Applets (biggest gain), Webstart (lazy loading never worked for me) or normal applications (yes those can also get classes from remote places).&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=FmM_hUzwcNY:Egkt3Ix2hOc:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=FmM_hUzwcNY:Egkt3Ix2hOc:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=FmM_hUzwcNY:Egkt3Ix2hOc:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=FmM_hUzwcNY:Egkt3Ix2hOc:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=FmM_hUzwcNY:Egkt3Ix2hOc:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=FmM_hUzwcNY:Egkt3Ix2hOc:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=FmM_hUzwcNY:Egkt3Ix2hOc:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=FmM_hUzwcNY:Egkt3Ix2hOc:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=FmM_hUzwcNY:Egkt3Ix2hOc:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=FmM_hUzwcNY:Egkt3Ix2hOc:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=FmM_hUzwcNY:Egkt3Ix2hOc:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=FmM_hUzwcNY:Egkt3Ix2hOc:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=FmM_hUzwcNY:Egkt3Ix2hOc:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/FmM_hUzwcNY" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/aot_cl_a_framework_proposal</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/jck_java_compatibility_kit_for</guid>
    <title>JCK (Java Compatibility Kit) for GPL Projects</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/ruhwx3QNJhE/jck_java_compatibility_kit_for</link>
        <pubDate>Thu, 9 Aug 2007 12:04:04 -0400</pubDate>
    <category>Java</category>
    <category>gpl</category>
    <category>harmony</category>
    <category>java</category>
    <category>jck</category>
    <category>sun</category>
            <description>&lt;span&gt;&lt;/span&gt;According to &lt;a href="http://news.com.com/Sun%20lowers%20barriers%20to%20open-source%20Java/2100-7344_3-6201440.html" target="_blank"&gt;CNet&lt;/a&gt; Sun wants to lower the barriers for open-source Java. Sun plans to announce on Thursday a program that grants access to its
Java Technology Compatibility Kit to anyone with an open-source Java
project that is based substantially on Sun's open-source Java software
and governed by the &lt;a title="Free Software Foundation releases GPL 3 -- Friday, Jun 29, 2007" href="http://news.com.com/Free+Software+Foundation+releases+GPL+3/2100-7344_3-6194139.html"&gt;General Public License (GPL)&lt;/a&gt;. Programmers need access to the test kit to prove that a project is in compliance with the Java specification.
&lt;p&gt;Projects that pass Sun's compatibility kit tests also can use the
official Java logos for free, said Rich Sands, OpenJDK community
marketing manager at Sun. &lt;/p&gt;&lt;p&gt;The new move significantly broadens the horizons of open-source programmers who want to participate in &lt;a title="Open-source Java--except for the exceptions -- Wednesday, May 9, 2007" href="http://news.com.com/Open-source+Java-except+for+the+exceptions/2100-7344_3-6182416.html"&gt;Sun's open-source Java project, called OpenJDK and formally launched in May&lt;/a&gt;.&lt;/p&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;p&gt;&lt;b&gt;More Info:&lt;/b&gt;&lt;/p&gt;&lt;ol&gt;&lt;li&gt;&lt;a href="http://openjdk.java.net/legal/openjdk-tck-license.pdf"&gt;The Licence&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://www.sun.com/software/opensource/java/faq.jsp#k"&gt;&lt;span&gt;The FAQ&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;li&gt;&lt;a href="http://blogs.sun.com/tmarble/entry/the_java_promise"&gt;&lt;span&gt;An Announcement&lt;/span&gt;&lt;/a&gt;&lt;/li&gt;&lt;p&gt;&amp;nbsp;&lt;/p&gt;&lt;/ol&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ruhwx3QNJhE:P4TAutVEU1s:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=ruhwx3QNJhE:P4TAutVEU1s:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ruhwx3QNJhE:P4TAutVEU1s:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ruhwx3QNJhE:P4TAutVEU1s:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ruhwx3QNJhE:P4TAutVEU1s:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=ruhwx3QNJhE:P4TAutVEU1s:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ruhwx3QNJhE:P4TAutVEU1s:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ruhwx3QNJhE:P4TAutVEU1s:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ruhwx3QNJhE:P4TAutVEU1s:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=ruhwx3QNJhE:P4TAutVEU1s:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ruhwx3QNJhE:P4TAutVEU1s:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ruhwx3QNJhE:P4TAutVEU1s:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=ruhwx3QNJhE:P4TAutVEU1s:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/ruhwx3QNJhE" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/jck_java_compatibility_kit_for</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/swtswing_compatible_with_java1_4</guid>
    <title>SWTSwing compatible with Java1.4 and OSX</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/ZzQt2YLsR1c/swtswing_compatible_with_java1_4</link>
        <pubDate>Mon, 16 Jul 2007 17:01:09 -0400</pubDate>
    <category>Java</category>
            <description>We are now compatible with Java1.4 again with SWTSwing - great work Chris! There was also some very mysterious bug (don't ask) on OSX keeping applications from properly running - now that is sorted out and the showcases should also run on OSX - hurrah!&lt;br /&gt;&lt;br /&gt;I just updated the showcase: Azureus-On-Swing! AOS
is 100% pure platform-independent Swing. You still need Java5 to run it because I used pack200 for the Installer and my lazyness to recompile Azureus &lt;img src="http://www.jroller.com/images/smileys/smile.gif" class="smiley" alt=":)" title=":)" /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;div style="text-align: center;"&gt;&lt;a href="http://eos.sourceforge.net/aos/Azureus-On-Swing-Installer.jar" target="_self"&gt;&lt;img alt="" src="../resources/d/dk/azureus_splash.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="text-align: left;"&gt;While your at it you
can WebStart a nice SWT Paint application similarily transformed to
100% Swing. Only Java 1.4+ is required to run it!&lt;br /&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;div style="text-align: center;"&gt;&lt;a href="http://eos.sourceforge.net/paint/paint.jnlp" target="_self"&gt;&lt;img alt="" src="../resources/d/dk/webstart.small2.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;&lt;br /&gt;If you still don't have enough, run Eclipse on Swing using the latest &lt;a target="_self" href="http://eos.sourceforge.net/"&gt;EOS-plug-in&lt;/a&gt;.
On a different note, it is worth mentioning that I currently rewrite
the plug-in from scratch. Chris and I are working on a new
SWTSwing/EOS release in the close future.&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ZzQt2YLsR1c:yoEaAXLRKdU:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=ZzQt2YLsR1c:yoEaAXLRKdU:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ZzQt2YLsR1c:yoEaAXLRKdU:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ZzQt2YLsR1c:yoEaAXLRKdU:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ZzQt2YLsR1c:yoEaAXLRKdU:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=ZzQt2YLsR1c:yoEaAXLRKdU:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ZzQt2YLsR1c:yoEaAXLRKdU:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ZzQt2YLsR1c:yoEaAXLRKdU:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ZzQt2YLsR1c:yoEaAXLRKdU:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=ZzQt2YLsR1c:yoEaAXLRKdU:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ZzQt2YLsR1c:yoEaAXLRKdU:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ZzQt2YLsR1c:yoEaAXLRKdU:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=ZzQt2YLsR1c:yoEaAXLRKdU:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/ZzQt2YLsR1c" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/swtswing_compatible_with_java1_4</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/swt_running_on_os_2</guid>
    <title>SWT running on OS/2 - thanks to Swing!</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/WN49dvBnPTY/swt_running_on_os_2</link>
        <pubDate>Fri, 13 Jul 2007 17:35:31 -0400</pubDate>
    <category>Java</category>
            <description>Forgive the short and misleading title - SWT's recent reincarnation in Swing called SWTSwing makes it happen. Yesterday I was contacted by Jürgen Ulbts and asked if SWTSwing/EOS could run under OS/2?&lt;br /&gt;&lt;br /&gt;What's SWTSwing/EOS - we summed it up in this article: &lt;br /&gt;English:&amp;nbsp; &lt;a href="http://eos.sourceforge.net/data/Flexibility%20at%20the%20Roots%20of%20Eclipse.pdf" target="_self"&gt;Flexibility at the Roots of Eclipse (pdf)&lt;/a&gt;&lt;br /&gt;German: &lt;a href="http://eclipse-magazin.de/itr/online_artikel/psecom,id,885,nodeid,230.html" target="_self"&gt;SWTSwing and Eclipse on Swing (html)&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;With a little help from my side we finally got it running on OS/2 eComStation 2.0 rc1.&lt;br /&gt;&lt;br /&gt;
&lt;div style="text-align: left;"&gt;&lt;a href="../dk/resource/Paint_on_eCS20rc1_GoldeCode-Java141.jpg" target="_self"&gt;&lt;img src="http://jroller.com/resources/d/dk/Paint_on_eCS20rc1_GoldeCode-Java141_thumb.jpg" /&gt;&lt;/a&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;a href="../dk/resource/Paint_on_eCS20rc1_Innotek-Java142.jpg" target="_self"&gt;&lt;img src="http://jroller.com/resources/d/dk/Paint_on_eCS20rc1_Innotek-Java142_thumb.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;The screenshots show the application running on Java 1.4.1 (Golden Code - native) and Java 1.4.2 (Innotek - orig. Sun Java). What should you care? Recently, Chris Deckers and I discussed that a real killerapplication for SWTSwing/EOS on systems who suddenly don't support SWT at all or perhaps stop supporting it. I think we are still unclear with the next 64bit OSX and if there will ever be a Cocoa-SWT (anyone knows more?).&lt;br /&gt;&lt;br /&gt;Anyway - with SWTSwing/EOS you have much higher security and trust that your appliaction will run in the future (as we predicted in the article above). It only needs a recent version of Java/Swing.&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=WN49dvBnPTY:8rvG3htUyzo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=WN49dvBnPTY:8rvG3htUyzo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=WN49dvBnPTY:8rvG3htUyzo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=WN49dvBnPTY:8rvG3htUyzo:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=WN49dvBnPTY:8rvG3htUyzo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=WN49dvBnPTY:8rvG3htUyzo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=WN49dvBnPTY:8rvG3htUyzo:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=WN49dvBnPTY:8rvG3htUyzo:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=WN49dvBnPTY:8rvG3htUyzo:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=WN49dvBnPTY:8rvG3htUyzo:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=WN49dvBnPTY:8rvG3htUyzo:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=WN49dvBnPTY:8rvG3htUyzo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=WN49dvBnPTY:8rvG3htUyzo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/WN49dvBnPTY" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/swt_running_on_os_2</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/java_media_ii_an_even</guid>
    <title>Java Media II - an even better approach</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/qDnYqkOH0ds/java_media_ii_an_even</link>
        <pubDate>Sun, 8 Jul 2007 23:37:59 -0400</pubDate>
    <category>Java</category>
            <description>To make it short - last time I suggested (&lt;a target="_self" href="../page/dk?entry=java_media_a_new_perspective"&gt;1&lt;/a&gt;, &lt;a target="_self" href="../page/dk?entry=java_media_theora_video_codec"&gt;2&lt;/a&gt;) NestedVM to get a Java implementation of the &lt;a target="_self" href="http://www.xiph.org/"&gt;Ogg Vorbis audio codec and the Theora video codec&lt;/a&gt;. Although this post offers a better alternative it doesn't render NestedVM useless for Java Media. Speaking to Brian Alliet it seems that after some changes (like removeing the 64k method limit) Java code generated via NestedVM could reach 50% of the performance of its native source.&lt;br /&gt;&lt;br /&gt;Doing more reseach in the net I finally discovered that there is already a free solution from &lt;a target="_self" href="http://www.flumotion.net/"&gt;Flumotion&lt;/a&gt; implementing these codecs called &lt;a target="_self" href="http://www.flumotion.net/cortado/"&gt;Cortado&lt;/a&gt;. Even more they offer a complete streaming solution.&lt;br /&gt;&lt;br /&gt;Check out the &lt;a target="_self" href="http://stream.fluendo.com/demos.php"&gt;Cortado Demo site&lt;/a&gt; - you won't regret it.&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=qDnYqkOH0ds:QODBoTC8YUo:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=qDnYqkOH0ds:QODBoTC8YUo:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=qDnYqkOH0ds:QODBoTC8YUo:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=qDnYqkOH0ds:QODBoTC8YUo:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=qDnYqkOH0ds:QODBoTC8YUo:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=qDnYqkOH0ds:QODBoTC8YUo:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=qDnYqkOH0ds:QODBoTC8YUo:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=qDnYqkOH0ds:QODBoTC8YUo:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=qDnYqkOH0ds:QODBoTC8YUo:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=qDnYqkOH0ds:QODBoTC8YUo:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=qDnYqkOH0ds:QODBoTC8YUo:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=qDnYqkOH0ds:QODBoTC8YUo:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=qDnYqkOH0ds:QODBoTC8YUo:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/qDnYqkOH0ds" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/java_media_ii_an_even</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/java_media_theora_video_codec</guid>
    <title>Java Media - Theora Video Codec</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/xsWdJxa0v6g/java_media_theora_video_codec</link>
        <pubDate>Tue, 3 Jul 2007 18:28:20 -0400</pubDate>
    <category>Java</category>
            <description>It seems NestedVM excited a lot of people and already spawned a posting at &lt;a href="http://www.javalobby.org/java/forums/t98242.html" target="_self"&gt;javalobby&lt;/a&gt;. Yesterday I talked about the Xiph audio encoder/decoder - both are pretty slow when converted to Java bytecode. A better example when it comes to performance is the &lt;a href="http://en.wikipedia.org/wiki/Theora" target="_self"&gt;Theora video codec&lt;/a&gt; (converted by Maik Merten).&lt;br /&gt;&lt;br /&gt;&lt;a href="../resources/d/dk/dump_video.class" target="_self"&gt;Download Java version of Theora.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;According to Maik Merten "it seems that 
currently the Theora
decoder is about 6-7 times slower in NestedVM when compared to the
native x86 version (which also includes some MMX assembly). Personally
I think this is a nice result for a start, albeit it means that
currently it can not decode content above 352x288 with full framerate
(25 to 30 fps) on my system. This is already useable in low-bandwidth 
scenarios."&lt;br /&gt;&lt;br /&gt;Obviously you can tune the GCC makefile and squeeze out more performance. 
From my experience using all kinds of optimizations one can get a solution that runs slower by a factor of 5 compared to the native thing.&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=xsWdJxa0v6g:CglKCcNu1GQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=xsWdJxa0v6g:CglKCcNu1GQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=xsWdJxa0v6g:CglKCcNu1GQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=xsWdJxa0v6g:CglKCcNu1GQ:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=xsWdJxa0v6g:CglKCcNu1GQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=xsWdJxa0v6g:CglKCcNu1GQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=xsWdJxa0v6g:CglKCcNu1GQ:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=xsWdJxa0v6g:CglKCcNu1GQ:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=xsWdJxa0v6g:CglKCcNu1GQ:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=xsWdJxa0v6g:CglKCcNu1GQ:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=xsWdJxa0v6g:CglKCcNu1GQ:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=xsWdJxa0v6g:CglKCcNu1GQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=xsWdJxa0v6g:CglKCcNu1GQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/xsWdJxa0v6g" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/java_media_theora_video_codec</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/java_media_a_new_perspective</guid>
    <title>Java Media - A New Perspective with NestedVM</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/MPlZuqQwH1k/java_media_a_new_perspective</link>
        <pubDate>Mon, 2 Jul 2007 09:20:44 -0400</pubDate>
    <category>Java</category>
            <description>&lt;font size="2"&gt;
I believe &lt;a target="_self" href="http://www.oreillynet.com/onjava/blog/2007/05/java_se_media_or_not_at_javaon.html"&gt;Chris Adamson&lt;/a&gt; started a series of follow-up articles (&lt;a target="_self" href="http://weblogs.java.net/blog/robogeek/archive/2007/05/java_and_multim.html"&gt;1&lt;/a&gt;, &lt;a target="_self" href="http://weblogs.java.net/blog/chet/archive/2007/05/media_frenzy.html"&gt;2&lt;/a&gt;) musing about Java Media and if/why it is of little use so far.&lt;br /&gt;&lt;br /&gt;Another thing I follow and use now for quite a while is the little known &lt;a target="_self" href="http://nestedvm.ibex.org/"&gt;NestedVM&lt;/a&gt;, which provides binary translation for Java Bytecode. This is done by
having GCC compile to a MIPS binary which is then translated to a Java
class file. Hence any application written in C, C++, Fortran, or any other
language supported by GCC can be run in 100% pure Java with no source
changes. You want to know more - &lt;a target="_self" href="http://www.megacz.com/research/papers/nestedvm.ivme04.pdf"&gt;read this&lt;/a&gt;. In my opinion, the concept behind NestedVM is the most clean and clever way to do a C-to-Java conversion.&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;
&lt;div style="text-align: center;"&gt;&lt;font size="2"&gt;&lt;img src="http://jroller.com/resources/d/dk/cars.jpeg" alt="" /&gt;&lt;br /&gt;&lt;/font&gt;&lt;/div&gt;&lt;font size="2"&gt;&lt;br /&gt;If you want to get started with NestedVM, &lt;a target="_self" href="http://nestedvm.ibex.org/dist/nestedvm-2007-01-12.tgz"&gt;download and compile the sources&lt;/a&gt;. We are by the way all organized in a NestedVM-Google-Group you would like to join - there is actually quite some discussion going on in the last couple of months. So far I used NestedVM myself mostly for science related things. The only media related conversion was an initial test-run where I converted the &lt;a target="_self" href="http://www.ijg.org/"&gt;ijg-jpeg&lt;/a&gt; library to 100% pure Java. Very nice - it works - but sucks a little on the performance side.&lt;br /&gt;&lt;br /&gt;Anyway - a lot of people are experimenting with it - and there is still room for optimizations. One interesting thing I was hinted to by Maik Merten is converting the codecs from&amp;nbsp; &lt;/font&gt;&lt;a target="_self" href="http://www.xiph.org/"&gt;Xiph.org&lt;/a&gt;&lt;font size="2"&gt;. Below is the example of an audio codec (originally written in C) , now in pure Java. Download the files listed below and execute the audio encoder/decoder.&lt;br /&gt;&lt;br /&gt;&lt;/font&gt;
&lt;h1 style="font-weight: bold;"&gt;&lt;font size="5"&gt;Example:&lt;/font&gt;&lt;/h1&gt;
&lt;ol&gt;
&lt;li&gt;&lt;font size="2"&gt;the &lt;a href="../resources/d/dk/nestedvm-runtime-lib.jar" target="_self"&gt;NestedVM runtime&lt;/a&gt; - a 100% Java lib, I took the liberty to jar it.&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size="2"&gt;&lt;a href="http://savage747.sa.funpic.de/encoder_example-java.zip" target="_self"&gt;the encoder&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size="2"&gt;&lt;a href="http://savage747.sa.funpic.de/decoder_example-java.zip" target="_self"&gt;the decoder&lt;/a&gt;&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size="2"&gt;some &lt;a target="_self" href="http://www.nhest.org/flicker.wav"&gt;wav file&lt;/a&gt;.&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;p&gt;&lt;font size="2"&gt;When executing, &lt;/font&gt;&lt;font size="2"&gt;don't forget to add the current directory "." to your classpath.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;span style="font-weight: bold;"&gt;ENCODING wav-to-ogg:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;span style="font-weight: bold;"&gt;I use: cat input.wav | java -cp nestedvm-runtime-lib.jar:.&amp;nbsp; encoder_example &amp;gt; output.ogg&lt;/span&gt;&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;span style="font-weight: bold;" /&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;span style="font-weight: bold;"&gt;DECODING ogg-to-pcm:&lt;/span&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;cat output.ogg | java -cp nestedvm-runtime-lib.jar:.&amp;nbsp; decoder_example &amp;gt; recoded.pcm&lt;/span&gt;&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;span style="font-weight: bold;" /&gt;&lt;/font&gt;&lt;/p&gt;&lt;pre wrap=""&gt;&lt;font size="2"&gt;&lt;span style="font-weight: bold;"&gt;The Decoding-Output on my console:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;ENCODER=encoder_example.c&lt;br /&gt;&lt;br /&gt;Bitstream is 2 channel, 44100Hz&lt;br /&gt;Encoded by: Xiph.Org libVorbis I 20070622&lt;br /&gt;&lt;br /&gt;Clipping in frame 4&lt;br /&gt;Clipping in frame 5&lt;br /&gt;Clipping in frame 6&lt;br /&gt;Clipping in frame 7&lt;br /&gt;Clipping in frame 8&lt;br /&gt;Clipping in frame 9&lt;br /&gt;Clipping in frame 10&lt;br /&gt;Clipping in frame 11&lt;br /&gt;Clipping in frame 12&lt;br /&gt;Clipping in frame 13&lt;br /&gt;Clipping in frame 14&lt;br /&gt;Clipping in frame 15&lt;br /&gt;Clipping in frame 16&lt;br /&gt;Clipping in frame 17&lt;br /&gt;Clipping in frame 18&lt;br /&gt;Clipping in frame 19&lt;br /&gt;Clipping in frame 20&lt;br /&gt;Clipping in frame 21&lt;br /&gt;Clipping in frame 22&lt;br /&gt;Clipping in frame 23&lt;br /&gt;Clipping in frame 24&lt;br /&gt;Clipping in frame 25&lt;br /&gt;Clipping in frame 26&lt;br /&gt;Clipping in frame 27&lt;br /&gt;Done.&lt;br /&gt;&lt;/font&gt;&lt;/pre&gt;
&lt;p&gt;&lt;font size="2"&gt;Obviously all media related libraries (also Theora) written in any language you can compile with GCC can be transformed into 100% Java - again no source changes necessary. This also means you can easily upgrade your Java library very quickly once there are changes in the native library - all you need a simple GCC run. I think NestedVM is a big hope for Java Media - although the performance is according to my own experience a lot worse (approx. factor 5-10)&amp;nbsp; compared to the native thing.&lt;/font&gt;&lt;/p&gt;
&lt;p&gt;&lt;font size="2"&gt;&lt;br /&gt;How I think it could work:&lt;br /&gt;&lt;/font&gt;&lt;/p&gt;
&lt;ol&gt;
&lt;li&gt;&lt;font size="2"&gt;Convert the most popular native Media libraries/codecs to 100% Java.&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size="2"&gt;Check if we can live with the performce - if not:&lt;/font&gt;&lt;/li&gt;&lt;/ol&gt;
&lt;ul style="margin-left: 40px;"&gt;
&lt;li&gt;&lt;font size="2"&gt;try to optimize the GCC compilation (compiler flags etc.)&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size="2"&gt;try optimizing NestedVM&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size="2"&gt;try optimizing the way the JVM is doing things (e.g. massive floating-point operations)&lt;/font&gt;&lt;/li&gt;
&lt;li&gt;&lt;font size="2"&gt;try reimplementing certain codecs from scratch&lt;/font&gt;&lt;/li&gt;&lt;/ul&gt;&lt;font size="2"&gt;&lt;br /&gt;&lt;/font&gt;
&lt;p&gt;&lt;font size="2"&gt;Perhaps it is a good idea to have all codecs in 100% Java - so we have a basis to work on, even if it isn't super fast (often other things like network bandwidth are the bottleneck). Then we start replacing the worst bottlenecks with really fast Java reimplamentations.&lt;/font&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=MPlZuqQwH1k:3cidu0TeAlE:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=MPlZuqQwH1k:3cidu0TeAlE:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=MPlZuqQwH1k:3cidu0TeAlE:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=MPlZuqQwH1k:3cidu0TeAlE:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=MPlZuqQwH1k:3cidu0TeAlE:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=MPlZuqQwH1k:3cidu0TeAlE:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=MPlZuqQwH1k:3cidu0TeAlE:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=MPlZuqQwH1k:3cidu0TeAlE:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=MPlZuqQwH1k:3cidu0TeAlE:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=MPlZuqQwH1k:3cidu0TeAlE:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=MPlZuqQwH1k:3cidu0TeAlE:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=MPlZuqQwH1k:3cidu0TeAlE:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=MPlZuqQwH1k:3cidu0TeAlE:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/MPlZuqQwH1k" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/java_media_a_new_perspective</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/tiobe_programming_community_index</guid>
    <title>TIOBE Programming Community Index</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/cVdr3rqcYZE/tiobe_programming_community_index</link>
        <pubDate>Fri, 25 May 2007 12:17:08 -0400</pubDate>
    <category>Java</category>
            <description>The &lt;a href="http://www.tiobe.com/tpci.htm" target="_self"&gt;TIOBE Programming Community index&lt;/a&gt; gives an indication of the popularity of programming 
languages. The index is updated once a month. The ratings are based on the world-wide availability of 
skilled engineers, courses and third party vendors. The popular search engines Google, MSN, and Yahoo! 
are used to calculate the ratings. Observe that the TIOBE index is not about the &lt;i&gt;best&lt;/i&gt; programming 
language or the language in which &lt;i&gt;most lines of code&lt;/i&gt; have been written.&lt;br /&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;a target="_self" href="http://www.tiobe.com/tiobe_index/images/tpci_trends.png"&gt;&lt;img src="http://www.tiobe.com/tiobe_index/images/tpci_trends.png" style="width: 375px; height: 284px;" alt="" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;&lt;a href="http://www.tiobe.com/tiobe_index/images/tpci_trends.png" target="_blank"&gt;Click to enlarge&lt;/a&gt;&lt;/div&gt;
&lt;p&gt;The index can be used to check whether your programming skills are still up to date or to make a 
strategic decision about what programming language should be adopted when starting to build a new 
software system. The definition of the TIOBE index can be found &lt;a href="http://www.tiobe.com/tiobe_index/tpci_definition.htm"&gt;here&lt;/a&gt;.&lt;/p&gt;&lt;br /&gt;
&lt;p&gt;&lt;br /&gt;&lt;/p&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=cVdr3rqcYZE:ETygUKlZPtY:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=cVdr3rqcYZE:ETygUKlZPtY:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=cVdr3rqcYZE:ETygUKlZPtY:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=cVdr3rqcYZE:ETygUKlZPtY:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=cVdr3rqcYZE:ETygUKlZPtY:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=cVdr3rqcYZE:ETygUKlZPtY:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=cVdr3rqcYZE:ETygUKlZPtY:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=cVdr3rqcYZE:ETygUKlZPtY:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=cVdr3rqcYZE:ETygUKlZPtY:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=cVdr3rqcYZE:ETygUKlZPtY:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=cVdr3rqcYZE:ETygUKlZPtY:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=cVdr3rqcYZE:ETygUKlZPtY:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=cVdr3rqcYZE:ETygUKlZPtY:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/cVdr3rqcYZE" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/tiobe_programming_community_index</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/jroller_get_me_out_of</guid>
    <title>JRoller - get me out of here :(</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/ignraE8do28/jroller_get_me_out_of</link>
        <pubDate>Tue, 22 May 2007 05:33:45 -0400</pubDate>
    <category>Java</category>
            <description>&lt;br /&gt;JRoller is a constant source of annoyance lately - meaning it is constantly unreachable! I don't care much about features or flexibility but if a blog is offline it isn't really...well...useful. Not that I insist it to be of much use when online either. Well, one step at a time.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ignraE8do28:29lYJJVxtcs:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=ignraE8do28:29lYJJVxtcs:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ignraE8do28:29lYJJVxtcs:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ignraE8do28:29lYJJVxtcs:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ignraE8do28:29lYJJVxtcs:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=ignraE8do28:29lYJJVxtcs:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ignraE8do28:29lYJJVxtcs:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ignraE8do28:29lYJJVxtcs:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ignraE8do28:29lYJJVxtcs:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=ignraE8do28:29lYJJVxtcs:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ignraE8do28:29lYJJVxtcs:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=ignraE8do28:29lYJJVxtcs:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=ignraE8do28:29lYJJVxtcs:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/ignraE8do28" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/jroller_get_me_out_of</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/azureus_on_swing</guid>
    <title>Azureus-On-Swing</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/2ksPEXpFL-4/azureus_on_swing</link>
        <pubDate>Sat, 19 May 2007 00:25:49 -0400</pubDate>
    <category>Java</category>
            <description>&lt;span style="font-weight: bold;"&gt;THIS POST IS OLD - THERE IS AN &lt;/span&gt;&lt;a target="_self" href="../page/dk?entry=swtswing_compatible_with_java1_4"&gt;UPDATE&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Azureus-On-Swing (AOS) &lt;span style="font-weight: bold;"&gt;needs Java6+&lt;/span&gt; to run! It won't run with Java5!&lt;br /&gt;&lt;br /&gt;I just uploaded a "little" SWTSwing/EOS showcase: Azureus-On-Swing! AOS is 100% pure platform-independent Swing. Wrapped in a IzPack installer and with a little Voodoo (leaving out native SWT libraries + compression) shrinked it from ~8MB to 2,8MB. Deployed with WebStart one could even go below 2MB. So much about download size &lt;img src="http://www.jroller.com/images/smileys/smile.gif" class="smiley" alt=":)" title=":)" /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;div style="text-align: center;"&gt;&lt;a href="http://eos.sourceforge.net/aos/Azureus-On-Swing-Installer.jar" target="_self"&gt;&lt;img alt="" src="http://jroller.com/resources/d/dk/azureus_splash.png" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="text-align: left;"&gt;So get it from the &lt;a target="_self" href="http://eos.sourceforge.net/"&gt;EOS-page&lt;/a&gt; (use java -jar Azureus-On-Swing-Installer.jar) and while your at it you can WebStart a nice SWT Paint application similarily transformed to 100% Swing. Only Java 1.4+ is required to run it!&lt;br /&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;
&lt;div style="text-align: left;"&gt;
&lt;div style="text-align: center;"&gt;&lt;a href="http://eos.sourceforge.net/paint/paint.jnlp" target="_self"&gt;&lt;img alt="" src="http://jroller.com/resources/d/dk/webstart.small2.gif" /&gt;&lt;/a&gt;&lt;/div&gt;&lt;/div&gt;
&lt;div style="text-align: left;"&gt;&lt;br /&gt;If you still don't have enough, run Eclipse on Swing using the latest &lt;a target="_self" href="http://eos.sourceforge.net/"&gt;EOS-plug-in&lt;/a&gt;. On a different note, it is worth mentioning that I currently rewrite the plug-in from scratch. Chris and I are currently working on a new SWTSwing/EOS release for the close future, so be prepared!&lt;br /&gt;&lt;/div&gt; &lt;/div&gt;&lt;/div&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=2ksPEXpFL-4:Bc06tFolU9s:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=2ksPEXpFL-4:Bc06tFolU9s:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=2ksPEXpFL-4:Bc06tFolU9s:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=2ksPEXpFL-4:Bc06tFolU9s:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=2ksPEXpFL-4:Bc06tFolU9s:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=2ksPEXpFL-4:Bc06tFolU9s:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=2ksPEXpFL-4:Bc06tFolU9s:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=2ksPEXpFL-4:Bc06tFolU9s:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=2ksPEXpFL-4:Bc06tFolU9s:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=2ksPEXpFL-4:Bc06tFolU9s:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=2ksPEXpFL-4:Bc06tFolU9s:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=2ksPEXpFL-4:Bc06tFolU9s:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=2ksPEXpFL-4:Bc06tFolU9s:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/2ksPEXpFL-4" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/azureus_on_swing</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/finally_the_consumer_jre_poll</guid>
    <title>Vote for the 5 Greatest Hits of the new Consumer JRE!</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/klTJgNil--c/finally_the_consumer_jre_poll</link>
        <pubDate>Thu, 17 May 2007 22:07:38 -0400</pubDate>
    <category>Java</category>
            <description>&lt;br /&gt;&lt;a href="http://www.imedialearn.com/imediapoll/poll.php?code=015c2b4d69ea7da526745a8dfc9199a5" target="_self"&gt;Select the 5 Greatest Hits&lt;/a&gt; you want to see in the future &lt;a target="_self" href="http://www.jroller.com/page/dk?entry=firefly_the_new_consumerjre_or"&gt;Consumer JRE&lt;/a&gt;!&lt;br /&gt;&lt;br /&gt;You will see the results after you voted. If we see all the improvements in the next JRE, I set up the same vote next year, just that I don't use Flash for the poll but JavaFX &lt;img src="http://www.jroller.com/images/smileys/smile.gif" class="smiley" alt=":)" title=":)" /&gt;&lt;br /&gt;&lt;a href="&amp;lt;OBJECT classid=" clsid:d27cdb6e-ae6d-11cf-96b8-444553540000="" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,0,0" width="225" height="762" id="iMediaPOLL" align=""&gt;&lt;/a&gt;&lt;br /&gt;&lt;pre&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;function FensterOeffnen (Adresse) {&lt;br /&gt;  MeinFenster = window.open(Adresse, "Zweitfenster", "width=300,height=400,left=100,top=200");&lt;br /&gt;  MeinFenster.focus();&lt;br /&gt;}&lt;br /&gt;&lt;/script&gt;&lt;/pre&gt;&lt;pre&gt;&lt;script type="text/javascript"&gt;&lt;br /&gt;function FensterOeffnen (Adresse) {&lt;br /&gt;  MeinFenster = window.open(Adresse, "Zweitfenster", "width=300,height=400,left=100,top=200");&lt;br /&gt;  MeinFenster.focus();&lt;br /&gt;}&lt;br /&gt;&lt;/script&gt;&lt;/pre&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=klTJgNil--c:hiYIK4IPgcQ:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=klTJgNil--c:hiYIK4IPgcQ:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=klTJgNil--c:hiYIK4IPgcQ:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=klTJgNil--c:hiYIK4IPgcQ:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=klTJgNil--c:hiYIK4IPgcQ:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=klTJgNil--c:hiYIK4IPgcQ:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=klTJgNil--c:hiYIK4IPgcQ:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=klTJgNil--c:hiYIK4IPgcQ:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=klTJgNil--c:hiYIK4IPgcQ:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=klTJgNil--c:hiYIK4IPgcQ:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=klTJgNil--c:hiYIK4IPgcQ:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=klTJgNil--c:hiYIK4IPgcQ:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=klTJgNil--c:hiYIK4IPgcQ:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/klTJgNil--c" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/finally_the_consumer_jre_poll</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/aot_cl_and_democracy_in</guid>
    <title>AOT-CL and Democracy in Java - let's vote!</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/wlTPdZ27TPU/aot_cl_and_democracy_in</link>
        <pubDate>Wed, 16 May 2007 13:27:01 -0400</pubDate>
    <category>Java</category>
            <description>&lt;a href="../page/dk?entry=finally_the_consumer_jre_poll" target="_self"&gt;Directly jump to the vote!&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Some time ago I was musing about something I call &lt;a href="http://www.jroller.com/dk/entry/aot_cl_a_framework_proposal" target="_self"&gt;AOT-CL (ahead-of-time classloading)&lt;/a&gt;. Startup performance of the JRE and later showing something like a JFileChooser (for the first time) requires Java to load loads of classes. That's why some Swing GUIs behave sluggish at the beginning. Perhaps a low-priority background thread can load these classes AOT?&lt;br /&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;img src="http://jroller.com/resources/d/dk/vote.jpg" style="width: 183px; height: 183px;" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Sun and also the OpenJDK community plan to make drastic changes to &amp;quot;Java&amp;quot; in the next month. I wonder if it makes sense to set up a vote to understand what people need and want (&lt;a href="http://community.java.net/javadesktop/" target="_self"&gt;http://community.java.net/javadesktop&lt;/a&gt;). You say it is actually pretty clear what people want and where priorities are - still it is kind of neat to have hard numbers. These are some of the candidates wooing for your vote:&lt;br /&gt;&lt;br /&gt;You are welcome to let me know in case you miss your favorite feature. If we agreed on the list of features I or somebody else can set up the vote.&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;easy JRE install&lt;/li&gt;
&lt;li&gt;rock-solid JRE install&lt;/li&gt;
&lt;li&gt;small, modularized JRE&lt;/li&gt;
&lt;li&gt;smaller JRE startup time&lt;/li&gt;
&lt;li&gt;smaller JRE memory footprint&lt;/li&gt;
&lt;li&gt;AOT-CL (ahead-of-time classloading)&lt;/li&gt;
&lt;li&gt;faster, faster, faster Java (on the desktop)&lt;/li&gt;
&lt;li&gt;debug and improve Java WebStart&lt;/li&gt;
&lt;li&gt;tune Applets and add some anti-freeze&lt;/li&gt;
&lt;li&gt;allow users to &amp;quot;end&amp;quot; Applets all the time&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;&lt;a target="_self" href="http://weblogs.java.net/blog/felipegaucho/archive/2007/05/jsr277_super_ja.html"&gt;Super-Jars&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;allow conversion of JavaFX script to Java sources&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;add new features like closures&lt;/li&gt;
&lt;li&gt;Java should be stable and not the new C++&lt;/li&gt;
&lt;li&gt;&lt;a href="http://weblogs.java.net/blog/chet/archive/2005/06/mmmmmm_vm.html" target="_self"&gt;MVM&lt;/a&gt; (Multi-tasking Virtual Machine)&lt;/li&gt;
&lt;li&gt;improve platform integration (e.g. &lt;a target="_self" href="../page/dk?entry=djproject_is_released"&gt;DJProject.&lt;/a&gt;)&lt;/li&gt;
&lt;li&gt;
JavaFX is one side of RIA, &lt;a target="_self" href="../page/dk?entry=eclipsecon07_bender"&gt;SWTSwing/EOS&lt;/a&gt; the other&lt;/li&gt;
&lt;li&gt;...[enter your favorite feature here]...&lt;br /&gt;&lt;/li&gt;&lt;/ul&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=wlTPdZ27TPU:DEeLkEr_O5Q:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=wlTPdZ27TPU:DEeLkEr_O5Q:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=wlTPdZ27TPU:DEeLkEr_O5Q:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=wlTPdZ27TPU:DEeLkEr_O5Q:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=wlTPdZ27TPU:DEeLkEr_O5Q:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=wlTPdZ27TPU:DEeLkEr_O5Q:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=wlTPdZ27TPU:DEeLkEr_O5Q:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=wlTPdZ27TPU:DEeLkEr_O5Q:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=wlTPdZ27TPU:DEeLkEr_O5Q:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=wlTPdZ27TPU:DEeLkEr_O5Q:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=wlTPdZ27TPU:DEeLkEr_O5Q:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=wlTPdZ27TPU:DEeLkEr_O5Q:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=wlTPdZ27TPU:DEeLkEr_O5Q:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/wlTPdZ27TPU" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/aot_cl_and_democracy_in</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/javaone_thoughts_the_next_big1</guid>
    <title>JavaOne thoughts: The Next Big Thing?</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/NXBa0il8F3I/javaone_thoughts_the_next_big1</link>
        <pubDate>Wed, 9 May 2007 07:46:13 -0400</pubDate>
    <category>Java</category>
            <description>&lt;div style="text-align: left;"&gt;
So what's the "Next Big Thing" (NBT) ? Talking to James Governor at the
last EclipseCon one could see it coming what happened later with &lt;a href="http://www.adobe.com/aboutadobe/pressroom/pressreleases/200704/042607Flex.html" target="_self"&gt;Flex&lt;/a&gt; (partially open sourcing it). More important than Flex, where Adobe et al. is involved in: &lt;a href="http://www.mozilla.org/projects/tamarin/" target="_self"&gt;Tamarin&lt;/a&gt;, (a.k.a. Js2) which actually may be this NBT!&lt;br /&gt;&lt;/div&gt;
&lt;div style="text-align: center;"&gt;&lt;img alt="" style="width: 171px; height: 214px;" src="../resources/d/dk/NBT.jpg" /&gt;&lt;br /&gt;&lt;/div&gt;From things happening over the last
years and what is now happening at JavaOne I assume that we won't have
to pick up the NBT if there is one. Don't get me wrong, &lt;a href="http://www.mozilla.org/projects/tamarin/" target="_self"&gt;Tamarin&lt;/a&gt;
will come, no doubt about that. One simply can't stop the tendency, that like for
Ajax, you won't and (for many reasons) actually don't want to interact
with the NBT directly but rather use a layer of abstraction which
simply hides most of the details for you and even allows switching the
technology used underneath (Tamarin, Flex, Silverlight, JavaFX, Ajax, Blu-Ray,
HD-DVD, ...). Hopefully some project like &lt;a href="http://www.springframework.org/" target="_self"&gt;Spring&lt;/a&gt; will provide us with the necessary abstraction layer.&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=NXBa0il8F3I:zXPq7X3HgI8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=NXBa0il8F3I:zXPq7X3HgI8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=NXBa0il8F3I:zXPq7X3HgI8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=NXBa0il8F3I:zXPq7X3HgI8:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=NXBa0il8F3I:zXPq7X3HgI8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=NXBa0il8F3I:zXPq7X3HgI8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=NXBa0il8F3I:zXPq7X3HgI8:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=NXBa0il8F3I:zXPq7X3HgI8:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=NXBa0il8F3I:zXPq7X3HgI8:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=NXBa0il8F3I:zXPq7X3HgI8:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=NXBa0il8F3I:zXPq7X3HgI8:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=NXBa0il8F3I:zXPq7X3HgI8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=NXBa0il8F3I:zXPq7X3HgI8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/NXBa0il8F3I" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/javaone_thoughts_the_next_big1</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/firefly_consumerjre_or_how_i</guid>
    <title>FireFly! ConsumerJRE - or How I Learned to Stop Worrying and Love JavaFX!</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/yLmDI_2WuA4/firefly_consumerjre_or_how_i</link>
        <pubDate>Tue, 8 May 2007 16:21:35 -0400</pubDate>
    <category>Java</category>
            <description>The &lt;a href="http://www.jroller.com/page/dk?entry=firefly_the_new_consumerjre_or" target="_self"&gt;FireFly! ConsumerJRE&lt;/a&gt; seems to be already a success with the many people ranting about JavaFX. I get a lot of people that were very sceptical about JavaFX being on-top of the JRE and all that. With FireFly! they stopped&amp;nbsp; worrying and started to love JavaFX &lt;img src="http://www.jroller.com/images/smileys/smile.gif" class="smiley" alt=":)" title=":)" /&gt;&lt;br /&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;One question that always comes up: "You said the JRE is not 16MB but only 7MB in size, how does this hold with...ehmm...well, reality?"&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;img src="http://jroller.com/resources/d/dk/strangelove.jpg" style="width: 172px; height: 173px;" alt="" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;You have to closely monitor the Java installation process - what files are created, what processes run, what is the installer doing, etc.? I don't want to go into the details, so let's say for historical it works in a very &lt;span style="font-style: italic;"&gt;strange way&lt;/span&gt;: first a base version of the JRE ist installed: 1.4.0. After that some "patches" that need to ship with the installer are applied to the base to transform it into a 1.4.0_12.&lt;br /&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;Take home message:&lt;/span&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;the JRE is not 16MB but 7 MB in size (actually we can go even much lower - perhaps I blog about it later)&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;the JRE patches, the overhead of the InstallShield installer, its suboptimal compression and a couple of other things blow up the size to 16MB&lt;/li&gt;
&lt;li&gt;to make things worse "the patching" also takes a lot of time and certainly doesn't improve solidness or experience of a JRE install.&lt;/li&gt;&lt;/ol&gt;&lt;br /&gt;&lt;span style="text-decoration: underline;"&gt;Solution:&lt;/span&gt;&lt;br /&gt;
&lt;ol&gt;
&lt;li&gt;we remove "patching" and reduce the size of the JRE to 7MB (actually we could go much below that - perhaps material for another post later)&lt;br /&gt;&lt;/li&gt;
&lt;li&gt;we introduce the ~100k &lt;a href="http://www.jroller.com/page/dk?entry=firefly_the_new_consumerjre_or" target="_self"&gt;Consumer-JRE FireFly!&lt;br /&gt;&lt;/a&gt;&lt;/li&gt;
&lt;li&gt;we improve plafrom-integration with another project I am taking part - &lt;a target="_self" href="../page/dk?entry=djproject_is_released"&gt;DJ-Project&lt;/a&gt;.&lt;br /&gt;&lt;/li&gt;&lt;/ol&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=yLmDI_2WuA4:CVeCPHRXhnw:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=yLmDI_2WuA4:CVeCPHRXhnw:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=yLmDI_2WuA4:CVeCPHRXhnw:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=yLmDI_2WuA4:CVeCPHRXhnw:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=yLmDI_2WuA4:CVeCPHRXhnw:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=yLmDI_2WuA4:CVeCPHRXhnw:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=yLmDI_2WuA4:CVeCPHRXhnw:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=yLmDI_2WuA4:CVeCPHRXhnw:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=yLmDI_2WuA4:CVeCPHRXhnw:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=yLmDI_2WuA4:CVeCPHRXhnw:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=yLmDI_2WuA4:CVeCPHRXhnw:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=yLmDI_2WuA4:CVeCPHRXhnw:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=yLmDI_2WuA4:CVeCPHRXhnw:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/yLmDI_2WuA4" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/firefly_consumerjre_or_how_i</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/firefly_the_new_consumerjre_or</guid>
    <title>FireFly! ConsumerJRE - or what I learned from writing Viruses!</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/fp5GVxyqxas/firefly_the_new_consumerjre_or</link>
        <pubDate>Tue, 8 May 2007 16:10:21 -0400</pubDate>
    <category>Java</category>
            <description>Viruses and Malware are an extremely small download and very easy to install (one-click installation &lt;img src="http://www.jroller.com/images/smileys/smile.gif" class="smiley" alt=":)" title=":)" /&gt;. Can we learn something from it to improve the Java Runtime Environment (JRE) download- and installation-process?&lt;br /&gt;&lt;br /&gt;Java Webstart (JWS) is great for many reasons. Still, deployment and more important the installation of the JRE can be seen as a problem. The JRE size is often given as 16MB, but it &lt;a target="_self" href="../page/dk?entry=firefly_consumerjre_or_how_i"&gt;is actually 7MB (nevermind)&lt;/a&gt;. Still, people always demand an even slimmer Consumer-JRE (C-JRE): Just leave out some libraries in that big rt.jar file! How many people know that this file is only 3MB in size inside of the JRE installer? Slimming the rt.jar doesn't&amp;nbsp; really help because pack200 compression works best when you have a lot of .class files. The same is true if you add files to rt.jar - it won't grow.&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;br /&gt;&lt;/div&gt;Anyway, in my book slimming the libs is not the main problem - the C-JRE install has to be fool-proof on all systems and it will update itself to a new version. More important, there is only one version of this new C-JRE installed at a time, not many in parallel. So (A) very very small download and (B) a foolproof install and solid operation - so why not learn from people who have to do this trick every day: Malware-Developers!&lt;br /&gt;It is incredible how small malware can be and still how much it can do. Why? Because it contains only a minimal core which is necessary to download all the other functionality it needs to make your day a nightmare. It doesn't even need the ballast of an un-installer but makes you to provide one (a.k.a. Virus-scanner). Obviously I won't link to actual working malware in my blog but I can hint you to a "&lt;a href="http://www.metasploit.com/" target="_self"&gt;security tool&lt;/a&gt;" which - from what I've heard - does the same thing.&lt;br /&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;img alt="" src="../resources/d/dk/firefly.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;&lt;/div&gt;Ok, what do we learn: The C-JRE has a size of ~100kb. Nice! This means a bloated Installer for our C-JRE (I believe InstallShield in used) is NO option! The C-JRE primer contains nothing (nothing, I am serious!) but ONE small executable. This executable is Webstart-like as it shows a splash-screen and a progress bar while downloading. Although I simplified things a little, most of the stuff needed is already part of the JRE today. Our take home message: we could realize this C-JRE very quickly, because we don't invent anything new but only simplify and install things in serveral steps and make the C-JRE core more solid. Since it is basically old stuff, we should at least provide a new flashy splash-screen and give the solution a new name, e.g. by attaching FX, to the old one: WebStartFX...or WebFX...or &lt;font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica"&gt;Suo-SHEE...&lt;/font&gt;or -- &lt;font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica"&gt;my favorite: &lt;span style="font-weight: bold; text-decoration: underline;"&gt;FireFly!&lt;/span&gt;&lt;/font&gt;&lt;br /&gt;&lt;br /&gt;So how does it work: After you install the C-JRE core (you remember, our Webstart-like executable) it directly (and perhaps even silently) gets the rest for a minimal JVM (e.g. a java executable, dynamic libs, the pack200 decompressor, etc.) But no jars at this point.&lt;br /&gt;The rt.jar is split up in a couple of larger parts which are big enough to take advantage of pack200. These modules have a version number attached (for easy updates) and are only downloaded &lt;span style="text-decoration: underline; font-weight: bold;"&gt;a single time&lt;/span&gt;, in case the Webstart .jnlp file explicitly specifies it (if it specifies all modules available you have a full JRE). Perhaps it is not even necessary to split up the rt.jar but download it in one go since it is only 3MB when compressed with pack200+gzip.&lt;br /&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;img src="../resources/d/dk/virus.jpg" alt="" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Having an internet connection, our initial FireFly! malware-like executable should be able to update or repair the C-JRE in case it is out-of-date or damaged and overwrite ANY OS settings done by prior installations (e.g. in the Windows registry).&lt;br /&gt;&lt;br /&gt;What should we keep in mind when creating the most minimal C-JRE primer executable? It is interesting not only to look at computer viruses but also at their archetype - the real, i.e. &lt;a href="http://en.wikipedia.org/wiki/Virus" target="_self"&gt;biological type of virus&lt;/a&gt;. Actually it is not entirely correct to use the term "biological", because it implies that a virus "lives", which it doesn't. One definition of live is, that it can multiply and spread completly by itself. A virus can't do that! It only contains the blueprint for its building-blocks but not the cellular machinery to actually build and assemble them. By using the infrastructure of its host (cell), a virus is able to really shrink its size to the bare minimum possible. Luckily for us, we have the digital equivalent of a virus on our computers, so we know exactly how low we can go - in theory. I don't say we have to go there, but now we know the possible limits and shouldn't get too lazy in keeping them when creating the FireFly! C-JRE.&lt;br /&gt;&lt;br /&gt;Summary: Like malware, the &lt;span style="text-decoration: underline; font-weight: bold;"&gt;FireFly!&lt;/span&gt; solution is extremly slim, builds, updates and repairs itself and is solid as a rock!&lt;font size="2" face="Trebuchet MS, Verdana, Arial, Helvetica" /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=fp5GVxyqxas:wP8Y1P7DuSg:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=fp5GVxyqxas:wP8Y1P7DuSg:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=fp5GVxyqxas:wP8Y1P7DuSg:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=fp5GVxyqxas:wP8Y1P7DuSg:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=fp5GVxyqxas:wP8Y1P7DuSg:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=fp5GVxyqxas:wP8Y1P7DuSg:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=fp5GVxyqxas:wP8Y1P7DuSg:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=fp5GVxyqxas:wP8Y1P7DuSg:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=fp5GVxyqxas:wP8Y1P7DuSg:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=fp5GVxyqxas:wP8Y1P7DuSg:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=fp5GVxyqxas:wP8Y1P7DuSg:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=fp5GVxyqxas:wP8Y1P7DuSg:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=fp5GVxyqxas:wP8Y1P7DuSg:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/fp5GVxyqxas" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/firefly_the_new_consumerjre_or</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/good_bye_and_hello_as</guid>
    <title>Good-bye and hello, as always</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/BTrSoguJrhU/good_bye_and_hello_as</link>
        <pubDate>Wed, 2 May 2007 13:21:57 -0400</pubDate>
    <category>Java</category>
            <description>&lt;img alt="" src="http://jroller.com/resources/d/dk/logo.png" /&gt;There is a new release of the &lt;a href="../page/dk?entry=djproject_is_released" target="_self"&gt;DJ project&lt;/a&gt; with tons of new features like a &lt;span style="font-style: italic;"&gt;Jar file shell handling, Process management &lt;/span&gt;and a&lt;span style="font-style: italic;"&gt; &lt;/span&gt;new &lt;span style="font-style: italic;"&gt;Web application packer&lt;/span&gt;! Since part of my job is promoting this project I thought I let you know &lt;img src="http://www.jroller.com/images/smileys/smile.gif" class="smiley" alt=":)" title=":)" /&gt; Check it out: &lt;a href="http://djproject.sourceforge.net/screenshots/index.html" target="_self"&gt;DJ Project&lt;/a&gt;.&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=BTrSoguJrhU:V4pTFKOiWYA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=BTrSoguJrhU:V4pTFKOiWYA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=BTrSoguJrhU:V4pTFKOiWYA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=BTrSoguJrhU:V4pTFKOiWYA:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=BTrSoguJrhU:V4pTFKOiWYA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=BTrSoguJrhU:V4pTFKOiWYA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=BTrSoguJrhU:V4pTFKOiWYA:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=BTrSoguJrhU:V4pTFKOiWYA:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=BTrSoguJrhU:V4pTFKOiWYA:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=BTrSoguJrhU:V4pTFKOiWYA:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=BTrSoguJrhU:V4pTFKOiWYA:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=BTrSoguJrhU:V4pTFKOiWYA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=BTrSoguJrhU:V4pTFKOiWYA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/BTrSoguJrhU" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/good_bye_and_hello_as</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/sudoku_game_for_javaone_2007</guid>
    <title>Sudoku, TimingFramework, Flower-OSD and JavaOne 2007</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/CcdJQjyI8B4/sudoku_game_for_javaone_2007</link>
        <pubDate>Fri, 13 Apr 2007 14:18:13 -0400</pubDate>
    <category>Java</category>
            <description>&lt;div align="center"&gt;&lt;img src="http://jroller.com/resources/d/dk/sudoku.png" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;[UPDATE:] The Flower-OSD (On Screen Diplay) looks like a gimick but there is actually much more to it. The OSD was developed with mobile devices like &lt;a href="http://www.savaje.com/" target="_self"&gt;SavaJe&lt;/a&gt;, &lt;a href="http://www.pepper.com/products/pepper_pad3.html" target="_self"&gt;PDAs and touchscreen notebooks&lt;/a&gt; in mind. Actually it is part of a project that may channel in a new company that deals with all kinds of nice new concepts to conquer such devices offering a rich user experience.&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;a target="_self" href="http://eos.sourceforge.net/sudoku/sudoku.jnlp"&gt;&lt;img vspace="0" hspace="0" border="0" src="http://jroller.com/resources/d/dk/webstart.small2.gif" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I also prepared an Applet version of this &lt;a href="http://eos.sourceforge.net/sudoku/Sudoku.html" target="_self"&gt;Sudoku game&lt;/a&gt; (be warned - I didn't optimize the startup time, so it takes a few seconds). Don't use it - rather use Webstart!&lt;br /&gt;&lt;br /&gt;
&lt;hr style="width: 100%; height: 2px;" /&gt;&lt;br /&gt;This Sudoku game is a little showcase for the new &lt;a href="https://timingframework.dev.java.net/" target="_self"&gt;Timing-Framework&lt;/a&gt; (TF) introduced at the &lt;a href="http://java.sun.com/javaone/sf/index.jsp" target="_self"&gt;JavaOne2007&lt;/a&gt; by &lt;a target="_self" href="http://chetchat.blogspot.com/"&gt;Chet Haase&lt;/a&gt;. With me as a constant and indescribable source of delight, inspiration and complaint throughout &lt;a href="https://timingframework.dev.java.net/" target="_self"&gt;TF&lt;/a&gt; development, he finally got it right &lt;img src="http://www.jroller.com/images/smileys/smile.gif" class="smiley" alt=":)" title=":)" /&gt; Unluckily I'm too busy to go to the &lt;a href="http://java.sun.com/javaone/sf/index.jsp" target="_self"&gt;JavaOne&lt;/a&gt; this year, considering that I am just back from the &lt;a href="http://www.eclipsecon.org/2007/index.php?page=sub/&amp;amp;id=3758" target="_self"&gt;EclipseCon&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;div align="center"&gt;&lt;img src="../resources/d/dk/sudoku_overview.png" /&gt;&lt;img vspace="0" hspace="0" border="0" align="bottom" src="http://jroller.com/resources/d/dk/sudoku_overview.png" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;
The game offers
things like several levels of difficulty, a Sudoku
editor to create your own games, a Sudoku solver (if you are impatient
while playing it), changeable backgrounds, a beginner/expert mode (beginner mode is default and
shows in red/green if
your selection is correct/incorrect), the ability to load/save your
current progress in the game, a nice feature to solve the game with
a team of people over the internet, [etc...]&lt;br /&gt;&lt;br /&gt;The functionality is all there, it is just not realized
GUI-wise &lt;img src="http://www.jroller.com/images/smileys/smile.gif" class="smiley" alt=":)" title=":)" /&gt; I wanted to keep it stylish and clean, so I am a little anxious in adding too much and scare people off by doing that. Still there is some eye-candy, like the animated, semi-transparent Rainbow-Colored-Flower-Power-LSD/OSD (On Screen Display) I specially devised for that game.&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=CcdJQjyI8B4:OMcfvDrueH0:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=CcdJQjyI8B4:OMcfvDrueH0:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=CcdJQjyI8B4:OMcfvDrueH0:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=CcdJQjyI8B4:OMcfvDrueH0:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=CcdJQjyI8B4:OMcfvDrueH0:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=CcdJQjyI8B4:OMcfvDrueH0:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=CcdJQjyI8B4:OMcfvDrueH0:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=CcdJQjyI8B4:OMcfvDrueH0:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=CcdJQjyI8B4:OMcfvDrueH0:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=CcdJQjyI8B4:OMcfvDrueH0:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=CcdJQjyI8B4:OMcfvDrueH0:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=CcdJQjyI8B4:OMcfvDrueH0:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=CcdJQjyI8B4:OMcfvDrueH0:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/CcdJQjyI8B4" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/sudoku_game_for_javaone_2007</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/the_new_nimrod_swing_look</guid>
    <title>The new NimROD Swing Look and Feel...</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/fPYOCaDTrG0/the_new_nimrod_swing_look</link>
        <pubDate>Wed, 28 Mar 2007 08:12:16 -0400</pubDate>
    <category>Java</category>
            <description>&lt;img alt="" src="http://personales.ya.com/nimrod/img/detalleScrollbars.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;I discovered the &lt;a href="http://personales.ya.com/nimrod/" target="_self"&gt;NimROD Look and Feel&lt;/a&gt; nine month ago while searching L&amp;amp;Fs for my own project &lt;a href="http://eos.sourceforge.net/" target="_self"&gt;Eclipse on Swing&lt;/a&gt;. Since I simply stumbled over it and never heard anything about it before I thought it is really time now to promote it a little. NimROD is unique in a way, offers nice transparency and a Theme configuration manager.&lt;br /&gt;&lt;br /&gt;&lt;img alt="" src="http://personales.ya.com/nimrod/img/detalleMenus.jpg" /&gt;&lt;br /&gt;&lt;br /&gt;The author of NimROD, &lt;a href="http://personales.ya.com/nimrod/" target="_self"&gt;Nilo J. González&lt;/a&gt;, send me an email today about the latest progress in his L&amp;amp;F. A screenshot of the latest release when applied on EOS can be found &lt;a href="http://personales.ya.com/nimrod/img/sc15.jpg" target="_self"&gt;here.&lt;/a&gt; I am happy that there is a lot of activity when it comes to L&amp;amp;F desgin (NimROD,&amp;nbsp; &lt;a target="_self" href="https://nimbus.dev.java.net/"&gt;Nimbus&lt;/a&gt; and also Kirills work). Given those LAFs Java on the desktop will get even more popular :)&lt;br /&gt;&lt;br /&gt;Check out the &lt;a href="http://personales.ya.com/nimrod/" target="_self"&gt;NimROD Look and Feel&lt;/a&gt;!&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=fPYOCaDTrG0:90w6J6cgw2w:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=fPYOCaDTrG0:90w6J6cgw2w:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=fPYOCaDTrG0:90w6J6cgw2w:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=fPYOCaDTrG0:90w6J6cgw2w:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=fPYOCaDTrG0:90w6J6cgw2w:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=fPYOCaDTrG0:90w6J6cgw2w:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=fPYOCaDTrG0:90w6J6cgw2w:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=fPYOCaDTrG0:90w6J6cgw2w:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=fPYOCaDTrG0:90w6J6cgw2w:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=fPYOCaDTrG0:90w6J6cgw2w:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=fPYOCaDTrG0:90w6J6cgw2w:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=fPYOCaDTrG0:90w6J6cgw2w:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=fPYOCaDTrG0:90w6J6cgw2w:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/fPYOCaDTrG0" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/the_new_nimrod_swing_look</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/release_of_the_petty_project1</guid>
    <title>Release of the Petty project :)</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/Px6snZCcCnA/release_of_the_petty_project1</link>
        <pubDate>Tue, 27 Mar 2007 08:47:04 -0400</pubDate>
    <category>Java</category>
            <description>&lt;img src="../resources/d/dk/petty_logo2.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;Today I made the first release of the new Petty project. &lt;a target="_self" href="http://petty.sourceforge.net/"&gt;The Petty project&lt;/a&gt;
is basically an idea I cooked up one evening and set it into code. Like
the DJProject it deals with bringing java closer to a specific
platform. It is doing this by supplying installers (at the moment
IzPack, NSIS, platform-dependent solutions for OSX, etc.) for different
systems.&lt;br /&gt;&lt;br /&gt;A second aim of &lt;a target="_self" href="http://petty.sourceforge.net/"&gt;Petty&lt;/a&gt;
is to lower the download size with the installer using all kinds of
compression tricks. Without removing any file we reduced the
eclipse-SDK from 120MB to under 70MB! This a reduction by 50MB and we
throw in an installer. We could also produce an installer which doesn't
include the Eclipse Html help but offers the option to download it
during installation or access it online while you run Eclipse. I guess
by leaving out these files one could go as low as 10-20MB (assumption!)&lt;br /&gt;&lt;br /&gt;
If you have any comments please
contact me at &lt;b&gt;dieter.krachtus [ed] googlemail [dot] com&lt;/b&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=Px6snZCcCnA:kxEjpoSqUdk:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=Px6snZCcCnA:kxEjpoSqUdk:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=Px6snZCcCnA:kxEjpoSqUdk:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=Px6snZCcCnA:kxEjpoSqUdk:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=Px6snZCcCnA:kxEjpoSqUdk:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=Px6snZCcCnA:kxEjpoSqUdk:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=Px6snZCcCnA:kxEjpoSqUdk:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=Px6snZCcCnA:kxEjpoSqUdk:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=Px6snZCcCnA:kxEjpoSqUdk:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=Px6snZCcCnA:kxEjpoSqUdk:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=Px6snZCcCnA:kxEjpoSqUdk:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=Px6snZCcCnA:kxEjpoSqUdk:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=Px6snZCcCnA:kxEjpoSqUdk:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/Px6snZCcCnA" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/release_of_the_petty_project1</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/djproject_is_released</guid>
    <title>DJProject is released</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/6DfuVah4Jeo/djproject_is_released</link>
        <pubDate>Thu, 22 Mar 2007 09:28:59 -0400</pubDate>
    <category>Java</category>
            <description>&lt;img alt="" src="http://jroller.com/resources/d/dk/logo.png" /&gt;There is a new project I am taking part. It was recently started by the bloke (Chris Deckers) I am working together on &lt;a target="_self" href="http://swtswing.sourceforge.net/"&gt;SWTSwing&lt;/a&gt; and &lt;a target="_self" href="http://eos.sourceforge.net/"&gt;Eclipse on Swing&lt;/a&gt;. The project is called &lt;a href="http://djproject.sourceforge.net/main/index.html" target="_self"&gt;DJProject&lt;/a&gt;, is released under the GPL and hosted by Sourceforge. The project deals with the desktop integration of .jar files.&lt;br /&gt;I am currently working on promoting &lt;a href="http://djproject.sourceforge.net/main/index.html" target="_self"&gt;DJProject&lt;/a&gt; a bit and I hope that it one day might become part of the standard JRE/JDK release, since I already got some feedback from Sun's deployment architect &lt;a href="http://weblogs.java.net/blog/enicholas/archive/2007/03/integrate_jar_f.html" target="_self"&gt;Ethan Nicholas&lt;/a&gt;.&lt;br /&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=6DfuVah4Jeo:6na-QO4l-To:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=6DfuVah4Jeo:6na-QO4l-To:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=6DfuVah4Jeo:6na-QO4l-To:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=6DfuVah4Jeo:6na-QO4l-To:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=6DfuVah4Jeo:6na-QO4l-To:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=6DfuVah4Jeo:6na-QO4l-To:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=6DfuVah4Jeo:6na-QO4l-To:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=6DfuVah4Jeo:6na-QO4l-To:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=6DfuVah4Jeo:6na-QO4l-To:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=6DfuVah4Jeo:6na-QO4l-To:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=6DfuVah4Jeo:6na-QO4l-To:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=6DfuVah4Jeo:6na-QO4l-To:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=6DfuVah4Jeo:6na-QO4l-To:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/6DfuVah4Jeo" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/djproject_is_released</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/eclipsecon07_bender</guid>
    <title>EclipseCon07 Bender</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/X7aM5QLlw2M/eclipsecon07_bender</link>
        <pubDate>Wed, 21 Mar 2007 00:00:00 -0400</pubDate>
    <category>Java</category>
            <description>&lt;img alt="" src="http://www.eclipsecon.org/2007/index.php?page=sub/&amp;amp;id=3758" /&gt;&lt;img src="http://www.eclipsecon.org/2007/index.php?page=sub/&amp;amp;id=3758" alt="" /&gt;&lt;img src="http://jroller.com/resources/d/dk/splash.png" alt="" /&gt;&lt;br /&gt;&lt;br /&gt;I am back from the EclipseCon07! It was marvellous to say the least :P&lt;br /&gt;&lt;br /&gt;Some may wonder why I write only after one week that I am back from the EclipseCon? After my &lt;a href="http://www.eclipsecon.org/2007/index.php?page=sub/&amp;amp;id=3758" target="_self"&gt;long talk&lt;/a&gt; about &lt;a href="http://eos.sourceforge.net/" target="_self"&gt;Eclipse on Swing (EOS)&lt;/a&gt;, which was the last day of the conference I got somehow ill (flu, fever, basically the whole package).&lt;br /&gt;&lt;br /&gt;Why? Well after spending some time in San Francisco I went to Santa Clara and started celebrating every night till aprrox. 2-5 a.m. Doing this almost one week was so exhausting that I got ill. Nevertheless - it was worth it &lt;img src="http://www.jroller.com/images/smileys/smile.gif" class="smiley" alt=":)" title=":)" /&gt; In short: Interesting people, evenings at the bar and exhibitions with Sumo-fights!&lt;br /&gt;&lt;br /&gt;
&lt;div style="text-align: center;"&gt;&lt;img src="http://jroller.com/resources/d/dk/sumo.jpg" style="width: 226px; height: 199px;" alt="" /&gt;&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;Still, I wonder how at every conference (from 1353 attendees) I pick out the dozen borderline personalities, who were just released from mental homes or alcohol rehab centres before coming to the EclipseCon?&lt;br /&gt;&lt;br /&gt;So, in case you want to meet people (perhaps at the EclipseCon08) who appreciate a cultivated discussion about Nietzsche and Wittgenstein over a glass of french wine, here a few names: Object Web's very finest &lt;a href="http://www.adrianmos.com/" target="_self"&gt;Adrian Mos&lt;/a&gt;, &lt;a href="http://moreunit.sourceforge.net/" target="_self"&gt;moreUnit&lt;/a&gt; goddess &lt;a href="http://www.eclipsecon.org/2007/index.php?page=presenters/#Vera_Wahler" target="_self"&gt;Vera Wahler&lt;/a&gt;, XFire's &lt;a href="http://xfire.codehaus.org/" target="_self"&gt;Dan Diephouse&lt;/a&gt;, Maven evangelist and minesweeper-consultant &lt;a href="http://www.jroller.com/page/carlossg" target="_self"&gt;Carlos "Sumo" Sanchez&lt;/a&gt;, SimulaLab's &lt;span style="font-style: italic;"&gt;service mix&lt;/span&gt; David Schwartz and &lt;a href="http://www.simulalabs.com/our-team.html#OurTeam-PhilipDodds" target="_self"&gt;Phillip Doods&lt;/a&gt;, IONA's &lt;a target="_self" href="http://blogs.iona.com/ohurley/"&gt;Oisin Hurley&lt;/a&gt; and &lt;a href="http://debbiemoynihan.com/" target="_self"&gt;Debbie Moynihan&lt;/a&gt;, &lt;span style="font-style: italic;"&gt;transactionless knowitall&lt;/span&gt; &lt;a href="http://www.redmonk.com/jgovernor/" target="_self"&gt;James Governor&lt;/a&gt;, ...&lt;br /&gt;&lt;br /&gt;Finally a few EclipseCon07 statistics:&lt;br /&gt;
&lt;ul&gt;
&lt;li&gt;&lt;b&gt;665
&lt;/b&gt; gallons of coffee
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;7632
&lt;/b&gt; drinks tickets
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;347
&lt;/b&gt; miles walked by the 'blue shirts' organising the conference
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;4900
&lt;/b&gt; hours of on-site labour since Sunday
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;783
&lt;/b&gt; max simultaneous on-line users (that's over half the attendees)
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;332
&lt;/b&gt;Mb of presentations (hence why there's a 512Mb USB key ring)
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;368
&lt;/b&gt; sessions accepted
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;58
&lt;/b&gt; recommended tracks
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;$2867.32
&lt;/b&gt; bar tab raised by the award-winners
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;36
&lt;/b&gt; exhibitors
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;447
&lt;/b&gt; individual companies of
&lt;/li&gt;
&lt;li&gt;&lt;b&gt;1353
&lt;/b&gt; attendees
&lt;/li&gt;&lt;/ul&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=X7aM5QLlw2M:RuYuCuU8uH8:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=X7aM5QLlw2M:RuYuCuU8uH8:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=X7aM5QLlw2M:RuYuCuU8uH8:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=X7aM5QLlw2M:RuYuCuU8uH8:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=X7aM5QLlw2M:RuYuCuU8uH8:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=X7aM5QLlw2M:RuYuCuU8uH8:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=X7aM5QLlw2M:RuYuCuU8uH8:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=X7aM5QLlw2M:RuYuCuU8uH8:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=X7aM5QLlw2M:RuYuCuU8uH8:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=X7aM5QLlw2M:RuYuCuU8uH8:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=X7aM5QLlw2M:RuYuCuU8uH8:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=X7aM5QLlw2M:RuYuCuU8uH8:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=X7aM5QLlw2M:RuYuCuU8uH8:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/X7aM5QLlw2M" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/eclipsecon07_bender</feedburner:origLink></item>
    <item>
    <guid isPermaLink="false">http://www.jroller.com/dk/entry/first_entry</guid>
    <title>I am going to the EclipseCon!</title>
    <dc:creator>Dieter Krachtus</dc:creator>
    <link>http://feedproxy.google.com/~r/DieterKrachtusWeblog/~3/uOlhxQPguwU/first_entry</link>
        <pubDate>Thu, 1 Mar 2007 14:38:01 -0500</pubDate>
    <category>Java</category>
            <description>&lt;div style="text-align: justify;"&gt;&lt;a target="_self" href="http://www.eclipsecon.org/2007/index.php?page=sub/&amp;amp;id=3758"&gt;&lt;img src="http://www.eclipsecon.org/2007/image100x100.gif" alt="" /&gt;&lt;/a&gt;This is the first time I am going to the EclipseCon, in Santa Clara, California. I wonder if anybody will come to my &lt;a target="_self" href="http://www.eclipsecon.org/2007/index.php?page=sub/&amp;amp;id=3758"&gt;long talk&lt;/a&gt; about Open Source projects I am working on (&lt;a target="_self" href="http://swtswing.sourceforge.net/"&gt;SWTSwing&lt;/a&gt; and &lt;a target="_self" href="http://eos.sourceforge.net/"&gt;Eclipse on Swing&lt;/a&gt;). Sadly my co-presenter Chris Deckers got problems with his passport and now I have to give the talk all by myself :(&lt;br /&gt;&lt;br /&gt;Still I am very happy at the moment and only the long flight to San Francisco may dampen my spirits :)&lt;br /&gt;&lt;/div&gt;&lt;div class="feedflare"&gt;
&lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=uOlhxQPguwU:Is0e_RRgVXA:V_sGLiPBpWU"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=uOlhxQPguwU:Is0e_RRgVXA:V_sGLiPBpWU" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=uOlhxQPguwU:Is0e_RRgVXA:qj6IDK7rITs"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=qj6IDK7rITs" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=uOlhxQPguwU:Is0e_RRgVXA:l6gmwiTKsz0"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=l6gmwiTKsz0" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=uOlhxQPguwU:Is0e_RRgVXA:F7zBnMyn0Lo"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=uOlhxQPguwU:Is0e_RRgVXA:F7zBnMyn0Lo" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=uOlhxQPguwU:Is0e_RRgVXA:cGdyc7Q-1BI"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=cGdyc7Q-1BI" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=uOlhxQPguwU:Is0e_RRgVXA:XAVGb8Xj5zA"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=XAVGb8Xj5zA" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=uOlhxQPguwU:Is0e_RRgVXA:KwTdNBX3Jqk"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=uOlhxQPguwU:Is0e_RRgVXA:KwTdNBX3Jqk" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=uOlhxQPguwU:Is0e_RRgVXA:ecdYMiMMAMM"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?d=ecdYMiMMAMM" border="0"&gt;&lt;/img&gt;&lt;/a&gt; &lt;a href="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?a=uOlhxQPguwU:Is0e_RRgVXA:gIN9vFwOqvQ"&gt;&lt;img src="http://feeds.feedburner.com/~ff/DieterKrachtusWeblog?i=uOlhxQPguwU:Is0e_RRgVXA:gIN9vFwOqvQ" border="0"&gt;&lt;/img&gt;&lt;/a&gt;
&lt;/div&gt;&lt;img src="http://feeds.feedburner.com/~r/DieterKrachtusWeblog/~4/uOlhxQPguwU" height="1" width="1"/&gt;</description>          <feedburner:origLink>http://www.jroller.com/dk/entry/first_entry</feedburner:origLink></item>
  </channel>
</rss>
