<?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/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule"
>

<channel>
	<title>unsigned long geek = random(); &#187; Development</title>
	<atom:link href="http://mjturner.net/blog/archives/category/development/feed/" rel="self" type="application/rss+xml" />
	<link>http://mjturner.net/blog</link>
	<description>Michael-John Turner: Musings from a random UNIX geek</description>
	<lastBuildDate>Fri, 12 Jun 2009 22:28:06 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
		<item>
		<title>CVS repository change</title>
		<link>http://mjturner.net/blog/archives/2006/05/25/cvs-repository-change/</link>
		<comments>http://mjturner.net/blog/archives/2006/05/25/cvs-repository-change/#comments</comments>
		<pubDate>Thu, 25 May 2006 04:23:06 +0000</pubDate>
		<dc:creator>Michael-John Turner</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[pkgsrc]]></category>

		<guid isPermaLink="false">http://weblogs.turner.org.za/mj/?p=135</guid>
		<description><![CDATA[Over the past few weeks SourceForge.net has been moving projects from cvs.sf.net to projectname.cvs.sf.net. Not wanting to delete my currently checked out copy of pkgsrc-wip and check out again, I needed to update CVS/Root in each checked out directory. Neil gave me this useful snippet to accomplish exactly this:
find . -type f -name "Root" &#124; [...]]]></description>
			<content:encoded><![CDATA[<p>Over the past few weeks <a href="http://sourceforge.net">SourceForge.net</a> has been moving projects from cvs.sf.net to <i>projectname</i>.cvs.sf.net. Not wanting to delete my currently checked out copy of <a href="http://pkgsrc-wip.sourceforge.net/">pkgsrc-wip</a> and check out again, I needed to update CVS/Root in each checked out directory. <a href="http://mithrandr.moria.org/">Neil</a> gave me this useful snippet to accomplish exactly this:<code><br />
find . -type f -name "Root" | grep "/CVS/" | xargs sed -i -e 's/cvs.sf.net/pkgsrc-wip.cvs.sf.net/'<br />
</code></p>
<p>It assumes a sed which supports the <code>-i</code> option &#8211; <a href="http://www.NetBSD.org">NetBSD</a>&#8217;s doesn&#8217;t, so I used <code>perl -i -p -e</code> instead (I could also have installed <code>textproc/gsed</code> from <a href="http://www.pkgsrc.org">pkgsrc</a>, but I already had perl installed).<!--pp-thumb-start--><!--PictPress found no dir /home/www/weblogs.turner.org.za/mj/images//2006/05/cvs-repository-change--><!--pp-thumb-end--></p>
]]></content:encoded>
			<wfw:commentRss>http://mjturner.net/blog/archives/2006/05/25/cvs-repository-change/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>soapui</title>
		<link>http://mjturner.net/blog/archives/2006/05/24/soapui/</link>
		<comments>http://mjturner.net/blog/archives/2006/05/24/soapui/#comments</comments>
		<pubDate>Wed, 24 May 2006 08:06:25 +0000</pubDate>
		<dc:creator>Michael-John Turner</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Web Services]]></category>

		<guid isPermaLink="false">http://weblogs.turner.org.za/mj/?p=134</guid>
		<description><![CDATA[For a while I&#8217;ve been looking for a decent open source tool to test web services, without much luck. There are a number of commercial tools, including Parasoft&#8217;s SOAtest, but I struggled to find any open source equivalents. A few days ago I stumbled upon soapui, which is a GPLd web service testing and prototyping [...]]]></description>
			<content:encoded><![CDATA[<p>For a while I&#8217;ve been looking for a decent open source tool to test web services, without much luck. There are a number of commercial tools, including <a href="http://www.parasoft.com/">Parasoft&#8217;s</a> <a href="http://www.parasoft.com/jsp/products/home.jsp?product=SOAP">SOAtest</a>, but I struggled to find any open source equivalents. A few days ago I stumbled upon <a href="http://www.soapui.org">soapui</a>, which is a GPLd web service testing and prototyping tool. It&#8217;s written in Java and should work on any operating system with a Java VM.</p>
<p>My initial impressions of version 1.5 are good &#8211; it had no problem importing the WSDL file for the project I&#8217;m currently working on (consuming a custom .NET web service) and allowing me to test it.</p>
<p>One small installation issue &#8211; if you have problems running <code>bin/soapui.sh</code>, it may be because the file contains carriage returns. Strip them out and it should work fine.<!--pp-thumb-start--><!--PictPress found no dir /home/www/weblogs.turner.org.za/mj/images//2006/05/soapui--><!--pp-thumb-end--></p>
]]></content:encoded>
			<wfw:commentRss>http://mjturner.net/blog/archives/2006/05/24/soapui/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Tag List for vim</title>
		<link>http://mjturner.net/blog/archives/2006/04/30/taglist-for-vim/</link>
		<comments>http://mjturner.net/blog/archives/2006/04/30/taglist-for-vim/#comments</comments>
		<pubDate>Sun, 30 Apr 2006 08:53:47 +0000</pubDate>
		<dc:creator>Michael-John Turner</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Unix]]></category>

		<guid isPermaLink="false">http://weblogs.turner.org.za/mj/?p=128</guid>
		<description><![CDATA[Recently I&#8217;ve been trying to customize my vim configuration to try and optimize it for software development. Although I&#8217;ve been using vim for many years, I&#8217;ve always used a configuration that&#8217;s very close to vanilla. 
Yesterday I installed Tag List, a plugin that displays and allows navigation to the various tags in the currently edited [...]]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve been trying to customize my <a href="http://www.vim.org">vim</a> configuration to try and optimize it for software development. Although I&#8217;ve been using vim for many years, I&#8217;ve always used a configuration that&#8217;s very close to vanilla. </p>
<p>Yesterday I installed <a href="http://www.geocities.com/yegappan/taglist/">Tag List</a>, a plugin that displays and allows navigation to the various tags in the currently edited file(s). It seems to work very well, and supports most languages, thanks to <a href="http://ctags.sourceforge.net/">Exuberant ctags</a>.</p>
<p>The screenshot below shows it in action editing some Python source.<!--pp-thumb-start--><!--PictPress generated thumbnails for dir /home/www/weblogs.turner.org.za/mj/images//2006/04/taglist-for-vim-->
<div class="clear">&nbsp;</div>
<p><!--pp-page-start--><!--PictPress generated page for image /2006/04/taglist-for-vim/taglist.jpg-->
<div class="picture">
<div class="image"><a title="30-Apr-06 10:53:47 taglist" href="http://weblogs.turner.org.za/mj/wp-content/plugins/pictpress/resize.php?size=0&#038;path=%2F2006%2F04%2Ftaglist-for-vim%2Ftaglist.jpg"><img src="http://weblogs.turner.org.za/mj/wp-content/plugins/pictpress/resize.php?size=300&#038;path=%2F2006%2F04%2Ftaglist-for-vim%2Ftaglist.jpg" width="259" height="300" alt="taglist" /></a></div>
<div class="caption">    459&#215;530 pixels 58.7 kB</div>
</div>
<p><!--pp-page-end-->
<div class="clear">&nbsp;</div>
<p><!--pp-thumb-end--></p>
]]></content:encoded>
			<wfw:commentRss>http://mjturner.net/blog/archives/2006/04/30/taglist-for-vim/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>ABAP documentation musical references redux</title>
		<link>http://mjturner.net/blog/archives/2006/03/16/abap-documentation-musical-references-redux/</link>
		<comments>http://mjturner.net/blog/archives/2006/03/16/abap-documentation-musical-references-redux/#comments</comments>
		<pubDate>Thu, 16 Mar 2006 07:02:00 +0000</pubDate>
		<dc:creator>Michael-John Turner</dc:creator>
				<category><![CDATA[ABAP]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[SAP]]></category>

		<guid isPermaLink="false">http://weblogs.turner.org.za/mj/?p=108</guid>
		<description><![CDATA[As a follow-up to yesterday&#8217;s post about ABAP documentation referencing Pink Floyd&#8217;s Careful with that Axe, Eugene, I decided to do some further digging. It seems that there are quite a few musical references in the documentation:

concatenate &#8211; Louis Armstrong&#8217;s We have all the time in the World
condense &#8211; Leonard Cohen&#8217;s Suzanne
find &#8211; Neil Young [...]]]></description>
			<content:encoded><![CDATA[<p>As a follow-up to <a href="http://weblogs.turner.org.za/mj/archives/2006/03/15/sap-runs-pink-floyd/">yesterday&#8217;s post</a> about ABAP documentation referencing Pink Floyd&#8217;s <i>Careful with that Axe, Eugene</i>, I decided to do some further digging. It seems that there are quite a few musical references in the documentation:</p>
<ul>
<li><b>concatenate</b> &#8211; Louis Armstrong&#8217;s <i>We have all the time in the World</i></li>
<li><b>condense</b> &#8211; Leonard Cohen&#8217;s <i>Suzanne</i></li>
<li><b>find</b> &#8211; Neil Young and Crazy Horse&#8217;s <i>Everybody Knows this is Nowhere</i></li>
<li><b>replace</b> and <b>shift</b>- Lyle Lovett&#8217;s <i>I Know You Know</i></li>
<li><b>search</b> &#8211; Chuck Berry&#8217;s <i>Roll Over Beethoven</i></li>
<li><b>split</b> &#8211; The Rolling Stones&#8217; <i>Mother&#8217;s Little Helper</i></li>
<li><b>translate</b> &#8211; Pink Floyd&#8217;s <i>Careful with that Axe, Eugene</i></li>
</ul>
<p>There are probably some other little gems in the documentation, but I&#8217;ll leave those for someone else to find <img src='http://mjturner.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> <!--pp-thumb-start--><!--PictPress found no dir /home/www/weblogs.turner.org.za/mj/images//2006/03/abap-documentation-musical-references-redux--><!--pp-thumb-end--></p>
]]></content:encoded>
			<wfw:commentRss>http://mjturner.net/blog/archives/2006/03/16/abap-documentation-musical-references-redux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>SAP runs Pink Floyd</title>
		<link>http://mjturner.net/blog/archives/2006/03/15/sap-runs-pink-floyd/</link>
		<comments>http://mjturner.net/blog/archives/2006/03/15/sap-runs-pink-floyd/#comments</comments>
		<pubDate>Wed, 15 Mar 2006 06:24:22 +0000</pubDate>
		<dc:creator>Michael-John Turner</dc:creator>
				<category><![CDATA[ABAP]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[SAP]]></category>

		<guid isPermaLink="false">http://weblogs.turner.org.za/mj/?p=104</guid>
		<description><![CDATA[Spotted this gem in the ABAP documentation for the translate statement on a SAP WAS 6.40 system today:

After the conversion, the variable text contains &#8220;CAREFUL WITH THAT AXE, EUGENE&#8221;. 
DATA text TYPE string.
text = `Careful with that Axe, Eugene`.
TRANSLATE text TO UPPER CASE.


I guess someone in Walldorf likes Pink Floyd  
]]></description>
			<content:encoded><![CDATA[<p>Spotted this gem in the <a href="http://en.wikipedia.org/wiki/ABAP">ABAP</a> documentation for the <b>translate</b> statement on a <a href="http://sdn.sap.com">SAP WAS</a> 6.40 system today:</p>
<blockquote><p>
After the conversion, the variable text contains &#8220;CAREFUL WITH THAT AXE, EUGENE&#8221;. <code><br />
DATA text TYPE string.<br />
text = `Careful with that Axe, Eugene`.<br />
TRANSLATE text TO UPPER CASE.<br />
</code>
</p></blockquote>
<p>I guess someone in Walldorf likes <a href="http://www.pinkfloyd.net/albums/?album=32">Pink Floyd</a> <img src='http://mjturner.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> <!--pp-thumb-start--><!--PictPress found no dir /home/www/weblogs.turner.org.za/mj/images//2006/03/sap-runs-pink-floyd--><!--pp-thumb-end--></p>
]]></content:encoded>
			<wfw:commentRss>http://mjturner.net/blog/archives/2006/03/15/sap-runs-pink-floyd/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Lisp for NetBSD/sparc64 redux</title>
		<link>http://mjturner.net/blog/archives/2006/02/13/lisp-for-netbsdsparc64-redux/</link>
		<comments>http://mjturner.net/blog/archives/2006/02/13/lisp-for-netbsdsparc64-redux/#comments</comments>
		<pubDate>Mon, 13 Feb 2006 19:27:27 +0000</pubDate>
		<dc:creator>Michael-John Turner</dc:creator>
				<category><![CDATA[*BSD]]></category>
		<category><![CDATA[Lisp]]></category>
		<category><![CDATA[Open Source]]></category>
		<category><![CDATA[pkgsrc]]></category>

		<guid isPermaLink="false">http://weblogs.turner.org.za/mj/?p=89</guid>
		<description><![CDATA[Sometimes I love being proven wrong, and this is one such occasion. As a follow-up to my earlier post, a few people have pointed out to me that Embedded Common Lisp (ECL) works on NetBSD/sparc64. Yay!  
There is a package in pkgsrc-wip. It didn&#8217;t compile cleanly on my -current system (it includes &#60;frame .h&#62; [...]]]></description>
			<content:encoded><![CDATA[<p>Sometimes I love being proven wrong, and this is one such occasion. As a follow-up to my <a href="http://weblogs.turner.org.za/mj/archives/2006/02/07/no-lisp-for-netbsdsparc64/">earlier post</a>, a few people have pointed out to me that <a href="http://ecls.sourceforge.net/">Embedded Common Lisp</a> (ECL) works on <a href="http://www.netbsd.org/Ports/sparc64/">NetBSD/sparc64</a>. Yay! <img src='http://mjturner.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>There is a <a href="http://pkgsrc.se/wip/ecl">package</a> in <a href="http://pkgsrc-wip.sourceforge.net/">pkgsrc-wip</a>. It didn&#8217;t compile cleanly on my -current system (it includes &lt;frame .h&gt; rather than &lt;machine/frame.h&gt;), but I&#8217;ll submit a patch to the maintainer to fix that.</p>
<p><!--pp-thumb-start--><!--PictPress found no dir /home/www/weblogs.turner.org.za/mj/images//2006/02/lisp-for-netbsdsparc64-redux--><!--pp-thumb-end--></p>
]]></content:encoded>
			<wfw:commentRss>http://mjturner.net/blog/archives/2006/02/13/lisp-for-netbsdsparc64-redux/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>$ENV considered harmful</title>
		<link>http://mjturner.net/blog/archives/2005/02/13/env-considered-harmful/</link>
		<comments>http://mjturner.net/blog/archives/2005/02/13/env-considered-harmful/#comments</comments>
		<pubDate>Sun, 13 Feb 2005 15:20:21 +0000</pubDate>
		<dc:creator>Michael-John Turner</dc:creator>
				<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">/?p=33</guid>
		<description><![CDATA[I have a moderately complicated set of rc files for the login shells I use (zsh where available, otherwise bash). To make things easier to manage, I have a single set of scripts that set the appropriate options for whichever shell is being used. To make things slightly more complicated, I export my home directory [...]]]></description>
			<content:encoded><![CDATA[<p>I have a moderately complicated set of rc files for the login shells I use (<a href="http://www.zsh.org">zsh</a> where available, otherwise <a href="http://www.gnu.org/software/bash/bash.html">bash</a>). To make things easier to manage, I have a single set of scripts that set the appropriate options for whichever shell is being used. To make things slightly more complicated, I export my home directory via NFS, so the same set of scripts are used on <a href="http://www.linux.org">Linux</a>, <a href="http://www.NetBSD.org">NetBSD</a> and <a href="http://www.sun.com/software/solaris/">Solaris</a> systems. Everything seemed to work well, or so I thought&#8230;</p>
<p>For a while I&#8217;ve been getting strange error messages when trying to view manual pages or when running certain shell scripts on my NetBSD machines. Errors like the following:</p>
<pre>
Syntax error: word unexpected (expecting ")")
</pre>
<p>I couldn&#8217;t find anything in Google, but thought it must have something to do with one of my environment variables interacting badly with man(1). After clearing pretty much all of them and hacking /etc/man.conf without luck, I realised it was NetBSD&#8217;s sh(1) that was causing the problem &#8211; with $ENV set, it was running my standard set of scripts and dying when encountering some zsh&#8217;isms (hint: &#8220;/bin/sh -v&#8221; is very useful).</p>
<p>Solution: clear $ENV and all is well. The problem was masked on Linux systems because almost all of them use bash as /bin/sh&#8230;</p>
<p>(Apologies to Tom Christiansen for the <a href="http://www.faqs.org/faqs/unix-faq/shell/csh-whynot/">title</a> <img src='http://mjturner.net/blog/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> ).</p>
]]></content:encoded>
			<wfw:commentRss>http://mjturner.net/blog/archives/2005/02/13/env-considered-harmful/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Cape Town Sun Java Developer Day</title>
		<link>http://mjturner.net/blog/archives/2004/09/22/cape-town-sun-java-developer-day/</link>
		<comments>http://mjturner.net/blog/archives/2004/09/22/cape-town-sun-java-developer-day/#comments</comments>
		<pubDate>Wed, 22 Sep 2004 15:54:57 +0000</pubDate>
		<dc:creator>Michael-John Turner</dc:creator>
				<category><![CDATA[Development]]></category>
		<category><![CDATA[Java]]></category>

		<guid isPermaLink="false">/?p=24</guid>
		<description><![CDATA[I went to the Cape Town Sun Developer Day today. Other than having incorrect info about the venue (which was communicated to me only after I got to the wrong venue!), it went very well. The focus was on Java development and talks were given by Srikanth Raju, Simon Ritter (who has a Sun.COM blog) [...]]]></description>
			<content:encoded><![CDATA[<p>I went to the Cape Town <a href="http://www.sun.com">Sun<a /> <a href="http://za.sun.com/aboutsun/events/developerday/">Developer Day</a> today. Other than having incorrect info about the venue (which was communicated to me only after I got to the wrong venue!), it went very well. The focus was on Java development and talks were given by <a href="http://www.srikanthraju.com">Srikanth Raju</a>, Simon Ritter (who has a Sun.COM <a href="http://blogs.sun.com/roller/page/simonri">blog</a>) and Dr Doris Chen.</p>
<p>The most interesting talk for me was Simon Ritter&#8217;s coverage of the Sun JVM Garbage Collector, which included a nice overview of the different approaches to garbage  collection and some tips on tuning the JVM for different types of applications and server enviroments.</p>
<p>No freebies unfortunately &#8211; all I left with was a Sun pen and notepad. Bah! They also skipped the session on the <a href="http://wwws.sun.com/software/javadesktopsystem/">Java Desktop System</a> (Sun&#8217;s SuSE-based Linux distribution), but all three presenters delivered their presentations using <a href="http://wwws.sun.com/software/star/staroffice/">StarOffice</a> and were running JDS.</a></a></p>
]]></content:encoded>
			<wfw:commentRss>http://mjturner.net/blog/archives/2004/09/22/cape-town-sun-java-developer-day/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
		<item>
		<title>Book: Programming the Perl DBI</title>
		<link>http://mjturner.net/blog/archives/2004/08/04/book-programming-the-perl-dbi/</link>
		<comments>http://mjturner.net/blog/archives/2004/08/04/book-programming-the-perl-dbi/#comments</comments>
		<pubDate>Wed, 04 Aug 2004 19:59:54 +0000</pubDate>
		<dc:creator>Michael-John Turner</dc:creator>
				<category><![CDATA[Books]]></category>
		<category><![CDATA[Development]]></category>
		<category><![CDATA[Perl]]></category>

		<guid isPermaLink="false">/?p=17</guid>
		<description><![CDATA[I bought Programming the Perl DBI today. Was a good deal &#8211; paid R140 (about $23) at Bargain Books in St George&#8217;s Mall. If you&#8217;re in Cape Town, you should definitely visit that branch &#8211; lots of computer books at good prices (including tons of good, slightly older O&#8217;Reilly books).
Haven&#8217;t had a chance to read [...]]]></description>
			<content:encoded><![CDATA[<p>I bought <a href="http://www.amazon.com/exec/obidos/tg/detail/-/1565926994">Programming the Perl DBI</a> today. Was a good deal &#8211; paid R140 (about $23) at Bargain Books in St George&#8217;s Mall. If you&#8217;re in Cape Town, you should definitely visit that branch &#8211; lots of computer books at good prices (including tons of good, slightly older <a href="http://www.oreilly.com">O&#8217;Reilly</a> books).</p>
<p>Haven&#8217;t had a chance to read much of the book, but it should hopefully motivate me to work on a few DBI apps I&#8217;ve had on the backburner for a while.</p>
<p>Hmmm&#8230; Methinks I have way too many computer books, but what geek doesn&#8217;t?</p>
]]></content:encoded>
			<wfw:commentRss>http://mjturner.net/blog/archives/2004/08/04/book-programming-the-perl-dbi/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
	<creativeCommons:license>http://creativecommons.org/licenses/by-sa/3.0/</creativeCommons:license>
	</item>
	</channel>
</rss>
