<?xml version="1.0" encoding="UTF-8"?>
<feed xml:lang="en-US" xmlns="http://www.w3.org/2005/Atom">
  <title>From Down &amp;amp; Around, Inc. - All Categories</title>
  <id>tag:weblog.fdar.com,2008:mephisto/</id>
  <generator uri="http://mephistoblog.com" version="0.7.3">Mephisto Noh-Varr</generator>
  <link href="http://weblog.fdar.com/feed/atom.xml" rel="self" type="application/atom+xml"/>
  <link href="http://weblog.fdar.com/" rel="alternate" type="text/html"/>
  <updated>2008-06-24T12:47:53Z</updated>
  <entry xml:base="http://weblog.fdar.com/">
    <author>
      <name>roughley</name>
    </author>
    <id>tag:weblog.fdar.com,2008-06-24:14</id>
    <published>2008-06-24T12:00:00Z</published>
    <updated>2008-06-24T12:47:53Z</updated>
    <category term="Agile"/>
    <category term="Programming"/>
    <link href="http://weblog.fdar.com/2008/6/24/code-review-vs-pair-programming" rel="alternate" type="text/html"/>
    <title>Code Review vs. Pair Programming</title>
<summary type="html">One of the most common issues I hear about allowing developers to pair program is that there are two people doing the job of one.  But if your goal is to create quality code that reduces the cost of maintenance and adding new features - pair programming may be worth a second look and not the loss of productivity it is believed to be.</summary><content type="html">
            One of the most common issues I hear about allowing developers to pair program is that there are two people doing the job of one.  But if your goal is to create quality code that reduces the cost of maintenance and adding new features - pair programming may be worth a second look and not the loss of productivity it is believed to be.
&lt;p&gt;
One of the most common issues I hear about allowing developers to pair program is that there are two people doing the job of one.  I have to admit here that I have not been in the situation of being able to do much pair programming, but when I have I've found the experience to be very rewarding, and lately have been asking myself whether pair programming allows developments tasks to proceed faster than if a developer was assigned the task alone.
&lt;/p&gt;

&lt;p&gt;
For most companies, the alternative to pair programming is code reviews.  When using code reviews, a developer has (or creates) a design and goes about the task of implementing the design.  After the task is finished, the programmer meets with one or more of his peers for a review of the code.
&lt;/p&gt;

&lt;p&gt;
The problems I see with code reviews are:
&lt;ul&gt;
&lt;li&gt;The design of the program elements or bug is at a high level&lt;/li&gt;
&lt;li&gt;The implementation of the design could takes days, weeks or months (depending on how agile the company is) and during this time the design of the program element usually changes&lt;/li&gt;
&lt;li&gt;The new design elements may not (and usually have not) been reviewed or discussed&lt;/li&gt;
&lt;li&gt;The code reviewer generally neither has the time or the seniority (or perhaps even respect) to require that the changes specified are made&lt;/li&gt;
&lt;li&gt;The code reviewer usually does not understand the problem context as well as the developer, and can miss potential problems the code review is designed to find&lt;/li&gt;
&lt;/ul&gt;
&lt;/p&gt;

&lt;p&gt;
This leads to a scenario where two thing's can occur: the currently implementation is kept, decreasing the quality of the code base (and increasing maintenance costs) to avoid the additional time to fix the problem correctly (usually due to project schedule deadlines); or the changes are implemented, and depending on the extend of the code modified, the implementation time for the feature or bug extended (sometimes significantly).
&lt;/p&gt;

&lt;p&gt;
So how would pair programming make this different?  First, the code is under constant review - each program element and design decision would be discussed at the point that it became relevant.  Additionally, and more important to ensure the code developed solves the intended problem, each developer would know the context of the problem space.  Developers also work with each other to answer development questions, ensure code quality, tests are developed, and standards and development processes are followed correctly.   
&lt;/p&gt;

&lt;p&gt;
Which is best for your company?  I think that depends on many factors, but if your goal is to create quality code that reduces the cost of maintenance and adding new features - pair programming may be worth a second look and not the loss of productivity it is believed to be. 
&lt;/p&gt;
          </content>  </entry>
  <entry xml:base="http://weblog.fdar.com/">
    <author>
      <name>roughley</name>
    </author>
    <id>tag:weblog.fdar.com,2008-04-16:6</id>
    <published>2008-04-16T22:25:00Z</published>
    <updated>2008-06-02T22:33:01Z</updated>
    <category term="News"/>
    <link href="http://weblog.fdar.com/2008/4/16/struts2-at-javaone" rel="alternate" type="text/html"/>
    <title>Struts2 at JavaOne</title>
<summary type="html">Join us Wednesday May 7th at JavaOne, as we present 'Hands on Struts2' - a guide to all the features you need to create applications.</summary><content type="html">
            Join us Wednesday May 7th at JavaOne, as we present 'Hands on Struts2' - a guide to all the features you need to create applications.
