<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	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:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:itunes="http://www.itunes.com/dtds/podcast-1.0.dtd"
	xmlns:media="http://search.yahoo.com/mrss/"
>

<channel>
	<title>Think. Reflect. Act. &#187; Java</title>
	<atom:link href="http://www.homik.de/think/index.php/category/java/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.homik.de/think</link>
	<description></description>
	<lastBuildDate>Sun, 19 Apr 2009 15:31:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
		<!-- podcast_generator="podPress/8.8" - maintenance_release="8.8.3" -->
		<copyright> Think. Reflect. Act. </copyright>
		<managingEditor> ()</managingEditor>
		<webMaster> ()</webMaster>
		<category></category>
		<itunes:keywords></itunes:keywords>
		<itunes:subtitle></itunes:subtitle>
		<itunes:summary></itunes:summary>
		<itunes:author></itunes:author>
		<itunes:category text="Society &amp; Culture"/>
		<itunes:owner>
			<itunes:name></itunes:name>
			<itunes:email></itunes:email>
		</itunes:owner>
		<itunes:block>No</itunes:block>
		<itunes:explicit></itunes:explicit>
		<itunes:image href="http://www.homik.de/think/wp-content/plugins/podpress/images/powered_by_podpress_large.jpg" />
		<image>
			<url></url>
			<title>Think. Reflect. Act.</title>
			<link>http://www.homik.de/think</link>
			<width>144</width>
			<height>144</height>
		</image>
		<item>
		<title>Upgrading Twitter</title>
		<link>http://www.homik.de/think/index.php/2009/03/19/upgrading-twitter/</link>
		<comments>http://www.homik.de/think/index.php/2009/03/19/upgrading-twitter/#comments</comments>
		<pubDate>Thu, 19 Mar 2009 19:05:11 +0000</pubDate>
		<dc:creator>Martin Homik</dc:creator>
				<category><![CDATA[WebApp]]></category>

		<guid isPermaLink="false">http://www.homik.de/think/index.php/2009/03/19/upgrading-twitter/</guid>
		<description><![CDATA[There is a nice post by Gojko Adzic about a talk he attended. The talk was given by Evan Weaver about experience with upgrading twitter.Â  It is quite interesting to know how sites having huge traffic solve performance problems.
]]></description>
			<content:encoded><![CDATA[<p>There is a nice post by <a href="http://gojko.net/2009/03/16/qcon-london-2009-upgrading-twitter-without-service-disruptions/">Gojko Adzic</a> about a talk he attended. The talk was given by Evan Weaver about experience with upgrading twitter.Â  It is quite interesting to know how sites having huge traffic solve performance problems.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.homik.de/think/index.php/2009/03/19/upgrading-twitter/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Overloading methods and passing &#8216;null&#8217; as argument</title>
		<link>http://www.homik.de/think/index.php/2008/10/28/overloading-methods-and-passing-null-as-argument/</link>
		<comments>http://www.homik.de/think/index.php/2008/10/28/overloading-methods-and-passing-null-as-argument/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 10:01:38 +0000</pubDate>
		<dc:creator>Martin Homik</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.homik.de/think/index.php/2008/10/28/overloading-methods-and-passing-null-as-argument/</guid>
		<description><![CDATA[Today, I came across a NPE which pointed me to a problem which I cannot resolve. Assuming, you have two overloaded methods in a class:



public void setProperty&#40;Collection c&#41;;


public void setProperty&#40;String c&#41;;



Which method will be invoked when the parameter is null?
Answer: you cannot call setProperty with a null parameter. The compiler will complain. In all other [...]]]></description>
			<content:encoded><![CDATA[<p>Today, I came across a NPE which pointed me to a problem which I cannot resolve. Assuming, you have two overloaded methods in a class:</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="kw2">public</span> <span class="kw4">void</span> setProperty<span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3ACollection+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">Collection</span></a> c<span class="br0">&#41;</span>;</div>
</li>
<li class="li1">
<div class="de1"><span class="kw2">public</span> <span class="kw4">void</span> setProperty<span class="br0">&#40;</span><a href="http://www.google.com/search?hl=en&amp;q=allinurl%3AString+java.sun.com&amp;btnI=I%27m%20Feeling%20Lucky"><span class="kw3">String</span></a> c<span class="br0">&#41;</span>;</div>
</li>
</ol>
</div>
<p>Which method will be invoked when the parameter is <em>null</em>?</p>
<p>Answer: you cannot call setProperty with a null parameter. The compiler will complain. In all other cases the signature of the method is matched. So, it doesn&#8217;t matter if your String has the null value, it only matters that you apply a method applied to a String parameter. This is the signature. This is matched.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.homik.de/think/index.php/2008/10/28/overloading-methods-and-passing-null-as-argument/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>German Web2.0 Paper Magazin</title>
		<link>http://www.homik.de/think/index.php/2008/09/05/german-web20-paper-magazin/</link>
		<comments>http://www.homik.de/think/index.php/2008/09/05/german-web20-paper-magazin/#comments</comments>
		<pubDate>Fri, 05 Sep 2008 07:07:09 +0000</pubDate>
		<dc:creator>Martin Homik</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[WebApp]]></category>

		<guid isPermaLink="false">http://www.homik.de/think/index.php/2008/09/05/german-web20-paper-magazin/</guid>
		<description><![CDATA[Yesterday I went to town to get the new Java magazine. While I was at the store, I thought I could also try a new magazine. In that moment I realized that customers have many options to get A Linux or a Mac magazine which is a change when I payed attention to the fact [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">Yesterday I went to town to get the new Java magazine. While I was at the store, I thought I could also try a new magazine. In that moment I realized that customers have many options to get A Linux or a Mac magazine which is a change when I payed attention to the fact the last time (a few years ago).Â  But actually, I searched for a magazine on Web2.0 or JavaScript. Both are fields I am diving into right now. Though I know many sources on the Net, I was surprised to see, or more accurately not to see, any magazine that covers this topic.</p>
<p>Can you recommend any magazine?</p>
]]></content:encoded>
			<wfw:commentRss>http://www.homik.de/think/index.php/2008/09/05/german-web20-paper-magazin/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Struts2 URL Tag</title>
		<link>http://www.homik.de/think/index.php/2008/08/26/struts2-url-tag/</link>
		<comments>http://www.homik.de/think/index.php/2008/08/26/struts2-url-tag/#comments</comments>
		<pubDate>Tue, 26 Aug 2008 10:37:45 +0000</pubDate>
		<dc:creator>Martin Homik</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[WebApp]]></category>

		<guid isPermaLink="false">http://www.homik.de/think/index.php/2008/08/26/struts2-url-tag/</guid>
		<description><![CDATA[I use the Struts2 URL tag all the time to expand relative paths with the current context. I also use it to address images. I have not proven it, but today, I got the hint that an image to which an argument is appended, will be loaded each time the page is displayed. To prevent [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">I use the Struts2 URL tag all the time to expand relative paths with the current context. I also use it to address images. I have not proven it, but today, I got the hint that an image to which an argument is appended, will be loaded each time the page is displayed. To prevent appending of additional parameters, use the <em>includeParams </em>attribute and set the value to <em>none</em>. Below is an example for a dynamically created URL.</p>
<div class="dean_ch" style="white-space: wrap;">
<ol>
<li class="li1">
<div class="de1"><span class="sc3"><span class="re1">&lt;s:url</span> <span class="re0">value</span>=<span class="st0">&quot;%{&#8216;images/flags/&#8217;+locale+&#8217;.png&#8217;}&quot;</span> <span class="re0">includeParams</span>=<span class="st0">&quot;none&quot;</span> <span class="re0">id</span>=<span class="st0">&quot;localeURL&quot;</span><span class="re2">&gt;</span></span><span class="sc3"><span class="re1">&lt;/s:url<span class="re2">&gt;</span></span></span></div>
</li>
</ol>
</div>
]]></content:encoded>
			<wfw:commentRss>http://www.homik.de/think/index.php/2008/08/26/struts2-url-tag/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Debugging Maven projects with Eclipse</title>
		<link>http://www.homik.de/think/index.php/2008/07/31/debugging-maven-projects-with-eclipse/</link>
		<comments>http://www.homik.de/think/index.php/2008/07/31/debugging-maven-projects-with-eclipse/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 06:15:29 +0000</pubDate>
		<dc:creator>Martin Homik</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[WebApp]]></category>

		<guid isPermaLink="false">http://www.homik.de/think/index.php/2008/07/31/debugging-maven-projects-with-eclipse/</guid>
		<description><![CDATA[Debugging Maven projects with Eclipse or any other IDE on Windows is not trivial. In the beginning. But once you know the mechansim, it&#8217;s simple. I googled and found a few helpful pages. Look here. Here are my experiences.
Maven supports two debug modes: the Generic and the Surefire. If you want to debug maven itself, [...]]]></description>
			<content:encoded><![CDATA[<p>Debugging Maven projects with Eclipse or any other IDE on Windows is not trivial. In the beginning. But once you know the mechansim, it&#8217;s simple. I googled and found a few helpful pages. Look <a href="http://docs.codehaus.org/display/MAVENUSER/Dealing+with+Eclipse-based+IDE">here</a>. Here are my experiences.</p>
<p>Maven supports two debug modes: the <strong>Generic</strong> and the <strong>Surefire</strong>. If you want to debug maven itself, one of maven&#8217;s plugins, or a maven project, use the <strong>Generic</strong> Approach. If you want to debug a test in your project launched by surefire, use the <strong>Surefire</strong> Approach.</p>
<p><strong>Surefire Approach</strong>.</p>
<ul>
<li>Create a new Java Project and call it &#8220;Maven Debug&#8221;.  This Project will <strong>never</strong> have any source code in it, it is just a shell for attaching the debugger.</li>
<li>Create a debug configuration: <em>Run -&gt; Debug Configurations</em> and then right click on <em>Remote Java Application</em> and select <em>New launch configuration</em>. Call it &#8220;Maven Surefire&#8221;.</li>
<li>Â On the <em>Connect </em>tab click the <em>Browse </em>button and select the &#8220;Maven Debug&#8221; project.</li>
<li>Set connection properties to localhost and port 5005. This is the port on which Surefire waits for the debugger.</li>
<li>The connection type is Standard (Socket Attach)</li>
<li>On the Source tab add all projects that have any Maven source that you want to debug.</li>
</ul>
<p>Now let&#8217;s do the actual debugging.</p>
<ul>
<li>Select break points in the code you&#8217;re are going to run. Note, you cn select only code in your test classes. It won&#8217;t work on classes outside the test phase.</li>
<li>In your command line, append the following switch to your maven command: -Dmaven.surefire.debug. For example, to debug the tests run by the maven lifecycle <em>install </em>do <em>mvn install -Dmaven.surefire.debug</em></li>
<li>Wait for maven to pause its execution and display the message: <em>Listening <span class="code-keyword">for</span> transport dt_socket at address: 5005</em></li>
<li>Attach the debugger to the running maven by selecting the &#8220;Maven Surefire&#8221; debug configuration created above. Your debugger should stop at your breakpoint.</li>
</ul>
<p><strong>Generic Approach</strong>.</p>
<ul>
<li>Follow the instructions, presented <a href="http://docs.codehaus.org/display/MAVENUSER/Dealing+with+Eclipse-based+IDE">here</a>. The only instructions that worked for me. They are very similar to the Surefire Approach.</li>
<li>Note: use Maven 2.0.8 or higher. The, you don&#8217;t need to write your own maven debug script. It&#8217;ll be sufficient to use the shipped <em>mvnDebug</em> script.</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.homik.de/think/index.php/2008/07/31/debugging-maven-projects-with-eclipse/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Some experience with RSS/Atom frameworks</title>
		<link>http://www.homik.de/think/index.php/2008/06/20/some-experience-with-rssatom-frameworks/</link>
		<comments>http://www.homik.de/think/index.php/2008/06/20/some-experience-with-rssatom-frameworks/#comments</comments>
		<pubDate>Fri, 20 Jun 2008 07:39:34 +0000</pubDate>
		<dc:creator>Martin Homik</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.homik.de/think/index.php/2008/06/20/some-experience-with-rssatom-frameworks/</guid>
		<description><![CDATA[10 days ago, I had the idea to enhance my web application by integration Roller. Instead of implementing a blog model myself, I wanted to implement the UI only and  pass all the blog entries to a stable  blog server. The problems were:

Blog entry management. How to exchange blog entries with Roller?
User management. [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">10 days ago, I had the idea to enhance my web application by integration <a href="http://roller.apache.org/">Roller</a>. Instead of implementing a blog model myself, I wanted to implement the UI only and  pass all the blog entries to a stable  blog server. The problems were:</p>
<ul>
<li>Blog entry management. How to exchange blog entries with Roller?</li>
<li>User management. How to synchronize users with Roller?</li>
</ul>
<p align="justify"> To solve the the management of blog entries, Roller provides an RSS/Atom interface. The only thing I would need is a blog client. Lucky me, there is the <a href="https://rome.dev.java.net/">ROME </a>and <a href="http://wiki.java.net/bin/view/Javawsxml/RomePropono">ROME Propono</a>. ROME is a RSS/ATOM framework and Propono is a subproject of it that implements a RSS/Atom client. It seemed to be a good solution, because:</p>
<ul>
<li>ROME is quite mature.</li>
<li>It is written by Dave Johnson, the author of <a href="http://www.homik.de/think/index.php/2008/06/02/book-review-rss-and-atom/">RSS/Atom in Action</a>. Dave is also involved in Roller.</li>
<li><a href="http://rollerweblogger.org/page/roller">Dave keeps blogging</a> on a regular basis and informs the community about progress.</li>
<li>There is a <a href="http://www.nabble.com/Rome-f23445.html">discussion forum</a> on Nabbles.</li>
<li>The blog client, described in the book has been extracted from the example sources and and has been further developed. Today we know it as <a href="http://wiki.java.net/bin/view/Javawsxml/RomePropono">ROME Propono</a>.</li>
</ul>
<p>But once, I started to test, compile, and integrate into a Maven based project, I ran into trouble. To make a long story short:</p>
<ul>
<li>ROME has never reached 1.0 status. Propono is still 0.6. Progress is slow. There is since 2006 a discussion what needs to be done to move to 1.0. The discussion was never intense and therefore, never reached a fix point.</li>
<li>Dave works for a different company and does not invest too much time in ROME.</li>
<li>Compiling ROME 0.9 is okay, but  Propono  0.6  requires 0.9.1-dev. So you need to get the binary or  get the sources from CVS. But even these don&#8217;t compile.</li>
<li>While ROME is available via Maven repositories, and hence, easily to include into a project, ROME 0.9.1-dev is not available. Actually, there is no need for that, because  ROME Propono is not available via Maven repositories add all.</li>
<li>Finally,  I observed quite often that users in discussion forums waited for answers from experts quite long. Some questions stayed unanswered.</li>
</ul>
<p align="justify">Meanwhile, I found an article about <a href="http://rollerweblogger.org/roller/entry/rome_vs_abdera">Abdera in Dave&#8217;s blog</a>. <a href="http://incubator.apache.org/abdera/">Abdera</a> is a promising Atom framework that provides many features. It has many committers and the forum seems to be quite busy. It is easy to integrate into maven projects and even the build is fun. Despite of its early status it promises a good quality. Documentation is still scarce, however, it is sufficient to get started. <del datetime="2008-06-23T08:33:36">One annoying thing is, that</del> <a href="http://www.snellspace.com/">James Snell</a>, one of the project leaders, maintains a wordpress blog which does <del datetime="2008-06-23T08:34:15">not</del> offer RSS/Atom feeds. <del datetime="2008-06-23T08:34:31">This is really dull, because</del> he is blogging about Abdera and the Atom specification quite often.</p>
<p align="justify"> To solve the user management requirement, Roller offers an atom admin interface to create/update/delete users. This is necessary in order to have the same users on Roller as in my application. Again, to access the interface, the source application needs a client through which it can talk to Roller. Propono offers an atom client solution. However, it is not applicable because of the explained problems.  The work around is to use Abdera. Abdera has a clean interface and following a few examples should help to solve this requirement.</p>
<p align="justify">In the end, I dropped both approaches due to some Spring problems I did not understand. Instead, I looked at the Roller&#8217;s code closely and decided to integrate very basic blogging facilities into my application. To get things done, this is the most efficient way. Maybe, one day, I get back to Roller.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.homik.de/think/index.php/2008/06/20/some-experience-with-rssatom-frameworks/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Java Podcasts in iTunes</title>
		<link>http://www.homik.de/think/index.php/2008/06/11/java-podcasts-in-itunes/</link>
		<comments>http://www.homik.de/think/index.php/2008/06/11/java-podcasts-in-itunes/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 09:27:03 +0000</pubDate>
		<dc:creator>Martin Homik</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.homik.de/think/index.php/2008/06/11/java-podcasts-in-itunes/</guid>
		<description><![CDATA[Yesterday evening, I came across the Podcast function in iTunes. I downloaded a few keynote presentations by Steve Jobs and uploaded these to my iPhone. I had the idea to use my iPhone for education for some time, but I could not find any good video podcasts. Today, I went o iTunes store, selected the [...]]]></description>
			<content:encoded><![CDATA[<p align="justify">Yesterday evening, I came across the Podcast function in iTunes. I downloaded a few keynote presentations by Steve Jobs and uploaded these to my iPhone. I had the idea to use my iPhone for education for some time, but I could not find any good video podcasts. Today, I went o iTunes store, selected the podcast tab and searched for Java. I got a few hits, some of them I want to recommend:</p>
<ul>
<li>Algorithmen; a German lecture podcast on algorithms and Java implementations</li>
<li>jQuery</li>
</ul>
<p>Do you know any other video podcasts? In particular, I am searching for conference podcasts related to Java, Web2.0, and e-learning.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.homik.de/think/index.php/2008/06/11/java-podcasts-in-itunes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>OSGI and Spring</title>
		<link>http://www.homik.de/think/index.php/2008/06/11/osgi-and-spring/</link>
		<comments>http://www.homik.de/think/index.php/2008/06/11/osgi-and-spring/#comments</comments>
		<pubDate>Wed, 11 Jun 2008 08:37:45 +0000</pubDate>
		<dc:creator>Martin Homik</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[WebApp]]></category>

		<guid isPermaLink="false">http://www.homik.de/think/index.php/2008/06/11/osgi-and-spring/</guid>
		<description><![CDATA[There is a great presentation on OSGi and Spring at Parleys by Adrian Colyer and Costin Leau. They give a great introduction into OSGi and Spring and explain how to integrate both frameworks.
If you ask what are the benefits of going OSGi with Spring, read Adrian&#8217;s article Why should I care about OSGi anyway?Â 
]]></description>
			<content:encoded><![CDATA[<p>There is a great presentation on <a href="http://www.parleys.com/display/PARLEYS/Home#slide=1;talk=13041700;title=OSGi%20with%20Spring">OSGi and Spring</a> at <a href="http://www.parleys.com/">Parleys</a> by Adrian Colyer and Costin Leau. They give a great introduction into OSGi and Spring and explain how to integrate both frameworks.</p>
<p>If you ask what are the benefits of going OSGi with Spring, read Adrian&#8217;s article <em><a href="http://blog.springsource.com/main/2008/05/15/why-should-i-care-about-osgi-anyway/">Why should I care about OSGi anyway?Â </a></em></p>
]]></content:encoded>
			<wfw:commentRss>http://www.homik.de/think/index.php/2008/06/11/osgi-and-spring/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Parleys.com</title>
		<link>http://www.homik.de/think/index.php/2008/06/10/parleyscom/</link>
		<comments>http://www.homik.de/think/index.php/2008/06/10/parleyscom/#comments</comments>
		<pubDate>Tue, 10 Jun 2008 07:05:07 +0000</pubDate>
		<dc:creator>Martin Homik</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.homik.de/think/index.php/2008/06/10/parleyscom/</guid>
		<description><![CDATA[Parleys offers some new presentations on the latest Java technology. Also, the website got a new UI which looks pretty cool now. You can view the talks online or download and watch locally on your host.
Have fun!
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.parleys.com/">Parleys </a>offers some new presentations on the latest Java technology. Also, the website got a new UI which looks pretty cool now. You can view the talks online or download and watch locally on your host.</p>
<p>Have fun!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.homik.de/think/index.php/2008/06/10/parleyscom/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Book Review: RSS and Atom</title>
		<link>http://www.homik.de/think/index.php/2008/06/02/book-review-rss-and-atom/</link>
		<comments>http://www.homik.de/think/index.php/2008/06/02/book-review-rss-and-atom/#comments</comments>
		<pubDate>Mon, 02 Jun 2008 07:56:13 +0000</pubDate>
		<dc:creator>Martin Homik</dc:creator>
				<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://www.homik.de/think/index.php/2008/06/02/book-review-rss-and-atom/</guid>
		<description><![CDATA[Like most of Manning&#8217;s books, RSS and Atom in Action is a high quality book. Beginning with some real-world scenarios, Dave Johnson introduces the interested reader into the world of blogging. Often, he talks about examples and points to ideas on how to (re-) use weblogs in a sophisticated way.
The book consists of two parts, [...]]]></description>
			<content:encoded><![CDATA[<p align="justify"><img src="http://www.manning.com/dmjohnson/dmjohnson_cover150.jpg" style="width: 150px; height: 187px; margin-left: 10px; margin-right: 10px" align="right" height="187" hspace="10" width="150" />Like most of Manning&#8217;s books, <em><a href="http://www.manning.com/dmjohnson/">RSS and Atom in Action</a></em> is a high quality book. Beginning with some real-world scenarios, Dave Johnson introduces the interested reader into the world of blogging. Often, he talks about examples and points to ideas on how to (re-) use weblogs in a sophisticated way.</p>
<p align="justify">The book consists of two parts, the first part introduces related technical knowledge, the second part is a hands-on tutorial which presents various application ideas.</p>
<p align="justify">In the technical part, Dave Johnson presents detailsÂ  on the history of different newsfeed formats (RSS and Atom), the ROME newsfeed utilities, a BlogClient API (known as Propono), how to serve newsfeeds, and how to publish with XML-RPC based APIs (MetaWeblog)Â  as well as with Atom protocol. All examples are accompanied by code snippets either in Java or in C#. The full code is available from the website.</p>
<p align="justify">In the application part, you&#8217;ll learn how to implement diverse applications such as as group aggregator, searching and monitoring the web, keeping your blog in sync, blog by sending an email (from your mobile), sending a daily digest by email, blog your software build process, blog from a chat room, distribute files podcast style, automatically download podcasts, automatically validate newsfeeds, and lots more.</p>
<p align="justify">You get the idea, this book is written for a practitioner who need to grasp the idea and learn by training. I highly recommend this book if you are interested in blogging, syndication, aggregation, etc.</p>
<p align="justify">If you need more details about software and if you are a Java developer, have also a look at <a href="http://roller.apache.org/">Roller</a>, <a href="http://wiki.java.net/bin/view/Javawsxml/RomePropono">Propono</a>, and <a href="https://rome.dev.java.net/">Rome</a>. Dave is involved in all three quite popular frameworks. Follow his <a href="http://rollerweblogger.org/roller/">blog </a>to get the latest news.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.homik.de/think/index.php/2008/06/02/book-review-rss-and-atom/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
	</channel>
</rss>
