<?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>bugfox blog &#187; Software Development</title>
	<atom:link href="http://bugfox.net/blog/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://bugfox.net/blog</link>
	<description></description>
	<lastBuildDate>Thu, 29 Jul 2010 01:41:42 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0.1</generator>
		<item>
		<title>Parsing ISO 8601 Date Format in Java</title>
		<link>http://bugfox.net/blog/2010/07/27/parsing-iso-8601-date-format-in-java/</link>
		<comments>http://bugfox.net/blog/2010/07/27/parsing-iso-8601-date-format-in-java/#comments</comments>
		<pubDate>Tue, 27 Jul 2010 19:47:37 +0000</pubDate>
		<dc:creator>Jonathan Tappan</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[ISO]]></category>

		<guid isPermaLink="false">http://bugfox.net/blog/?p=205</guid>
		<description><![CDATA[These are dates in a format like &#8220;2010-05-17T09:30:47-04:00&#8243; optionally including date, time and time zone, which are commonly found in XML documents. In .NET you can just use DateTime.Parse(), but in Java the answer is not as obvious. Assuming that you are using the Apache libraries, the simplest approach is probably to just use org.apache.xmlbeans.XmlCalendar: [...]]]></description>
			<content:encoded><![CDATA[<p>These are dates in a format like &#8220;2010-05-17T09:30:47-04:00&#8243; optionally including date, time and time zone, which are commonly found in XML documents.</p>
<p>In .NET you can just use DateTime.Parse(), but in Java the answer is not as obvious.</p>
<p>Assuming that you are using the Apache libraries, the simplest approach is probably to just use org.apache.xmlbeans.XmlCalendar:</p>
<p><code>Calendar c =  new XmlCalendar("2010-05-17T09:30:47-04:00");</code></p>
<p>If that isn&#8217;t an option, try <a href="http://www.probabilityof.com/ISO8601.shtml">this</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://bugfox.net/blog/2010/07/27/parsing-iso-8601-date-format-in-java/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Solving Port Conflicts in Windows</title>
		<link>http://bugfox.net/blog/2010/07/26/solving-port-conflicts-in-windows/</link>
		<comments>http://bugfox.net/blog/2010/07/26/solving-port-conflicts-in-windows/#comments</comments>
		<pubDate>Mon, 26 Jul 2010 19:07:52 +0000</pubDate>
		<dc:creator>Jonathan Tappan</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[port conflicts]]></category>

		<guid isPermaLink="false">http://bugfox.net/blog/?p=201</guid>
		<description><![CDATA[Suppose that you start a server application like JBoss and get an error message like this one: 14:13:51,561 ERROR [AbstractKernelController] Error installing to Start: name=jboss.remoting:protocol=rmi,service=JMXConnectorServer state=Create mode=Manual requiredState=Installed java.rmi.server.ExportException: Port already in use: 1090; nested exception is: java.net.BindException: Address already in use: JVM_Bind &#8220;Wait a minute,&#8221; you say, &#8220;That port should be free! Who&#8217;s using [...]]]></description>
			<content:encoded><![CDATA[<p>Suppose that you start a server application like JBoss and get an error message like this one:<br />
<code><br />
14:13:51,561 ERROR [AbstractKernelController] Error installing to Start: name=jboss.remoting:protocol=rmi,service=JMXConnectorServer state=Create mode=Manual requiredState=Installed<br/><br />
java.rmi.server.ExportException: <strong>Port already in use: 1090</strong>; nested exception is:<br />
 java.net.BindException: Address already in use: JVM_Bind<br />
</code></p>
<p>&#8220;Wait a minute,&#8221; you say, &#8220;That port should be free! Who&#8217;s using it?&#8221;</p>
<p>To find the answer, open a command window and type:<br />
<code><br />
netstat -ab | findstr 1090<br />
</code></p>
<p>substituting the actual port number for &#8220;1090&#8243;. Under Windows 7 you will need to open the command window as an Administrator.</p>
<p>The netstat command will take a long time to run, but eventually it will give you the name and PID of the offending process. At that point you can decide whether to kill the offending process or make your application use a different port.</p>
]]></content:encoded>
			<wfw:commentRss>http://bugfox.net/blog/2010/07/26/solving-port-conflicts-in-windows/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ship Party</title>
		<link>http://bugfox.net/blog/2010/07/13/ship-party/</link>
		<comments>http://bugfox.net/blog/2010/07/13/ship-party/#comments</comments>
		<pubDate>Tue, 13 Jul 2010 18:09:53 +0000</pubDate>
		<dc:creator>Jonathan Tappan</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[ship party]]></category>

		<guid isPermaLink="false">http://bugfox.net/blog/?p=195</guid>
		<description><![CDATA[A &#8220;ship party&#8221; is a celebration held when your product is ready to ship. Apparently the ones at Microsoft get pretty wild.]]></description>
			<content:encoded><![CDATA[<p>A &#8220;ship party&#8221; is a celebration held when your product is ready to ship. Apparently <a href="http://blogs.msdn.com/b/oldnewthing/archive/2010/07/13/10037412.aspx">the ones at Microsoft get pretty wild</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://bugfox.net/blog/2010/07/13/ship-party/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Bad Code Offsets</title>
		<link>http://bugfox.net/blog/2009/11/18/bad-code-offsets/</link>
		<comments>http://bugfox.net/blog/2009/11/18/bad-code-offsets/#comments</comments>
		<pubDate>Wed, 18 Nov 2009 15:58:48 +0000</pubDate>
		<dc:creator>Jonathan Tappan</dc:creator>
				<category><![CDATA[Software Development]]></category>
		<category><![CDATA[Humor]]></category>

		<guid isPermaLink="false">http://bugfox.net/blog/?p=181</guid>
		<description><![CDATA[In a development of world-shaking importance, Alex Papadimoulis announces a new technique that can totally eliminate the problem of bad code.]]></description>
			<content:encoded><![CDATA[<p>In a development of world-shaking importance, Alex Papadimoulis <a href="http://thedailywtf.com/Articles/Introducing-Bad-Code-Offsets.aspx">announces</a> a new technique that can totally eliminate the problem of bad code.</p>
]]></content:encoded>
			<wfw:commentRss>http://bugfox.net/blog/2009/11/18/bad-code-offsets/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Original aLinks 2.0 code</title>
		<link>http://bugfox.net/blog/2009/07/25/original-alinks-2-0-code/</link>
		<comments>http://bugfox.net/blog/2009/07/25/original-alinks-2-0-code/#comments</comments>
		<pubDate>Sat, 25 Jul 2009 16:55:46 +0000</pubDate>
		<dc:creator>Jonathan Tappan</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[aLinks]]></category>

		<guid isPermaLink="false">http://bugfox.net/blog/?p=175</guid>
		<description><![CDATA[I got a request for Sean Hickey&#8217;s original aLinks code. Here it is Download &#8230;but be warned that it has some serious bugs. However it includes features that are not in my fixed version. Go here for my fixed version, which omits some broken features that I never got around to fixing (because I don&#8217;t [...]]]></description>
			<content:encoded><![CDATA[<p>I got a request for Sean Hickey&#8217;s original aLinks code.</p>
<p>Here it is </p>
<p><a href="http://bugfox.net/public/alinks/alinks2.0.2.zip">Download</a></p>
<p>&#8230;but be warned that it has some serious bugs. However it includes features that are not in my fixed version.</p>
<p>Go <a href="http://bugfox.net/blog/2008/11/14/alinks-20-bug-fixes/">here</a> for my fixed version, which omits some broken features that I never got around to fixing (because I don&#8217;t use them.)</p>
]]></content:encoded>
			<wfw:commentRss>http://bugfox.net/blog/2009/07/25/original-alinks-2-0-code/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>.NET Dictionary with Case-Insensitive Comparison</title>
		<link>http://bugfox.net/blog/2009/03/24/net-dictionary-with-case-insensitive-comparison/</link>
		<comments>http://bugfox.net/blog/2009/03/24/net-dictionary-with-case-insensitive-comparison/#comments</comments>
		<pubDate>Tue, 24 Mar 2009 14:59:11 +0000</pubDate>
		<dc:creator>Jonathan Tappan</dc:creator>
				<category><![CDATA[Dot-Net]]></category>

		<guid isPermaLink="false">http://bugfox.net/blog/?p=162</guid>
		<description><![CDATA[How do you create a IDictionary that does case-insensitive key matches. There are a number of solutions posted on the web, but none of them seem quite correct. The following should work. IDictionary map = new Dictionary(new StringCompInsensitive()); where public class StringCompInsensitive : IEqualityComparer { public bool Equals(string x, string y) { return String.Compare(x, y, [...]]]></description>
			<content:encoded><![CDATA[<p>How do you create a IDictionary that does case-insensitive key matches. There are a number of solutions posted on the web, but none of them seem quite correct. The following should work.<br />
<code><br />
IDictionary<string,string> map = new Dictionary<string, string>(new StringCompInsensitive());<br />
</code></p>
<p>where</p>
<pre>
public class StringCompInsensitive : IEqualityComparer<string>
{
    public bool Equals(string x, string y)
    {
         return String.Compare(x, y, true) == 0;
    }

    public int GetHashCode(string obj)
    {
          return ((string)obj).ToLower().GetHashCode();
    }
}
</pre>
]]></content:encoded>
			<wfw:commentRss>http://bugfox.net/blog/2009/03/24/net-dictionary-with-case-insensitive-comparison/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Blog Personality Analysis?</title>
		<link>http://bugfox.net/blog/2008/11/20/blog-personality-analysis/</link>
		<comments>http://bugfox.net/blog/2008/11/20/blog-personality-analysis/#comments</comments>
		<pubDate>Thu, 20 Nov 2008 20:45:28 +0000</pubDate>
		<dc:creator>Jonathan Tappan</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Typealyzer]]></category>

		<guid isPermaLink="false">http://bugfox.net/blog/?p=139</guid>
		<description><![CDATA[Typealyzer asks you the enter the URL of a blog, and attempts to determine the personality of the author according to the Myers-Briggs Type Indicator. (via Megan McArdle.) Naturally I immediately put in the URL of this blog and was told I am an &#8220;INTJ&#8221;, which it describes as a nerdy scientist type. Then I [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.typealyzer.com">Typealyzer</a> asks you the enter the URL of a blog, and attempts to determine the personality of the author according to the <a href="http://en.wikipedia.org/wiki/Meyers_Briggs">Myers-Briggs Type Indicator</a>. (via <a href="http://meganmcardle.theatlantic.com/archives/2008/11/playing_to_type.php">Megan McArdle</a>.)</p>
<p>Naturally I immediately put in the URL of this blog and was told I am an &#8220;INTJ&#8221;, which it describes as a nerdy scientist type. Then I put in the URL of my <a href="http://bugfox.net/fun">other blog</a>, where I write about &#8220;fun&#8221; stuff. This time it said I was an &#8220;ESTP&#8221;, which it describes as &#8220;active and playful.&#8221;</p>
<p>Of course these blogs have very different tones. Nevertheless the term &#8220;personality&#8221; as used by psychologists (including Meyers and Briggs) is something that applies to people, not blogs, and it is not supposed to change depending on what you are writing about. If Typealyzer gives different results for two blogs written by the same person, then it is not a reliable measurement technique.</p>
<p>Typealyzer also displays a chart purporting to show which areas of the brain were used in writing the blog. I&#8217;m not an expert in this field but I suspect this is pure hokum.</p>
]]></content:encoded>
			<wfw:commentRss>http://bugfox.net/blog/2008/11/20/blog-personality-analysis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>aLinks 2.0 Bug Fixes</title>
		<link>http://bugfox.net/blog/2008/11/14/alinks-20-bug-fixes/</link>
		<comments>http://bugfox.net/blog/2008/11/14/alinks-20-bug-fixes/#comments</comments>
		<pubDate>Sat, 15 Nov 2008 01:19:16 +0000</pubDate>
		<dc:creator>Jonathan Tappan</dc:creator>
				<category><![CDATA[Web Development]]></category>
		<category><![CDATA[WordPress]]></category>
		<category><![CDATA[aLinks]]></category>

		<guid isPermaLink="false">http://bugfox.net/blog/?p=133</guid>
		<description><![CDATA[I had been happily using the &#8220;aLinks&#8221; WordPress plugin by Sean Hickey for quite a while. The plugin automatically generates links for keywords that you specify. Version 1 did everything that I wanted, but it broke when I upgraded to WordPress 2.6. I found that Sean had written a completely new aLinks 2.0, so I [...]]]></description>
			<content:encoded><![CDATA[<p>I had been happily using the &#8220;aLinks&#8221; WordPress plugin by Sean Hickey for quite a while. The plugin automatically generates links for keywords that you specify. Version 1 did everything that I wanted, but it broke when I upgraded to WordPress 2.6. I found that Sean had written a completely new aLinks 2.0, so I installed it and found that it mostly worked, though with some minor problems.</p>
<p>Then Sean seemed to vanish from the face of the Internet. His <a href="http://www.headzoo.com">web server</a> went off line, making it impossible to even send him an email, and has been that way for several months.</p>
<p>So I had no choice but to go into the source code and fix the bugs that were bothering me. Since the code is released under the GNU General Public License (GPL) I am making the revised plugin available to anyone who is interested.</p>
<p><a href="http://bugfox.net/public/alinks/alinks2.0.2[jt]wp3.zip">New WordPress 3.x compatible version.</a></p>
<p><a href="http://bugfox.net/public/alinks/alinks2.0.2[jt].zip">Old WordPress 2.x compatible version.</a></p>
<h3>Bugs Fixed</h3>
<ol>
<li>aLinks failed to respect word boundaries when identifying keyphrases, causing links to be inserted in the middle of words.</li>
<li>aLinks was ignoring the &#8220;classes&#8221; setting which allows you to assign one or more CSS classes to the links.</li>
</ol>
<h3>Warning</h3>
<p>If you are upgrading from aLinks 1.x you must first export your keyphrases to a file, then import them back in after you have installed version 2.0. Otherwise you will lose your keyphrases.</p>
<h3>Other Notes</h3>
<p>To install, unzip and copy the entire alinks directory to your wp-content/plugins directory.</p>
<p>The documentation is included as a PDF file in the alinks/includes directory.</p>
]]></content:encoded>
			<wfw:commentRss>http://bugfox.net/blog/2008/11/14/alinks-20-bug-fixes/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
		</item>
		<item>
		<title>Using Fiddler to Capture Web Traffic from an Application Running Under IIS</title>
		<link>http://bugfox.net/blog/2008/10/28/using-fiddler-to-capture-web-traffic-from-an-application-running-under-iis/</link>
		<comments>http://bugfox.net/blog/2008/10/28/using-fiddler-to-capture-web-traffic-from-an-application-running-under-iis/#comments</comments>
		<pubDate>Tue, 28 Oct 2008 15:39:57 +0000</pubDate>
		<dc:creator>Jonathan Tappan</dc:creator>
				<category><![CDATA[Dot-Net]]></category>
		<category><![CDATA[Web Development]]></category>
		<category><![CDATA[Fiddler]]></category>
		<category><![CDATA[IIS]]></category>

		<guid isPermaLink="false">http://bugfox.net/blog/?p=119</guid>
		<description><![CDATA[Just add the following to the web.config file for the application: &#60;system.net> &#160;&#60;defaultProxy> &#160;&#160;&#60;proxy proxyaddress="http://127.0.0.1:8888" /> &#160;&#60;/defaultProxy> &#60;/system.net> Thanks to Rick Strahl. Get Fiddler here.]]></description>
			<content:encoded><![CDATA[<p>Just add the following to the web.config file for the application:</p>
<p><code></p>
<p>&lt;system.net><br />
&nbsp;&lt;defaultProxy><br />
&nbsp;&nbsp;&lt;proxy  proxyaddress="http://127.0.0.1:8888" /><br />
&nbsp;&lt;/defaultProxy><br />
&lt;/system.net><br />
</code></p>
<p>Thanks to <a href="http://www.west-wind.com/WebLog/posts/277966.aspx">Rick Strahl</a>. </p>
<p>Get Fiddler <a href="http://www.fiddlertool.com/fiddler/">here</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://bugfox.net/blog/2008/10/28/using-fiddler-to-capture-web-traffic-from-an-application-running-under-iis/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Application Configuration Error Converting to .NET Framwork 2.0</title>
		<link>http://bugfox.net/blog/2008/05/20/application-configuration-error-converting-to-net-framwork-20/</link>
		<comments>http://bugfox.net/blog/2008/05/20/application-configuration-error-converting-to-net-framwork-20/#comments</comments>
		<pubDate>Tue, 20 May 2008 20:49:37 +0000</pubDate>
		<dc:creator>Jonathan Tappan</dc:creator>
				<category><![CDATA[Dot-Net]]></category>

		<guid isPermaLink="false">http://bugfox.net/blog/?p=112</guid>
		<description><![CDATA[I converted an old console app from .NET Framework 1.1 to 2.0 using Visual Studio 2008. When I ran it I got the following helpful error message This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. Looking in the Security Event Log I found the [...]]]></description>
			<content:encoded><![CDATA[<p>I converted an old console app from .NET Framework 1.1 to 2.0 using Visual Studio 2008. When I ran it I got the following helpful error message</p>
<blockquote><p>
This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem.</p></blockquote>
<p>Looking in the Security Event Log I found the following messages:</p>
<blockquote><p>
Generate Activation Context failed for C:\ParsII\bin\server\CCSWinService2.exe. Reference error message: The operation completed successfully.</p>
<p>Syntax error in manifest or policy file &#8220;C:\ParsII\bin\server\CCSWinService2.exe.Config&#8221; on line 1.
</p></blockquote>
<p>The last one was the key. In the app config file the first line was<br />
<code><br />
&lt;?xml version="1.0" encoding="Windows-1252"?&gt;<br />
</code></p>
<p>That should be perfectly legal for an XML file, but deleting it caused everything to work perfectly.</p>
]]></content:encoded>
			<wfw:commentRss>http://bugfox.net/blog/2008/05/20/application-configuration-error-converting-to-net-framwork-20/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
