<?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/"
	>

<channel>
	<title>Maudrit</title>
	<atom:link href="http://maudrit.com/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://maudrit.com</link>
	<description>Thoughts on Software Architecture and Agile Software Development</description>
	<pubDate>Fri, 16 Apr 2010 19:09:22 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Contributing to extend the reach of Agile</title>
		<link>http://maudrit.com/?p=273</link>
		<comments>http://maudrit.com/?p=273#comments</comments>
		<pubDate>Mon, 05 Apr 2010 00:00:18 +0000</pubDate>
		<dc:creator>maudrit</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://maudrit.com/?p=273</guid>
		<description><![CDATA[Below is Spanish translation of the Manifesto for Agile Software Development. Text contributed to http://agilemanifesto.org
&#8212;
Manifesto de Desarrollo  Ágil de Software
Estamos descubriendo mejores formas de desarrollar software, haciéndolo y ayudando a otros a hacerlo. Mediante este trabajo hemos aprendido a valorizar:
Individuos e interacciones sobre procesos y herramientas
Software funcionando sobre documentación exhaustiva
Colaborar con clientes sobre negociación de [...]]]></description>
			<content:encoded><![CDATA[<p>Below is Spanish translation of the Manifesto for Agile Software Development. Text contributed to http://agilemanifesto.org</p>
<p>&#8212;</p>
<p><strong>Manifesto de Desarrollo  Ágil de Software</strong><br />
Estamos descubriendo mejores formas de desarrollar software, haciéndolo y ayudando a otros a hacerlo. Mediante este trabajo hemos aprendido a valorizar:</p>
<p>Individuos e interacciones sobre procesos y herramientas<br />
Software funcionando sobre documentación exhaustiva<br />
Colaborar con clientes sobre negociación de contratos<br />
Responder a cambios sobre seguir un plan</p>
<p>Aún cuando hay valor en los elementos listados a la derecha, nosotros valóranos más los elementos de la izquierda.</p>
<p>Kent Beck<br />
Mike Beedle<br />
Arie van Bennekum<br />
Alistair Cockburn<br />
Ward Cunningham<br />
Martin Fowler<br />
James Grenning<br />
Jim Highsmith<br />
Andrew Hunt<br />
Ron Jeffries<br />
Jon Kern<br />
Brian Marick<br />
Robert C. Martin<br />
Steve Mellor<br />
Ken Schwaber<br />
Jeff Sutherland<br />
Dave Thomas</p>
<p>© 2001, the above authors this declaration may be freely copied in any form, but only in its entirety through this notice.</p>
<p>Translation by Maudrit Martínez</p>
]]></content:encoded>
			<wfw:commentRss>http://maudrit.com/?feed=rss2&amp;p=273</wfw:commentRss>
		</item>
		<item>
		<title>What was GOOD DESIGN?</title>
		<link>http://maudrit.com/?p=268</link>
		<comments>http://maudrit.com/?p=268#comments</comments>
		<pubDate>Tue, 16 Mar 2010 02:01:26 +0000</pubDate>
		<dc:creator>maudrit</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://maudrit.com/?p=268</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<div id="attachment_267" class="wp-caption aligncenter" style="width: 510px"><img class="size-full wp-image-267" title="dsc09849" src="http://maudrit.com/wp-content/uploads/2010/03/dsc09849.jpg" alt="Sign at the Museum of Modern Art (MoMA)" width="500" height="375" /><p class="wp-caption-text">Sign at the Museum of Modern Art (MoMA)</p></div>
]]></content:encoded>
			<wfw:commentRss>http://maudrit.com/?feed=rss2&amp;p=268</wfw:commentRss>
		</item>
		<item>
		<title>Google Technology RoundTable: Map Reduce</title>
		<link>http://maudrit.com/?p=260</link>
		<comments>http://maudrit.com/?p=260#comments</comments>
		<pubDate>Fri, 19 Feb 2010 17:14:18 +0000</pubDate>
		<dc:creator>maudrit</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://maudrit.com/?p=260</guid>
		<description><![CDATA[
]]></description>
			<content:encoded><![CDATA[<p><object width="425" height="344" data="http://www.youtube.com/v/NXCIItzkn3E&amp;hl=en_US&amp;fs=1&amp;" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/NXCIItzkn3E&amp;hl=en_US&amp;fs=1&amp;" /><param name="allowfullscreen" value="true" /></object></p>
]]></content:encoded>
			<wfw:commentRss>http://maudrit.com/?feed=rss2&amp;p=260</wfw:commentRss>
		</item>
		<item>
		<title>Presenting at SpringOne 2GX 2009</title>
		<link>http://maudrit.com/?p=235</link>
		<comments>http://maudrit.com/?p=235#comments</comments>
		<pubDate>Sun, 20 Sep 2009 01:36:28 +0000</pubDate>
		<dc:creator>maudrit</dc:creator>
		
		<category><![CDATA[Conferences]]></category>

		<guid isPermaLink="false">http://maudrit.com/?p=235</guid>
		<description><![CDATA[
I&#8217;ll be presenting at SpringOne 2GX 2009. Session title is “Speeding Delivery and Boosting Quality with Reusable and Industrialized Architectures”, there I will be providing an overview of the latest updates and additions to the Accenture Delivery Architecture, making emphasis on the Accenture Foundation Platform for JavaTM.
See you in New Orleans!
]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-238" title="springone2gx-logo_small1" src="http://maudrit.com/wp-content/uploads/2009/09/springone2gx-logo_small1.png" alt="springone2gx-logo_small1" width="252" height="69" /></p>
<p>I&#8217;ll be presenting at <a href="http://www.springone2gx.com/conference/new_orleans/2009/10/session?id=16470" target="_blank">SpringOne 2GX</a> 2009. Session title is “Speeding Delivery and Boosting Quality with Reusable and Industrialized Architectures”, there I will be providing an overview of the latest updates and additions to the Accenture Delivery Architecture, making emphasis on the Accenture Foundation Platform for Java<sup>TM</sup>.</p>
<p>See you in New Orleans!</p>
]]></content:encoded>
			<wfw:commentRss>http://maudrit.com/?feed=rss2&amp;p=235</wfw:commentRss>
		</item>
		<item>
		<title>The fastest, most powerfull iPhone yet</title>
		<link>http://maudrit.com/?p=211</link>
		<comments>http://maudrit.com/?p=211#comments</comments>
		<pubDate>Mon, 08 Jun 2009 23:55:43 +0000</pubDate>
		<dc:creator>maudrit</dc:creator>
		
		<category><![CDATA[Apple]]></category>

		<guid isPermaLink="false">http://maudrit.com/?p=211</guid>
		<description><![CDATA[
Apple ended today the wave of speculations and rumors about the next generation of iPhone with the unveiling of the new iPhone 3G (S) at WWDC 09. The new iPhone 3G (S) closed the gap currently present on the iPhone platform with the instruction of long expected features like Faster Overall Performance, Video Recording, better [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-212" title="iphone-3gs" src="http://maudrit.com/wp-content/uploads/2009/06/iphone-3gs.jpg" alt="iphone-3gs" width="600" height="295" /></p>
<p>Apple ended today the wave of speculations and rumors about the next generation of iPhone with the unveiling of the new iPhone 3G (S) at WWDC 09. The new iPhone 3G (S) closed the gap currently present on the iPhone platform with the instruction of long expected features like Faster Overall Performance, Video Recording, better Camera, cut/copy/paste and landscape keyboard (features present in some of iPhone competitors). Unfortunately Tethering, one of the best features added to the new platform, won’t be immediately available to the US market due to registrations imposed by AT&amp;T.</p>
<p>In summary iPhone is still the most advance mobile platform on the market; and the combination of a great product and an aggressive cut in prices should keep it as the dominant platform for the now.</p>
]]></content:encoded>
			<wfw:commentRss>http://maudrit.com/?feed=rss2&amp;p=211</wfw:commentRss>
		</item>
		<item>
		<title>Ready for JavaOne 2009</title>
		<link>http://maudrit.com/?p=207</link>
		<comments>http://maudrit.com/?p=207#comments</comments>
		<pubDate>Fri, 29 May 2009 17:51:19 +0000</pubDate>
		<dc:creator>maudrit</dc:creator>
		
		<category><![CDATA[Conferences]]></category>

		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">http://maudrit.com/?p=207</guid>
		<description><![CDATA[It should be an interesting and different JavaOne this year. I’m looking forward to the sessions and interaction with other people, but more than that, I’m looking forward to understand how the Java Community is taking the acquisition of Sun by Oracle.
This year the state economy will play an important role, the Early Bird was [...]]]></description>
			<content:encoded><![CDATA[<p>It should be an interesting and different JavaOne this year. I’m looking forward to the sessions and interaction with other people, but more than that, I’m looking forward to understand how the Java Community is taking the acquisition of Sun by Oracle.<br />
This year the state economy will play an important role, the Early Bird was pretty much extended until the initial day of conference which is possible indication of low or moderate number of attendance.<br />
I will be blogging, twitting and publishing pictures as the conference progress.</p>
<p><img class="aligncenter size-full wp-image-215" title="javaone2009" src="http://maudrit.com/wp-content/uploads/2009/05/javaone2009.jpg" alt="javaone2009" width="600" height="339" /></p>
]]></content:encoded>
			<wfw:commentRss>http://maudrit.com/?feed=rss2&amp;p=207</wfw:commentRss>
		</item>
		<item>
		<title>Collaborative Coding and Team Tooling in Eclipse</title>
		<link>http://maudrit.com/?p=192</link>
		<comments>http://maudrit.com/?p=192#comments</comments>
		<pubDate>Fri, 13 Mar 2009 04:20:06 +0000</pubDate>
		<dc:creator>maudrit</dc:creator>
		
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://maudrit.com/?p=192</guid>
		<description><![CDATA[Eclipse Communication Framework Project is taking Peer Programming to the next level.

Copyright: All rights reserved by creator.
]]></description>
			<content:encoded><![CDATA[<p>Eclipse Communication Framework Project is taking Peer Programming to the next level.</p>
<p style="text-align: center;"><object width="480" height="385" data="http://www.youtube.com/v/GfeUCT-tRJQ&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/GfeUCT-tRJQ&amp;hl=en&amp;fs=1" /><param name="allowfullscreen" value="true" /></object></p>
<p style="text-align: center;">Copyright: All rights reserved by creator.</p>
]]></content:encoded>
			<wfw:commentRss>http://maudrit.com/?feed=rss2&amp;p=192</wfw:commentRss>
		</item>
		<item>
		<title>DWR / Spring MVC Quick Start</title>
		<link>http://maudrit.com/?p=148</link>
		<comments>http://maudrit.com/?p=148#comments</comments>
		<pubDate>Mon, 09 Mar 2009 04:05:16 +0000</pubDate>
		<dc:creator>maudrit</dc:creator>
		
		<category><![CDATA[Java]]></category>

		<category><![CDATA[Quick Start]]></category>

		<guid isPermaLink="false">http://maudrit.com/?p=148</guid>
		<description><![CDATA[Direct Web Remoting (DWR) is a popular option for enabling Ajax support on Java based applications. This post illustrates the minimum configuration need to use DWR on a Spring MVC based application.
Configuring DWR
Add dependencies to pom.xml:
DWR has a very small foot print from the dependencies point of view. In order to use DWR you need [...]]]></description>
			<content:encoded><![CDATA[<p>Direct Web Remoting (DWR) is a popular option for enabling Ajax support on Java based applications. This post illustrates the minimum configuration need to use DWR on a Spring MVC based application.</p>
<h3>Configuring DWR</h3>
<p><strong>Add dependencies to pom.xml:</strong><br />
DWR has a very small foot print from the dependencies point of view. In order to use DWR you need to add the dwr.jar on your classpath. The following code snippet illustrates how this is done using Maven.</p>
<pre name="code" class="xml">

...
&lt;dependency&gt;
&lt;groupId&gt;org.springframework&lt;/groupId&gt;
&lt;artifactId&gt;spring&lt;/artifactId&gt;
&lt;version&gt;2.5.6&lt;/version&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;org.springframework&lt;/groupId&gt;
&lt;artifactId&gt;spring-webmvc&lt;/artifactId&gt;
&lt;version&gt;2.5.6&lt;/version&gt;
&lt;/dependency&gt;
&lt;dependency&gt;
&lt;groupId&gt;org.directwebremoting&lt;/groupId&gt;
&lt;artifactId&gt;dwr&lt;/artifactId&gt;
&lt;version&gt;2.0.5&lt;/version&gt;
&lt;/dependency&gt;
...
</pre>
<p><strong>Configure web.xml:</strong><br />
DWR offers out-of-the-box integration with Spring MVC. The following servlet must be added to the web.xml.</p>
<pre name="code" class="xml">

...
&lt;!-- DWR Controller, handle all DWR requests --&gt;
&lt;servlet&gt;
&lt;servlet-name&gt;dwr&lt;/servlet-name&gt;
&lt;servlet-class&gt;
org.directwebremoting.spring.DwrSpringServlet
&lt;/servlet-class&gt;
&lt;init-param&gt;
&lt;param-name&gt;debug&lt;/param-name&gt;
&lt;param-value&gt;true&lt;/param-value&gt;
&lt;/init-param&gt;
&lt;/servlet&gt;

&lt;servlet-mapping&gt;
&lt;servlet-name&gt;dwr&lt;/servlet-name&gt;
&lt;url-pattern&gt;/dwr/*&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;
...
</pre>
<p><strong>Create and configure dwr-servlet.xml:</strong><br />
As indicated by Spring MVC standards you must create a mapping for each Servlet. The following code provides the configuration for the dwr-servlet.xml.</p>
<pre name="code" class="xml">

&lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:p=&quot;http://www.springframework.org/schema/p&quot;
xmlns:context=&quot;http://www.springframework.org/schema/context&quot;
xmlns:dwr=&quot;http://www.directwebremoting.org/schema/spring-dwr&quot;
xsi:schemaLocation=&quot;
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.directwebremoting.org/schema/spring-dwr
http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd&quot;&gt;

&lt;bean class=&quot;org.springframework.web.servlet.handler.SimpleUrlHandlerMapping&quot;&gt;
&lt;property name=&quot;alwaysUseFullPath&quot; value=&quot;false&quot; /&gt;
&lt;property name=&quot;mappings&quot;&gt;
&lt;props&gt;
&lt;prop key=&quot;*&quot;&gt;dwrController&lt;/prop&gt;
&lt;/props&gt;
&lt;/property&gt;
&lt;/bean&gt;

&lt;dwr:controller id=&quot;dwrController&quot; debug=&quot;true&quot; /&gt;

&lt;/beans&gt;
</pre>
<p><strong>Create DwrFacede:</strong><br />
For the purpose of this sample we are illustrating how to retrieve an user using DWR. It is recommended to create a Façade to consolidate all the methods exposed using DWR, this will facilitate the management and mapping tasks.</p>
<pre name="code" class="java">

public interface DwrFacade {

User findUser(String login);

}
</pre>
<p><strong>Create and configure dwrContext.xml:</strong><br />
It is a good practice to keep all DWR definition in a separate context file. On this file two important definitions need to be provided. &lt;dwr:configuration&gt;  indicate how DWR will marshal any custom type (i.e. User.java); DWR is pre-configured to handle Java types likes Long, String, etc… so no need to define those here. The other important part of the configuration is the declaration of which methods are going to be available for remote calls, for example: &lt;dwr:include method=&#8221;findUser&#8221; /&gt;.</p>
<pre name="code" class="xml">

&lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot; xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot; xmlns:p=&quot;http://www.springframework.org/schema/p&quot; xmlns:context=&quot;http://www.springframework.org/schema/context&quot; xmlns:aop=&quot;http://www.springframework.org/schema/aop&quot; xmlns:dwr=&quot;http://www.directwebremoting.org/schema/spring-dwr&quot;
xsi:schemaLocation=&quot;
http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.5.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context-2.5.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop-2.5.xsd
http://www.directwebremoting.org/schema/spring-dwr
http://www.directwebremoting.org/schema/spring-dwr-2.0.xsd&quot;&gt;

&lt;dwr:configuration&gt;
&lt;dwr:convert type=&quot;bean&quot; class=&quot;org.maudrit.quickstart.User&quot;/&gt;
&lt;/dwr:configuration&gt;

&lt;bean name=&quot;dwrFacade&quot; class=&quot;org.maudrit.quickstart.DwrFacadeImpl&quot;&gt;
&lt;dwr:remote javascript=&quot;dwrFacade&quot;&gt;
&lt;dwr:include method=&quot;findUser&quot; /&gt;
&lt;/dwr:remote&gt;
&lt;aop:scoped-proxy proxy-target-class=&quot;false&quot; /&gt;
&lt;/bean&gt;

&lt;/beans&gt;
</pre>
<p><strong>Configure applicationContext.xml:</strong><br />
On this sample, applicationContext.xml is the file initially loaded by Spring; since all dwr related definitions are on the dwrContext.xml, this file needs to be imported on the applicationContext.</p>
<pre name="code" class="xml">

...

&lt;import resource=&quot;dwrContext.xml&quot;/&gt;

...
</pre>
<p><strong>Executing the sample:</strong><br />
Open a web browser and go the following URL http://[server]:[port]/quickstart-dwr-spring-mvc</p>
<p>Download a complete fully functional copy of the source <a href="http://maudrit.com/download/quickstart/quickstart-dwr-spring-mvc.zip" target="_blank">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://maudrit.com/?feed=rss2&amp;p=148</wfw:commentRss>
		</item>
		<item>
		<title>Raising the bar</title>
		<link>http://maudrit.com/?p=140</link>
		<comments>http://maudrit.com/?p=140#comments</comments>
		<pubDate>Sun, 08 Mar 2009 01:49:40 +0000</pubDate>
		<dc:creator>maudrit</dc:creator>
		
		<category><![CDATA[Random Thoughts]]></category>

		<guid isPermaLink="false">http://maudrit.com/?p=140</guid>
		<description><![CDATA[Well-crafted software by a community of professionals is the main message of the Manifesto Software Craftsmanship.
As software become a commodity and the number of people writing software significantly increase, the need for ethic and professional values in the software community become more important than ever. Hopefully this great initiative by Robert C. Martin will make [...]]]></description>
			<content:encoded><![CDATA[<p>Well-crafted software by a community of professionals is the main message of the <a href="http://manifesto.softwarecraftsmanship.org" target="_blank">Manifesto Software Craftsmanship</a>.</p>
<p>As software become a commodity and the number of people writing software significantly increase, the need for ethic and professional values in the software community become more important than ever. Hopefully this great initiative by Robert C. Martin will make people re-think what been a software professional means bringing even higher standards to the industry.</p>
<p><a href="http://manifesto.softwarecraftsmanship.org/" target="_blank">Join us</a>!,&#8230; Resistance is futile you will be assimilated.</p>
]]></content:encoded>
			<wfw:commentRss>http://maudrit.com/?feed=rss2&amp;p=140</wfw:commentRss>
		</item>
		<item>
		<title>The side effect of Test-Driven Design</title>
		<link>http://maudrit.com/?p=133</link>
		<comments>http://maudrit.com/?p=133#comments</comments>
		<pubDate>Sat, 07 Mar 2009 05:54:17 +0000</pubDate>
		<dc:creator>maudrit</dc:creator>
		
		<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://maudrit.com/?p=133</guid>
		<description><![CDATA[Unit testing is an integral part of modern software development; it is difficult to imagine building reliable software in a cost effective way without the use of this valuable technique.
Most developers produce some kind of unit test script immediately after the creation of a component as a verification mechanism; approach that work pretty well most [...]]]></description>
			<content:encoded><![CDATA[<p>Unit testing is an integral part of modern software development; it is difficult to imagine building reliable software in a cost effective way without the use of this valuable technique.</p>
<p>Most developers produce some kind of unit test script immediately after the creation of a component as a verification mechanism; approach that work pretty well most scenarios. But, working in this fashion don’t allow us to fully take advantage of all the benefits unit testing may bring, due to the fact that the test is only used as a verification and not as a tool to assist the developer in the understanding of the problem to be solved.</p>
<p>Test-driven design (TDD) calls for the creation of tests prior the implementation of the components. TDD considers testing an integral part of the detail technical design. Developing tests first (before producing any significant production code) helps in the understanding of the responsibilities and scenarios related to a component, inevitably improving the overall quality of the design.</p>
<blockquote><p>&#8220;If it&#8217;s worth building, it&#8217;s worth testing. If it&#8217;s not worth testing, why are you wasting your time working on it?&#8221; - Scott W. Ambler</p></blockquote>
<p>A test has multiple purposes, it provides a verification mechanism, it helps to identify refactories opportunities and also serves as an important part of the documentation of the component by illustrating the different conditions and scenarios handle by it.</p>
<p>Automation is a key part of good testing. Performing manual testing is not only unreliable but expensive and time consuming. Adopt tools that allow the automation of unit testing, integration testing and regression testing. Measure progress by introducing test converge tools to the build cycle to ensure the effectiveness of the test effort, but more important learn and understand what the metrics mean and take appropriate actions to achieve expected results.</p>
<p>All tests produced by a development organization should be considered an asset. Automated tests act as a safety net, providing a reliable way to introduce new features and changes to any code base in a cost effective way.</p>
<p>Thoughts?</p>
]]></content:encoded>
			<wfw:commentRss>http://maudrit.com/?feed=rss2&amp;p=133</wfw:commentRss>
		</item>
	</channel>
</rss>