Join us Wednesday May 7th at JavaOne, as we present 'Hands on Struts2'.  This presentation will provide a guide to all the features you need to create applications using Struts2.  After starting off with an overview of the framework elements and architecture, we'll take a look at validation, data conversion, master-detail forms, Spring framework integration, page templating and Ajax options.
          </content>  </entry>
  <entry xml:base="http://weblog.fdar.com/">
    <author>
      <name>roughley</name>
    </author>
    <id>tag:weblog.fdar.com,2007-11-01:7</id>
    <published>2007-11-01T22:00:00Z</published>
    <updated>2007-11-01T22:00:00Z</updated>
    <category term="News"/>
    <link href="http://weblog.fdar.com/2007/11/1/javapolis-2007" rel="alternate" type="text/html"/>
    <title>Javapolis 2007</title>
<summary type="html">December 10-14: Antwerp, Belgium. Join us as we present a university session dedicated to Struts2.</summary><content type="html">
            December 10-14: Antwerp, Belgium. Join us as we present a university session dedicated to Struts2.

Join us at Javapolis as we present a university session dedicated to Struts2.  During this 3 hr session we'll explore Struts2 through a variety of levels.  We'll start from the very beginning - by creating a new Struts2 project using Maven2 - and look at the core elements that make up a Struts2 application.  From there you'll see first hand how to modify these elements to create a simple application.  In the second half, we'll look at the more advanced features - validation, master-detail forms, security options, page templating options and how to integrate Ajax into your Struts2 application.
          </content>  </entry>
  <entry xml:base="http://weblog.fdar.com/">
    <author>
      <name>roughley</name>
    </author>
    <id>tag:weblog.fdar.com,2007-10-28:8</id>
    <published>2007-10-28T22:00:00Z</published>
    <updated>2008-06-03T02:25:28Z</updated>
    <category term="News"/>
    <link href="http://weblog.fdar.com/2007/10/28/practical-apache-struts2-web-2-0-projects" rel="alternate" type="text/html"/>
    <title>Practical Apache Struts2 Web 2.0 Projects</title>
<summary type="html">November 2007  I am pleased to announce the release of 'Practical Apache Struts2 Web 2.0 Projects'. The goal of this book is to provide an introduction and practical guide to developing applications using Struts2.</summary><content type="html">
            November 2007  I am pleased to announce the release of 'Practical Apache Struts2 Web 2.0 Projects'. The goal of this book is to provide an introduction and practical guide to developing applications using Struts2.
I am pleased to announce the release of 'Practical Apache Struts2 Web 2.0 Projects'. 

Rather than a reference guide, my goal for this book is to provide an introduction and practical guide to developing applications using Struts2.  This is achieved by developing a Web 2.0 application from scratch, showing how to use a different feature of Struts2 in every chapter.  Some of the more advanced features covered are integrating Ajax features,
          </content>  </entry>
  <entry xml:base="http://weblog.fdar.com/">
    <author>
      <name>roughley</name>
    </author>
    <id>tag:weblog.fdar.com,2007-10-07:9</id>
    <published>2007-10-07T22:00:00Z</published>
    <updated>2008-06-03T02:26:02Z</updated>
    <category term="News"/>
    <link href="http://weblog.fdar.com/2007/10/7/java-brazil-2007" rel="alternate" type="text/html"/>
    <title>Java Brazil 2007</title>
<summary type="html">Join us at &lt;a href=&quot;http://www.javabrasil.org/&quot;&gt;Java Brazil 2007&lt;/a&gt; to learn all about Struts2. We will be presenting several talks, including &quot;Hands On Struts2&quot;, &quot;Web 2.0 with Struts 2.0&quot; and &quot;Best Practices and Performance Tuning Struts2&quot;. For those interested in a hands-on experience, we will be conducting an intensive 1 day workshop on Struts2 in conjunction with &lt;a href=&quot;http://www.fratech.net/&quot;&gt;Fratech&lt;/a&gt;.</summary><content type="html">
            Join us at &lt;a href=&quot;http://www.javabrasil.org/&quot;&gt;Java Brazil 2007&lt;/a&gt; to learn all about Struts2. We will be presenting several talks, including &quot;Hands On Struts2&quot;, &quot;Web 2.0 with Struts 2.0&quot; and &quot;Best Practices and Performance Tuning Struts2&quot;. For those interested in a hands-on experience, we will be conducting an intensive 1 day workshop on Struts2 in conjunction with &lt;a href=&quot;http://www.fratech.net/&quot;&gt;Fratech&lt;/a&gt;.
Join us at &lt;a href=&quot;http://www.javabrasil.org/&quot;&gt;Java Brazil 2007&lt;/a&gt; to learn all about Struts2. We will be presenting several talks, including &quot;Hands On Struts2&quot;, &quot;Web 2.0 with Struts 2.0&quot; and &quot;Best Practices and Performance Tuning Struts2&quot;. For those interested in a hands-on experience, we will be conducting an intensive 1 day workshop on Struts2 in conjunction with &lt;a href=&quot;http://www.fratech.net/&quot;&gt;Fratech&lt;/a&gt;.
          </content>  </entry>
  <entry xml:base="http://weblog.fdar.com/">
    <author>
      <name>roughley</name>
    </author>
    <id>tag:weblog.fdar.com,2007-05-26:10</id>
    <published>2007-05-26T22:00:00Z</published>
    <updated>2008-06-04T20:58:05Z</updated>
    <category term="News"/>
    <link href="http://weblog.fdar.com/2007/5/26/infoq-struts2-book" rel="alternate" type="text/html"/>
    <title>InfoQ Struts2 Book</title>
