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

<channel>
	<title>REVERT TO CONSOLE &#187; Con-(in)sulting</title>
	<atom:link href="http://www.reverttoconsole.com/blog/category/con-insulting/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.reverttoconsole.com</link>
	<description>for f in *;do echo &#124; sed 'i\rtc' &#62;&#62; $f;done;</description>
	<lastBuildDate>Sat, 10 Jul 2010 12:40:00 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Mapping a clob type in hibernate and oracle 9i/10g</title>
		<link>http://www.reverttoconsole.com/blog/con-insulting/mapping-a-clob-type-in-hibernate-and-oracle-9i10g/</link>
		<comments>http://www.reverttoconsole.com/blog/con-insulting/mapping-a-clob-type-in-hibernate-and-oracle-9i10g/#comments</comments>
		<pubDate>Wed, 11 Feb 2009 22:49:45 +0000</pubDate>
		<dc:creator>Priyatam</dc:creator>
				<category><![CDATA[Con-(in)sulting]]></category>
		<category><![CDATA[Hibernate]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[Spring]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/?p=329</guid>
		<description><![CDATA[The easiest way to map a CLOB type of Oracle to a pojo in Hibernate, is to setup a user defined type in Hibernate, which converts Oracle&#8217;s ClobType to a String and vice versa. So you&#8217;re pojo&#8217;s property is going to be a &#8220;String&#8221; type. There are only two steps to setting this up: 1) [...]]]></description>
			<content:encoded><![CDATA[<p>The easiest way to map a CLOB type of Oracle to a pojo in Hibernate, is to setup a user defined type in Hibernate, which converts Oracle&#8217;s ClobType to a String and vice versa. So you&#8217;re pojo&#8217;s property is going to be a &#8220;String&#8221; type. There are only two steps to setting this up:</p>
<p>1) Write the Clobtype User defined type</p>
<pre class="brush: java">

import java.io.ByteArrayInputStream;
import java.io.IOException;
import java.io.InputStream;
import java.io.Serializable;
import java.sql.PreparedStatement;
import java.sql.ResultSet;
import java.sql.SQLException;
import java.sql.Types;

public class ClobType implements UserType {

	public int[] sqlTypes() {
		return new int[] { Types.CLOB };
	}

	public Class returnedClass() {
		return String.class;
	}

	public boolean equals(Object arg0, Object arg1) throws HibernateException {
		boolean ret = false;
		if (arg0 == null || arg1 == null) {
			ret = false;
		} else if (!(arg0 instanceof String) || !(arg1 instanceof String)) {
			ret = false;
		} else {
			ret = ((String) arg0).equals((String) arg1);
		}
		return ret;
	}

	public int hashCode(Object arg0) throws HibernateException {
		return arg0.hashCode();
	}

	public Object nullSafeGet(ResultSet arg0, String[] arg1, Object arg2)
			throws HibernateException, SQLException {

		String ret = null;
		StringBuffer buffer = new StringBuffer();
		try {
			// First we get the stream
			InputStream is = arg0.getAsciiStream(arg1[0]);
			byte[] buf = new byte[1024];
			int read = -1;

			while (is != null &amp;amp;amp;amp;amp;&amp;amp;amp;amp;amp; (read = is.read(buf)) &amp;amp;amp;gt; 0) {
				buffer.append(new String(buf, 0, read));
			}
			if (is != null) {
				is.close();
			}
		} catch (IOException ioe) {
			ioe.printStackTrace();
			throw new HibernateException(&amp;amp;amp;quot;Unable to read from resultset&amp;amp;amp;quot;, ioe);
		}
		ret = buffer.toString();
		return ret;
	}

	public void nullSafeSet(PreparedStatement pst, Object data, int index)
			throws HibernateException, SQLException {
		data = data == null ? new String() : data;
		String in = (String) data;

		byte[] buf = in.getBytes();
		int len = buf.length;

		ByteArrayInputStream bais = new ByteArrayInputStream(buf);

		pst.setAsciiStream(index, bais, len);

	}

	public Object deepCopy(Object arg0) throws HibernateException {
		String ret = null;
		arg0 = arg0 == null ? new String() : arg0;
		String in = (String) arg0;
		int len = in.length();
		char[] buf = new char[len];

		for (int i = 0; i &amp;amp;amp;lt; len; i++) {
			buf[i] = in.charAt(i);
		}
		ret = new String(buf);
		return ret;
	}

	public boolean isMutable() {
		return false;
	}

	public Serializable disassemble(Object arg0) throws HibernateException {
		return (String) arg0;
	}

	public Object assemble(Serializable arg0, Object arg1)
			throws HibernateException {
		return this.deepCopy(arg0);
	}

	public Object replace(Object arg0, Object arg1, Object arg2)
			throws HibernateException {
		return this.deepCopy(arg0);
	}

}
</pre>
<p>2) Hibernate mapping: Update the type in your hbm file or annotations accordingly. The example here maps a property &#8220;label&#8221; to oracle column &#8220;label&#8221;</p>
<pre class="brush: xml">
&lt;property name=&quot;label&quot; type=&quot;com.cramer.ate.utility.ClobType&quot;
     update=&quot;true&quot; insert=&quot;true&quot; access=&quot;property&quot; column=&quot;Label&quot; /&gt;
</pre>
<p>That&#8217;s it. Since there is no dependency to anything else, it should work in a Spring environment too.</p>
<p>Note to Oracle 9i users: You might get the following exception:<br />
java.sql.SQLException: operation not allowed: streams type cannot be used in batching</p>
<p>Solution? Use  use <a href="http://www.oracle.com/technology/software/tech/java/sqlj_jdbc/htdocs/jdbc101040.html">10.1.x drivers</a>. Oracle 9i drivers have a known issue regarding the same, which they only fixed in 10.x. It&#8217;s believed that Oracle&#8217;s 10.x drivers are downward compatible with Oracle 9i (unlike 11.x drivers).</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmapping-a-clob-type-in-hibernate-and-oracle-9i10g%2F&amp;title=Mapping+a+clob+type+in+hibernate+and+oracle+9i%2F10g" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmapping-a-clob-type-in-hibernate-and-oracle-9i10g%2F&amp;title=Mapping+a+clob+type+in+hibernate+and+oracle+9i%2F10g" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmapping-a-clob-type-in-hibernate-and-oracle-9i10g%2F&amp;title=Mapping+a+clob+type+in+hibernate+and+oracle+9i%2F10g" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmapping-a-clob-type-in-hibernate-and-oracle-9i10g%2F&amp;title=Mapping+a+clob+type+in+hibernate+and+oracle+9i%2F10g" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmapping-a-clob-type-in-hibernate-and-oracle-9i10g%2F&amp;title=Mapping+a+clob+type+in+hibernate+and+oracle+9i%2F10g', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmapping-a-clob-type-in-hibernate-and-oracle-9i10g%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmapping-a-clob-type-in-hibernate-and-oracle-9i10g%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmapping-a-clob-type-in-hibernate-and-oracle-9i10g%2F&amp;title=Mapping+a+clob+type+in+hibernate+and+oracle+9i%2F10g" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmapping-a-clob-type-in-hibernate-and-oracle-9i10g%2F&amp;title=Mapping+a+clob+type+in+hibernate+and+oracle+9i%2F10g" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/con-insulting/mapping-a-clob-type-in-hibernate-and-oracle-9i10g/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Step by Step Tutorials &#8211; DWR with Spring, Ajax &#8211; Dynamic drop down lists</title>
		<link>http://www.reverttoconsole.com/blog/ajax/step-by-step-tutorials-dwr-ajax-with-spring-dynamic-drop-down-lists/</link>
		<comments>http://www.reverttoconsole.com/blog/ajax/step-by-step-tutorials-dwr-ajax-with-spring-dynamic-drop-down-lists/#comments</comments>
		<pubDate>Wed, 07 Nov 2007 21:53:49 +0000</pubDate>
		<dc:creator>Priyatam</dc:creator>
				<category><![CDATA[Ajax]]></category>
		<category><![CDATA[CodeSnippets]]></category>
		<category><![CDATA[Con-(in)sulting]]></category>
		<category><![CDATA[Spring]]></category>
		<category><![CDATA[Tutorials]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/archives/146</guid>
		<description><![CDATA[Scenario: A simple jsp page with a standard drop down box. A Selection criteria (could be another drop down box and a couple of check boxes) to change the values in these drop down box dynamically, without submitting the page. What you will learn: Configure dwr.xml with spring beans Configure application contexts for dwr beans [...]]]></description>
			<content:encoded><![CDATA[<p><b>Scenario:</b> A simple jsp page with a standard drop down box. A Selection criteria (could be another drop down box and a couple of check boxes) to change the values in these drop down box dynamically, without submitting the page.</p>
<p>What you will learn:</p>
<ol>
<li>Configure dwr.xml with spring beans</li>
<li>Configure application contexts for dwr beans
<li>The basic structure of the jsp for dwr</li>
<li>The necessary js that executes the ajax call along with the code for rendering the new drop down values</li>
<li>Finally, the facade (ajax handler) in Java, for the action</li>
</ol>
<p><strong>1. Configure dwr.xml with spring beans</strong></p>
<pre class="brush: xml">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;UTF-8&quot;?&gt;
&lt;dwr&gt;
&lt;allow&gt;
	&lt;create creator=&quot;spring&quot; javascript=&quot;ListOptionsAjaxFacade&quot;&gt;
		&lt;param name=&quot;beanName&quot; value=&quot;listOptionsAjaxFacade&quot; /&gt;
	&lt;/create&gt;
	&lt;convert converter=&quot;bean&quot; match=&quot;com.reverttoconsole.domain.*&quot; /&gt;
&lt;/allow&gt;
&lt;/dwr&gt;
</pre>
<p>listOptionsAjaxFacade is the bean name you would want configure in Spring&#8217;s application context. The advantage of using beans and  creator=&#8221;spring&#8221; here is that all your dependencies can be autowired by default with your existing Spring container. So if you have two dao dependencies in listOptionsAjaxFacade, you can now use your existing application context to resolve dependencies. Simply add autowire=&#8221;byType&#8221;. The converter=&#8221;bean&#8221; above ensures that all Types are converted to your domain object types. I assume a package structure for domain which are the only return types of my ajax handlers.</p>
<p><strong>2.Configure application contexts for dwr beans</strong></p>
<pre class="brush: xml">
&lt;?xml version=&quot;1.0&quot; encoding=&quot;utf-8&quot;?&gt;
&lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
	xmlns:xsi=&quot;http://www.w3.org/2001/XMLSchema-instance&quot;
	xsi:schemaLocation=&quot;
    http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd&quot;&gt;
	&lt;description&gt;
		This file defines DWR Ajax Facade Beans.
	&lt;/description&gt;
	&lt;bean id=&quot;listOptionsAjaxFacade&quot; class=&quot;com.reverttoconsole.domain.ListOptionsAjaxFacade&quot; autowire=&quot;byType&quot;/&gt;
&lt;/beans&gt;
</pre>
<p>I assume, you already have an application context(s) for all your controller, dao, services beans etc</p>
<p><strong>3.The basic structure of the jsp for dwr</strong></p>
<pre class="brush: xml">
&lt;html&gt;
&lt;head&gt;
&lt;!-- dwr ajax scripts--&gt;
&lt;script src=&quot;\&#039;dwr/interface/ListOptionsAjaxFacade.js\&#039;&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;\&#039;dwr/engine.js\&#039;&quot;&gt;&lt;/script&gt;
&lt;script src=&quot;\&#039;dwr/util.js\&#039;&quot;&gt;&lt;/script&gt;
&lt;/head&gt;
&lt;body&gt;
// contents of your jsp

&lt;select name=&quot;listOptions&quot; id=&quot;listOptions&quot;&gt;
    &lt;c:forEach items=&quot;${listOptions}&quot; var=&quot;item&quot;&gt;
        &lt;option value=&quot;${item.id}&quot;&gt;${item.description}&lt;/option&gt;
    &lt;/c:forEach&gt;
&lt;/select&gt;

&lt;select name=&quot;groupBy&quot; id=&quot;groupBy&quot;&gt;
       &lt;option value=&quot;name&quot;&gt;first name&lt;/option&gt;
       &lt;option value=&quot;name&quot;&gt;last name&lt;/option&gt;
       &lt;option value=&quot;name&quot;&gt;age&lt;/option&gt;
       &lt;option value=&quot;name&quot;&gt;city&lt;/option&gt;
&lt;/select&gt;
&lt;input type=&quot;checkbox&quot; name=&quot;isAscending&quot;&gt; Ascending
&lt;input type=&quot;button&quot; value=&quot;Refresh&quot; onclick=&quot;processListOptions()&quot;/&gt;

// other parts of jsp
&lt;/body&gt;
&lt;/html&gt;
</pre>
<p>As you see, include 3 js files on the top of your jsp. The js ListOptionsAjaxFacade.js is actually the name of the handler that you<br />
will see in a moment. The button &#8216;refresh&#8217; has a js handler processListOptions.</p>
<p><strong>4.The necessary js that executes the ajax call along with the code for rendering the new drop down values</strong><br />
Add the following js in the jsp</p>
<pre class="brush: javascript">
&lt;script&gt;
     function processListOptions(){
     	// get sortBy, isAscending values from current jsp elements
	    ListOptionsAjaxFacade.processListOptions(sortBy, isAscending,function(data){
		dwr.util.removeAllOptions(&quot;listOptions&quot;);
		DWRUtil.addOptions(&quot;listOptions&quot;,data,&quot;id&quot;,&quot;description&quot;);});
     }
&lt;/script&gt;
</pre>
<p>It retrieves the values of groupBy and ascendingorder fields from the current jsp and calls the ajax method processListOptions. Once retrieved, it uses the handy dwr.util method to replace all the list options with the new values. Note the callback function(date) used for this. Dwr replaces the return call from processListOptions and puts them in data (The complete java object collection)</p>
<p><strong>5.Finally, the facade (ajax handler) in Java, for the action </strong></p>
<pre class="brush: java">
public class ListOptionsAjaxFacade {
      private PersonDao personDao;

      public List processListOptions(String sortBy, boolean isAscending) {
       	return personDao.getAll(sortBy, isAscending);
      }

      //setters &amp; getters
}
</pre>
<p>Ofcourse, this is a happy-day-flow with no exception handling either in client side or server side, but you can add that later. Read the docs for DWR.<br />
Thats it. You should now be able to retrieve the lists dynamically</p>
<p><strong>Essential Reading:</strong><br />
Read more on <a href="http://getahead.org/dwr/browser/util">dwr.util</a> package. Just like drop down lists, you can pretty<br />
much create any other dynamic form element. The basic structure remains the same as above. Try using <a href="http://script.aculo.us/">scriptaculous </a>for fancy js effects in combination with the above code. For instance, on click of Refresh, you can fade in fade out the dropdown box.<br />
(and charge the customer an additional 8 hours for implementing the same)</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fajax%2Fstep-by-step-tutorials-dwr-ajax-with-spring-dynamic-drop-down-lists%2F&amp;title=Step+by+Step+Tutorials+%26%238211%3B+DWR+with+Spring%2C+Ajax+%26%238211%3B+Dynamic+drop+down+lists" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fajax%2Fstep-by-step-tutorials-dwr-ajax-with-spring-dynamic-drop-down-lists%2F&amp;title=Step+by+Step+Tutorials+%26%238211%3B+DWR+with+Spring%2C+Ajax+%26%238211%3B+Dynamic+drop+down+lists" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fajax%2Fstep-by-step-tutorials-dwr-ajax-with-spring-dynamic-drop-down-lists%2F&amp;title=Step+by+Step+Tutorials+%26%238211%3B+DWR+with+Spring%2C+Ajax+%26%238211%3B+Dynamic+drop+down+lists" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fajax%2Fstep-by-step-tutorials-dwr-ajax-with-spring-dynamic-drop-down-lists%2F&amp;title=Step+by+Step+Tutorials+%26%238211%3B+DWR+with+Spring%2C+Ajax+%26%238211%3B+Dynamic+drop+down+lists" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fajax%2Fstep-by-step-tutorials-dwr-ajax-with-spring-dynamic-drop-down-lists%2F&amp;title=Step+by+Step+Tutorials+%26%238211%3B+DWR+with+Spring%2C+Ajax+%26%238211%3B+Dynamic+drop+down+lists', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fajax%2Fstep-by-step-tutorials-dwr-ajax-with-spring-dynamic-drop-down-lists%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fajax%2Fstep-by-step-tutorials-dwr-ajax-with-spring-dynamic-drop-down-lists%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fajax%2Fstep-by-step-tutorials-dwr-ajax-with-spring-dynamic-drop-down-lists%2F&amp;title=Step+by+Step+Tutorials+%26%238211%3B+DWR+with+Spring%2C+Ajax+%26%238211%3B+Dynamic+drop+down+lists" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fajax%2Fstep-by-step-tutorials-dwr-ajax-with-spring-dynamic-drop-down-lists%2F&amp;title=Step+by+Step+Tutorials+%26%238211%3B+DWR+with+Spring%2C+Ajax+%26%238211%3B+Dynamic+drop+down+lists" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/ajax/step-by-step-tutorials-dwr-ajax-with-spring-dynamic-drop-down-lists/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Managed Processes Post 2</title>
		<link>http://www.reverttoconsole.com/blog/con-insulting/managed-processes-post-2/</link>
		<comments>http://www.reverttoconsole.com/blog/con-insulting/managed-processes-post-2/#comments</comments>
		<pubDate>Wed, 21 Feb 2007 20:28:26 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Con-(in)sulting]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/archives/75</guid>
		<description><![CDATA[This is a follow up article to First Steps Toward a More Managed Process I wrote at the end of last month. I&#8217;ve been using Trac with the Timing and Estimation plugin now for about a month. I tried to promote it to my team for our next product but they never considered it and [...]]]></description>
			<content:encoded><![CDATA[<p>This is a follow up article to <a href="http://reverttoconsole.com/archives/64">First Steps Toward a More Managed Process</a> I wrote at the end of last month.<br />
I&#8217;ve been using <a href="http://trac.edgewall.org/">Trac</a> with the <a href="http://trac-hacks.org/wiki/TimingAndEstimationPlugin">Timing and Estimation plugin</a> now for about a month. I tried to promote it to my team for our next product but they never considered it and instead we&#8217;re using <a href="http://www.xplanner.org/">XPlanner</a>. XPlanner is still a 100% improvement over the tool we used before, which was called the <em>nothing whatsoever</em> tool.</p>
<p>In my opinion Trac does everything that XPlanner does plus includes about 10 more useful features&#8230; such as Subversion integration, Bugzilla integration, dozens of useful reports, exporting out of the box to comma-delimited and tab-delimited text files, ical integration, rss feeds&#8230; plus Trac can be deployed as a standalone app (as I have done on my desktop), or integrated with a number of different backends and frontends. XPlanner uses MySQL. I&#8217;m really beginning to think Java is far behind in web development, and the community is growing fatter and wider (re: hibernate+spring+whatever bloated front-end) rather than slimming down and actually innovating like Python &#038; PHP (simple extensible frameworks)&#8230; but I digress&#8230; I&#8217;m really just here to talk about the first month of implementing my own managed process.</p>
<p>In short, Trac has helped me manage a list, but I still haven&#8217;t reached the managed process nirvana I strive for.</p>
<p><strong>What I&#8217;ve done with Trac:</strong></p>
<ul>
<li>
I&#8217;ve separated my work projects into different Trac components. I am currently working on 3 different components. One is in QA, another is being maintained, and a 3rd is new development. So I&#8217;ve been successful at managing these components and managing my tasks for each.</li>
<li>
I&#8217;ve mapped the Iterations to Trac Milestones. This is really slick because Trac provides a nice RoadMap and Timeline reports for work by Milestone. </li>
<li>
Each task I call one of the three out of the box Trac types; either a defect, enhancement, or task. </li>
<li>
The only piece I haven&#8217;t really figured out the best way to use is the Trac version. Since where I&#8217;m currently working milestones/iterations are also versions, it&#8217;s not like I could have a version 2 of iteration 3. I tried to coordinate a version with a use case code, but that hasn&#8217;t turned out to be effective.</li>
<li>
I made use of Trac priorities, which create nice color-coded reports.</li>
<li>
I didn&#8217;t make enough use of the timing and estimation plugin. I need to do that next month.</li>
</ul>
<p><strong>Going forward:</strong></p>
<p>Going forward I&#8217;m moving to a monthly milestone. Since XPlanner will track iterations, I&#8217;d like to use Trac to manage my own tasks and velocity. I see this as a shift away from a project planner, to more of a personal planner. I&#8217;d like to track my tasks, my own velocity on a project, and keep notes for each independent of what the project planning app is doing.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmanaged-processes-post-2%2F&amp;title=Managed+Processes+Post+2" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmanaged-processes-post-2%2F&amp;title=Managed+Processes+Post+2" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmanaged-processes-post-2%2F&amp;title=Managed+Processes+Post+2" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmanaged-processes-post-2%2F&amp;title=Managed+Processes+Post+2" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmanaged-processes-post-2%2F&amp;title=Managed+Processes+Post+2', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmanaged-processes-post-2%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmanaged-processes-post-2%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmanaged-processes-post-2%2F&amp;title=Managed+Processes+Post+2" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmanaged-processes-post-2%2F&amp;title=Managed+Processes+Post+2" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/con-insulting/managed-processes-post-2/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>First Steps Toward a More Managed Process</title>
		<link>http://www.reverttoconsole.com/blog/con-insulting/first-steps-toward-a-more-managed-process/</link>
		<comments>http://www.reverttoconsole.com/blog/con-insulting/first-steps-toward-a-more-managed-process/#comments</comments>
		<pubDate>Fri, 26 Jan 2007 22:34:30 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Con-(in)sulting]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/archives/64</guid>
		<description><![CDATA[I hate to say I&#8217;m moving toward an agile process and risk becoming too buzzword-focused. But I&#8217;m quickly realizing how important it is to have an effective methodology for managing yourself as a consultant. I&#8217;ve used task lists for quite a while as a developer, and that&#8217;s fine for the most part. But as a [...]]]></description>
			<content:encoded><![CDATA[<p>I hate to say I&#8217;m moving toward an <em>agile process</em> and risk becoming too buzzword-focused. But I&#8217;m quickly realizing how important it is to have an effective methodology for managing yourself as a consultant. I&#8217;ve used task lists for quite a while as a developer, and that&#8217;s fine for the most part.<br />
But as a consultant, you really have an extra layer of self-management. I&#8217;m always being asked what I&#8217;m working on, when it will be done, etc. I started my own custom task list in Outlook and shared it with the team lead, but I&#8217;m thinking that it&#8217;s really a narrow solution. In addition I&#8217;m often seen as outside the regular flow of management; and by that I mean sometimes I&#8217;m viewed with more suspicion since I&#8217;m new and a consultant. I&#8217;m also more likely to be given the side tasks not the core tasks, and sometimes those are overlooked. In my particular case, the management of our project is so bad, they&#8217;re having trouble even coming up with a task list or agreeing upon features for a given iteration.<br />
That&#8217;s what brought me to thinking of how I might go about implementing my own agile methodology. Given that requirements are never fixed here, tasks are not well defined, and iteration deadlines are the only thing that are noticed, I need to find a way to get myself there. And the more detailed information I can give my team lead about my tasks, the issues that come up with each task, and estimates for completing them, the better.<br />
Also there&#8217;s the issue of what happens if something goes bad and the customer gets angry? Again, the more detailed information I can provide to show what I&#8217;ve been working on and when, the better.<br />
Today I started down that path&#8230; setting up a locally running <a href="http://trac.edgewall.org/">TRAC</a> instance to manage my own tasks.<br />
I&#8217;m hoping this will help when I&#8217;m assigned my next major task, such as the scheduling app that just went to QA.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Ffirst-steps-toward-a-more-managed-process%2F&amp;title=First+Steps+Toward+a+More+Managed+Process" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Ffirst-steps-toward-a-more-managed-process%2F&amp;title=First+Steps+Toward+a+More+Managed+Process" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Ffirst-steps-toward-a-more-managed-process%2F&amp;title=First+Steps+Toward+a+More+Managed+Process" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Ffirst-steps-toward-a-more-managed-process%2F&amp;title=First+Steps+Toward+a+More+Managed+Process" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Ffirst-steps-toward-a-more-managed-process%2F&amp;title=First+Steps+Toward+a+More+Managed+Process', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Ffirst-steps-toward-a-more-managed-process%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Ffirst-steps-toward-a-more-managed-process%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Ffirst-steps-toward-a-more-managed-process%2F&amp;title=First+Steps+Toward+a+More+Managed+Process" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Ffirst-steps-toward-a-more-managed-process%2F&amp;title=First+Steps+Toward+a+More+Managed+Process" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/con-insulting/first-steps-toward-a-more-managed-process/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Agile Anyone?</title>
		<link>http://www.reverttoconsole.com/blog/con-insulting/agile-anyone/</link>
		<comments>http://www.reverttoconsole.com/blog/con-insulting/agile-anyone/#comments</comments>
		<pubDate>Thu, 04 Jan 2007 03:04:05 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Con-(in)sulting]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/archives/62</guid>
		<description><![CDATA[I&#8217;ve been reading up on eXtreme programming practices. I&#8217;ve really been in a world of hurt at my current project. The engineering team is adequate, the technology I understand, but the management and requirements are a nightmare. I&#8217;m thinking that if I don&#8217;t act I&#8217;ll really find myself in trouble; the use cases are a [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve been reading up on eXtreme programming practices. I&#8217;ve really been in a world of hurt at my current project. The engineering team is adequate, the technology I understand, but the management and requirements are a nightmare. I&#8217;m thinking that if I don&#8217;t act I&#8217;ll really find myself in trouble; the use cases are a disaster, my direct manager is so scattered she doesn&#8217;t even respond to my emails, and the higher up managers are non-existent.<br />
I think this is an extreme situation and I should really take matters into my own hands. Particularly, if I can&#8217;t manage my own requirements gathering and management, as well as my own time, I&#8217;m going to be in trouble.<br />
So I ask the site, does anyone know of any good agile methodology resources? I&#8217;m looking for a way to implement this on my own desk&#8230; please comment if you know of any good websites.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fagile-anyone%2F&amp;title=Agile+Anyone%3F" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fagile-anyone%2F&amp;title=Agile+Anyone%3F" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fagile-anyone%2F&amp;title=Agile+Anyone%3F" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fagile-anyone%2F&amp;title=Agile+Anyone%3F" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fagile-anyone%2F&amp;title=Agile+Anyone%3F', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fagile-anyone%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fagile-anyone%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fagile-anyone%2F&amp;title=Agile+Anyone%3F" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fagile-anyone%2F&amp;title=Agile+Anyone%3F" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/con-insulting/agile-anyone/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		</item>
		<item>
		<title>An RTC First!</title>
		<link>http://www.reverttoconsole.com/blog/con-insulting/an-rtc-first/</link>
		<comments>http://www.reverttoconsole.com/blog/con-insulting/an-rtc-first/#comments</comments>
		<pubDate>Wed, 06 Dec 2006 00:08:25 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Con-(in)sulting]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/archives/53</guid>
		<description><![CDATA[Ok, any developer that&#8217;s been working for more than a few years has probably snickered at the business analysts who check word docs into version control with tags such as use_case_012106.doc, or use_case_12252006_old.doc&#8230; It&#8217;s obvious that they just don&#8217;t understand that version control is already keeping track of that for them. But today, while painfully [...]]]></description>
			<content:encoded><![CDATA[<p>Ok, any developer that&#8217;s been working for more than a few years has probably snickered at the business analysts who check word docs into version control with tags such as use_case_012106.doc, or use_case_12252006_old.doc&#8230;</p>
<p>It&#8217;s obvious that they just don&#8217;t understand that version control is already keeping track of that for them.</p>
<p>But today, while painfully trying to get my build scripts to deploy a war to websphere, I actually found a developer that had checked in a java file into VSS:<br />
<strong>HMigrator.java</strong><br />
<em>and</em><br />
<strong>HMigrator_old.java</strong></p>
<p>I never thought I&#8217;d see that among supposedly senior developers&#8230; and just had to share, out of sheer frustration!</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fan-rtc-first%2F&amp;title=An+RTC+First%21" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fan-rtc-first%2F&amp;title=An+RTC+First%21" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fan-rtc-first%2F&amp;title=An+RTC+First%21" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fan-rtc-first%2F&amp;title=An+RTC+First%21" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fan-rtc-first%2F&amp;title=An+RTC+First%21', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fan-rtc-first%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fan-rtc-first%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fan-rtc-first%2F&amp;title=An+RTC+First%21" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fan-rtc-first%2F&amp;title=An+RTC+First%21" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/con-insulting/an-rtc-first/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Mo&#8217; Bigga Corporate Environment</title>
		<link>http://www.reverttoconsole.com/blog/con-insulting/mo-bigga-corporate-environment/</link>
		<comments>http://www.reverttoconsole.com/blog/con-insulting/mo-bigga-corporate-environment/#comments</comments>
		<pubDate>Thu, 30 Nov 2006 22:37:15 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Con-(in)sulting]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/archives/52</guid>
		<description><![CDATA[A friend sent this link to a horror story development environment at Microsoft. It was a story about the development of the Vista shutdown menu: Here&#8217;s a quote: So that nets us a conservative estimate of 24 people involved in this feature. Also each team of 8 was separated by 6 layers of management from [...]]]></description>
			<content:encoded><![CDATA[<p>A friend sent <a href="http://moishelettvin.blogspot.com/2006/11/windows-shutdown-crapfest.html">this link</a> to a horror story development environment at Microsoft. It was a story about the development of the Vista shutdown menu: <br />
<img src="http://joelonsoftware.com/items/2006/11/21vistaOff.PNG" alt="menu" /><br />
Here&#8217;s a quote: <br />
<code><br />
So that nets us a conservative estimate of 24 people involved in this feature. Also each team of 8 was separated by 6 layers of management from the leads, so let's add them in too, giving us 24 + (6 * 3) + 1 (the shared manager) 43 total people with a voice in this feature. Twenty-four of them were connected sorta closely to the code, and of those twenty four there were exactly zero with final say in how the feature worked. Somewhere in those other 19 was somebody who did have final say but who that was I have no idea since when I left the team -- after a year -- there was still no decision about exactly how this feature would work.</code></p>
<p>I&#8217;ve been experiencing similar issues on my current contract&#8230; I won&#8217;t name any names&#8230;</p>
<p>For example they have this webapp that automates the process of development telling testing that the current release is ready for testing. Today, a new <em>Senior Business Systems Analyst</em> sent an email asking everyone (broadcast of course) if everything was ready because she had her email all written and just needed to click send to tell QA everything was ready&#8230; I responded that we&#8217;d already sent the request via webapp&#8230; she responded that&#8230; (some other manager)<em>&#8220;requested I send a &#8220;Prod like&#8221; release notes for all releases.&#8221;</em></p>
<p>Translation: She wants to arrogate the right to determine when builds are ready to go. Instead of the development team working with testers there needs to be yet another layer of <em>managing</em>. My team, for example, has 4 developers and 4 managers (a conservative estimate). How do big corps get this way?</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmo-bigga-corporate-environment%2F&amp;title=Mo%26%238217%3B+Bigga+Corporate+Environment" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmo-bigga-corporate-environment%2F&amp;title=Mo%26%238217%3B+Bigga+Corporate+Environment" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmo-bigga-corporate-environment%2F&amp;title=Mo%26%238217%3B+Bigga+Corporate+Environment" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmo-bigga-corporate-environment%2F&amp;title=Mo%26%238217%3B+Bigga+Corporate+Environment" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmo-bigga-corporate-environment%2F&amp;title=Mo%26%238217%3B+Bigga+Corporate+Environment', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmo-bigga-corporate-environment%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmo-bigga-corporate-environment%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmo-bigga-corporate-environment%2F&amp;title=Mo%26%238217%3B+Bigga+Corporate+Environment" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fmo-bigga-corporate-environment%2F&amp;title=Mo%26%238217%3B+Bigga+Corporate+Environment" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/con-insulting/mo-bigga-corporate-environment/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>This Takes the Cake &#8211; No Commentary Needed</title>
		<link>http://www.reverttoconsole.com/blog/con-insulting/this-takes-the-cake-no-commentary-needed/</link>
		<comments>http://www.reverttoconsole.com/blog/con-insulting/this-takes-the-cake-no-commentary-needed/#comments</comments>
		<pubDate>Wed, 25 Oct 2006 15:07:59 +0000</pubDate>
		<dc:creator>Steve</dc:creator>
				<category><![CDATA[Con-(in)sulting]]></category>
		<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/archives/34</guid>
		<description><![CDATA[//***************************************************************** //The best method I have ever seen. //***************************************************************** public boolean isBlakeRasmussenViewable(int code);]]></description>
			<content:encoded><![CDATA[<p><code><br />
//*****************************************************************<br />
//The best method I have ever seen.<br />
//*****************************************************************<br />
public boolean isBlakeRasmussenViewable(int code);</p>
<p></code></p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fthis-takes-the-cake-no-commentary-needed%2F&amp;title=This+Takes+the+Cake+%26%238211%3B+No+Commentary+Needed" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fthis-takes-the-cake-no-commentary-needed%2F&amp;title=This+Takes+the+Cake+%26%238211%3B+No+Commentary+Needed" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fthis-takes-the-cake-no-commentary-needed%2F&amp;title=This+Takes+the+Cake+%26%238211%3B+No+Commentary+Needed" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fthis-takes-the-cake-no-commentary-needed%2F&amp;title=This+Takes+the+Cake+%26%238211%3B+No+Commentary+Needed" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fthis-takes-the-cake-no-commentary-needed%2F&amp;title=This+Takes+the+Cake+%26%238211%3B+No+Commentary+Needed', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fthis-takes-the-cake-no-commentary-needed%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fthis-takes-the-cake-no-commentary-needed%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fthis-takes-the-cake-no-commentary-needed%2F&amp;title=This+Takes+the+Cake+%26%238211%3B+No+Commentary+Needed" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fthis-takes-the-cake-no-commentary-needed%2F&amp;title=This+Takes+the+Cake+%26%238211%3B+No+Commentary+Needed" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/con-insulting/this-takes-the-cake-no-commentary-needed/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Update on Flashdrive Sync</title>
		<link>http://www.reverttoconsole.com/blog/con-insulting/update-on-flashdrive-sync/</link>
		<comments>http://www.reverttoconsole.com/blog/con-insulting/update-on-flashdrive-sync/#comments</comments>
		<pubDate>Fri, 13 Oct 2006 23:24:33 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Con-(in)sulting]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/archives/9</guid>
		<description><![CDATA[Ok now I&#8217;m actually trying to do the synchronization of my work directory&#8230; here&#8217;s my initial experience: >5:57pm &#8211; begin synchronization by right-clicking and selecting &#8220;Update All&#8221;. >5:58pm &#8211; Explorer begins &#8220;Not Responding&#8221; mode&#8230; >6:01pm &#8211; Entire screen blacks out >6:04pm &#8211; Explorer flashes at the bottom of my screen, and it&#8217;s no longer in [...]]]></description>
			<content:encoded><![CDATA[<p>Ok now I&#8217;m actually trying to do the synchronization of my work directory&#8230; here&#8217;s my initial experience:<br />
><strong>5:57pm</strong> &#8211; begin synchronization by right-clicking and selecting &#8220;Update All&#8221;.<br />
><strong>5:58pm</strong> &#8211; Explorer begins &#8220;Not Responding&#8221; mode&#8230;<br />
><strong>6:01pm</strong> &#8211; Entire screen blacks out<br />
><strong>6:04pm</strong> &#8211; Explorer flashes at the bottom of my screen, and it&#8217;s no longer in &#8220;Not responding&#8221; mode. I click on it but it doesn&#8217;t appear.<br />
><strong>6:05pm</strong> &#8211; I minimize all of my applications separately, and then click on explorer, but it still does not appear.<br />
><strong>6:06pm</strong> &#8211; I pull up the Task Manager, and select &#8220;Switch To&#8221; to access explorer. I am presented with a window that tells me there are several hundred new files available in my work directory that are not in my briefcase. The window itself is too small to read the files, and is not adjustable, rendering it basically worthless. However, mouseover works, and I can see that the majority of the new files are html javadoc files generated by my build scripts. I click update.<br />
><strong>6:15pm</strong> &#8211; My update has just barely started, and I&#8217;m beginning to have my doubts. I&#8217;m reminded that USB2.0 transfer speed tops out around 8Gbps, and I&#8217;m wondering what horrible software Windows could have written to acheive such miserable performance. I&#8217;m ready to go home for the week and I&#8217;m waiting on a very simple update that seems to be made more complicated than it needs to be.<br />
><strong>6:18pm</strong> &#8211; I&#8217;m thinking about CVS updates, which can read through 10K of files over a network in half the time that Windows briefcase can acheive it via USB2.0.<br />
><strong>6:19pm</strong> &#8211; I hit cancel, and Windows explorer reverts back to &#8220;Not Responding&#8221; mode.<br />
><strong>6:19pm</strong> &#8211; I decide to try and update the files individually, and find that explorer has a button that should allow me to decide which files to update.<br />
><strong>6:20pm</strong> &#8211; Bad idea, we&#8217;re back to what explorer does best- &#8220;Not Responding&#8221; mode.<br />
><strong>6:22pm</strong> &#8211; Back to the same selection screen as before. It&#8217;s not clear to me how to update individually, and I&#8217;m giving up!</p>
<p>I think maybe a better idea is to put a CVS repository on my flash drive? I&#8217;ve got 1Gb&#8230;</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fupdate-on-flashdrive-sync%2F&amp;title=Update+on+Flashdrive+Sync" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fupdate-on-flashdrive-sync%2F&amp;title=Update+on+Flashdrive+Sync" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fupdate-on-flashdrive-sync%2F&amp;title=Update+on+Flashdrive+Sync" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fupdate-on-flashdrive-sync%2F&amp;title=Update+on+Flashdrive+Sync" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fupdate-on-flashdrive-sync%2F&amp;title=Update+on+Flashdrive+Sync', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fupdate-on-flashdrive-sync%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fupdate-on-flashdrive-sync%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fupdate-on-flashdrive-sync%2F&amp;title=Update+on+Flashdrive+Sync" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fupdate-on-flashdrive-sync%2F&amp;title=Update+on+Flashdrive+Sync" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/con-insulting/update-on-flashdrive-sync/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Flashdrive Sync</title>
		<link>http://www.reverttoconsole.com/blog/con-insulting/flashdrive-synch/</link>
		<comments>http://www.reverttoconsole.com/blog/con-insulting/flashdrive-synch/#comments</comments>
		<pubDate>Fri, 13 Oct 2006 19:21:38 +0000</pubDate>
		<dc:creator>Jeff</dc:creator>
				<category><![CDATA[Con-(in)sulting]]></category>

		<guid isPermaLink="false">http://reverttoconsole.com/archives/8</guid>
		<description><![CDATA[At my current assignment, I&#8217;m allowed to take code home and work on it, but I don&#8217;t have remote access. I only have one ethernet port, so bringing my laptop in to synch is a PITA. The solution I&#8217;ve found is to use a $20 flashdrive and the windows briefcase option to synchronize. Steps: Create [...]]]></description>
			<content:encoded><![CDATA[<p>At my current assignment, I&#8217;m allowed to take code home and work on it, but I don&#8217;t have remote access. I only have one ethernet port, so bringing my laptop in to synch is a PITA. The solution I&#8217;ve found is to use a <a href="http://nanosys1.com/usb-hd-ma2-1024.html">$20 flashdrive</a> and the <a href="http://support.microsoft.com/kb/307885/">windows briefcase option</a> to synchronize.<br />
Steps:</p>
<ul>
<li>Create a briefcase in the flash drive</li>
<li>drag and drop your work dir into the briefcase, and be ready to wait a while&#8230; even with USB2 it can still take a while to add the files initially</li>
<li>when you want to update, plug it back in, right-click the briefcase and select update</li>
</ul>
<p>The only issue I&#8217;m aware of with this is that the synchronization feature will remove files that are deleted in the source dir in the briefcase as well. So if you accidentally delete something, this can be an issue.</p>
<p>This update process can work both ways.</p>

<span class="slashdigglicious">
<a href="http://slashdot.org/bookmark.pl?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fflashdrive-synch%2F&amp;title=Flashdrive+Sync" title="Slashdot It!"><img src="http://slashdot.org/favicon.ico" height="16" width="16" alt="[Slashdot]" /></a>
<a href="http://digg.com/submit?phase=2&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fflashdrive-synch%2F&amp;title=Flashdrive+Sync" title="Digg This Story"><img src="http://digg.com/favicon.ico" width="16" height="16" alt="[Digg]" /></a>
<a href="http://reddit.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fflashdrive-synch%2F&amp;title=Flashdrive+Sync" title="Reddit"><img src="http://reddit.com/favicon.ico" width="16" height="16" alt="[Reddit]" /></a>
<a href="http://del.icio.us/post?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fflashdrive-synch%2F&amp;title=Flashdrive+Sync" title="Save to del.icio.us" onclick="window.open('http://del.icio.us/post?v=4&amp;noui&amp;jump=close&amp;url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fflashdrive-synch%2F&amp;title=Flashdrive+Sync', 'delicious', 'toolbar=no,width=700,height=400'); return false;"><img src="http://images.del.icio.us/static/img/delicious.small.gif" width="16" height="16" alt="[del.icio.us]" /></a>
<a href="http://www.facebook.com/share.php?u=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fflashdrive-synch%2F" title="Share on Facebook"><img src="http://www.facebook.com/favicon.ico" width="16" height="16" alt="[Facebook]" /></a>
<a href="http://technorati.com/faves?add=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fflashdrive-synch%2F" title="Add to my Technorati Favorites"><img src="http://technorati.com/favicon.ico" width="16" height="16" alt="[Technorati]" /></a>
<a href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fflashdrive-synch%2F&amp;title=Flashdrive+Sync" title="Save to Google Bookmarks"><img src="http://www.google.com/favicon.ico" width="16" height="16" alt="[Google]" /></a>
<a href="http://www.stumbleupon.com/submit?url=http%3A%2F%2Fwww.reverttoconsole.com%2Fblog%2Fcon-insulting%2Fflashdrive-synch%2F&amp;title=Flashdrive+Sync" title="Stumble it!"><img src="http://www.stumbleupon.com/favicon.ico" width="16" height="16" alt="[StumbleUpon]" /></a>
</span>]]></content:encoded>
			<wfw:commentRss>http://www.reverttoconsole.com/blog/con-insulting/flashdrive-synch/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
