<?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>Stephen Nimmo</title>
	<atom:link href="http://stephennimmo.com/blog/feed/" rel="self" type="application/rss+xml" />
	<link>http://stephennimmo.com/blog</link>
	<description>Stephen is a software architect out of Houston, Texas.</description>
	<lastBuildDate>Wed, 23 Dec 2009 17:05:10 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Ubuntu 9.10 &#8211; Apache2 + Tomcat6</title>
		<link>http://stephennimmo.com/blog/2009/12/23/ubuntu-9-10-apache2-tomcat6/</link>
		<comments>http://stephennimmo.com/blog/2009/12/23/ubuntu-9-10-apache2-tomcat6/#comments</comments>
		<pubDate>Wed, 23 Dec 2009 17:03:58 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[apache tomcat linux ubuntu]]></category>

		<guid isPermaLink="false">http://stephennimmo.com/blog/?p=286</guid>
		<description><![CDATA[1) sudo apt-get install apache2 tomcat6 libapache2-mod-jk
2) sudo vim /etc/apache2/workers.properties
and type/past in:
# Define 1 real worker using ajp13
worker.list=worker1
# Set properties for worker1 (ajp13)
worker.worker1.type=ajp13
worker.worker1.host=localhost
worker.worker1.port=8009
3) sudo vim /etc/apache2/apache2.conf
and type/past in:
# Load mod_jk module
# Update this path to match your modules location
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so
# Declare the module for (remove this line on Apache 2.x)
#AddModule mod_jk.c
# Where to find [...]]]></description>
			<content:encoded><![CDATA[<p>1) sudo apt-get install apache2 tomcat6 libapache2-mod-jk<br />
2) sudo vim /etc/apache2/workers.properties<br />
and type/past in:<br />
# Define 1 real worker using ajp13<br />
worker.list=worker1<br />
# Set properties for worker1 (ajp13)<br />
worker.worker1.type=ajp13<br />
worker.worker1.host=localhost<br />
worker.worker1.port=8009</p>
<p>3) sudo vim /etc/apache2/apache2.conf<br />
and type/past in:<br />
# Load mod_jk module<br />
# Update this path to match your modules location<br />
LoadModule jk_module /usr/lib/apache2/modules/mod_jk.so<br />
# Declare the module for (remove this line on Apache 2.x)<br />
#AddModule mod_jk.c<br />
# Where to find workers.properties<br />
# Update this path to match your conf directory location (put workers.properties next to httpd.conf)<br />
JkWorkersFile /etc/apache2/workers.properties<br />
# Where to put jk shared memory<br />
# Update this path to match your local state directory or logs directory<br />
JkShmFile /var/log/apache2/mod_jk.shm<br />
# Where to put jk logs<br />
# Update this path to match your logs directory location (put mod_jk.log next to access_log)<br />
JkLogFile /var/log/apache2/mod_jk.log<br />
# Set the jk log level [debug/error/info]<br />
JkLogLevel info<br />
# Select the timestamp log format<br />
JkLogStampFormat &#8220;[%a %b %d %H:%M:%S %Y] &#8221;</p>
<p>6) sudo vim /etc/apache2/sites-enabled/000-default<br />
Delete &#8220;DocumentRoot /var/www&#8221;<br />
And type in<br />
JkMount / worker1<br />
JkMount /* worker1<br />
note, you can use JkUnMount to define directories you want apache to serve</p>
<p>7) Enable port 8009 on tomcat<br />
sudo vim /etc/tomcat6/server.xml<br />
remove the &#8220;<!--" that is a line above and the "-->&#8221; that is a line below<br />
<Connector port="8009" protocol="AJP/1.3" redirectPort="8443" /></p>
<p> <img src='http://stephennimmo.com/blog/wp-includes/images/smilies/icon_cool.gif' alt='8)' class='wp-smiley' /> restart tomcat<br />
sudo /etc/init.d/tomcat6 restart</p>
<p>9) restart apache<br />
sudo /etc/init.d/apache2 restart</p>
<p>10) wget localhost<br />
You should see the default tomcat page </p>
<p>Courtesy of: http://rcpeters.blogspot.com/2009/05/installing-apache2-and-tomcat6-on.html</p>
]]></content:encoded>
			<wfw:commentRss>http://stephennimmo.com/blog/2009/12/23/ubuntu-9-10-apache2-tomcat6/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>ActiveMQ Clustered and Bulletproof</title>
		<link>http://stephennimmo.com/blog/2009/11/03/activemq-clustered-and-bulletproof/</link>
		<comments>http://stephennimmo.com/blog/2009/11/03/activemq-clustered-and-bulletproof/#comments</comments>
		<pubDate>Tue, 03 Nov 2009 14:51:30 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[ActiveMQ]]></category>

		<guid isPermaLink="false">http://stephennimmo.com/blog/?p=281</guid>
		<description><![CDATA[It&#8217;s easy to create a clustered instance of ActiveMQ and have your clients connect via multicast. This gives you the ability to create ActiveMQ instances all over the place, have them autodiscover each other and failover seamlessly and automatically. Here&#8217;s the ActiveMQ configuration.


&#60;beans xmlns=&#34;http://www.springframework.org/schema/beans&#34;
	xmlns:amq=&#34;http://activemq.apache.org/schema/core&#34;
	xmlns:xsi=&#34;http://www.w3.org/2001/XMLSchema-instance&#34;
	xsi:schemaLocation=&#34;http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
  		http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd
  		http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd&#34;&#62;

	&#60;bean class=&#34;org.springframework.beans.factory.config.PropertyPlaceholderConfigurer&#34; /&#62;

	&#60;broker xmlns=&#34;http://activemq.apache.org/schema/core&#34; brokerName=&#34;MyBroker&#34; [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s easy to create a clustered instance of ActiveMQ and have your clients connect via multicast. This gives you the ability to create ActiveMQ instances all over the place, have them autodiscover each other and failover seamlessly and automatically. Here&#8217;s the ActiveMQ configuration.</p>
<pre class="brush: xml">

&lt;beans xmlns=&quot;http://www.springframework.org/schema/beans&quot;
	xmlns:amq=&quot;http://activemq.apache.org/schema/core&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
  		http://activemq.apache.org/schema/core http://activemq.apache.org/schema/core/activemq-core.xsd
  		http://activemq.apache.org/camel/schema/spring http://activemq.apache.org/camel/schema/spring/camel-spring.xsd&quot;&gt;

	&lt;bean class=&quot;org.springframework.beans.factory.config.PropertyPlaceholderConfigurer&quot; /&gt;

	&lt;broker xmlns=&quot;http://activemq.apache.org/schema/core&quot; brokerName=&quot;MyBroker&quot; dataDirectory=&quot;${activemq.base}/data&quot;&gt;

		&lt;destinations&gt;
			&lt;queue physicalName=&quot;MyQueue&quot; /&gt;
		&lt;/destinations&gt;

		&lt;transportConnectors&gt;
			&lt;transportConnector name=&quot;openwire&quot; uri=&quot;tcp://localhost:0&quot; discoveryUri=&quot;multicast://default&quot;/&gt;
		&lt;/transportConnectors&gt;

		&lt;networkConnectors&gt;
      		&lt;networkConnector uri=&quot;multicast://default&quot;/&gt;
    	&lt;/networkConnectors&gt;

	    &lt;persistenceAdapter&gt;
	      	&lt;memoryPersistenceAdapter/&gt;
	    &lt;/persistenceAdapter&gt;

	&lt;/broker&gt;

	&lt;jetty xmlns=&quot;http://mortbay.com/schemas/jetty/1.0&quot;&gt;
        &lt;connectors&gt;
            &lt;nioConnector port=&quot;8161&quot;/&gt;
        &lt;/connectors&gt;

        &lt;handlers&gt;
            &lt;webAppContext contextPath=&quot;/admin&quot; resourceBase=&quot;${activemq.base}/webapps/admin&quot; logUrlOnStart=&quot;true&quot;/&gt;
        &lt;/handlers&gt;
    &lt;/jetty&gt;

&lt;/beans&gt;
</pre>
<p>And here is the Spring code for the client.</p>
<pre class="brush: xml">

&lt;bean id=&quot;jmsConnectionFactory&quot; class=&quot;org.apache.activemq.ActiveMQConnectionFactory&quot;&gt;
 		&lt;property name=&quot;brokerURL&quot;&gt;
 			&lt;value&gt;discovery:(multicast://default)&lt;/value&gt;
 		&lt;/property&gt;
 	&lt;/bean&gt;

 	&lt;bean id=&quot;destination&quot; class=&quot;org.apache.activemq.command.ActiveMQQueue&quot;&gt;
 		&lt;constructor-arg index=&quot;0&quot;&gt;
 			&lt;value&gt;MyQueue&lt;/value&gt;
 		&lt;/constructor-arg&gt;
 	&lt;/bean&gt;

 	&lt;bean id=&quot;jmsTemplate&quot; class=&quot;org.springframework.jms.core.JmsTemplate&quot;&gt;
 		&lt;property name=&quot;connectionFactory&quot;&gt;
 			&lt;bean class=&quot;org.springframework.jms.connection.SingleConnectionFactory&quot;&gt;
 				&lt;property name=&quot;targetConnectionFactory&quot; ref=&quot;jmsConnectionFactory&quot; /&gt;
 			&lt;/bean&gt;
 		&lt;/property&gt;
 	&lt;/bean&gt;
</pre>
<p>If you will notice, the ActiveMQ client uses the discovery mechanisms for finding the queue, which allows it to connect to any piece of hardware without actually having to know physical locations. You can replace your multicast://default (which happens to be multicast://239.255.2.3:6155) with whatever multicast address you would like. You could even DNS-it-up and have a url look like multicast://MyBroker.mydomain.com:6166. </p>
<p>Enjoy. </p>
<p><a href="http://activemq.apache.org/multicast-transport-reference.html">http://activemq.apache.org/multicast-transport-reference.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://stephennimmo.com/blog/2009/11/03/activemq-clustered-and-bulletproof/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Maven and the Enterprise</title>
		<link>http://stephennimmo.com/blog/2009/04/08/maven-and-the-enterprise/</link>
		<comments>http://stephennimmo.com/blog/2009/04/08/maven-and-the-enterprise/#comments</comments>
		<pubDate>Wed, 08 Apr 2009 18:34:52 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[Continuous Integration]]></category>
		<category><![CDATA[Maven]]></category>

		<guid isPermaLink="false">http://stephennimmo.com/blog/?p=276</guid>
		<description><![CDATA[Sounds like a band from the 70&#8217;s, huh? Here&#8217;s a quick picture for part of a presentation I am putting together for my colleagues. 

Here&#8217;s a basic drawing describing a minimum development environment for any company. The &#8220;servers&#8221; can be consolidated to a certain point, especially if you are using virtualization software. 
Also, the source [...]]]></description>
			<content:encoded><![CDATA[<p>Sounds like a band from the 70&#8217;s, huh? Here&#8217;s a quick picture for part of a presentation I am putting together for my colleagues. </p>
<p><a href="http://stephennimmo.com/blog/wp-content/uploads/2009/04/maven-enterprise.jpg" rel="lightbox[276]"><img src="http://stephennimmo.com/blog/wp-content/uploads/2009/04/maven-enterprise-300x149.jpg" alt="maven-enterprise" title="maven-enterprise" width="300" height="149" class="aligncenter size-medium wp-image-275" /></a></p>
<p>Here&#8217;s a basic drawing describing a minimum development environment for any company. The &#8220;servers&#8221; can be consolidated to a certain point, especially if you are using virtualization software. </p>
<p>Also, the source control, continuous integration and maven repository manager can realistically all run on a single server. You MIGHT be able to get away with running the actual builds on the box but might run into some performance issues, particularly if you are running a big build and simultaneously checking in a bunch of source code. </p>
]]></content:encoded>
			<wfw:commentRss>http://stephennimmo.com/blog/2009/04/08/maven-and-the-enterprise/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Requirements Documents are the suck.</title>
		<link>http://stephennimmo.com/blog/2009/03/26/requirements-documents-are-the-suck/</link>
		<comments>http://stephennimmo.com/blog/2009/03/26/requirements-documents-are-the-suck/#comments</comments>
		<pubDate>Fri, 27 Mar 2009 02:10:45 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://stephennimmo.com/blog/?p=250</guid>
		<description><![CDATA[http://www.scottberkun.com/blog/2009/why-requirements-stink/
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.scottberkun.com/blog/2009/why-requirements-stink/" target="blank">http://www.scottberkun.com/blog/2009/why-requirements-stink/</a></p>
]]></content:encoded>
			<wfw:commentRss>http://stephennimmo.com/blog/2009/03/26/requirements-documents-are-the-suck/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>10 Papers Every Software Architect Should Read (At Least Twice)</title>
		<link>http://stephennimmo.com/blog/2009/03/10/10-papers-every-software-architect-should-read-at-least-twice/</link>
		<comments>http://stephennimmo.com/blog/2009/03/10/10-papers-every-software-architect-should-read-at-least-twice/#comments</comments>
		<pubDate>Wed, 11 Mar 2009 00:39:55 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://stephennimmo.com/blog/?p=243</guid>
		<description><![CDATA[http://www.rgoarchitects.com/nblog/2009/02/27/10PapersEverySoftwareArchitectShouldReadAtLeastTwice.aspx
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.rgoarchitects.com/nblog/2009/02/27/10PapersEverySoftwareArchitectShouldReadAtLeastTwice.aspx" target="blank">http://www.rgoarchitects.com/nblog/2009/02/27/10PapersEverySoftwareArchitectShouldReadAtLeastTwice.aspx</a></p>
]]></content:encoded>
			<wfw:commentRss>http://stephennimmo.com/blog/2009/03/10/10-papers-every-software-architect-should-read-at-least-twice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Pics from Corporate Cup</title>
		<link>http://stephennimmo.com/blog/2009/03/10/pics-from-corporate-cup/</link>
		<comments>http://stephennimmo.com/blog/2009/03/10/pics-from-corporate-cup/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 23:23:37 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://stephennimmo.com/blog/?p=239</guid>
		<description><![CDATA[Running with the coworkers. 
]]></description>
			<content:encoded><![CDATA[<p>Running with the coworkers. </p>

<a href='http://stephennimmo.com/blog/2009/03/10/pics-from-corporate-cup/img_1268/' title='img_1268'><img width="150" height="150" src="http://stephennimmo.com/blog/wp-content/uploads/2009/03/img_1268-150x150.jpg" class="attachment-thumbnail" alt="" title="img_1268" /></a>
<a href='http://stephennimmo.com/blog/2009/03/10/pics-from-corporate-cup/img_1264_1/' title='img_1264_1'><img width="150" height="150" src="http://stephennimmo.com/blog/wp-content/uploads/2009/03/img_1264_1-150x150.jpg" class="attachment-thumbnail" alt="" title="img_1264_1" /></a>

]]></content:encoded>
			<wfw:commentRss>http://stephennimmo.com/blog/2009/03/10/pics-from-corporate-cup/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Big Ball of Mud</title>
		<link>http://stephennimmo.com/blog/2009/03/10/big-ball-of-mud/</link>
		<comments>http://stephennimmo.com/blog/2009/03/10/big-ball-of-mud/#comments</comments>
		<pubDate>Tue, 10 Mar 2009 23:20:36 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://stephennimmo.com/blog/?p=237</guid>
		<description><![CDATA[http://www.laputan.org/mud/
My personal favorite is &#8220;Keep It Working&#8221;. 
Must read for people who &#8220;prototype&#8221;. 
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.laputan.org/mud/" target="blank">http://www.laputan.org/mud/</a></p>
<p>My personal favorite is &#8220;Keep It Working&#8221;. </p>
<p>Must read for people who &#8220;prototype&#8221;. </p>
]]></content:encoded>
			<wfw:commentRss>http://stephennimmo.com/blog/2009/03/10/big-ball-of-mud/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Small Batches</title>
		<link>http://stephennimmo.com/blog/2009/02/21/small-batches/</link>
		<comments>http://stephennimmo.com/blog/2009/02/21/small-batches/#comments</comments>
		<pubDate>Sun, 22 Feb 2009 04:10:40 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Code]]></category>

		<guid isPermaLink="false">http://stephennimmo.com/blog/?p=235</guid>
		<description><![CDATA[Great article on small batches and continuous integration.
http://startuplessonslearned.blogspot.com/2009/02/work-in-small-batches.html
]]></description>
			<content:encoded><![CDATA[<p>Great article on small batches and continuous integration.</p>
<p><a href="http://startuplessonslearned.blogspot.com/2009/02/work-in-small-batches.html">http://startuplessonslearned.blogspot.com/2009/02/work-in-small-batches.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://stephennimmo.com/blog/2009/02/21/small-batches/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Beautiful Font for Programmers</title>
		<link>http://stephennimmo.com/blog/2009/02/16/beautiful-font-for-programmers/</link>
		<comments>http://stephennimmo.com/blog/2009/02/16/beautiful-font-for-programmers/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 23:07:29 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[Code]]></category>
		<category><![CDATA[font]]></category>

		<guid isPermaLink="false">http://stephennimmo.com/blog/?p=233</guid>
		<description><![CDATA[http://www.ms-studio.com/FontSales/anonymous.html
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ms-studio.com/FontSales/anonymous.html" target="blank">http://www.ms-studio.com/FontSales/anonymous.html</a></p>
]]></content:encoded>
			<wfw:commentRss>http://stephennimmo.com/blog/2009/02/16/beautiful-font-for-programmers/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>FERC &#8211; Electric Power Markets Overview</title>
		<link>http://stephennimmo.com/blog/2009/02/13/ferc-electric-power-markets-overview/</link>
		<comments>http://stephennimmo.com/blog/2009/02/13/ferc-electric-power-markets-overview/#comments</comments>
		<pubDate>Fri, 13 Feb 2009 14:22:16 +0000</pubDate>
		<dc:creator>Stephen</dc:creator>
				<category><![CDATA[ETRM]]></category>
		<category><![CDATA[FERC]]></category>
		<category><![CDATA[Power]]></category>

		<guid isPermaLink="false">http://stephennimmo.com/blog/?p=167</guid>
		<description><![CDATA[http://www.ferc.gov/market-oversight/mkt-electric/overview.asp
Good sight for overall statistics and information on each of the power markets in the US. 
]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.ferc.gov/market-oversight/mkt-electric/overview.asp" target="blank">http://www.ferc.gov/market-oversight/mkt-electric/overview.asp</a></p>
<p>Good sight for overall statistics and information on each of the power markets in the US. </p>
]]></content:encoded>
			<wfw:commentRss>http://stephennimmo.com/blog/2009/02/13/ferc-electric-power-markets-overview/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