<summary type="html">I am pleased to announce the release of the mini-book &quot;Starting with Struts2&quot; from InfoQ.com.
&lt;br /&gt;&lt;br /&gt;

&quot;Starting with Struts2&quot; is aimed at those who are new to Strut2, and those familiar with MVC frameworks but unfamiliar with Struts2. It provides everything you need to know to get up and running using Struts2, and can be used as a starting point to explore the more intricate features of the Struts2 framework. Topics include architecture and configuration, how to implement actions, and supporting infrastructure such as validation and internationalization. Also included are productivity tips, providing a practical introduction on how best to use the framework.
&lt;br /&gt;&lt;br /&gt;

&lt;a href=&quot;http://www.infoq.com/minibooks/starting-struts2&quot;&gt;The eBook can be found at http://www.infoq.com/minibooks/starting-struts2&lt;/a&gt;</summary><content type="html">
            I am pleased to announce the release of the mini-book &quot;Starting with Struts2&quot; from InfoQ.com.
&lt;br /&gt;&lt;br /&gt;

&quot;Starting with Struts2&quot; is aimed at those who are new to Strut2, and those familiar with MVC frameworks but unfamiliar with Struts2. It provides everything you need to know to get up and running using Struts2, and can be used as a starting point to explore the more intricate features of the Struts2 framework. Topics include architecture and configuration, how to implement actions, and supporting infrastructure such as validation and internationalization. Also included are productivity tips, providing a practical introduction on how best to use the framework.
&lt;br /&gt;&lt;br /&gt;

&lt;a href=&quot;http://www.infoq.com/minibooks/starting-struts2&quot;&gt;The eBook can be found at http://www.infoq.com/minibooks/starting-struts2&lt;/a&gt;
I am pleased to announce the release of the mini-book &quot;Starting with Struts2&quot; from InfoQ.com.
&lt;br /&gt;&lt;br /&gt;

&quot;Starting with Struts2&quot; is aimed at those who are new to Strut2, and those familiar with MVC frameworks but unfamiliar with Struts2. It provides everything you need to know to get up and running using Struts2, and can be used as a starting point to explore the more intricate features of the Struts2 framework. Topics include architecture and configuration, how to implement actions, and supporting infrastructure such as validation and internationalization. Also included are productivity tips, providing a practical introduction on how best to use the framework.
&lt;br /&gt;&lt;br /&gt;

The eBook can be found at &lt;a href=&quot;http://www.infoq.com/minibooks/starting-struts2&quot;&gt;http://www.infoq.com/minibooks/starting-struts2&lt;/a&gt;
          </content>  </entry>
  <entry xml:base="http://weblog.fdar.com/">
    <author>
      <name>roughley</name>
    </author>
    <id>tag:weblog.fdar.com,2006-08-02:11</id>
    <published>2006-08-02T22:00:00Z</published>
    <updated>2008-06-03T02:27:28Z</updated>
    <category term="News"/>
    <link href="http://weblog.fdar.com/2006/8/2/nfjs-new-york" rel="alternate" type="text/html"/>
    <title>NFJS New York</title>
<content type="html">
            I will be presenting talks on evaluating open source software and introducing the features of Struts2, and the framework differences between it and Struts, by iteratively migrating a simple application in 8 steps.
          </content>  </entry>
  <entry xml:base="http://weblog.fdar.com/">
    <author>
      <name>roughley</name>
    </author>
    <id>tag:weblog.fdar.com,2006-08-01:12</id>
    <published>2006-08-01T22:00:00Z</published>
    <updated>2006-08-01T22:00:00Z</updated>
    <category term="News"/>
    <link href="http://weblog.fdar.com/2006/8/1/infoq-article" rel="alternate" type="text/html"/>
    <title>InfoQ Article</title>
<content type="html">
            Using logging seams you can easily create unobtrusive unit tests around legacy classes, without the need to edit class logic and avoiding behavior changes. Read the full article on &lt;a&gt;InfoQ&amp;lt;/a.
          </content>  </entry>
  <entry xml:base="http://weblog.fdar.com/">
    <author>
      <name>roughley</name>
    </author>
    <id>tag:weblog.fdar.com,2006-05-04:13</id>
    <published>2006-05-04T22:00:00Z</published>
    <updated>2006-05-04T22:00:00Z</updated>
    <category term="News"/>
    <link href="http://weblog.fdar.com/2006/5/4/nfjs-central-florida" rel="alternate" type="text/html"/>
    <title>NFJS Central Florida</title>
<content type="html">
            At this symposium I will be presenting a new talk on WebWork / Struts2. Following the agile approach I will introduce the features of Struts2, and the framework differences between it and Struts, by iteratively migrating a simple application in 8 steps.
          </content>  </entry>
</feed>

