<?xml version="1.0" encoding="iso-8859-1"?>
<!-- generator="Movable Type/3.2" -->
<rss version="0.91">
  <channel>
    <title>de tomKronieken</title>
    <link>http://blogs.cocoondev.org/tomk/</link>
    <description>Tom Klaasen&apos;s external memory about Java, XML, software engineering, and the world in general.</description>
    <language>en-us</language>
    <webMaster>mt@tomk.be</webMaster>
    <pubDate>Fri, 03 Feb 2006 21:16:12 +0100</pubDate>

    <item>
      <title>Moved</title>
      <link>http://blogs.cocoondev.org/tomk/archives/004552.html</link>
      <description><![CDATA[<p>After a few nice years on blogs.cocoondev.org, I'm moving to a new <a href="http://www.tomklaasen.net/blog/category/java">installation</a>. My Java feed moves <a href="http://feeds.feedburner.com/tomklaasen/java">here</a>.</p>]]></description>
    </item>

    <item>
      <title>JavaPolis Audio</title>
      <link>http://blogs.cocoondev.org/tomk/archives/004550.html</link>
      <description><![CDATA[<p><a title="Romain Guy's Weblog: JavaPolis 2005 Audio Talks" href="http://jroller.com/page/gfx?entry=javapolis_2005_audio_talks">Romain reports</a> that the JavaPolis 2005 reports are <a href="http://wiki.javapolis.com/confluence/display/JP05/Home">being put on-line</a>. Nice stuff - although I still miss the "get audio only as an mp3 file" feature. I've been listening to <a href="http://javaposse.com/">JavaPosse</a> during my commute the last few days, and I like it. Too bad this isn't (yet?) possible with the JavaPolis talks.</p>


]]></description>
    </item>

    <item>
      <title>Switch from Eclipse to Netbeans</title>
      <link>http://blogs.cocoondev.org/tomk/archives/004549.html</link>
      <description><![CDATA[<p>Shay <a title="Shay Shmeltzer's Weblog: Don't switch from Eclipse to Netbeans!" href="http://www.orablogs.com/shay/archives/001650.html">demands</a> not to switch from Eclipse to Netbeans. I'm bedazzled. Why would I switch? Just use them side-by-side: Eclipse for the serious work, and Netbeans to play with Matisse!</p>
]]></description>
    </item>

    <item>
      <title>Why I&apos;m not on Java 5 yet</title>
      <link>http://blogs.cocoondev.org/tomk/archives/004541.html</link>
      <description><![CDATA[<p>Norman Richards <a title="Norman Richards" href="http://members.capmac.org/~orb/blog.cgi/tech/java/Why_aren_t_you_on_J.html">asks</a> why people aren't moving to Java 5. One word: <a href="http://www-306.ibm.com/software/websphere/">WebSphere</a>. Most corporate environments (the ones I know and/or work with, at least) have not moved beyond 5.1 yet. I'm not even sure that there already exists a JDK 5.0-based WebSphere version.</p>]]></description>
    </item>

    <item>
      <title>Turn around and run!</title>
      <link>http://blogs.cocoondev.org/tomk/archives/003660.html</link>
      <description><![CDATA[<p><a title="The Fishbowl: Random Java Trivia" href="http://fishbowl.pastiche.org/2006/01/17/random_java_trivia">Charles</a>:</p>
<blockquote>
This sort of language trivia is unlikely to be useful to anyone not just about to go into a certification exam, or entirely the wrong kind of programmer interview.[...]<br />
If you find yourself in a situation where have to know the answer to any of these questions, turn around and run.</blockquote>
<p><a href="http://blogs.cocoondev.org/tomk/archives/000979.html">Right on!</a></p>]]></description>
    </item>

    <item>
      <title>Null check</title>
      <link>http://blogs.cocoondev.org/tomk/archives/003643.html</link>
      <description><![CDATA[<p>Java developers are trained time and again to assert that objects are not <code>null</code>. This can result in weird Pavlov-like reflexes. Witness this snippet from a high-profile OSS project:</p>
<blockquote><code>
if (defaultValue != null) {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;return defaultValue;<br/>
} else {<br/>
&nbsp;&nbsp;&nbsp;&nbsp;return null;<br/>
}
</code>
</blockquote>]]></description>
    </item>

    <item>
      <title>The Quest for the Generic CRUD Web Application</title>
      <link>http://blogs.cocoondev.org/tomk/archives/003635.html</link>
      <description><![CDATA[<p>More than once in my career, I had to develop a "simple and easy-to-extend" CRUD web application. Every time, I thought "Somebody must have done that already!", and every time, Google returned next to zero results.</p>
<p>My luck seems to be changing slowly, though. My latest effort delivered 3 CRUD engines for Java:</p>
<dl>
<dt><a href="https://rife-crud.dev.java.net">RIFE CRUD</a></dt> <dd>Belgian! But tightly coupled to the <a href="https://rife.dev.java.net/">RIFE framework</a>, which still doesn't have got the momentum from the big frameworks.</dd>
<dt><a href="https://trails.dev.java.net/">Trails</a></dt> <dd>This seems to be a very interesting bet to go with. However, it is bound to JDK 5.0 and <a href="http://jakarta.apache.org/tapestry/">Tapestry</a>. While I personally like both choices, JDK 5.0 is still not done in some environments, leaving me very frustrated.</dd>
<dt><a href="http://raibledesigns.com/wiki/Wiki.jsp?page=AppGen">AppGen</a></dt> <dd>CRUD generation framework to use with <a href="http://raibledesigns.com/wiki/Wiki.jsp?page=AppFuse">AppFuse</a>. AppFuse itself is based on all the usual suspects, and gives you the choice between them: Hibernate or iBatis, Spring, Struts, SpringMVC, WebWork, and so on. However, the founder of the project (Matt Raible) has some problems with code generation tools, leading to an incomplete tool.</dd>
</dl>
<p>The best approach for writing such a CRUD application framework seems to be that of the last two. Use a stack of well-known components, glue them together with your own special goo, and you have something that is at least based on something known. But the first one is a bit too cutting-edge for the typical Big Company, and the last one is a bit too incomplete for Feelings of Hopping Up and Down.</p>
<p>At the moment, I'm giving a go to 2 CRUD projects, one personal and one professional. For the personal one, I'm going with Trails (finally, generics! ;) ), and the professional one will probably be an extension of AppGen. If you have other suggestions, I'll be more than happy to hear about them. And I hope that next time, my Google query will lead to even more results. Or maybe I should finally start scratching that itch myself...</p>]]></description>
    </item>

    <item>
      <title>Javapolis</title>
      <link>http://blogs.cocoondev.org/tomk/archives/003623.html</link>
      <description><![CDATA[<p>On <a title="de tomKronieken: Comment on One of Javapolis' most secretly kept secret..." href="http://blogs.cocoondev.org/MT/mt-comments.cgi?entry_id=3621">special request</a>: my very own personal wrap-up of Javapolis 2005!</p>
<dl><dt>Monday</dt> <dd>Browsing the Interweb to see what's happening over in Antwerp. Amazed to not find much. Concluded that either half of Antwerp had a power blackout, or that Java geeks are not geeky enough to do that real-time blog thingy. (It turned out that there were problems with the local WiFi hotspot). Went to bed with a splitting head-ache.</dd>
<dt>Tuesday</dt> <dd>Woke up with a splitting head-ache. Spent the day in a room with about 20 other men, including <a href="http://atog.be/articles/2005/12/15/javapolis-2">Koen</a>. Called for <a href="http://javapolis.com/confluence/download/attachments/11801/JoWyns.gif">medical assistance</a> (which was delivered as Nurofen tablets). Noticed weird smells near the end of the day, including own brain melting. Time has never advanced so fast. Probably has something to do with fun.</dd>
<dt>Wednesday</dt><dd>Finally! The first real Javapolis day! Still headache though. Stephan started a keynote, followed by some important people at Sun who flung t-shirts into the masses.Then a Bea guy started a talk too. I received a phone call: "could you please come to the RAD race jury". Thanks to some <a href="http://blogs.cocoondev.org/stevenn/archives/000603.html">manufactured serendipity</a>, I was sitting in the front row. On the opposite site of the exit. Koen and I had to both stand up, dash between one speaker ("Sorry!") and 2000 attendees, and make our way through people sitting on stairs. Luckily, Stephan was so kind to point out that we were going to the jury. 2000 people were a bit less annoyed.<br/>
Neal Gafter and Joshua Bloch gave another sequence of "Java puzzles". Very amusing. Too bad that they wanted to go over their time slot so badly. <br />
I stayed put for "EJB3", not expecting to find out much news since last year. Halfway the presentation, I got another telephone call: "are you aware that your son is still at school? Wasn't he ought to be picked up by now?" Light feeling of panic. Fleed conference room once again. 20 minutes of phone calls later ("Damn! Why didn't I charge my batteries last night!"), everything was arranged for.<br />
During lunch, I had to go to the men's room pretty badly. Went there. Saw the line. Huge. Turned around.<br />
Started the afternoon with "Service Data Objects". Was a bit confused: was this guy trying to give an introductory overview, or a technical presentation on how to configure Service Data Objects? There seemed to be some nice ideas somewhere, but I lacked a bit of context (I don't think I encountered the term before entering the conference room).<br />
Entered "Pragmatic SOA". This looked like a very nice presentation. Nothing too new (technically), put pinpointing pretty precisely the clash one can experience when discussing stuff like this with business people. About halfway, my blatter reminded me of the stupid decision I made earlier. Another dash to the exit.<br />
After the relief, I decided to stumble into another room. I picked "continuous integration, continuous agitation", which rehashed a bit all principles of continuous integration, and gave a view on some tools that added value on that by providing graphs of the results.<br />
Then Johan Lybaert shared his experience with agile development in a team of 60+ people. This was one of the nicest surprises here: well told, interesting experience. It feels that this is what a "conference" should be about: exchanging experience and learning from each other. Or what a "User Group" <a href="http://bejug.org/confluenceBeJUG/display/BeJUG/Open+Source+Libraries+Seminar">is about</a>, for that matter.<br />
Last session of the day was "Shale: the next struts?" I sighed a sigh of relief when the speaker said "shale has nothing to do with struts - it's just a brand name". And then he continued to describe all source and configuration files one has to write to enable an application. The same discomforting feeling that accompanies struts came upon me. Man, brands can be strong.<br />
A very nice <a href="http://e-corps.wikispaces.com/">evening</a> followed. I was happy I came by bike.</dd>
<dt>Thursday</dt><dd>Headache a bit less splitting. Keynote about the RAD race. Got into the <a href="http://wiki.javapolis.com/confluence/download/attachments/16917/JP05%20-%20Tom%20and%20Koen.jpg">spotlights</a>! And man, those nanos were close.<br />
Then, over to the more serious stuff. Rod Johnson declaring that "Spring 2.0 is going to be even easier", and bragging about how they got Adrian Colyer to join Interface21. It looks like it will be interesting, indeed.<br />
Romain Guy presented his blasting-away Swing demos. The only remark one can make here is that he should give the crowd some time to go "woowwwww".<br />
Then again a shared session: JGoodies, which compared GUIs with whiteboards, and "Bitter JavaServer Faces", which seemed a warning about some design flaws is JSF, if anything.<br />
A couple of sessions had already mentioned GlassFish, the reference implementation for J2EE 5. I hope the project is more interesting than the demonstration (Is anybody interested in seeing "ant build" report "Build succeeded"? I mean, on someone else's screen?)<br />
Maven is a project I have a love-hate relationship with. I love to try it out, but I hate the way it forces me to do things its way. But I was getting pretty excited to give it another go, until the unfamous "If you remember only one thing..." slide appeared: "Maven 2.0 is ready. But expect bugs in it." Eh? I think those guys need to rethink their communication, or the timing of their announcements. For years we told people "OS beta is as good as commercial 1.0", and now we're saying "OS 2.0 is shaky at best"?<br />
Then I entered the "Telnet" session (pun intended), only to receive a text message "feeling terribly sick, kids are doing awful things, please come home" 5 minutes later. So I did as any new man would do. King Kong will have to take a rain check.</dd></dl>
<p>During and between all that technical stuff, I had the chance to catch up with many people I like to catch up with. Most of them I see only once a year, but it's nice to see them nevertheless. Also saw people that I wanted to catch up with, but didn't get a chance to approach. Javapolis is really starting to get a crowd control problem. But drinks and food were better than last year, and a venue in the center of Flanders is a splendid location. Especially if you live there.</p>
]]></description>
    </item>

    <item>
      <title>One of Javapolis&apos; most secretly kept secret...</title>
      <link>http://blogs.cocoondev.org/tomk/archives/003621.html</link>
      <description><![CDATA[<p>... has just leaked <a title="JavaPolis 2005 Wrapup - By Julien Delfosse" href="http://www.javalobby.org/articles/javapolis2005/">at JavaLobby</a>! Not convinced? Recognize <a href="http://www.javalobby.org/articles/javapolis2005/jp3.gif">this guy</a>?</p>
<p><i>Probably only the Flemish (and some Dutch?) people will recognize him - but nevertheless...</i></p>

]]></description>
    </item>

    <item>
      <title>JavaPolis RAD Race</title>
      <link>http://blogs.cocoondev.org/tomk/archives/003593.html</link>
      <description><![CDATA[<p>The world moves in mysterious ways. A few months ago, some Javapolis member asked me "we're planning on organising a RAD race during Javapolis, would you participate in such an event?" I said "hell no, I've grown too old for that kind of games." But the RAD race was organized anyway. And my <a href="http://atog.be">dear collegue</a> can be very convincing. So now I'm <a title="JavaPolis - RAD Race" href="http://javapolis.com/confluence/display/JP05/RAD Race">trapped</a>. Or how contact with youth keeps you young...</p>
<p>If you want to challenge us: there are still (again?) 2 slots open. Non-participants are not allowed to mock.</p>]]></description>
    </item>

    <item>
      <title>Pirates and terrorists</title>
      <link>http://blogs.cocoondev.org/tomk/archives/003582.html</link>
      <description><![CDATA[<p><a title="www.gadgetguy.de - The GadgetGuy � Blog Archive � Sony: can we treat pirates like terrorists, please?" href="http://www.gadgetguy.de/?p=1248">Frank</a>:</p>
<blockquote>There's just no point in buying the crap any longer, you're only encouraging them.</blockquote>
<p>Damn right. I used to buy a cd per week. Now I'm down to one per year - and it's usually <a href="http://www.dewereldismooi.nl/?url=PHP/frontpage/plop">not for myself</a>.</p>]]></description>
    </item>

    <item>
      <title>JUnit</title>
      <link>http://blogs.cocoondev.org/tomk/archives/003460.html</link>
      <description><![CDATA[<p><a title="kontrawize: JUnit is not a unit test framework!" href="http://kontrawize.blogs.com/kontrawize/2005/09/junit_is_not_a_.html">LOL</a>. This argument falls in the same category as "a hammer isn't a tool, because I've seen people using it as a weapon". Or how "definition purism" is pretty almost always useless. And always boring.</p>

]]></description>
    </item>

    <item>
      <title>Unit testing an array of input data</title>
      <link>http://blogs.cocoondev.org/tomk/archives/003444.html</link>
      <description><![CDATA[<p>This one is interesting, I think. Suppose I have an array (or Collection) of test input data. I want to test the same Java method for each of those entries. But, when one fails, I want to continue testing, not halt the whole process. How do I go on with this?</p>
<ul><li>If I create a <code>testMyMethodX()</code> for every case (with X a number), I do a lot of useless typing.</li>
<li>If, on the other hand, I loop through the array "by hand", the first test that fails will stop all other tests to run.</li>
</ul>
<p>So, has anybody else encountered this? Did you find a solution? Do you want to share it?</p>]]></description>
    </item>

    <item>
      <title>BeJUG OSS libraries seminar</title>
      <link>http://blogs.cocoondev.org/tomk/archives/003427.html</link>
      <description><![CDATA[<p>As mentioned before, I gave a presentation on <a href="http://jakarta.apache.org/commons">Jakarta Commons</a> yesterday for the <a href="http://www.bejug.org">Belgian Java User Group, aka BeJUG</a>. It was a nice experience. <a title="BeJUG - Open Source Libraries Seminar" href="http://bejug.org/confluenceBeJUG/display/BeJUG/Open Source Libraries Seminar">Here's</a> <a href="http://bejug.org/confluenceBeJUG/download/attachments/3845/TomKlaasen.jpg">a picture</a> of me giving my best impression of "will the lot of you sit down so that I can get this show started"-look. Not my best angle, I might add ;-)</p>
<p>I heard that the .ppt and even an audio feed will be made available later. I'll keep you posted.</p>
<p><strong>Update:</strong> The presentation is available <a href="http://www.bejug.org/confluenceBeJUG/download/attachments/3845/ImprovingJDKapi-TomKlaasen.pdf?version=1">here</a>. Audio feed still to come.</p>
<p><strong>Update:</strong> Audio feed available <a href="http://www.bejug.org/bejug/2005/oslibs/Jakarta/index.html">here</a>. (You'll probably have to login. Free registration.)</p>]]></description>
    </item>

    <item>
      <title>Weird exceptions</title>
      <link>http://blogs.cocoondev.org/tomk/archives/003418.html</link>
      <description><![CDATA[<p>I once encountered <a title="Array of Hope - The Daily WTF" href="http://thedailywtf.com/forums/43223/ShowPost.aspx">this one</a>, too. Talking to the guy who wrote it, he said "it was known to be faster, and even recommended by Sun itself". End of conversation, of course. I tend to agree with the statement I read some time ago: "'best practices' considered harmful" (or something similar) (extra brownie points for who can get me the right link).</p>
<p>PS: The guy's contract was not prolonged.</p>
<p><strong>Update:</strong> Joseph gets the brownies: <a href="http://www.theserverside.com/news/thread.tss?thread_id=36048">this</a> is the article I was referring to. Thank you, Joseph.</p>]]></description>
    </item>

  </channel>
</rss>