<?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>fixlinux.com &#187; Development</title>
	<atom:link href="http://fixlinux.com/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://fixlinux.com</link>
	<description>security + stability = sanity</description>
	<lastBuildDate>Wed, 07 Dec 2011 04:03:35 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.2.1</generator>
		<item>
		<title>Tomcat cluster fails to start on OS X Lion</title>
		<link>http://fixlinux.com/2011/08/17/tomcat-cluster-fails-to-start-on-os-x-lion/</link>
		<comments>http://fixlinux.com/2011/08/17/tomcat-cluster-fails-to-start-on-os-x-lion/#comments</comments>
		<pubDate>Wed, 17 Aug 2011 19:55:20 +0000</pubDate>
		<dc:creator>derek</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[OS X]]></category>

		<guid isPermaLink="false">http://fixlinux.com/?p=546</guid>
		<description><![CDATA[In the process of upgrading my dev environment to OS X Lion I discovered that Tomcat failed to start up correctly. I discovered the following in the log files: 2011-08-15 18:06:24,605 [] INFO o.a.catalina.core.StandardEngine - Starting Servlet Engine: Apache Tomcat/6.0.32 2011-08-15 18:06:24,606 [] INFO o.a.catalina.ha.tcp.SimpleTcpCluster - Cluster is about to start 2011-08-15 18:06:24,650 [] INFO [...]]]></description>
			<content:encoded><![CDATA[<p>In the process of upgrading my dev environment to OS X Lion I discovered that Tomcat failed to start up correctly.</p>
<p>I discovered the following in the log files:</p>
<pre>2011-08-15 18:06:24,605 [] INFO  o.a.catalina.core.StandardEngine - Starting Servlet Engine: Apache Tomcat/6.0.32
2011-08-15 18:06:24,606 [] INFO  o.a.catalina.ha.tcp.SimpleTcpCluster - Cluster is about to start
2011-08-15 18:06:24,650 [] INFO  o.a.c.tribes.transport.ReceiverBase - Receiver Server Socket bound to:/127.0.0.1:5000
2011-08-15 18:06:24,660 [] INFO  o.a.c.tribes.membership.McastService - Attempting to bind the multicast socket to /228.0.0.4:45564
2011-08-15 18:06:24,668 [] INFO  o.a.c.tribes.membership.McastService - Setting multihome multicast interface to:/127.0.0.1
2011-08-15 18:06:24,669 [] INFO  o.a.c.tribes.membership.McastService - Setting cluster mcast soTimeout to 500
2011-08-15 18:06:24,673 [] INFO  o.a.c.tribes.membership.McastService - Sleeping for 1000 milliseconds to establish cluster membership, start level:4
2011-08-15 18:06:25,675 [] INFO  o.a.c.tribes.membership.McastService - Done sleeping, membership established, start level:4
2011-08-15 18:06:25,681 [] ERROR o.a.catalina.ha.tcp.SimpleTcpCluster - Unable to start cluster.
org.apache.catalina.tribes.ChannelException: java.io.IOException: Can't assign requested address; No faulty members identified.
</pre>
<p>After some checking of my /etc/hosts file and a couple other things I found a very relevant <a href="http://confluence.atlassian.com/display/DOC/Cluster+Troubleshooting#ClusterTroubleshooting-PreferIPv4">Tomcat Cluster troubleshooting tip</a>.</p>
<p>I added the following to my catalina.sh file for the JAVA_OPTS variable, and Tomcat started up as usual:</p>
<pre>-Djava.net.preferIPv4Stack=true</pre>
<p>Turns out it was trying to setup the Tomcat cluster on my IPv6 interface and then I assume trying to access it via the IPv4 interface.  Obviously they couldn&#8217;t communicate.</p>
<p>I&#8217;ve never had to do this on any prior version of OS X, nor any of my Linux machines.</p>
]]></content:encoded>
			<wfw:commentRss>http://fixlinux.com/2011/08/17/tomcat-cluster-fails-to-start-on-os-x-lion/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Subversion and keyword substitution</title>
		<link>http://fixlinux.com/2006/07/24/subversion-and-keyword-substitution/</link>
		<comments>http://fixlinux.com/2006/07/24/subversion-and-keyword-substitution/#comments</comments>
		<pubDate>Mon, 24 Jul 2006 18:40:49 +0000</pubDate>
		<dc:creator>derek</dc:creator>
				<category><![CDATA[Development]]></category>

		<guid isPermaLink="false">http://fixlinux.com/2006/07/24/subversion-and-keyword-substitution/</guid>
		<description><![CDATA[Last year I migrated a large CVS repository over to Subversion. One of the issues I missed during the migration was that unlike CVS, Subversion did not automatically set new files to expand keywords such as $Id$ to the very useful string: $Id: MySpecialClass.java 12234 2004-05-21 00:23:08Z derek $ I did some research into the [...]]]></description>
			<content:encoded><![CDATA[<p>Last year I migrated a large CVS repository over to Subversion.  One of the issues I missed during the migration was that unlike CVS, Subversion did not automatically set new files to expand keywords such as $Id$ to the very useful string:</p>
<pre>$Id: MySpecialClass.java 12234 2004-05-21 00:23:08Z derek $</pre>
<p>I did some research into the problem and unfortunately there wasn&#8217;t anything on the server side I could do to force this setting on all files as they are added and checked in to the SVN repository.  To automatically enable keyword substitution you must do two things.</p>
<p>First, uncomment the <strong>enable-auto-props = yes</strong> line in ~/.subversion/config in each users home directory.</p>
<pre>### Set enable-auto-props to 'yes' to enable automatic properties
### for 'svn add' and 'svn import', it defaults to 'no'.
### Automatic properties are defined in the section 'auto-props'.
enable-auto-props = yes</pre>
<p>Then you must configure the file types to which you will apply keyword substitution:</p>
<pre>### Section for configuring automatic properties.
[auto-props]
### The format of the entries is:
###   file-name-pattern = propname[=value][;propname[=value]...]
### The file-name-pattern can contain wildcards (such as '*' and
### '?').  All entries which match will be applied to the file.
### Note that auto-props functionality must be enabled, which
### is typically done by setting the 'enable-auto-props' option.
*.c = svn:eol-style=native;svn:keywords=Date Author Id Revision HeadURL</pre>
<p>I appended <strong>;svn:keywords=Date Author Id Revision HeadURL</strong> to the entry for .c files in ~/.subversion/config. Uncomment other file types in the file and adjust them as needed.  Feel free to add new lines to the file for other source files such as .php and .java.  These settings will take effect for all new files that you add to the repository.</p>
<p>If you happen to have existing files in the repository that need to have the keyword property set you can set it by running the command:<br />
<code>svn propset svn:keywords 'Author Date Id Revision HeadURL'</code></p>
<p><a title="svn:keyword documentation" target="_blank" href="http://svnbook.red-bean.com/en/1.1/ch07s02.html#svn-ch-7-sect-2.3.4">svn:keyword documentation</a></p>
]]></content:encoded>
			<wfw:commentRss>http://fixlinux.com/2006/07/24/subversion-and-keyword-substitution/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>How to Look Like a UNIX Guru</title>
		<link>http://fixlinux.com/2006/02/07/how-to-look-like-a-unix-guru/</link>
		<comments>http://fixlinux.com/2006/02/07/how-to-look-like-a-unix-guru/#comments</comments>
		<pubDate>Tue, 07 Feb 2006 20:55:50 +0000</pubDate>
		<dc:creator>derek</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Shell]]></category>

		<guid isPermaLink="false">http://fixlinux.com/2006/02/07/how-to-look-like-a-unix-guru/</guid>
		<description><![CDATA[http://www.cs.usfca.edu/~parrt/course/601/lectures/unix.util.html Here&#8217;s a very useful set of instructions that every developer that deploys on unix/linux should know. &#8220;If you want to be a serious server developer, you will need to have a certain facility with a number of UNIX tools; about 15. You will start to see similarities among them, particularly regular expressions, and soon [...]]]></description>
			<content:encoded><![CDATA[<p><a title="How to Look Like a UNIX Guru" target="_blank" href="http://www.cs.usfca.edu/~parrt/course/601/lectures/unix.util.html">http://www.cs.usfca.edu/~parrt/course/601/lectures/unix.util.html</a></p>
<p>Here&#8217;s a very useful set of instructions that every developer that deploys on unix/linux should know.</p>
<blockquote><p><em>&#8220;If you want to be a serious server developer, you will need to have a certain facility with a number of UNIX tools; about 15. You will start to see similarities among them, particularly regular expressions, and soon you will feel very comfortable. Combining the simple commands, you can build very powerful tools very quickly&#8211;much faster than you could build the equivalent functionality in C or Java, for example.&#8221;</em></p></blockquote>
<p>My favorite of all the commands mentioned is rsync.  I use it daily to move things around between servers and even on the same machine.  I&#8217;ll discuss rsync and how I use it later.</p>
]]></content:encoded>
			<wfw:commentRss>http://fixlinux.com/2006/02/07/how-to-look-like-a-unix-guru/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

