<?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:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Gustavo Blog</title>
	<atom:link href="http://netsuke.wordpress.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://netsuke.wordpress.com</link>
	<description></description>
	<lastBuildDate>Mon, 14 Nov 2011 21:39:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='netsuke.wordpress.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://s2.wp.com/i/buttonw-com.png</url>
		<title>Gustavo Blog</title>
		<link>http://netsuke.wordpress.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://netsuke.wordpress.com/osd.xml" title="Gustavo Blog" />
	<atom:link rel='hub' href='http://netsuke.wordpress.com/?pushpress=hub'/>
		<item>
		<title>Launching Solr from Maven for rapid development</title>
		<link>http://netsuke.wordpress.com/2010/06/24/launching-solr-from-maven-for-rapid-development/</link>
		<comments>http://netsuke.wordpress.com/2010/06/24/launching-solr-from-maven-for-rapid-development/#comments</comments>
		<pubDate>Thu, 24 Jun 2010 15:37:12 +0000</pubDate>
		<dc:creator>netsuke</dc:creator>
				<category><![CDATA[Maven]]></category>
		<category><![CDATA[Solr]]></category>

		<guid isPermaLink="false">http://netsuke.wordpress.com/?p=104</guid>
		<description><![CDATA[If you are developing on top of Apache Solr, you might consider integration Solr with your maven build, by launching it from the maven-jetty-plugin. This brings several advantages, such as the possibility to shorten the time to get started in the project, unify the dev environment of the team with a fixed Solr version, do [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=104&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p>If you are developing on top of Apache Solr, you might consider integration Solr with your maven build, by launching it from the maven-jetty-plugin. This brings several advantages, such as the possibility to shorten the time to get started in the project, unify the dev environment of the team with a fixed Solr version, do automated integration tests by launching and stopping Solr in the pre/post integration-test phase of the lifecycle and also creation of a single WAR contained the standard Solr with the custom plugins and configuration.</p>
<p>Here&#8217;s a way to do it:</p>
<p>1) Since solr.war is not yet available on public maven repo (<a href="https://issues.apache.org/jira/browse/SOLR-1218" target="_blank">SOLR-1218</a>) make sure you deploy the solr.war file in any of your maven repo. In this post I&#8217;ll assume that solr.war is found inder org.apache.solr:solr-webapp:1.4.0 of you maven repo.</p>
<p>2) Use the maven webapp archetype to create an empty web project:</p>
<p><pre class="brush: bash;">
mvn archetype:generate
</pre></p>
<p>choose the maven-archetype-webapp option.</p>
<p>3) Change the pom.xml to:</p>
<p><pre class="brush: xml;">
&lt;project xmlns=&quot;http://maven.apache.org/POM/4.0.0&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
 xsi:schemaLocation=&quot;http://maven.apache.org/POM/4.0.0 http://maven.apache.org/maven-v4_0_0.xsd&quot;&gt;
  &lt;modelVersion&gt;4.0.0&lt;/modelVersion&gt;
  &lt;groupId&gt;com.moreover&lt;/groupId&gt;
  &lt;artifactId&gt;ubersearch&lt;/artifactId&gt;
  &lt;packaging&gt;war&lt;/packaging&gt;
  &lt;version&gt;1.0-SNAPSHOT&lt;/version&gt;
  &lt;name&gt;ubersearch Maven Webapp&lt;/name&gt;
  &lt;url&gt;http://maven.apache.org&lt;/url&gt;
  &lt;dependencies&gt;
      &lt;dependency&gt;
        &lt;groupId&gt;org.apache.solr&lt;/groupId&gt;
        &lt;artifactId&gt;solr-webapp&lt;/artifactId&gt;
        &lt;version&gt;1.4.0&lt;/version&gt;
        &lt;type&gt;war&lt;/type&gt;
      &lt;/dependency&gt;
  &lt;/dependencies&gt;
  &lt;build&gt;
    &lt;plugins&gt;
       &lt;plugin&gt;
          &lt;groupId&gt;org.mortbay.jetty&lt;/groupId&gt;
          &lt;artifactId&gt;maven-jetty-plugin&lt;/artifactId&gt;
          &lt;version&gt;6.1.15.rc4&lt;/version&gt;
       &lt;/plugin&gt;
    &lt;/plugins&gt;
  &lt;/build&gt;
