<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/rss2full.xsl" type="text/xsl" media="screen"?><?xml-stylesheet href="http://feeds.feedburner.com/~d/styles/itemcontent.css" type="text/css" media="screen"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>blog.leenarts.net</title>
	
	<link>http://blog.leenarts.net</link>
	<description>Weblog by Jeroen Leenarts. Dutch software developer. Java, Mac, OSX and other tidbits...</description>
	<pubDate>Wed, 12 Nov 2008 15:32:28 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<geo:lat>52.15</geo:lat><geo:long>6.1</geo:long><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" href="http://feeds.feedburner.com/blogleenartsnet" type="application/rss+xml" /><item>
		<title>J-Fall Middleware for the developer JAZZ vision and archetecture</title>
		<link>http://feeds.feedburner.com/~r/blogleenartsnet/~3/450801179/</link>
		<comments>http://blog.leenarts.net/2008/11/12/j-fall-middleware-for-the-developer-jazz-vision-and-archetecture/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 14:38:18 +0000</pubDate>
		<dc:creator>Jeroen</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[NL-Jug]]></category>

		<category><![CDATA[Work]]></category>

		<category><![CDATA[ibm]]></category>

		<category><![CDATA[jazz]]></category>

		<guid isPermaLink="false">http://blog.leenarts.net/2008/11/12/j-fall-middleware-for-the-developer-jazz-vision-and-archetecture/</guid>
		<description><![CDATA[Only two more sessions to go. Ton van Velzen hosts a session on JAZZ. IBM&#8217;s new middelware platform.
At the start of the session he was sitting there looking like one of my preschool teachers. 
Introduction on JAZZ. Why, how and overview.
Web2.0, Internet as a platform. Software as a sevice. What does web 2.0 mean for [...]]]></description>
			<content:encoded><![CDATA[<p>Only two more sessions to go. Ton van Velzen hosts a session on JAZZ. IBM&#8217;s new middelware platform.</p>
<p>At the start of the session he was sitting there looking like one of my preschool teachers. <img src='http://blog.leenarts.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
Introduction on JAZZ. Why, how and overview.</p>
<p>Web2.0, Internet as a platform. Software as a sevice. What does web 2.0 mean for the colaboration when building software?</p>
<p>Different business roles require different views on projects. CIO needs high level status, developer needs something that doesn&#8217;t get on his way.</p>
<p>Software development needs to improve. Customers are not satisfied with quality, speed and turnaround. Lots of business speak. Knowledge is divided by location, organizations and infrasctructure.</p>
<p>Agile has gone mainstream apperently. Based on data from 2006. 65% says they are using agile methodologies. I wonder why the current adoption rate is. I&#8217;ll post some links on this later.</p>
<p>So apparently JAZZ is web2.0 and agile.</p>
<p>JAZZ is a middleware platform for software development. JAZZ is developed by the team behind the Eclipse project. JAZZ is a system based on the problems encourered in the day to day operation of the Eclipse project.</p>
<p>JAZZ services all aspects off the server side of software dwveloment. Version control, issue tracking, dailly build, planning, design, integration, feedback, learning, etc&#8230; All continuous. Agile requires process, discipline and planning.</p>
<p>Eclipse way of software development is somewhere between xp/scrum and RUP.</p>
<p>What do Agile teams need? See picture.</p>
<p>Software development server components as a restfull service. Underlying architecture of JAZZ is restfull.</p>
<p>I need to look into restfull web applications. <img src='http://blog.leenarts.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /><br />
DB2 pure XML is the backing store of JAZZ. Can be queried by JQuery.</p>
<p>Need to look into javascript libbs as well. </p>
<p>Insert article of Royd Fielding on REST. </p>
<p>JAZZ was a research project within IBM. JAZZ management speak. Took another picture of this slide, the one with the jazz band.</p>
<p>OMG, he said visual server team system. <img src='http://blog.leenarts.net/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /><br />
Was really an overview presentation. Nothing technical. Check jazz.net. Lookup IBM Rational Team Concert. JAZZ is not open source.</p>
<p><a href="http://blog.leenarts.net/wp-content/uploads/2008/11/p-640-480-bc4a82ee-4c53-4fd7-b0cf-7fb8e0bf9fa9.jpeg"><img src="http://blog.leenarts.net/wp-content/uploads/2008/11/p-640-480-bc4a82ee-4c53-4fd7-b0cf-7fb8e0bf9fa9.jpeg" alt="" width="225" height="300" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.leenarts.net/wp-content/uploads/2008/11/p-640-480-c4eb4922-6be9-4f0a-a473-d5719791fb0e.jpeg"><img src="http://blog.leenarts.net/wp-content/uploads/2008/11/p-640-480-c4eb4922-6be9-4f0a-a473-d5719791fb0e.jpeg" alt="" width="225" height="300" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.leenarts.net/wp-content/uploads/2008/11/p-640-480-9da4f486-4ce1-409f-93a5-1368a7367aff.jpeg"><img src="http://blog.leenarts.net/wp-content/uploads/2008/11/p-640-480-9da4f486-4ce1-409f-93a5-1368a7367aff.jpeg" alt="" width="225" height="300" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.leenarts.net/wp-content/uploads/2008/11/l-640-480-0da53a18-8038-42ed-8d2b-76c218503f78.jpeg"><img src="http://blog.leenarts.net/wp-content/uploads/2008/11/l-640-480-0da53a18-8038-42ed-8d2b-76c218503f78.jpeg" alt="" width="300" height="225" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.leenarts.net/wp-content/uploads/2008/11/l-640-480-4a52b8b7-ad89-47ae-b031-57945752912a.jpeg"><img src="http://blog.leenarts.net/wp-content/uploads/2008/11/l-640-480-4a52b8b7-ad89-47ae-b031-57945752912a.jpeg" alt="" width="300" height="225" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.leenarts.net/wp-content/uploads/2008/11/p-640-480-3c04acd3-2df0-4c50-b94b-7d9fa87a0c3f.jpeg"><img src="http://blog.leenarts.net/wp-content/uploads/2008/11/p-640-480-3c04acd3-2df0-4c50-b94b-7d9fa87a0c3f.jpeg" alt="" width="225" height="300" class="alignnone size-full wp-image-364" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leenarts.net/2008/11/12/j-fall-middleware-for-the-developer-jazz-vision-and-archetecture/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=blogleenartsnet&amp;itemurl=http%3A%2F%2Fblog.leenarts.net%2F2008%2F11%2F12%2Fj-fall-middleware-for-the-developer-jazz-vision-and-archetecture%2F</feedburner:awareness><feedburner:origLink>http://blog.leenarts.net/2008/11/12/j-fall-middleware-for-the-developer-jazz-vision-and-archetecture/</feedburner:origLink></item>
		<item>
		<title>J-Fall Closures</title>
		<link>http://feeds.feedburner.com/~r/blogleenartsnet/~3/450707763/</link>
		<comments>http://blog.leenarts.net/2008/11/12/j-fall-closures/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 13:19:25 +0000</pubDate>
		<dc:creator>Jeroen</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[NL-Jug]]></category>

		<category><![CDATA[Work]]></category>

		<category><![CDATA[closures]]></category>

		<guid isPermaLink="false">http://blog.leenarts.net/2008/11/12/j-fall-closures/</guid>
		<description><![CDATA[Huub van Thienen has a session about closures. Closures is a new upcomming expension scheduled for inclusion in Java 7. Three proposals are currently in development.
Closures are from functional languages. I&#8217;ll add some more links on this subject later.
Interesting subject, nice technical depth.  
]]></description>
			<content:encoded><![CDATA[<p>Huub van Thienen has a session about closures. Closures is a new upcomming expension scheduled for inclusion in Java 7. Three proposals are currently in development.</p>
<p>Closures are from functional languages. I&#8217;ll add some more links on this subject later.</p>
<p>Interesting subject, nice technical depth.  </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leenarts.net/2008/11/12/j-fall-closures/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=blogleenartsnet&amp;itemurl=http%3A%2F%2Fblog.leenarts.net%2F2008%2F11%2F12%2Fj-fall-closures%2F</feedburner:awareness><feedburner:origLink>http://blog.leenarts.net/2008/11/12/j-fall-closures/</feedburner:origLink></item>
		<item>
		<title>J-Fall half day Keynote &amp; Demos</title>
		<link>http://feeds.feedburner.com/~r/blogleenartsnet/~3/450690522/</link>
		<comments>http://blog.leenarts.net/2008/11/12/j-fall-half-day-keynote-demos/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 12:39:14 +0000</pubDate>
		<dc:creator>Jeroen</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[NL-Jug]]></category>

		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.leenarts.net/2008/11/12/j-fall-half-day-keynote-demos/</guid>
		<description><![CDATA[Reginald Hutchinson kicks off with an introduction of Sun&#8217;s plans for the web2.0 and web 3.0 (cloud computing).
Smooth talker, says what have you a lot. As expected java fx is the next best thing. I&#8217;m curious when it will become final. Rich Internet applications are fun and easy to write with java fx. Riiiight&#8230;.
Interesting note, [...]]]></description>
			<content:encoded><![CDATA[<p>Reginald Hutchinson kicks off with an introduction of Sun&#8217;s plans for the web2.0 and web 3.0 (cloud computing).</p>
<p>Smooth talker, says what have you a lot. As expected java fx is the next best thing. I&#8217;m curious when it will become final. Rich Internet applications are fun and easy to write with java fx. Riiiight&#8230;.</p>
<p>Interesting note, December 2nd sun will  release java 6 update 10, an important update for swing based desktop java. Sun will rebebrand the javafx stack to platform specific brands (mobile, desktop, tv/topset box) some day next februari. </p>
<p>Chum-Munn Lee takes over with a demo of the latest Netbeans beta with a as of yet undisclosef java fx beta. Creates new fx project.</p>
<p>He creates a &#8220;under the sea&#8221; demo. Declarative display of an image. Next he makes the image dragable by implementing a few mouse listeners. Looks nice. Now he adds another picture. Adds a fade in/out with keyframes Looks simple enough, but it takes very little code. <img src='http://blog.leenarts.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> The end result is very rewarding considering the little time he used.</p>
<p>Next he deploys it on a browser. The end result is a java applet started from a jar through a standard javascript library.</p>
<p>Reginald takes over again and provides a few details about the upcomming java fx release. Something is up in 3 to 4 weeks.</p>
<p>Standard details about the java 6 update 10 release.</p>
<p>Simon Ritter takes over and kicks off another demo on an applied manner. He watched some guy (Johny Lee???) YouTube videos and wants to do the same with Java technology.</p>
<p>Wooden board with a Wii-mote and a projector??? Ah, he projects a playing card on the board. If he moves the wooden board, the image on the projector moves to stay on the board. The Wii-mote detects infrared signals sent by the board and based on the Wii-mote input the image is moved.     </p>
<p><a href="http://blog.leenarts.net/wp-content/uploads/2008/11/l-640-480-6e09807c-6018-4622-b74a-c6cc8e599224.jpeg"><img src="http://blog.leenarts.net/wp-content/uploads/2008/11/l-640-480-6e09807c-6018-4622-b74a-c6cc8e599224.jpeg" alt="" width="300" height="225" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.leenarts.net/wp-content/uploads/2008/11/l-640-480-753f7b5a-87af-46b4-b812-e44beaec9636.jpeg"><img src="http://blog.leenarts.net/wp-content/uploads/2008/11/l-640-480-753f7b5a-87af-46b4-b812-e44beaec9636.jpeg" alt="" width="300" height="225" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.leenarts.net/wp-content/uploads/2008/11/p-640-480-d10d68ca-f408-420a-afd0-18664be2f8ec.jpeg"><img src="http://blog.leenarts.net/wp-content/uploads/2008/11/p-640-480-d10d68ca-f408-420a-afd0-18664be2f8ec.jpeg" alt="" width="225" height="300" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.leenarts.net/wp-content/uploads/2008/11/p-640-480-75926e3b-4a5e-48d8-8a05-3ab63159b6dc.jpeg"><img src="http://blog.leenarts.net/wp-content/uploads/2008/11/p-640-480-75926e3b-4a5e-48d8-8a05-3ab63159b6dc.jpeg" alt="" width="225" height="300" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.leenarts.net/wp-content/uploads/2008/11/l-640-480-33f7f0a8-bf4c-4138-8998-0e4e62066c4d.jpeg"><img src="http://blog.leenarts.net/wp-content/uploads/2008/11/l-640-480-33f7f0a8-bf4c-4138-8998-0e4e62066c4d.jpeg" alt="" width="300" height="225" class="alignnone size-full wp-image-364" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leenarts.net/2008/11/12/j-fall-half-day-keynote-demos/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=blogleenartsnet&amp;itemurl=http%3A%2F%2Fblog.leenarts.net%2F2008%2F11%2F12%2Fj-fall-half-day-keynote-demos%2F</feedburner:awareness><feedburner:origLink>http://blog.leenarts.net/2008/11/12/j-fall-half-day-keynote-demos/</feedburner:origLink></item>
		<item>
		<title>J-Fall Solving Constraint Satisfaction Problems with Java</title>
		<link>http://feeds.feedburner.com/~r/blogleenartsnet/~3/450578723/</link>
		<comments>http://blog.leenarts.net/2008/11/12/j-fall-solving-constraint-satisfaction-problems-with-java/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 10:25:43 +0000</pubDate>
		<dc:creator>Jeroen</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[NL-Jug]]></category>

		<category><![CDATA[constrain]]></category>

		<category><![CDATA[problem]]></category>

		<guid isPermaLink="false">http://blog.leenarts.net/2008/11/12/j-fall-solving-constraint-satisfaction-problems-with-java/</guid>
		<description><![CDATA[Nico van Hanxleden Houwert gives a talk about solving constrain satisfaction problems. Problems like 10 ships need to dock at 5 docking slots. How to plan this considering parameters like ship and dock size. Real life examples can contain millions of examples. Which solution is the best under the set constraint.
It is a problem domain [...]]]></description>
			<content:encoded><![CDATA[<p>Nico van Hanxleden Houwert gives a talk about solving constrain satisfaction problems. Problems like 10 ships need to dock at 5 docking slots. How to plan this considering parameters like ship and dock size. Real life examples can contain millions of examples. Which solution is the best under the set constraint.</p>
<p>It is a problem domain with a logarithmic or quadratic increase in size when parameters increase. Doubling the number of ships and docks can make easily make problems insolvable in a reasonable time constraint.</p>
<p>Lots of talk about a problem he wants to solve. Bit of basic set theory, not much java code. </p>
<p>Java offers frameworks to facilitate solving such problems. ILOG and Cream are examples of java frameworks suitable for constraint satisfaction discovery.</p>
<p>Fun subject. But get a book, read an article: you&#8217;ll know more in less time.    </p>
<p><a href="http://blog.leenarts.net/wp-content/uploads/2008/11/l-640-480-92774504-468e-4071-8f60-35adfb758458.jpeg"><img src="http://blog.leenarts.net/wp-content/uploads/2008/11/l-640-480-92774504-468e-4071-8f60-35adfb758458.jpeg" alt="" width="300" height="225" class="alignnone size-full wp-image-364" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leenarts.net/2008/11/12/j-fall-solving-constraint-satisfaction-problems-with-java/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=blogleenartsnet&amp;itemurl=http%3A%2F%2Fblog.leenarts.net%2F2008%2F11%2F12%2Fj-fall-solving-constraint-satisfaction-problems-with-java%2F</feedburner:awareness><feedburner:origLink>http://blog.leenarts.net/2008/11/12/j-fall-solving-constraint-satisfaction-problems-with-java/</feedburner:origLink></item>
		<item>
		<title>J-Fall Pragmatic Java</title>
		<link>http://feeds.feedburner.com/~r/blogleenartsnet/~3/450543680/</link>
		<comments>http://blog.leenarts.net/2008/11/12/j-fall-pragmatic-java/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 09:33:03 +0000</pubDate>
		<dc:creator>Jeroen</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Python]]></category>

		<category><![CDATA[Work]]></category>

		<category><![CDATA[rails]]></category>

		<guid isPermaLink="false">http://blog.leenarts.net/2008/11/12/j-fall-pragmatic-java/</guid>
		<description><![CDATA[Allister Smith gives a talk about pragmatic java development. Don&#8217;t overuse patterns and other design abstraction.
Python and rails is gaining popularity because it is simpler.
Allister shows an example with a sort of back to basics approach with inline SQL and all in java. While interesting, it still is not as simple as python for example.
Python [...]]]></description>
			<content:encoded><![CDATA[<p>Allister Smith gives a talk about pragmatic java development. Don&#8217;t overuse patterns and other design abstraction.</p>
<p>Python and rails is gaining popularity because it is simpler.</p>
<p>Allister shows an example with a sort of back to basics approach with inline SQL and all in java. While interesting, it still is not as simple as python for example.</p>
<p>Python contains the framework to do the work by default.</p>
<p>He makes a case that the framework code is something you build once. And because YOU build it, you are in control. But if you need too much code, do go for an existing framework.</p>
<p>Allister&#8217;s case goes against all the standard practices in java. I&#8217;m not convinced, but it is an interesting subject. Are java developers making they&#8217;re solutions more complicated then needed. </p>
<p><a href="http://blog.leenarts.net/wp-content/uploads/2008/11/l-640-480-5a94435a-075b-4f67-bf67-fa4621121d00.jpeg"><img src="http://blog.leenarts.net/wp-content/uploads/2008/11/l-640-480-5a94435a-075b-4f67-bf67-fa4621121d00.jpeg" alt="" width="300" height="225" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.leenarts.net/wp-content/uploads/2008/11/l-640-480-342306fb-3434-4f94-aa57-54b4ac13aac2.jpeg"><img src="http://blog.leenarts.net/wp-content/uploads/2008/11/l-640-480-342306fb-3434-4f94-aa57-54b4ac13aac2.jpeg" alt="" width="300" height="225" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.leenarts.net/wp-content/uploads/2008/11/l-640-480-4ba8bdc6-a7fb-42cc-9ea6-29eb5db528f3.jpeg"><img src="http://blog.leenarts.net/wp-content/uploads/2008/11/l-640-480-4ba8bdc6-a7fb-42cc-9ea6-29eb5db528f3.jpeg" alt="" width="300" height="225" class="alignnone size-full wp-image-364" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leenarts.net/2008/11/12/j-fall-pragmatic-java/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=blogleenartsnet&amp;itemurl=http%3A%2F%2Fblog.leenarts.net%2F2008%2F11%2F12%2Fj-fall-pragmatic-java%2F</feedburner:awareness><feedburner:origLink>http://blog.leenarts.net/2008/11/12/j-fall-pragmatic-java/</feedburner:origLink></item>
		<item>
		<title>J-Fall, ready or not here I come</title>
		<link>http://feeds.feedburner.com/~r/blogleenartsnet/~3/450142726/</link>
		<comments>http://blog.leenarts.net/2008/11/12/j-fall-ready-or-not-here-i-come/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 00:57:09 +0000</pubDate>
		<dc:creator>Jeroen</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[NL-Jug]]></category>

		<category><![CDATA[Work]]></category>

		<category><![CDATA[j-fall 2008]]></category>

		<guid isPermaLink="false">http://blog.leenarts.net/2008/11/12/j-fall-ready-or-not-here-i-come/</guid>
		<description><![CDATA[Tomorrow I&#8217;m at the Dutch j-fall 2008 conference. I&#8217;ll try and post some live impressions from the event on my blog. Let&#8217;s hope my cell phone has 3G reception at the conference center.
Expect to see a lot of short posts with some pictures.
For those attending, see you there. 
]]></description>
			<content:encoded><![CDATA[<p>Tomorrow I&#8217;m at the Dutch j-fall 2008 conference. I&#8217;ll try and post some live impressions from the event on my blog. Let&#8217;s hope my cell phone has 3G reception at the conference center.</p>
<p>Expect to see a lot of short posts with some pictures.</p>
<p>For those attending, see you there. </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leenarts.net/2008/11/12/j-fall-ready-or-not-here-i-come/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=blogleenartsnet&amp;itemurl=http%3A%2F%2Fblog.leenarts.net%2F2008%2F11%2F12%2Fj-fall-ready-or-not-here-i-come%2F</feedburner:awareness><feedburner:origLink>http://blog.leenarts.net/2008/11/12/j-fall-ready-or-not-here-i-come/</feedburner:origLink></item>
		<item>
		<title>Guess why I bought this</title>
		<link>http://feeds.feedburner.com/~r/blogleenartsnet/~3/450136320/</link>
		<comments>http://blog.leenarts.net/2008/11/12/guess-why-i-bought-this/#comments</comments>
		<pubDate>Wed, 12 Nov 2008 00:48:40 +0000</pubDate>
		<dc:creator>Jeroen</dc:creator>
		
		<category><![CDATA[Naked Conversations]]></category>

		<category><![CDATA[coin]]></category>

		<category><![CDATA[open source]]></category>

		<guid isPermaLink="false">http://blog.leenarts.net/2008/11/12/guess-why-i-bought-this/</guid>
		<description><![CDATA[


]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.leenarts.net/wp-content/uploads/2008/11/p-640-480-c4a6bd15-2448-4219-9384-d3bb24f46918.jpeg"><img src="http://blog.leenarts.net/wp-content/uploads/2008/11/p-640-480-c4a6bd15-2448-4219-9384-d3bb24f46918.jpeg" alt="Coin in hand" width="225" height="300" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.leenarts.net/wp-content/uploads/2008/11/p-640-480-7ffddb84-562a-4224-8f49-94a64ded13d3.jpeg"><img src="http://blog.leenarts.net/wp-content/uploads/2008/11/p-640-480-7ffddb84-562a-4224-8f49-94a64ded13d3.jpeg" alt="" width="225" height="300" class="alignnone size-full wp-image-364" /></a></p>
<p><a href="http://blog.leenarts.net/wp-content/uploads/2008/11/p-640-480-3112ee92-f794-4561-a832-4f4fa3cfd891.jpeg"><img src="http://blog.leenarts.net/wp-content/uploads/2008/11/p-640-480-3112ee92-f794-4561-a832-4f4fa3cfd891.jpeg" alt="" width="225" height="300" class="alignnone size-full wp-image-364" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leenarts.net/2008/11/12/guess-why-i-bought-this/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=blogleenartsnet&amp;itemurl=http%3A%2F%2Fblog.leenarts.net%2F2008%2F11%2F12%2Fguess-why-i-bought-this%2F</feedburner:awareness><feedburner:origLink>http://blog.leenarts.net/2008/11/12/guess-why-i-bought-this/</feedburner:origLink></item>
		<item>
		<title>Upgraded wordpress</title>
		<link>http://feeds.feedburner.com/~r/blogleenartsnet/~3/305892438/</link>
		<comments>http://blog.leenarts.net/2008/06/06/upgraded-wordpress/#comments</comments>
		<pubDate>Fri, 06 Jun 2008 07:00:11 +0000</pubDate>
		<dc:creator>Jeroen</dc:creator>
		
		<category><![CDATA[Random thoughts]]></category>

		<guid isPermaLink="false">http://blog.leenarts.net/?p=227</guid>
		<description><![CDATA[Did a long overdue upgrade of my wordpress install and plug-ins. If you see any glitches, let me know.
]]></description>
			<content:encoded><![CDATA[<p>Did a long overdue upgrade of my wordpress install and plug-ins. If you see any glitches, let me know.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leenarts.net/2008/06/06/upgraded-wordpress/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=blogleenartsnet&amp;itemurl=http%3A%2F%2Fblog.leenarts.net%2F2008%2F06%2F06%2Fupgraded-wordpress%2F</feedburner:awareness><feedburner:origLink>http://blog.leenarts.net/2008/06/06/upgraded-wordpress/</feedburner:origLink></item>
		<item>
		<title>Adjust first names with AppleScript in an Address Book Group</title>
		<link>http://feeds.feedburner.com/~r/blogleenartsnet/~3/281772590/</link>
		<comments>http://blog.leenarts.net/2008/05/02/applescript-address-book/#comments</comments>
		<pubDate>Fri, 02 May 2008 00:47:05 +0000</pubDate>
		<dc:creator>Jeroen</dc:creator>
		
		<category><![CDATA[Mac OSX]]></category>

		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.leenarts.net/2008/05/02/applescript-address-book/</guid>
		<description><![CDATA[At my company the sysadmins provide a little service when putting all phone numbers of colleagues on my cell phone. Every colleague is prefixed with a dot. My car&#8217;s carkit though lists all numbers grouped by alphabet. So this leads to like a couple hundred entries grouped under a single dot. Fortunatly I can sync [...]]]></description>
			<content:encoded><![CDATA[<p>At my company the sysadmins provide a little service when putting all phone numbers of colleagues on my cell phone. Every colleague is prefixed with a dot. My car&#8217;s carkit though lists all numbers grouped by alphabet. So this leads to like a couple hundred entries grouped under a single dot. Fortunatly I can sync my phone to my Apple&#8217;s Address Book. When it&#8217;s in there, the following little AppleScript allows me to change all first names starting with a dot to something without a dot.</p>
<p>First I transfer all dot-prefixed entries to a special group, then this script runs the people in that group through a little check and adjustment when needed.</p>
<p>(The syntax of AppleScript is a real pain.)</p>
<pre name="code" class="c">

on lstripString(theText, trimString)
	set x to count trimString
	try
		repeat while theText begins with the trimString
			set theText to characters (x + 1) thru -1 of theText as text
		end repeat
	on error
		return &quot;&quot;
	end try
	return theText
end lstripString

tell application &quot;Address Book&quot;
	set infoSupporters to people of group &quot;InfoSupport&quot;
	repeat with p in infoSupporters
		if first name of p starts with &quot;.&quot; then
			set new_first_name to my lstripString(first name of p, &quot;.&quot;)
			set first name of p to new_first_name
		end if
	end repeat

	display dialog &quot;Done!&quot;
end tell
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.leenarts.net/2008/05/02/applescript-address-book/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=blogleenartsnet&amp;itemurl=http%3A%2F%2Fblog.leenarts.net%2F2008%2F05%2F02%2Fapplescript-address-book%2F</feedburner:awareness><feedburner:origLink>http://blog.leenarts.net/2008/05/02/applescript-address-book/</feedburner:origLink></item>
		<item>
		<title>J-Spring 2008 in review</title>
		<link>http://feeds.feedburner.com/~r/blogleenartsnet/~3/274281814/</link>
		<comments>http://blog.leenarts.net/2008/04/20/j-spring-2008-review/#comments</comments>
		<pubDate>Sun, 20 Apr 2008 21:46:01 +0000</pubDate>
		<dc:creator>Jeroen</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[NL-Jug]]></category>

		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.leenarts.net/2008/04/20/j-spring-2008-review/</guid>
		<description><![CDATA[Last week I presented at J-Spring 2008. It was one of the first times I presented to such a large group of unknowns. The room wasn&#8217;t packed, but still quite full. Afterwards I heard the head count was over 70 people attending my session. Good to see that many people interested in ANTLR. I was [...]]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.leenarts.net/wp-content/uploads/2006/06/nljug.gif" border="0" width="125" height="125" alt="Eclipse University banner." style="margin: 5px; float: left" />Last week I presented at J-Spring 2008. It was one of the first times I presented to such a large group of unknowns. The room wasn&#8217;t packed, but still quite full. Afterwards I heard the head count was over 70 people attending my session. Good to see that many people interested in ANTLR. I was in the before last round of sessions and not everyone of the 1000 people attending was on the premises anymore. So all in all. I think I did good by at least attracting 10% of those people still there.</p>
<p>My presentation went very smooth. In 45 minutes I crammed 42 slides, 3 short demo&#8217;s and a 5 minute Q&#038;A.</p>
<p>I did fumble on one single thing.</p>
<p class="important">ANTLR does allow more than 2 nodes with the same root node in a tree.</p>
<p>It&#8217;s all supported in the tree grammar syntax. The grammar I demoed was indeed binary, I thought the question was about that fact, while in hindsight I realised the person was asking if ANTLR support AST&#8217;s with more than 2 child nodes on a node.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leenarts.net/2008/04/20/j-spring-2008-review/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=blogleenartsnet&amp;itemurl=http%3A%2F%2Fblog.leenarts.net%2F2008%2F04%2F20%2Fj-spring-2008-review%2F</feedburner:awareness><feedburner:origLink>http://blog.leenarts.net/2008/04/20/j-spring-2008-review/</feedburner:origLink></item>
		<item>
		<title>J-Spring, ready or not, here I come…</title>
		<link>http://feeds.feedburner.com/~r/blogleenartsnet/~3/271038499/</link>
		<comments>http://blog.leenarts.net/2008/04/16/j-spring-ready-or-not/#comments</comments>
		<pubDate>Tue, 15 Apr 2008 23:19:15 +0000</pubDate>
		<dc:creator>Jeroen</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[NL-Jug]]></category>

		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.leenarts.net/2008/04/16/j-spring-ready-or-not/</guid>
		<description><![CDATA[I&#8217;ve just put some final touches to a presentation and demo I&#8217;m giving on ANTLR v3. On april 16th I will be presenting at the Dutch NL-JUG J-Spring conference. It&#8217;s a Dutch conference focussed on all things Java.
Hope to see you there, and if not, my employer is probably going to post my slides very [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just put some final touches to a presentation and demo I&#8217;m giving on <a href="http://www.antlr.org/">ANTLR v3</a>. On april 16th I will be presenting at the Dutch <a href="http://www.nljug.org/pages/events/content/jspring_2008/">NL-JUG J-Spring conference</a>. It&#8217;s a Dutch conference focussed on all things Java.</p>
<p>Hope to see you there, and if not, my employer is probably going to post my slides very soon <a href="http://www.infosupport.nl/JavaEvents">somewhere linked of of this page</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leenarts.net/2008/04/16/j-spring-ready-or-not/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=blogleenartsnet&amp;itemurl=http%3A%2F%2Fblog.leenarts.net%2F2008%2F04%2F16%2Fj-spring-ready-or-not%2F</feedburner:awareness><feedburner:origLink>http://blog.leenarts.net/2008/04/16/j-spring-ready-or-not/</feedburner:origLink></item>
		<item>
		<title>Vista and an Apple Time Capsule</title>
		<link>http://feeds.feedburner.com/~r/blogleenartsnet/~3/269661119/</link>
		<comments>http://blog.leenarts.net/2008/04/13/vista-timecapsule-airport-extreme/#comments</comments>
		<pubDate>Sun, 13 Apr 2008 22:51:46 +0000</pubDate>
		<dc:creator>Jeroen</dc:creator>
		
		<category><![CDATA[Howto]]></category>

		<category><![CDATA[Random thoughts]]></category>

		<guid isPermaLink="false">http://blog.leenarts.net/2008/04/13/vista-timecapsule-airport-extreme/</guid>
		<description><![CDATA[Oh my, that Redmond OS called Vista is truly a freakish beast. Today my girlfriends laptop refused to connect to my new Apple Time Capsule. I had my Time Capsule configured for personal WPA/WPA2 over 802.11 b/g/n. My girlfriends Vista laptop was able to connect and authenticate, but was unable to get a DHCP lease, [...]]]></description>
			<content:encoded><![CDATA[<p>Oh my, that Redmond OS called Vista is truly a freakish beast. Today my girlfriends laptop refused to connect to my new <a href="">Apple Time Capsule</a>. I had my Time Capsule configured for personal WPA/WPA2 over 802.11 b/g/n. My girlfriends Vista laptop was able to connect and authenticate, but was unable to get a DHCP lease, it ended up with one of those 169.xxx.xxx.xxx addresses. The steps to remedy the problem were really bizarre.</p>
<p>I reconfigured my Time Capsule to use no wireless security. I then connected her Vista laptop, it could get a DHCP lease. I re-enabled all security. Adjusted the network settings on her laptop to use WPA2. And it works flawlessly, I can even do ipconfig /renew from a command prompt.</p>
<p class="note">Vista: The dumbest operating system ever if you ask me.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leenarts.net/2008/04/13/vista-timecapsule-airport-extreme/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=blogleenartsnet&amp;itemurl=http%3A%2F%2Fblog.leenarts.net%2F2008%2F04%2F13%2Fvista-timecapsule-airport-extreme%2F</feedburner:awareness><feedburner:origLink>http://blog.leenarts.net/2008/04/13/vista-timecapsule-airport-extreme/</feedburner:origLink></item>
		<item>
		<title>I really ought to sleep…</title>
		<link>http://feeds.feedburner.com/~r/blogleenartsnet/~3/260954600/</link>
		<comments>http://blog.leenarts.net/2008/03/31/i-really-ought-to-sleep/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 23:53:18 +0000</pubDate>
		<dc:creator>Jeroen</dc:creator>
		
		<category><![CDATA[Random thoughts]]></category>

		<guid isPermaLink="false">http://blog.leenarts.net/2008/03/31/i-really-ought-to-sleep/</guid>
		<description><![CDATA[I just wanted t see if I still knew how to write a quicksort by hand. Checked it against &#8220;Intruction to Algorithms, 2ND ed.&#8221; afterwards and it actually checks out.  


package net.leenarts.algorithms.quicksort;

import java.util.Arrays;

public class QuickSort {

	public static void main(String[] args) {
		int[] A = {3,8,5,9,2,7,4,6,2,9,1,4,2,7,5,4};
		System.out.println(Arrays.toString(A));
		doQuickSort(A, 0, A.length -1);
	}
	public static void doQuickSort(int[] A, int p, int [...]]]></description>
			<content:encoded><![CDATA[<p>I just wanted t see if I still knew how to write a quicksort by hand. Checked it against &#8220;Intruction to Algorithms, 2ND ed.&#8221; afterwards and it actually checks out. <img src='http://blog.leenarts.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<pre name="code" class="java">

package net.leenarts.algorithms.quicksort;

import java.util.Arrays;

public class QuickSort {

	public static void main(String[] args) {
		int[] A = {3,8,5,9,2,7,4,6,2,9,1,4,2,7,5,4};
		System.out.println(Arrays.toString(A));
		doQuickSort(A, 0, A.length -1);
	}
	public static void doQuickSort(int[] A, int p, int r) {
		if (p&lt;r) {
			int q = partition(A, p, r);
			doQuickSort(A, p, q-1);
			doQuickSort(A, q+1, r);
		}
	}

	private static int partition (int[] A, int p, int r) {
		System.out.println(&quot;p=&quot; + p +&quot; r=&quot; + r +&quot; A = &quot; + Arrays.toString(A));
		System.out.println();
		int x = A[r];
		int i = p -1;

		for (int j = p; j &lt;= r -1; j++) {
			if (A[j] &lt;= x) {
				i++;
				exchange(A, i, j);
			}
		}
		exchange(A, i +1, r);

		return i + 1;
	}

	private static void exchange(int[] A, int i, int j) {
		int temp = A[i];
		A[i] = A[j];
		A[j] = temp;
		System.out.println(Arrays.toString(A));
	}
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.leenarts.net/2008/03/31/i-really-ought-to-sleep/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=blogleenartsnet&amp;itemurl=http%3A%2F%2Fblog.leenarts.net%2F2008%2F03%2F31%2Fi-really-ought-to-sleep%2F</feedburner:awareness><feedburner:origLink>http://blog.leenarts.net/2008/03/31/i-really-ought-to-sleep/</feedburner:origLink></item>
		<item>
		<title>Really six more reasons to hate Java?</title>
		<link>http://feeds.feedburner.com/~r/blogleenartsnet/~3/260738279/</link>
		<comments>http://blog.leenarts.net/2008/03/30/does-java-suck-times-6/#comments</comments>
		<pubDate>Sun, 30 Mar 2008 14:27:27 +0000</pubDate>
		<dc:creator>Jeroen</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://blog.leenarts.net/2008/03/30/does-java-suck-times-6/</guid>
		<description><![CDATA[Some guy from Buenos Aires made a write-up bashing some features of Java. Let&#8217;s test the validity of his argument. Oh, I came across his post through programming.reddit.com.
Based on his gripes he sounds like a systems programming to me, and if your one of those: What kind of problems is he trying? Perhaps pick another [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://beta.howtorecognise.mine.nu/blog/Six_more_motives_to_hate_Java.html">Some guy from Buenos Aires made a write-up bashing some features of Java</a>. Let&#8217;s test the validity of his argument. Oh, I came across his post through <a href="http://programming.reddit.com">programming.reddit.com</a>.</p>
<p>Based on his gripes he sounds like a systems programming to me, and if your one of those: What kind of problems is he trying? Perhaps pick another language better suited for the job. He actually states this by saying Java is good for web programming, it sucks for what he&#8217;s trying to do.</p>
<p>Let&#8217;s start with the first one.</p>
<p><strong>It has no unsigned types</strong><br />
He argues about this being a problem when reading unsigned bytes from input. Well according to my memory the inputstream classes support a read byte method which returns an int in the range of 0 to 255. No problem reading unsigned bytes there. It could hurt some people that you are wasting a few bytes though. Also, it does not matter when working with bytes alone.</p>
<p>The shit does start when you actually have to convert bytes to another type, then you need to start thinking about how to deal the signed-ness of bytes in Java. So in my opinion, always having signed types (except for the 16 bit char) can get nasty when doing systems programming. Not to mention the problems this might cause when having to take into account if you should work big- or little- endian. For networks this is no problem, TCP/IP makes sure everything is &#8220;network order&#8221; which is big-endian and hey Java is also big-endian. Fortunatly the new IO classes can handle byte ordering easily, just have a look at the API docs. Look for ByteOrder and the order methods on the various buffer types. (It really is straight forward stuff, make a buffer, set it&#8217;s byte order, start getting and/or putting.)</p>
<p>So yeah, unsigned types can be a pain if you&#8217;re doing things the old way (ie. java.io). The new way (java.nio) however makes handling byte orders dead simple, and unsigned bytes can be handled as well as well. The example he gives can still be a pain though, because you easily forget a bit shift, an addition, or a proper read/write of a single byte. I do wonder though if there isn&#8217;t a neat way around this.</p>
<p><strong>You can&#8217;t inherit constructors</strong><br />
Yeah you can&#8217;t. It&#8217;s a choice. By requiring explicit constructors calling nothing but super constructors you prevent people from instantiating your class without circumventing the classes initialisation logic. For simple constructors it can look stupid though.</p>
<p><strong>You can&#8217;t declare destructors</strong><br />
That&#8217;s because you don&#8217;t control your objects garbage collection either. You mark an object eligible for collection by dropping references to it, at the same time you could call some cleaning logic. A dispose method is a common pattern.</p>
<p>He states that he had to write stupid finally blocks in his wrapper class. WTF man, add better exception handling. Catch those, handle all you want and be done with it.</p>
<p><strong>You don&#8217;t have a sane way of controlling the terminal</strong><br />
He starts yapping on about String security and finally gets to his actual gripe. You can&#8217;t hide a password typed on the console. Well, ehm, know your stuff, it helps: http://java.sun.com/javase/6/docs/api/java/io/Console.html</p>
<p><strong>No, you can&#8217;t leave stdin/stdout/stderr fscking alone!</strong><br />
What about the get*Stream methods? Ok, your code does have to handle input on those. So you have to do some extra work instead of dumping stuff on the standard console. </p>
<p><strong>No, you can&#8217;t handle signals</strong><br />
And then he says you can, because it&#8217;s undocumented in some sun package. Well, there&#8217;s a reason it&#8217;s in the sun package, you shouldn&#8217;t use it except when you really really know what your doing.</p>
<p><strong>Conclusion</strong><br />
Lot&#8217;s of stuff claiming that Java is garbage, but in the end it comes down to a few misunderstandings, differences of opinion and missing some features in the JDK6 release. And above all, Java is NOT the obvious choice for systems programming. Better leave that to shell scripts, C code, python, Perl, Ruby or some other language.</p>
<p>I hope this post doesn&#8217;t qualify me as a Java Zealot. Because there are things I don&#8217;t like about Java. Maybe I&#8217;ll report about those some other day. <img src='http://blog.leenarts.net/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leenarts.net/2008/03/30/does-java-suck-times-6/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=blogleenartsnet&amp;itemurl=http%3A%2F%2Fblog.leenarts.net%2F2008%2F03%2F30%2Fdoes-java-suck-times-6%2F</feedburner:awareness><feedburner:origLink>http://blog.leenarts.net/2008/03/30/does-java-suck-times-6/</feedburner:origLink></item>
		<item>
		<title>ANTLR J-Spring session approved</title>
		<link>http://feeds.feedburner.com/~r/blogleenartsnet/~3/245045248/</link>
		<comments>http://blog.leenarts.net/2008/03/03/antlr-j-spring/#comments</comments>
		<pubDate>Mon, 03 Mar 2008 19:48:43 +0000</pubDate>
		<dc:creator>Jeroen</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[NL-Jug]]></category>

		<category><![CDATA[Work]]></category>

		<guid isPermaLink="false">http://blog.leenarts.net/2008/03/03/antlr-j-spring/</guid>
		<description><![CDATA[I recently got word from the NL-JUG that they have granted me a presentation slot based on my session proposal regarding ANTLR.
I think it will be a tricky session to pull of properly. I&#8217;ll have to make a guess about how much my audience will know about grammar definition, parsers and compilers. But hey, that [...]]]></description>
			<content:encoded><![CDATA[<p>I recently got word from the NL-JUG that they have granted me a presentation slot based on my session proposal regarding ANTLR.</p>
<p>I think it will be a tricky session to pull of properly. I&#8217;ll have to make a guess about how much my audience will know about grammar definition, parsers and compilers. But hey, that challenge is part of the reason I made my session proposal.</p>
<p>More details will follow.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.leenarts.net/2008/03/03/antlr-j-spring/feed/</wfw:commentRss>
		<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetItemData?uri=blogleenartsnet&amp;itemurl=http%3A%2F%2Fblog.leenarts.net%2F2008%2F03%2F03%2Fantlr-j-spring%2F</feedburner:awareness><feedburner:origLink>http://blog.leenarts.net/2008/03/03/antlr-j-spring/</feedburner:origLink></item>
	<feedburner:awareness>http://api.feedburner.com/awareness/1.0/GetFeedData?uri=blogleenartsnet</feedburner:awareness></channel>
</rss>
