<?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>OpenLogic Blogs &#187; Fred Jean</title>
	<atom:link href="http://www.openlogic.com/blogs/author/fjean/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.openlogic.com/blogs</link>
	<description>Openlogic's Community Blog</description>
	<lastBuildDate>Thu, 26 Aug 2010 22:57:55 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.8.4</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>FacesTrace: Introspection for JSF Applications</title>
		<link>http://www.openlogic.com/blogs/2006/11/facestrace-introspection-for-jsf-applications/</link>
		<comments>http://www.openlogic.com/blogs/2006/11/facestrace-introspection-for-jsf-applications/#comments</comments>
		<pubDate>Tue, 14 Nov 2006 06:23:44 +0000</pubDate>
		<dc:creator>Fred Jean</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.openlogic.com/blogs/2006/11/facestrace-introspection-for-jsf-applications/</guid>
		<description><![CDATA[ Do yourself a favor if you are developing JSF applications. Have a look at FacesTrace. I certainly wish that I looked at it earlier. 
 FacesTrace is a JSF component that allows developers to have visibility into the JSF request lifecycle. It also provides some timing information as well as the ability to view [...]]]></description>
			<content:encoded><![CDATA[<p> Do yourself a favor if you are developing JSF applications. Have a look at <a href="http://facestrace.sourceforge.net/">FacesTrace</a>. I certainly wish that I looked at it earlier. </p>
<p> <a href="http://facestrace.sourceforge.net/">FacesTrace</a> is a JSF component that allows developers to have visibility into the JSF request lifecycle. It also provides some timing information as well as the ability to view the information stored at the different JSF scope levels. Here is a screenshot (<a href="http://facestrace.sourceforge.net/main/screenshots.html">among others</a>) from the project&#39;s web site: </p>
<p> <a href="http://www.openlogic.com/blogs/wp-content/uploads/2006/11/_img83_6052_ft11if.jpg"><img src="http://www.openlogic.com/blogs/wp-content/uploads/2006/11/_img83_6052_ft11if-tm.jpg" border="1" alt=" Img83 6052 Ft11If" hspace="4" vspace="4" width="588" height="470" /></a> </p>
<p> Thanks to FacesTrace, I was able to track down the root cause of a problem I worked on for the better part of last week. It was a simple matter of tweaking some code once FacesTrace identified what phase was failing and what it was failing on. </p>
<p> You will need to add the following tag library definition to your application (and it&#39;s web.xml) if you are using Facelets: </p>
<pre>&lt;?xml version=&quot;1.0&quot;?&gt;</pre>
<p> 
<pre>&lt;!DOCTYPE facelet-taglib PUBLIC &quot;-//Sun Microsystems, Inc.//DTD Facelet Taglib 1.0//EN&quot;</pre>
<pre>&quot;facelet-taglib_1_0.dtd&quot;&gt;</pre>
<p> 
<pre>&lt;facelet-taglib&gt;</pre>
<p> 
<pre>&lt;namespace&gt;http://sourceforge.net/projects/facestrace</pre>
<p> 
<pre>&lt;tag&gt;</pre>
<p> 
<pre>    &lt;tag-name&gt;trace</pre>
<p> 
<pre>    &lt;component&gt;</pre>
<p> 
<pre>        &lt;component-type&gt;net.sf.facestrace.component.Trace</pre>
<p> 
<pre>    &lt;/component&gt;</pre>
<p> 
<pre>&lt;/tag&gt;</pre>
<p> 
<pre>&lt;/facelet-taglib&gt;</pre>
<p> 
<p> Once it is in place, you can add the namespace to the root element of your facelets document and add an &lt;ft:trace /&gt; tag somewhere on the page.  </p>
]]></content:encoded>
			<wfw:commentRss>http://www.openlogic.com/blogs/2006/11/facestrace-introspection-for-jsf-applications/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Playing with my Prompt</title>
		<link>http://www.openlogic.com/blogs/2006/10/playing-with-my-prompt/</link>
		<comments>http://www.openlogic.com/blogs/2006/10/playing-with-my-prompt/#comments</comments>
		<pubDate>Thu, 19 Oct 2006 18:26:42 +0000</pubDate>
		<dc:creator>Fred Jean</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.openlogic.com/blogs/2006/10/playing-with-my-prompt/</guid>
		<description><![CDATA[ Up until a few days ago, I saw no reasons to change the shell prompt on my systems. It all looked a little different, but I was ok with it. Well, that changed last night while I attended a presentation at the Boulder-Denver Ruby Users Group. Ara, the presenter, had modified his prompt to [...]]]></description>
			<content:encoded><![CDATA[<p> Up until a few days ago, I saw no reasons to change the shell prompt on my systems. It all looked a little different, but I was ok with it. Well, that changed last night while I attended a presentation at the <a href="http://rubyforge.org/projects/bdrg/">Boulder-Denver Ruby Users Group.</a> Ara, the presenter, had modified his prompt to show whether the previous command had succeeded or not. I decided to do the same to my systems. I came up with the following code added to my .bash_profile  (with a lot of help from the <a href="http://tldp.org/HOWTO/Bash-Prompt-HOWTO/">Bash Prompt Howto</a>) : </p>
<pre>function my_prompt() {</pre>
<pre>   # Determines whether the previous command succeeded...</pre>
<pre>   if [ $? -eq 0 ]; then</pre>
<pre>      result=&quot;1;32m:)&quot;</pre>
<pre>   else</pre>
<pre>      result=&quot;1;31m:(&quot;</pre>
<pre>   fi</pre>
<pre>   pwd_length=20</pre>
<pre>   DIR=`pwd`</pre>
<pre>   echo $DIR | grep &quot;^$HOME&quot; &gt;&gt; /dev/null</pre>
<pre>   if [ $? -eq 0 ]</pre>
<pre>   then&lt;</pre>
<pre>      CURRDIR=`echo $DIR | awk -F$HOME &#39;{print $2}&#39;`</pre>
<pre>      newPWD=&quot;~$CURRDIR&quot;</pre>
<pre>      if [ $(echo -n $newPWD | wc -c | tr -d &quot; &quot;) -gt $pwd_length ]</pre>
<pre>      then</pre>
<pre>         newPWD=&quot;~/..$(echo -n $PWD | sed -e &quot;s/.*\(.\{$pwd_length\}\)/\1/&quot;)&quot;</pre>
<pre>      fi</pre>
<pre>   elif [ &quot;$DIR&quot; = &quot;$HOME&quot; ]</pre>
<pre>   then</pre>
<pre>      newPWD=&quot;~&quot;</pre>
<pre>   elif [ $(echo -n $PWD | wc -c | tr -d &quot; &quot;) -gt $pwd_length ]</pre>
<pre>   then</pre>
<pre>      newPWD=&quot;..$(echo -n $PWD | sed -e &quot;s/.*\(.\{$pwd_length\}\)/\1/&quot;)&quot;</pre>
<pre>   else</pre>
<pre>      newPWD=&quot;$(echo -n $PWD)&quot;</pre>
<pre>   fi</pre>
<pre>}</pre>
<pre>export PROMPT_COMMAND=my_prompt</pre>
<pre>PS1=&#39;33[1;30m\[33]2;\u@\h:${newPWD}\a\]\</pre>
<pre>[\u@\h ${newPWD}]\n33[${result} 33[1;30m\$ 33[0;39m&#39;</pre>
<p>As a result, this is what I now see in my terminal windows when things go well: </p>
<pre>[fjean@voyager ~]:) $</pre>
<p> And when things go bad: </p>
<pre>[fjean@voyager ~/..ojects/yagrails-test]:( $</pre>
<p> I have configured my work system and my PowerBook to use the new prompt. I have also added a few other tricks to my work desktop (such as setting the terminal window&#39;s title based on where I am in my file system). </p>
<p> Note: I did try to convey the colors, but it appears that Ecto and Wordpress conspired to strip them away&#8230; I&#39;ll keep trying though&#8230; </p>
]]></content:encoded>
			<wfw:commentRss>http://www.openlogic.com/blogs/2006/10/playing-with-my-prompt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Training Wheels</title>
		<link>http://www.openlogic.com/blogs/2006/10/training-wheels/</link>
		<comments>http://www.openlogic.com/blogs/2006/10/training-wheels/#comments</comments>
		<pubDate>Mon, 16 Oct 2006 21:32:45 +0000</pubDate>
		<dc:creator>Fred Jean</dc:creator>
				<category><![CDATA[Agile Methodologies]]></category>

		<guid isPermaLink="false">http://www.openlogic.com/blogs/2006/10/training-wheels/</guid>
		<description><![CDATA[ It seems an eternity ago. I hadn&#39;t begun kindergarden yet. We were living in a fairly large (or it seemed at the time) development complex in Laval, near Montreal. I still had training wheels on my bicycle. Many of my friends were rid of their training wheels. I wanted be just like them, riding [...]]]></description>
			<content:encoded><![CDATA[<p> It seems an eternity ago. I hadn&#39;t begun kindergarden yet. We were living in a fairly large (or it seemed at the time) development complex in Laval, near Montreal. I still had training wheels on my bicycle. Many of my friends were rid of their training wheels. I wanted be just like them, riding a bicycle without the training wheels. I did convince a friend to let me try to ride his bike, and after a few false starts I was riding his bike. After a few days, my mom did notice that I was doing ok, and soon the training wheels came off. </p>
<p> Now, what does this childhood story has to do with agile development? I think of agile methodologies such as Scrum and XP as training wheels for teams and developers. The goal is to teach good habits and provide guidance and support as the team and its developers mature and gain experience. As they move forward, the methods, practices and dictums associated with the Agile methodologies become ingrained and the team is (hopefully) able to adapt them to their situation. They begin to ride the big kid bike. </p>
<p> Sometimes though, businesses, teams and even developers want to go straight to the end result of Agile development. They want the benefits associated with being an agile team without the discipline and structure that comes from following one of the many flavors of Agile development. They don&#39;t want the training wheels, they want to go straight to the big kid bike. Sometime they succeed, but often they don&#39;t. </p>
<p> Thankfully, OpenLogic is committed to being an agile company. We are implementing Scrum and are adopting more agile practices and methods as time goes by. We did have our own falls and scraped knees. We were able to look back, identify where we fell short and remedy the situation. Today, we have our product owner and other stake-holders attending our stand up meetings, we do put time into writing both acceptance and automated unit tests for our stories. We also pay close attention to our velocity, which we then use to adjust our tasks estimates. </p>
<p> In many ways, we still have our training wheels. But we are getting better at it. With a little time and practice we may one day be ready to get rid of them though. </p>
<p> [Originally published on <a href="http://typo.fredjean.net/">Out of My Mind...</a> Reproduced with my own permission.] </p>
<p> [posted with <a href="http://ecto.kung-foo.tv">ecto</a>] </p>
]]></content:encoded>
			<wfw:commentRss>http://www.openlogic.com/blogs/2006/10/training-wheels/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Being Agile as a Product Company</title>
		<link>http://www.openlogic.com/blogs/2006/10/being-agile-as-a-product-company/</link>
		<comments>http://www.openlogic.com/blogs/2006/10/being-agile-as-a-product-company/#comments</comments>
		<pubDate>Wed, 11 Oct 2006 06:22:20 +0000</pubDate>
		<dc:creator>Fred Jean</dc:creator>
				<category><![CDATA[Agile Methodologies]]></category>
		<category><![CDATA[Business Models]]></category>

		<guid isPermaLink="false">http://www.openlogic.com/blogs/2006/10/being-agile-as-a-product-company/</guid>
		<description><![CDATA[I was attending the Boulder Denver New Technology Meetup a few days ago. As one of the presentation, the following question was asked: How can we implement agile practices and methodologies in an early stage startup? This question got me thinking. After all, an early stage startup may not necessarily have customers lined up to [...]]]></description>
			<content:encoded><![CDATA[<p>I was attending the <a href="http://newtech.meetup.com/27/">Boulder Denver New Technology Meetup</a> a few days ago. As one of the presentation, the following question was asked: How can we implement agile practices and methodologies in an early stage startup? This question got me thinking. After all, an early stage startup may not necessarily have customers lined up to provide guidance on the product.  This is a situation that we were facing as we reworked our <a href="http://www.openlogic.com/products/enterprise.php">OpenLogic Enterprise</a> product for its 4.0 release. We took a very different approach from the previous versions. We were focussing on delivering open source software to the enterprise rather than to the individual developers. It was new territory for us, and we were still learning this new territory when I joined a few months ago.  One thing we had was a strong vision from our CTO and marketing groups. They became our customer surrogate. They provided guidance to the engineering team on what features were needed and what to work on. Some mistakes were made, but it got us to the point where we now have a product that is ready to be put to the test through our customers. We are already getting feedback and using it to improve OpenLogic Enterprise.  We also starting treating our content team as a customer of the infrastructure. We got a lot of very excellent feedback (and many, oh so many defects) from the content team as they used our infrastructure software and tools in ways that we hadn&#39;t quite envisioned. Thanks to their efforts, our infrastructure is stronger and of higher quality than it would have been otherwise.  So here&#39;s my advice to the person who asked this question: find a customer surrogate, someone who has the vision to take an idea and turn it into a product that can be tested against the market. Get your product in the hands of a customer (whether internal or external) as soon as you can to get essential feedback and validate your direction. After that? Keep iterating. And iterating. And iterating.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.openlogic.com/blogs/2006/10/being-agile-as-a-product-company/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