&lt;/project&gt;
</pre></p>
<p>4) Copy the solr config files in the folder src/main/resources of the project. This will allow you to change them especifically for your project</p>
<p><pre class="brush: bash;">
$ ls src/main/resources/
elevate.xml            protwords.txt            solrconfig.xml            stopwords.txt
mapping-ISOLatin1Accent.txt    schema.xml            spellings.txt            synonyms.txt
</pre></p>
<p>5) Copy solr&#8217;s standard web.xml to the src/main/webapp/WEB-INF/ folder</p>
<p>6) Launch solr by calling the jetty plugin:</p>
<p><pre class="brush: plain;">
mvn jetty:run-exploded
</pre></p>
<p>7) Access Solr at http://localhost:8080/&lt;artifactId&gt;/admin/</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/netsuke.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/netsuke.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/netsuke.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/netsuke.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/netsuke.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/netsuke.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/netsuke.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/netsuke.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/netsuke.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/netsuke.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/netsuke.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/netsuke.wordpress.com/104/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/netsuke.wordpress.com/104/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/netsuke.wordpress.com/104/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=104&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://netsuke.wordpress.com/2010/06/24/launching-solr-from-maven-for-rapid-development/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d50b9b453b7e007658eced0178aaa2a4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">netsuke</media:title>
		</media:content>
	</item>
		<item>
		<title>Scala project quickstart with maven</title>
		<link>http://netsuke.wordpress.com/2009/03/04/scala-project-quickstart-with-maven/</link>
		<comments>http://netsuke.wordpress.com/2009/03/04/scala-project-quickstart-with-maven/#comments</comments>
		<pubDate>Wed, 04 Mar 2009 13:03:29 +0000</pubDate>
		<dc:creator>netsuke</dc:creator>
				<category><![CDATA[Maven]]></category>
		<category><![CDATA[scala]]></category>

		<guid isPermaLink="false">http://netsuke.wordpress.com/?p=91</guid>
		<description><![CDATA[To create a simple project: mvn org.apache.maven.plugins:maven-archetype-plugin:2.0-alpha-4:create -DarchetypeGroupId=org.scala-tools.archetypes -DarchetypeArtifactId=scala-archetype-simple -DarchetypeVersion=1.2 -DremoteRepositories=http://scala-tools.org/repo-releases -DgroupId=com.mycompany.scala -DartifactId=scalaTest To run the sample: mvn compile exec:java -Dexec.mainClass=com.mycompany.scala.App<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=91&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-44" title="22px-flag_of_englandsvg" src="http://netsuke.files.wordpress.com/2008/09/22px-flag_of_englandsvg.png?w=22&#038;h=13" alt="22px-flag_of_englandsvg" width="22" height="13" /> To create a simple project:<br />
<code><br />
mvn org.apache.maven.plugins:maven-archetype-plugin:2.0-alpha-4:create -DarchetypeGroupId=org.scala-tools.archetypes -DarchetypeArtifactId=scala-archetype-simple -DarchetypeVersion=1.2 -DremoteRepositories=http://scala-tools.org/repo-releases -DgroupId=com.mycompany.scala -DartifactId=scalaTest</code><br />
<br />
To run the sample:</p>
<p><code><br />
mvn compile exec:java -Dexec.mainClass=com.mycompany.scala.App<br />
</code></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/netsuke.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/netsuke.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/netsuke.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/netsuke.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/netsuke.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/netsuke.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/netsuke.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/netsuke.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/netsuke.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/netsuke.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/netsuke.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/netsuke.wordpress.com/91/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/netsuke.wordpress.com/91/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/netsuke.wordpress.com/91/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=91&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://netsuke.wordpress.com/2009/03/04/scala-project-quickstart-with-maven/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d50b9b453b7e007658eced0178aaa2a4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">netsuke</media:title>
		</media:content>

		<media:content url="http://netsuke.files.wordpress.com/2008/09/22px-flag_of_englandsvg.png" medium="image">
			<media:title type="html">22px-flag_of_englandsvg</media:title>
		</media:content>
	</item>
		<item>
		<title>Build simples de GWT, com auxílio de Maven</title>
		<link>http://netsuke.wordpress.com/2009/03/01/build-simples-de-gwt-com-auxilio-de-maven/</link>
		<comments>http://netsuke.wordpress.com/2009/03/01/build-simples-de-gwt-com-auxilio-de-maven/#comments</comments>
		<pubDate>Sun, 01 Mar 2009 11:22:28 +0000</pubDate>
		<dc:creator>netsuke</dc:creator>
				<category><![CDATA[GWT]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Maven]]></category>

		<guid isPermaLink="false">http://netsuke.wordpress.com/?p=86</guid>
		<description><![CDATA[Quem começa com o Google Web Toolkit (GWT), logo percebe que a distribuição não funciona em todos os sistemas operacionais. É preciso fazer o download do gwt-linux, gwt-mac ou gwt-windows. Isso porque a distribuição inclui bibliotecas nativas SWT, Mozilla, e scripts para executar a aplicação no modo &#8220;hosted&#8221;, que diferem entre os vários sistemas operacionais. [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=86&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-43" title="22px-flag_of_brazilsvg" src="http://netsuke.files.wordpress.com/2008/09/22px-flag_of_brazilsvg.png?w=22&#038;h=15" alt="22px-flag_of_brazilsvg" width="22" height="15" /> Quem começa com o Google Web Toolkit (GWT), logo percebe que a distribuição não funciona em todos os sistemas operacionais. É preciso fazer o download do gwt-linux, gwt-mac ou gwt-windows. Isso porque a distribuição inclui bibliotecas nativas SWT, Mozilla, e scripts para executar a aplicação no modo &#8220;hosted&#8221;, que diferem entre os vários sistemas operacionais. Além disso, a distribuição não inclui scripts para criar um WAR &#8220;deployável&#8221; com a aplicação GWT.</p>
<p>Uma opção ao uso da distribuição do GWT, é o uso de <a href="http://gwt-maven.googlecode.com/svn/docs/maven-googlewebtoolkit2-plugin/index.html" target="_blank">um archetype maven</a> que faz todo o trabalho de gestão das diferenças entres os vários sitemas operacionais, além de oferecer a possibilidade de criar um WAR com uma linha de comando. Para  criar o projeto, basta chamar o archetype:</p>
<p><code><br />
mvn archetype:create -DarchetypeGroupId=com.totsp.gwt \<br />
-DarchetypeArtifactId=maven-googlewebtoolkit2-archetype \<br />
-DarchetypeVersion=1.0.3 \<br />
-DremoteRepositories=http://gwt-maven.googlecode.com/svn/trunk/mavenrepo \<br />
-DgroupId=br.com.dominio \<br />
-DartifactId=app-gwt<br />
</code></p>
<p>Para executar o projeto, use o goal gwt:</p>
<p><code> mvn gwt:gwt</code></p>
<p>Antes de gerar o WAR, é preciso descomentar a linha  &#8220;&lt;!&#8211; &lt;webXml&gt;target/web.xml&lt;/webXml&gt;&#8211;&gt;&#8221; no plugin war e a linha &#8221; &lt;!&#8211;mergewebxml&#8211;&gt;&#8221;  do plugin maven-googlewebtoolkit2-plugin, tudo isso no pom.xml gerado. Isso porque o GWT no modo &#8220;hosted&#8221; utiliza um xml (chamado Application.gwt.xml) para declara configurações client-side E server-side. Caso você esteja utilizando RPC, o plugin maven fará um merge do Application.gwt.xml para um web.xml, migrando todas as declarações de servlet.</p>
<p>E finalmente para gerar o WAR, basta:</p>
<p><code>mvn package</code></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/netsuke.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/netsuke.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/netsuke.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/netsuke.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/netsuke.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/netsuke.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/netsuke.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/netsuke.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/netsuke.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/netsuke.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/netsuke.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/netsuke.wordpress.com/86/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/netsuke.wordpress.com/86/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/netsuke.wordpress.com/86/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=86&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://netsuke.wordpress.com/2009/03/01/build-simples-de-gwt-com-auxilio-de-maven/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d50b9b453b7e007658eced0178aaa2a4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">netsuke</media:title>
		</media:content>

		<media:content url="http://netsuke.files.wordpress.com/2008/09/22px-flag_of_brazilsvg.png" medium="image">
			<media:title type="html">22px-flag_of_brazilsvg</media:title>
		</media:content>
	</item>
		<item>
		<title>Java on the Desktop: still a no go</title>
		<link>http://netsuke.wordpress.com/2008/12/25/java-on-the-desktop-still-a-no-go/</link>
		<comments>http://netsuke.wordpress.com/2008/12/25/java-on-the-desktop-still-a-no-go/#comments</comments>
		<pubDate>Thu, 25 Dec 2008 20:14:02 +0000</pubDate>
		<dc:creator>netsuke</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[JavaFX]]></category>

		<guid isPermaLink="false">http://netsuke.wordpress.com/?p=80</guid>
		<description><![CDATA[After the launch of Java 6 update 10 final, and recently JavaFX 1.0, I decided to take a look on how desktop java was going. I hoped that after the disastrous failures of applets and java web start, Sun would finally get it right, coming up with something that could be a real option to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=80&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-44" title="22px-flag_of_englandsvg" src="http://netsuke.files.wordpress.com/2008/09/22px-flag_of_englandsvg.png?w=22&#038;h=13" alt="22px-flag_of_englandsvg" width="22" height="13" /> After the launch of Java 6 update 10 final, and recently JavaFX 1.0, I decided to take a look on how desktop java was going.</p>
<p>I hoped that after the disastrous failures of applets and java web start, Sun would  finally get it right, coming up with something that could be a real option to Flash and Ajax, something that could allow us, developers, to write and distribute reliable and fast desktop applications using Java on the Internet.</p>
<p>But it seems that I&#8217;ll have to wait some more time <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>I went to javafx.com to see the new demos, and received a very cryptic error whenever I clicked in one of them:</p>
<p><img class="alignnone size-full wp-image-81" title="fx" src="http://netsuke.files.wordpress.com/2008/12/fx.jpg?w=502&#038;h=215" alt="fx" width="502" height="215" /></p>
<p>To solve this, it&#8217;s necessary to go to java console and do some changes in the temporary storage of files (!),  as described <a href="http://forums.sun.com/thread.jspa?threadID=5352990" target="_blank">here</a>.</p>
<p>I don&#8217;t remember having any problems  installing Flash on any operational system, and that includes Linux, Windows, PalmOS, Pocket PC and Symbian, using several browsers such as Internet Explorer, Opera, Firefox, Chrome and Safari.  Flash just works! You go to a page and Flash runs.  If you  don&#8217;t  have Flash, it get installed in a matter of seconds.  It works flawlessly and equally everywhere.</p>
<p>That&#8217;s  why things like YouTube uses Flash.  Because if a user has to figure out how to solve errors like that, he&#8217;ll simply go away.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/netsuke.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/netsuke.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/netsuke.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/netsuke.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/netsuke.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/netsuke.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/netsuke.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/netsuke.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/netsuke.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/netsuke.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/netsuke.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/netsuke.wordpress.com/80/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/netsuke.wordpress.com/80/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/netsuke.wordpress.com/80/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=80&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://netsuke.wordpress.com/2008/12/25/java-on-the-desktop-still-a-no-go/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d50b9b453b7e007658eced0178aaa2a4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">netsuke</media:title>
		</media:content>

		<media:content url="http://netsuke.files.wordpress.com/2008/09/22px-flag_of_englandsvg.png" medium="image">
			<media:title type="html">22px-flag_of_englandsvg</media:title>
		</media:content>

		<media:content url="http://netsuke.files.wordpress.com/2008/12/fx.jpg" medium="image">
			<media:title type="html">fx</media:title>
		</media:content>
	</item>
		<item>
		<title>Extending Confluence using Wicket</title>
		<link>http://netsuke.wordpress.com/2008/11/02/extending-confluence-using-wicket/</link>
		<comments>http://netsuke.wordpress.com/2008/11/02/extending-confluence-using-wicket/#comments</comments>
		<pubDate>Sun, 02 Nov 2008 19:27:49 +0000</pubDate>
		<dc:creator>netsuke</dc:creator>
				<category><![CDATA[confluence]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[wicket]]></category>

		<guid isPermaLink="false">http://netsuke.wordpress.com/?p=64</guid>
		<description><![CDATA[Recently I started to work at two projects in my new job, in one of them doing some plugins to Atlassian Confluence (which is a yet-another-java-based-wiki) and participating on another that uses wicket. In order to add new (visual) functionality to confluence, it&#8217;s common to use XWork to create new actions or replacing the existent [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=64&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://netsuke.files.wordpress.com/2008/09/22px-flag_of_englandsvg.png"><img class="alignnone size-full wp-image-44" title="22px-flag_of_englandsvg" src="http://netsuke.files.wordpress.com/2008/09/22px-flag_of_englandsvg.png?w=22&#038;h=13" alt="" width="22" height="13" /></a> Recently I started to work at two projects in my new job, in one of them doing some plugins to Atlassian Confluence (which is a yet-another-java-based-wiki) and participating on another that uses <a href="http://wicket.apache.org" target="_blank">wicket.</a></p>
<p>In order to add new (visual) functionality to confluence, it&#8217;s common to use <a href="http://www.opensymphony.com/xwork/">XWork</a> to create new actions or replacing the existent actions to add new behavior. I particularly don&#8217;t like Xwork and in one of the moments to avoid boredom in these two projects I decided to somehow try to do wicket development inside confluence. The advantage would be avoiding completely XWork, possibility to use wicket advanced features and possibility to run the feature outside confluence (more testable).</p>
<p>So I started giving a look at the Confluence PDK (Plug in development kit), and see that it was already possible to define a <a href="http://confluence.atlassian.com/display/DOC/Servlet+Plugins" target="_blank">servlet as part of a plugin</a></p>
<p>I then started declaring the wicket servet in <strong>atlassian-plugin.xml</strong>:</p>
<p><a href="http://netsuke.files.wordpress.com/2008/11/xml.jpg"><img class="alignnone size-full wp-image-75" title="xml" src="http://netsuke.files.wordpress.com/2008/11/xml.jpg?w=612&#038;h=156" alt="" width="612" height="156" /></a></p>
<p>And creating the WicketApplication that simply loads my page:<br />
<a href="http://netsuke.files.wordpress.com/2008/11/application1.jpg"><img class="alignnone size-full wp-image-70" title="application1" src="http://netsuke.files.wordpress.com/2008/11/application1.jpg?w=393&#038;h=193" alt="" width="393" height="193" /></a></p>
<p>That will use the Confluence API in order to do a paginated ajax table with the names of the plugins available on confluence.</p>
<p><a href="http://netsuke.files.wordpress.com/2008/11/page.jpg"><img class="alignnone size-full wp-image-71" title="page" src="http://netsuke.files.wordpress.com/2008/11/page.jpg?w=655&#038;h=317" alt="" width="655" height="317" /></a></p>
<p>After that, confluence will load the servlet and will make it available on the /plugins/servlet/sampleplugin/  URL.</p>
<h3>ISSUES</h3>
<p>1. The first problem is that the output will be strictly the page output, without confluence headers and menus. <a href="https://63.246.22.60/browse/CONF-13399" target="_blank">There&#8217;s an issue</a> describing that bug, but while it is not fixed commenting the line 16 in the WEB-INF/decorators.xml in your confluence installation will suffice:</p>
<p>&lt;url-pattern&gt;/plugins/*&lt;/url-pattern&gt;</p>
<p>That line when uncommented tells that for the URLs starting with &#8220;/plugins&#8221;, no decorator will be used. So, It&#8217;s enough to comment it.</p>
<p>2. The second problem is that confluence does not destroys the servlet when the plugin is uninstalled using maven PDK tool. There is <a href="http://jira.atlassian.com/browse/CONF-5598" target="_blank">another issue</a> describing that problem. Basically, wicket creates its session object using one classloader. When the plugin is removed and reinstalled, it&#8217;ll gain another classloader. So nasty ClassCastExcetions occurs on trying to obtain the wicket session. The workaround for now is to restart the server on reinstall of the plugin.</p>
<p>Here we can see the final result: The standard confluence header and footer, and the wicket page in the center.</p>
<p><a href="http://netsuke.files.wordpress.com/2008/11/screen.jpg"><img class="alignnone size-medium wp-image-73" title="screen" src="http://netsuke.files.wordpress.com/2008/11/screen.jpg?w=300&#038;h=176" alt="" width="300" height="176" /></a></p>
<p><a href="http://www.4shared.com/file/69382266/a25de918/wicketplugin.html">Download here</a> the zip file containing the maven project for this example plugin.</p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/netsuke.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/netsuke.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/netsuke.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/netsuke.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/netsuke.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/netsuke.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/netsuke.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/netsuke.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/netsuke.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/netsuke.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/netsuke.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/netsuke.wordpress.com/64/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/netsuke.wordpress.com/64/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/netsuke.wordpress.com/64/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=64&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://netsuke.wordpress.com/2008/11/02/extending-confluence-using-wicket/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d50b9b453b7e007658eced0178aaa2a4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">netsuke</media:title>
		</media:content>

		<media:content url="http://netsuke.files.wordpress.com/2008/09/22px-flag_of_englandsvg.png" medium="image">
			<media:title type="html">22px-flag_of_englandsvg</media:title>
		</media:content>

		<media:content url="http://netsuke.files.wordpress.com/2008/11/xml.jpg" medium="image">
			<media:title type="html">xml</media:title>
		</media:content>

		<media:content url="http://netsuke.files.wordpress.com/2008/11/application1.jpg" medium="image">
			<media:title type="html">application1</media:title>
		</media:content>

		<media:content url="http://netsuke.files.wordpress.com/2008/11/page.jpg" medium="image">
			<media:title type="html">page</media:title>
		</media:content>

		<media:content url="http://netsuke.files.wordpress.com/2008/11/screen.jpg?w=300" medium="image">
			<media:title type="html">screen</media:title>
		</media:content>
	</item>
		<item>
		<title>Encanador italiano</title>
		<link>http://netsuke.wordpress.com/2008/10/22/encanador-italiano/</link>
		<comments>http://netsuke.wordpress.com/2008/10/22/encanador-italiano/#comments</comments>
		<pubDate>Wed, 22 Oct 2008 07:12:10 +0000</pubDate>
		<dc:creator>netsuke</dc:creator>
				<category><![CDATA[Italia]]></category>

		<guid isPermaLink="false">http://netsuke.wordpress.com/?p=57</guid>
		<description><![CDATA[Os irmãos encanadores italianos da Nintendo representados em uma loja no norte de Milão.<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=57&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://netsuke.files.wordpress.com/2008/09/22px-flag_of_brazilsvg.png"><img class="alignnone size-full wp-image-43" title="22px-flag_of_brazilsvg" src="http://netsuke.files.wordpress.com/2008/09/22px-flag_of_brazilsvg.png?w=22&#038;h=15" alt="" width="22" height="15" /></a> Os irmãos encanadores italianos da Nintendo representados em uma loja no norte de Milão.</p>
<p><a href="http://netsuke.files.wordpress.com/2008/10/mario.jpg"><img class="alignnone size-full wp-image-58" title="mario" src="http://netsuke.files.wordpress.com/2008/10/mario.jpg?w=494&#038;h=312" alt="" width="494" height="312" /></a></p>
<br />  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/netsuke.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/netsuke.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/netsuke.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/netsuke.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/netsuke.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/netsuke.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/netsuke.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/netsuke.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/netsuke.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/netsuke.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/netsuke.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/netsuke.wordpress.com/57/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/netsuke.wordpress.com/57/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/netsuke.wordpress.com/57/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=57&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://netsuke.wordpress.com/2008/10/22/encanador-italiano/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d50b9b453b7e007658eced0178aaa2a4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">netsuke</media:title>
		</media:content>

		<media:content url="http://netsuke.files.wordpress.com/2008/09/22px-flag_of_brazilsvg.png" medium="image">
			<media:title type="html">22px-flag_of_brazilsvg</media:title>
		</media:content>

		<media:content url="http://netsuke.files.wordpress.com/2008/10/mario.jpg" medium="image">
			<media:title type="html">mario</media:title>
		</media:content>
	</item>
		<item>
		<title>Reliable Windows Vista partition writing from Linux</title>
		<link>http://netsuke.wordpress.com/2008/09/11/reliable-windows-vista-partition-writing-from-linux/</link>
		<comments>http://netsuke.wordpress.com/2008/09/11/reliable-windows-vista-partition-writing-from-linux/#comments</comments>
		<pubDate>Thu, 11 Sep 2008 09:50:23 +0000</pubDate>
		<dc:creator>netsuke</dc:creator>
				<category><![CDATA[Gentoo Linux]]></category>

		<guid isPermaLink="false">http://netsuke.wordpress.com/?p=51</guid>
		<description><![CDATA[The first thing to do in order to mount a windows vista partition (in a reliable read-write mode) from a Linux, is to add support for FUSE, which means to add support for filesystem in userspace Support for FUSE was added to linux kernel from the 2.6.14 version. To enable it: File systems  ---&#62; &#60;*&#62; [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=51&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://netsuke.files.wordpress.com/2008/09/22px-flag_of_englandsvg.png"><img class="alignnone size-full wp-image-44" title="22px-flag_of_englandsvg" src="http://netsuke.files.wordpress.com/2008/09/22px-flag_of_englandsvg.png?w=22&#038;h=13" alt="" width="22" height="13" /></a> The first thing to do in order to mount a windows vista partition (in a reliable read-write mode) from a Linux, is to add support for <a href="http://fuse.sourceforge.net/" target="_blank">FUSE</a>, which means to add support for <a href="http://en.wikipedia.org/wiki/Filesystem_in_Userspace" target="_blank">filesystem in userspace</a></p>
<p>Support for FUSE was added to linux kernel from the 2.6.14 version. To enable it:<br />
<code>File systems  ---&gt;<br />
&lt;*&gt; Filesystem in Userspace support<br />
</code></p>
<p>After recompiling and booting the kernel, it&#8217;s necessary to install <a href="http://www.ntfs-3g.org/" target="_blank">NTFS-3G</a>. In gentoo linux this means issuing a &#8220;emerge sys-fs/ntfs3g&#8221;</p>
<p>To mount the driver:</p>
<p><code>ntfs-3g /dev/sda2 /mnt/win</code></p>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/netsuke.wordpress.com/51/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/netsuke.wordpress.com/51/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/netsuke.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/netsuke.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/netsuke.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/netsuke.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/netsuke.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/netsuke.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/netsuke.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/netsuke.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/netsuke.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/netsuke.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/netsuke.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/netsuke.wordpress.com/51/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/netsuke.wordpress.com/51/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/netsuke.wordpress.com/51/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=51&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://netsuke.wordpress.com/2008/09/11/reliable-windows-vista-partition-writing-from-linux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d50b9b453b7e007658eced0178aaa2a4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">netsuke</media:title>
		</media:content>

		<media:content url="http://netsuke.files.wordpress.com/2008/09/22px-flag_of_englandsvg.png" medium="image">
			<media:title type="html">22px-flag_of_englandsvg</media:title>
		</media:content>
	</item>
		<item>
		<title>Maven Jetty Plugin and double slashes in the url</title>
		<link>http://netsuke.wordpress.com/2008/08/22/maven-jetty-plugin-and-double-slashes-in-the-url/</link>
		<comments>http://netsuke.wordpress.com/2008/08/22/maven-jetty-plugin-and-double-slashes-in-the-url/#comments</comments>
		<pubDate>Fri, 22 Aug 2008 10:43:31 +0000</pubDate>
		<dc:creator>netsuke</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Maven]]></category>

		<guid isPermaLink="false">http://netsuke.wordpress.com/?p=34</guid>
		<description><![CDATA[The maven jetty plugin is a handy plug-in that allows to run a maven based project that has a web-app inside simply by doing a &#8220;mvn jetty:run&#8221;, without the hassle of creating a WAR and deploy it to somewhere else. It happens that the jetty web server, by default, does not handle URLs that contains [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=34&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Flag_of_England.svg/22px-Flag_of_England.svg.png" alt="English" width="22" height="13" /> The <a href="http://docs.codehaus.org/display/JETTY/Maven+Jetty+Plugin" target="_blank">maven jetty plugin</a> is a handy plug-in that allows to run a maven based project that has a web-app inside simply by doing a &#8220;mvn jetty:run&#8221;, without the hassle of creating a WAR and deploy it to somewhere else.</p>
<p>It happens that the jetty web server, by default, does not handle URLs that contains double slashes &#8220;//&#8221;, that is, calling  http://host/mycontext/media//img/a.gif is not the same as calling http://host/mycontext/media/img/a.gif, and  brings a 404 error (as described in  <a href="http://jira.codehaus.org/browse/JETTY-386">http://jira.codehaus.org/browse/JETTY-386</a>)</p>
<p>To enable url compactation in the jetty through maven plug-in, and thus enabling the same behaviour as tomcat:</p>
<pre>&lt;plugins&gt;
           ...
           &lt;plugin&gt;
                      &lt;groupId&gt;org.mortbay.jetty&lt;/groupId&gt;
                      &lt;artifactId&gt;maven-jetty-plugin&lt;/artifactId&gt;
                      &lt;configuration&gt;
                                &lt;scanIntervalSeconds&gt;10&lt;/scanIntervalSeconds&gt;
                                &lt;connectors&gt;
                                       &lt;connector implementation="org.mortbay.jetty.nio.SelectChannelConnector"&gt;
                                               &lt;port&gt;8080&lt;/port&gt;
                                               &lt;maxIdleTime&gt;60000&lt;/maxIdleTime&gt;
                                       &lt;/connector&gt;
                                &lt;/connectors&gt;
                                &lt;webAppConfig&gt;
                                       &lt;contextPath&gt;/mycontext&lt;/contextPath&gt;
<strong> <strong>                                      &lt;compactPath&gt;true&lt;/compactPath&gt;</strong></strong>
                                &lt;/webAppConfig&gt;
                    &lt;/configuration&gt;
           &lt;/plugin&gt;
           ...
&lt;/plugins&gt;</pre>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/netsuke.wordpress.com/34/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/netsuke.wordpress.com/34/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/netsuke.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/netsuke.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/netsuke.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/netsuke.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/netsuke.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/netsuke.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/netsuke.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/netsuke.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/netsuke.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/netsuke.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/netsuke.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/netsuke.wordpress.com/34/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/netsuke.wordpress.com/34/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/netsuke.wordpress.com/34/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=34&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://netsuke.wordpress.com/2008/08/22/maven-jetty-plugin-and-double-slashes-in-the-url/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d50b9b453b7e007658eced0178aaa2a4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">netsuke</media:title>
		</media:content>

		<media:content url="http://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Flag_of_England.svg/22px-Flag_of_England.svg.png" medium="image">
			<media:title type="html">English</media:title>
		</media:content>
	</item>
		<item>
		<title>Casifying Luntbuild</title>
		<link>http://netsuke.wordpress.com/2008/03/27/casifying-luntbuild/</link>
		<comments>http://netsuke.wordpress.com/2008/03/27/casifying-luntbuild/#comments</comments>
		<pubDate>Thu, 27 Mar 2008 23:27:37 +0000</pubDate>
		<dc:creator>netsuke</dc:creator>
				<category><![CDATA[cas]]></category>
		<category><![CDATA[devware]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[luntbuild]]></category>
		<category><![CDATA[Spring]]></category>

		<guid isPermaLink="false">http://netsuke.wordpress.com/?p=32</guid>
		<description><![CDATA[I&#8217;ve been working a lot lately in devware which is a vmware virtual machine containing a lot of development tools already installed and integrated. The challenge now is to support Single Sign On, so that only one login is necessary to access all the tools and softwares inside (at least the ones that has a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=32&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Flag_of_England.svg/22px-Flag_of_England.svg.png" alt="England" border="0" height="13" hspace="0" vspace="0" width="22" />    I&#8217;ve been working a lot lately in <a href="http://devware.dev.java.net" target="_blank">devware</a> which is a vmware virtual machine containing a lot of development tools already installed and integrated. The challenge now is to support Single Sign On, so that only one login is necessary to access all the tools and softwares inside (at least the ones that has a web interface).</p>
<p>It happens that devware is composed of heterogeneous 3rd party tools, and obviously each one uses a different kind of authentication and security schema.</p>
<p>That&#8217;s where comes to scene <a href="http://www.ja-sig.org/products/cas/" target="_blank">CAS</a> (Central Authentication Service)  a very neat solution for single sign on for the web.</p>
<p><a href="http://luntbuild.javaforge.com/" target="_blank">Luntbuild</a>, which is a great and full featured build automation server is the first software that was &#8220;Casified&#8221;.  Luntbuild, fortunately, was created using <a href="http://www.springframework.com" target="_blank">Spring</a> and <a href="http://www.acegisecurity.org/" target="_blank">Acegi</a>, which in turn supports CAS integration. So, this is how I Casified luntbuild:</p>
<h2>1. Install and make sure that CAS is working</h2>
<p>Install CAS is as hard as drop a WAR inside your favourite web container. The not-so-obvious part are the SSL issues:  you and everyone must access cas using a name, and not and IP, and SSL is obligatory. And you must have a certificate (can be self signed) that reflects this name. After that, make sure that you can login in CAS accessing https://&lt;server&gt;/cas/login.</p>
<h2>2. Make sure luntbuild is installed and running</h2>
<p>The version of luntbuild that I casified was 1.5.5. This process will not work on previous versions, such as 1.3.x ones. Make sure that luntbuild is installed and that it&#8217;s possible to do a login using it&#8217;s own security scheme.</p>
<h2> 3. Changing luntbuild&#8217;s web.xml</h2>
<p>No change is needed!  <img src='http://s0.wp.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' />   luntbuild&#8217;s web.xml declares a filterToBean proxy that allows to make all filtering stuff inside spring&#8217;s application context.</p>
<h2>4. Changing applicationContext.xml</h2>
<p>This is where luntbuild&#8217;s  spring appcontext lies.</p>
<p>Locate the bean &#8220;authenticationManager&#8221; and add to the list (as the first one) the CAS authentication provider:</p>
<pre>&lt;bean id="authenticationManager" class="com.luntsys.luntbuild.security.AuthenticationProviderManager"&gt;
                &lt;property name="providers"&gt;
                        &lt;list&gt;
                                <b>&lt;ref local="casAuthenticationProvider" /&gt;</b>

                                &lt;!-- authentication provider which uses declarative security --&gt;
                                &lt;ref local="inMemoryAuthenticationProvider" /&gt;

                                &lt;!-- authentication provider for remember me --&gt;
                                &lt;ref local="rememberMeAuthenticationProvider" /&gt;

                                &lt;!-- authentication provider which validates users again internal db --&gt;
                                &lt;ref local="luntbuildAuthenticationProvider" /&gt;

                                &lt;!-- authentication provider which validates users again Ldap --&gt;
                                &lt;ref local="ldapAuthenticationProvider" /&gt;
                        &lt;/list&gt;
                &lt;/property&gt;
        &lt;/bean&gt;</pre>
<p>Search and coment the bean id &#8220;exceptionTranslationFilter&#8221;:</p>
<pre>&lt;!--&lt;bean id="exceptionTranslationFilter" class="org.acegisecurity.ui.ExceptionTranslationFilter"&gt;
             &lt;property name="authenticationEntryPoint"&gt;&lt;ref local="authenticationProcessingFilterEntryPoint"/&gt;&lt;/property&gt;
&lt;/bean&gt; --&gt;</pre>
<p>Locate the bean &#8220;filterChainProxy&#8221; and change the URL matching rules to:</p>
<pre>
&lt;bean id="filterChainProxy" class="org.acegisecurity.util.FilterChainProxy"&gt;
     &lt;property name="filterInvocationDefinitionSource"&gt;
        &lt;value&gt;
           <b> PATTERN_TYPE_APACHE_ANT
            /*.do=httpSessionContextIntegrationFilter,casProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor
            /j_acegi_cas_security_check=httpSessionContextIntegrationFilter,casProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor
            /casProxy/receptor=httpSessionContextIntegrationFilter,casProcessingFilter,exceptionTranslationFilter,filterInvocationInterceptor</b>
       &lt;/value&gt;
    &lt;/property&gt;
&lt;/bean&gt;</pre>
<p>And then add the beans of the CASAuthenticationProvider:</p>
<pre>&lt;bean id="casAuthenticationProvider" class="org.acegisecurity.providers.cas.CasAuthenticationProvider"&gt;
               &lt;property name="casAuthoritiesPopulator"&gt;
                        &lt;ref bean="casAuthoritiesPopulator" /&gt;
                &lt;/property&gt;
                &lt;property name="casProxyDecider"&gt;
                        &lt;ref bean="casProxyDecider" /&gt;
                &lt;/property&gt;
                &lt;property name="ticketValidator"&gt;
                        &lt;ref bean="casProxyTicketValidator" /&gt;
                &lt;/property&gt;
                &lt;property name="statelessTicketCache"&gt;
                        &lt;ref bean="statelessTicketCache" /&gt;
                &lt;/property&gt;
                &lt;property name="key"&gt;
                        &lt;value&gt;my_password_for_this_auth_provider_only&lt;/value&gt;
                &lt;/property&gt;
&lt;/bean&gt;

&lt;bean id="casProxyDecider" class="org.acegisecurity.providers.cas.proxy.RejectProxyTickets" /&gt;

&lt;bean id="statelessTicketCache" class="org.acegisecurity.providers.cas.cache.EhCacheBasedTicketCache"&gt;
                &lt;property name="cache"&gt;
                        &lt;ref local="ticketCacheBackend" /&gt;
                &lt;/property&gt;
&lt;/bean&gt;

&lt;bean id="ticketCacheBackend" class="org.springframework.cache.ehcache.EhCacheFactoryBean"&gt;
                &lt;property name="cacheManager"&gt;
                        &lt;ref local="cacheManager" /&gt;
                &lt;/property&gt;
                &lt;property name="cacheName"&gt;
                        &lt;value&gt;ticketCache&lt;/value&gt;
                &lt;/property&gt;
&lt;/bean&gt;
   &lt;bean id="casProxyTicketValidator" class="org.acegisecurity.providers.cas.ticketvalidator.CasProxyTicketValidator"&gt;
                &lt;property name="casValidate"&gt;
                        &lt;value&gt;https://devware/cas/proxyValidate&lt;/value&gt;
                &lt;/property&gt;
                &lt;property name="proxyCallbackUrl"&gt;
                        &lt;value&gt;https://devware/luntbuild/casProxy/receptor&lt;/value&gt;
                &lt;/property&gt;
                &lt;property name="serviceProperties"&gt;
                        &lt;ref bean="serviceProperties" /&gt;
                &lt;/property&gt;
&lt;/bean&gt;

&lt;bean id="casAuthoritiesPopulator" class="com.luntsys.luntbuild.security.LuntbuildCasAuthoritiesPopulator"&gt;
                &lt;property name="authenticationDao"&gt;
                        &lt;ref bean="luntbuildAuthenticationDAO" /&gt;
                &lt;/property&gt;
&lt;/bean&gt;

&lt;bean id="serviceProperties" class="org.acegisecurity.ui.cas.ServiceProperties"&gt;
                &lt;property name="service"&gt;
                        &lt;value&gt;https://devware/luntbuild/j_acegi_cas_security_check&lt;/value&gt;
                &lt;/property&gt;
                &lt;property name="sendRenew"&gt;
                        &lt;value&gt;false&lt;/value&gt;
                &lt;/property&gt;
&lt;/bean&gt;

&lt;bean id="casProcessingFilter" class="org.acegisecurity.ui.cas.CasProcessingFilter"&gt;
                &lt;property name="authenticationManager"&gt;
                        &lt;ref bean="authenticationManager" /&gt;
                &lt;/property&gt;
                &lt;property name="authenticationFailureUrl"&gt;
                        &lt;value&gt;/casfailed.jsp&lt;/value&gt;
                &lt;/property&gt;
                &lt;property name="defaultTargetUrl"&gt;
                        &lt;value&gt;/&lt;/value&gt;
                &lt;/property&gt;
                &lt;property name="filterProcessesUrl"&gt;
                        &lt;value&gt;/j_acegi_cas_security_check&lt;/value&gt;
                &lt;/property&gt;
&lt;/bean&gt;

&lt;bean id="exceptionTranslationFilter" class="org.acegisecurity.ui.ExceptionTranslationFilter"&gt;
                &lt;property name="authenticationEntryPoint"&gt;
                        &lt;ref local="casProcessingFilterEntryPoint" /&gt;
                &lt;/property&gt;
&lt;/bean&gt;

&lt;bean id="casProcessingFilterEntryPoint" class="org.acegisecurity.ui.cas.CasProcessingFilterEntryPoint"&gt;
                &lt;property name="loginUrl"&gt;
                        &lt;value&gt;https://devware/cas/login&lt;/value&gt;
                &lt;/property&gt;
                &lt;property name="serviceProperties"&gt;
                        &lt;ref bean="serviceProperties" /&gt;
                &lt;/property&gt;
&lt;/bean&gt;</pre>
<p>Replace &#8220;https://devware&#8221; with your cas host.</p>
<p>The final piece of the puzzle is the <b>casAuthoritiesPopulator </b>declared above. This is necessary to populate the luntbuild user&#8217;s credentials accordingly after the user has logged on, and to create the user in the luntbuild database it does not exist already, similar to what happens when integration luntbuild with LDAP. I&#8217;ve submitted a <a href="http://www.javaforge.com/issue/7235?navigation=true" target="_blank">patch</a> to luntbuild&#8217;s tracker with this class</p>
<h2><b>5. Final remarks<br />
</b></h2>
<p>After this procedure, if one logins into cas, and after that enters luntbuild, a second login will not be necessary. If someone tries to enter luntbuild  directly, it&#8217;ll redirect to CAS login page. And the same happens with every other applications that is &#8220;Casified&#8221;. Without changing the source code of luntbuild at all (just changing XML and adding one more class), it was possible to change a major application behavior, and that&#8217;s the beauty of spring based projects. They are so decoupled that nearly every aspect of an application instantly becomes an extension point!</p>
<p>And the use of CAS allows to have SSO and not depend on things like proprietary realms, intrusive server configurations, and obscure plugins that are target to a certain version of a certain application server maker. CAS is very portable, the only requisite is an application container that support servlets.</p>
<pre></pre>
<h2></h2>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/netsuke.wordpress.com/32/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/netsuke.wordpress.com/32/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/netsuke.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/netsuke.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/netsuke.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/netsuke.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/netsuke.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/netsuke.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/netsuke.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/netsuke.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/netsuke.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/netsuke.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/netsuke.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/netsuke.wordpress.com/32/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/netsuke.wordpress.com/32/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/netsuke.wordpress.com/32/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=32&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://netsuke.wordpress.com/2008/03/27/casifying-luntbuild/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d50b9b453b7e007658eced0178aaa2a4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">netsuke</media:title>
		</media:content>

		<media:content url="http://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Flag_of_England.svg/22px-Flag_of_England.svg.png" medium="image">
			<media:title type="html">England</media:title>
		</media:content>
	</item>
		<item>
		<title>Gentoo Linux: how to backup to ipod and restore to vmware</title>
		<link>http://netsuke.wordpress.com/2008/03/19/gentoo-linux-how-to-backup-to-ipod-and-restore-to-vmware/</link>
		<comments>http://netsuke.wordpress.com/2008/03/19/gentoo-linux-how-to-backup-to-ipod-and-restore-to-vmware/#comments</comments>
		<pubDate>Wed, 19 Mar 2008 14:34:29 +0000</pubDate>
		<dc:creator>netsuke</dc:creator>
				<category><![CDATA[Gentoo Linux]]></category>

		<guid isPermaLink="false">http://netsuke.wordpress.com/?p=26</guid>
		<description><![CDATA[In this post I&#8217;ll show how to backup bit-by-bit an existing gentoo linux installation to an iPod classic via USB, and how to restore the image to a vmware virtual machine. Why all that? Because iPod classic can be used as a portable hard disk with 160 Gb&#8230; And what better way there is to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=26&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img src="http://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Flag_of_England.svg/22px-Flag_of_England.svg.png" alt="England" border="0" height="13" width="22" />  In this post I&#8217;ll show how to backup bit-by-bit an existing gentoo linux installation to an iPod classic via USB, and how to restore the image to a vmware virtual machine. Why all that? Because iPod classic can be used as a portable hard disk with 160 Gb&#8230; And what better way there is to test a backup than actually run it as if it were the real machine ?  <img src='http://s1.wp.com/wp-includes/images/smilies/icon_wink.gif' alt=';)' class='wp-smiley' /> </p>
<p>What you&#8217;ll need:</p>
<ul>
<li>an Ipod classic 160 Gb, with enough free space</li>
<li>a burned ISO of <a href="http://sourceforge.net/projects/g4l">Ghost for Linux</a> (g4l)</li>
<li>a burned ISO of <a href="http://www.gentoo.org/main/en/where.xml">Gentoo Live CD</a></li>
<li>a running vmware server on another machine.</li>
</ul>
<h2>Prepare the kernel for vmware</h2>
<p>Since the existing physical gentoo installation will run on vmware after the backup, it doesn&#8217;t hurt to enable in the kernel support for the &#8220;hardware&#8221; it&#8217;ll encounter. These are the features that must be enabled on the kernel to support vmware server 1.0.x:</p>
<p>Support for vmware NIC:</p>
<pre>Device Drivers ---&gt;

     [*] Network device support  ---&gt;
        [*]  Ethernet (10 or 100Mbit)  ---&gt;
                 [*]   EISA, VLB, PCI and on board controllers
                 &lt;*&gt;     AMD PCnet32 PCI support</pre>
<p>Support for vmware SCSI:</p>
<pre>Device Drivers ---&gt;
         SCSI device support  ---&gt;
               &lt;*&gt; SCSI disk support
                [*] SCSI low-level drivers  ---&gt;
                      &lt;*&gt;   BusLogic SCSI support</pre>
<h2>Doing the backup</h2>
<p>1. Connect the ipod via USB and boot the gentoo machine with the g4l CD. In the kernel list, choose the latest RELEASED one.</p>
<p>2. After booting, the ipod should be detected as a general USB storage device. In my machine it is seen as /dev/sdb1. To be sure, a simple mount will suffice to discover:</p>
<pre>mount /dev/sdb1  /mnt/local</pre>
<p>3. Type &#8216;g4l&#8217; to enter the &#8216;graphical interface&#8217;. In the main menu, choose &#8220;RAW Mode&#8221;</p>
<p>4. Then choose &#8220;Local use&#8221;</p>
<p>5. In the local use screen, configure the following values:<br />
A: Pick the drive: choose the ipod device, or (X) sdb1<br />
B: Config filename: I&#8217;ve chosen vaio_bkp.img<br />
C: Toogle split: (X) On. This is very important. Ipod is formatted as FAT32 under windows, and does not support files larger than 4Gb<br />
D: Toogle compression: I&#8217;ve chosen (X) None, since I have plenty of free space in my ipod and thus the process can be faster and less cpu intensive<br />
E: Backup: choose the partition on the machine to be backed up, (X) sda4, for example.</p>
<p>After that, G4l will show all the choices made before starting the process:</p>
<p><a href="http://netsuke.files.wordpress.com/2008/03/g4l2.jpg" title="g4l2.jpg"><img src="http://netsuke.files.wordpress.com/2008/03/g4l2.jpg" alt="g4l2.jpg" border="0" /></a></p>
<p>6. Several 1Gb files will be created in the ipod root folder. The backup speed was about 18 Mb/s in my environment, so, to backup 80Gb it took aprox. 70 min.</p>
<h2>Creating the vm</h2>
<p>1. In another machine that has vmware server instaled, create a new virtual machine (File -&gt; New -&gt; Virtual Machine), choose &#8220;custom&#8221; -&gt; &#8220;Linux&#8221; -&gt; &#8220;Other Linux 2.6.x kernel&#8221;, and when prompted for &#8220;I/O Adpater type&#8221; choose &#8220;BusLogic&#8221;. When prompted for &#8220;Disk type&#8221;, choose &#8220;SCSI&#8221;. In the &#8220;Disk capacity&#8221; choose the same size of the partition in the original machine. Keep &#8220;allocate disk now&#8221;  unchecked, to save space. In the vmware server console, add to the virtual machine a USB Controller (menu VM -&gt; Settings) and then &#8220;Add -&gt; USB Controller&#8221;<br />
2. Boot the virtual machine with g4l live CD, with the ipod plugged in. Run &#8220;fdisk&#8221; and make sure that the partition layout is the same of the original gentoo, that is, if the partition was called /dev/sda4 in the source machine, create in the virtual machine the same partition name. Don&#8217;t forget to toggle the bootable flag in this partition.<br />
3. The vm should see the ipod in the USB. If not go to menu VM -&gt; Removable Devices -&gt; USB Devices and mark &#8220;Apple Computer USB Device&#8221;.</p>
<h2>Restoring the backup</h2>
<p>1. In ghost for linux, go to the menus:<br />
RAW Mode -&gt; Local Use<br />
2. Choose the options:<br />
A:  sdb1 (or where the ipod was mounted)<br />
B:  the same name used to backup<br />
C:  Toogle split (On)<br />
D: Toogle compression (None) if  compression was not used<br />
F: Restore: choose the partition created in vmware, matching the original partition name. G4l will show a resume before restoring:</p>
<p><a href="http://netsuke.files.wordpress.com/2008/03/restore.jpg" title="restore.jpg"><img src="http://netsuke.files.wordpress.com/2008/03/restore.jpg" alt="restore.jpg" border="0" /></a></p>
<p>The restore will take longer than the backup, since vmware server 1.0.x still does not support high speed USB (the support is coming in vmware server 2, still in beta stage). In my environment, I could get a 2.4 Mb/s speed.</p>
<h2>Fixing the bootloader</h2>
<p>Now that you have a clone of the physical machine under vmware, chances are that it still not bootable. This may occurs if the partition backed-up was not where the bootloader was installed. In my case, the backup was made from /dev/sda4, and the bootloader was installed in /dev/sda alongside with windows, to enable dual boot. To fix this, boot the virtual machine with gentoo install CD, and install grub again:</p>
<pre># mount the partition
mount /dev/sda4 /mnt/gentoo</pre>
<pre># Remount /dev/ inside the partition
mount -o bind /dev/ /mnt/gentoo/dev

# Chroot into the partition
chroot /mnt/gentoo /bin/bash

# mount proc
mount -t proc proc /proc

# Populate /etc/mtab, so that grub-install does not get angry
cat /proc/mount &gt;&gt; /etc/mtab

# Install grub on the disk
grub-install /dev/sda</pre>
<p>Now the virtual machine is bootable!</p>
<h2>Fixing X and network</h2>
<p>After booting, eth0 is not available, thanks to udev. As the MAC Address of the NIC changed, udev allocates eth1 and wipes eth0. To fix this, simply:</p>
<pre>rm  /etc/udev/rules.d/70-persistent.net.rules</pre>
<p>and reboot the system.</p>
<p>To fix the X server, run the command &#8216;xorgconfig&#8217;. Choose the following options:</p>
<pre>Mouse Protocol:  1
Emulate3Buttons: Y
Mouse device: /dev/input/mouse0
card  database:  choose 30 (vmware)</pre>
<p>And that&#8217;s all! Now we have a perfect running clone of the physical machine, with network and X support, in a relative easy manner.</p>
<pre>
<a href="http://netsuke.files.wordpress.com/2008/03/vmware.jpg" title="vmware"><img src="http://netsuke.files.wordpress.com/2008/03/vmware.thumbnail.jpg" alt="vmware" border="0" /></a></pre>
<br /><img alt="" border="0" src="http://feeds.wordpress.com/1.0/categories/netsuke.wordpress.com/26/" /> <img alt="" border="0" src="http://feeds.wordpress.com/1.0/tags/netsuke.wordpress.com/26/" /> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/netsuke.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/netsuke.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/netsuke.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/netsuke.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/netsuke.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/netsuke.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/netsuke.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/netsuke.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/netsuke.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/netsuke.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/netsuke.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/netsuke.wordpress.com/26/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/netsuke.wordpress.com/26/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/netsuke.wordpress.com/26/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=netsuke.wordpress.com&amp;blog=1157434&amp;post=26&amp;subd=netsuke&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://netsuke.wordpress.com/2008/03/19/gentoo-linux-how-to-backup-to-ipod-and-restore-to-vmware/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
	
		<media:content url="http://1.gravatar.com/avatar/d50b9b453b7e007658eced0178aaa2a4?s=96&#38;d=identicon&#38;r=G" medium="image">
			<media:title type="html">netsuke</media:title>
		</media:content>

		<media:content url="http://upload.wikimedia.org/wikipedia/commons/thumb/b/be/Flag_of_England.svg/22px-Flag_of_England.svg.png" medium="image">
			<media:title type="html">England</media:title>
		</media:content>

		<media:content url="http://netsuke.files.wordpress.com/2008/03/g4l2.jpg" medium="image">
			<media:title type="html">g4l2.jpg</media:title>
		</media:content>

		<media:content url="http://netsuke.files.wordpress.com/2008/03/restore.jpg" medium="image">
			<media:title type="html">restore.jpg</media:title>
		</media:content>

		<media:content url="http://netsuke.files.wordpress.com/2008/03/vmware.thumbnail.jpg" medium="image">
			<media:title type="html">vmware</media:title>
		</media:content>
	</item>
	</channel>
</rss>
