<?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>Renaissance Developer</title>
	<atom:link href="http://www.exubero.com/joe/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.exubero.com/joe</link>
	<description>Follically Challenged in a Hirsute World</description>
	<lastBuildDate>Sat, 01 May 2010 04:11:07 +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>Airline Story</title>
		<link>http://www.exubero.com/joe/2010/05/airline-story/</link>
		<comments>http://www.exubero.com/joe/2010/05/airline-story/#comments</comments>
		<pubDate>Sat, 01 May 2010 04:04:40 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.exubero.com/joe/?p=412</guid>
		<description><![CDATA[This is my flight from hell story (long posting!): after being delayed 11 days by the volcanic disruption, I finally got on a flight from Sydney to London via Bangkok. The flight from Sydney to Bangkok flew OK, but movie system wasn&#8217;t working &#8211; not great with 2 kids (luckily they mostly slept). We stopped [...]]]></description>
			<content:encoded><![CDATA[<p>This is my flight from hell story (long posting!): after being delayed 11 days by the volcanic disruption, I finally got on a flight from Sydney to London via Bangkok. The flight from Sydney to Bangkok flew OK, but movie system wasn&#8217;t working &#8211; not great with 2 kids (luckily they mostly slept). We stopped 2 hours in Bangkok and then taxied back to the runway. The pilot applied full thrust and we accelerated down the runway, but he then suddenly cut all thrust after about 5 seconds. It was actually a pretty scary experience &#8211; I knew we had plenty of runway left, but you&#8217;re left wondering what would have happened if we&#8217;d been further down the runway when that happened.</p>
<p>What happened next was not a shining recommendation of the airline. The pilot explained that there was a warning indication on one of the engines. We were kept on the plane another 2 hours while they worked out if they could make repairs. The air conditioning wasn&#8217;t working, and it was getting extremely hot on the plane. They finally decided the repairs could not be completed, and we were told that we&#8217;d have to stay the night in a hotel in Bangkok. Note that this is a city that is currently having violent clashes between anti-government protesters and the police. Tourism advice centres recommend to avoid this city, and now I&#8217;m being forced to stay here.</p>
<p>In the end we were sent back to the terminal (this was about 3am). We where herded through Immigration (they had to organise a special visa for us), and sent on a bus to one hotel, but we actually ended up at a completely different hotel (apparently the first hotel couldn&#8217;t fit us all in). They gave us food vouchers, and that was it. It was 5am, I was stuck in a strange city, with no idea of when I was going to be able to get home, and no way of contacting anyone in the airline to ask questions, and realising that I&#8217;d left my laptop on the plane. This was on top of the stress of being exiled from London for the previous 11 days, and desperate to get back home. It was one of the worse days in my life, and I&#8217;m afraid I didn&#8217;t react very well to the situation.</p>
<p>I pestered the hotel staff for information, but they weren&#8217;t really able to help at all. It was finally around 10am that I found a letter from BA sitting on the counter in the lobby, which said that the flight was rescheduled for 11pm later that day. It was a relief to finally have some concrete information, and I was finally able to relax slightly.</p>
<p>At 3pm the BA airport manager came to the hotel to talk to us all. He explained that the problem was due to the fuel injection monitoring system on engine 4, and a part need to be replaced, which was being flown in from Hong Kong. At this point I realised that I might not event get home that day, which made me more upset. When questioned, the manager said that there was a 30% chance that the repairs would not be complete. However, they would still have to assume everything would be ready, and get us through check in, emigration and security to ensure we could hit the take off window. It was a lively meeting: there were a lot of people in the same situation as me, and this was the first airline representative that anyone had actually met face-to-face through the entire SNAFU.</p>
<p>Suffice to say that the plane actually did take off, with much cheers from everyone on board (and my lost laptop was returned!). However, there was one more insult to injury: when we (finally!) landed in Heathrow, our baggage got stuck for about 90 minutes. No one had thought to organise baggage handlers and a carousel to return our luggage to us, on top of which there were two BA10 flights landed within minutes of each other (our delayed flight, and the next day&#8217;s flight), so there was a lot of confusion about where to go. Eventually, we had about 300 people crowding 10 deep about the smallest carousel in the airport, while next to us the biggest carousel was empty.</p>
<p>Anyway, I&#8217;m home now. I now have a fun letter to write to BA customer relations.</p>
<p>The End.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exubero.com/joe/2010/05/airline-story/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>The Meaning of Guru</title>
		<link>http://www.exubero.com/joe/2010/02/the-meaning-of-guru/</link>
		<comments>http://www.exubero.com/joe/2010/02/the-meaning-of-guru/#comments</comments>
		<pubDate>Tue, 16 Feb 2010 01:35:34 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.exubero.com/joe/?p=406</guid>
		<description><![CDATA[Today I met one of the managers of the development team I work with in India. I was chuffed to learn some people call me &#8220;The Guru&#8221; over there. The manager went on to mention the etymology the word:  &#8216;Guru&#8217; is composed of the syllables &#8216;gu&#8217; and &#8216;ru&#8217;, the former signifying &#8216;darkness&#8217;, and the latter [...]]]></description>
			<content:encoded><![CDATA[<p>Today I met one of the managers of the development team I work with in India. I was chuffed to learn some people call me &#8220;The Guru&#8221; over there. The manager went on to mention the etymology the word:  &#8216;Guru&#8217; is composed of the syllables &#8216;gu&#8217; and &#8216;ru&#8217;, the former signifying &#8216;darkness&#8217;, and the latter signifying &#8216;the destroyer of that [darkness]&#8216;, or the &#8216;bringer of light&#8217;. My own manager quipped that the light in question was actually the reflections off my head (probably a fair call, but I actually think the light shines forth from another orifice).</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exubero.com/joe/2010/02/the-meaning-of-guru/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>XPDay 2009</title>
		<link>http://www.exubero.com/joe/2009/10/xpday-2009/</link>
		<comments>http://www.exubero.com/joe/2009/10/xpday-2009/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 14:01:16 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Agile]]></category>

		<guid isPermaLink="false">http://www.exubero.com/joe/?p=400</guid>
		<description><![CDATA[I&#8217;ve just registered for XPDay 2009. I last went to XPDay 2005, and had a blast. I regret not going back since, but I&#8217;ll be there this year, at least!
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just registered for <a href="http://www.xpday.org/">XPDay 2009</a>. I last went to <a href="http://www.exubero.com/joe/2005/12/xpday-5/">XPDay 2005</a>, and had a blast. I regret not going back since, but I&#8217;ll be there this year, at least!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exubero.com/joe/2009/10/xpday-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Singletons are Evil 2: the Rant</title>
		<link>http://www.exubero.com/joe/2009/10/singletons-are-evil-2-the-rant/</link>
		<comments>http://www.exubero.com/joe/2009/10/singletons-are-evil-2-the-rant/#comments</comments>
		<pubDate>Fri, 02 Oct 2009 10:44:09 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.exubero.com/joe/?p=397</guid>
		<description><![CDATA[I&#8217;ve wrote about this before, but singletons really are evil. It&#8217;s worth repeating, as I&#8217;m finding out that the message hasn&#8217;t really reached a lot of people yet.
I&#8217;ve been helping out with interviewing candidates for a senior developer/technical lead/technical architect role at my current client. To my dismay, there is a very consistent problem across [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve wrote about this <a href="http://www.exubero.com/joe/2006/04/singletons-are-evil/">before</a>, but singletons really are evil. It&#8217;s worth repeating, as I&#8217;m finding out that the message hasn&#8217;t really reached a lot of people yet.</p>
<p>I&#8217;ve been helping out with interviewing candidates for a senior developer/technical lead/technical architect role at my current client. To my dismay, there is a very consistent problem across all the canditates I&#8217;ve met: they all like the Singleton pattern. The converstation usually runs along these lines:</p>
<p style="padding-left: 30px;"><strong>Me</strong>: Can you name any design patterns?</p>
<p style="padding-left: 30px;"><strong>Candiate</strong>: Singleton<br />
<span style="color: #999999;"><em>(they will usually name a few more patterns, but Singleton is almost always the first one named)</em></span></p>
<p style="padding-left: 30px;"><strong>Me</strong>: Can you tell me about the pros and cons of Singleton?</p>
<p style="padding-left: 30px;"><strong>Candidate</strong>: They&#8217;re really useful, I use them all the time! They ensure that you only have a single instance of an object at any one time. Also, you don&#8217;t need to pass references to them, because they can be accessed directly.</p>
<p style="padding-left: 30px;"><strong>Me</strong>: OK, are there any problems with the use of singletons?</p>
<p style="padding-left: 30px;"><strong>Candidate</strong>: Umm&#8230; you can sometimes get multiple instances if you use multiple JVMs.</p>
<p>I&#8217;m starting to use this as a weeder question in interviews now. I don&#8217;t care if your resume says you have 8 years of experience in enterprise Java. If you&#8217;ve got that much experience, I&#8217;m hoping you&#8217;ve heard (or discovered yourself) that Singleton make code brittle and harder to maintain. I don&#8217;t mind if you use Singletons on rare occasions (I do it myself sometimes), but you really need to be fully aware of the problems that they cause.</p>
<p>You can view my <a href="http://www.exubero.com/joe/2006/04/singletons-are-evil/">previous post</a> for a list of links with more details, but in summary, some of the problems are:</p>
<ul>
<li>You lose control over memory management. It&#8217;s basically a resource leak.</li>
<li>It promotes tight coupling. Need an implementation? Go to the singleton over there! However, by hard coding the singleton class, it makes it harder to mock, stub out or otherwise change.</li>
<li>It hides dependencies. It is harder to spot from the public methods of a class that it makes use of a singleton service.</li>
<li>By mixing the responsiblities of providing a service, and managing the object lifetime (badly), a singleton violates the Single Responsibility Principle. If you only want a single instance of a class, create one at the start of the program and pass it objects that need it. If you use something like Spring, you can even declare in configuration that an object is a singleton. No need to hard code that policy in code!</li>
<li>A Singleton in a multithreaded environment can be tricky. Make sure that you handle all the edge cases!</li>
<li> As Stevie says, the Singleton &#8220;pattern&#8221; encourages you to forget everything you know about OO design, since OO is hard, and procedural is easy.</li>
</ul>
<p>There are more problems, but that&#8217;s a good start.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exubero.com/joe/2009/10/singletons-are-evil-2-the-rant/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Kanban at XtC</title>
		<link>http://www.exubero.com/joe/2009/09/kanban-at-xtc/</link>
		<comments>http://www.exubero.com/joe/2009/09/kanban-at-xtc/#comments</comments>
		<pubDate>Mon, 28 Sep 2009 13:15:22 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.exubero.com/joe/?p=391</guid>
		<description><![CDATA[I&#8217;ve just noticed that the Extreme Tuesday Club is has  Kanban presentations tomorrow (29th September). Given I&#8217;m a complete newbie on anything Kanban, I&#8217;ll definetly turn up to that one.
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve just noticed that the Extreme Tuesday Club is has  <a href="http://xpday-london.editme.com/xtc20090929">Kanban presentations</a> tomorrow (29th September). Given I&#8217;m a complete newbie on anything Kanban, I&#8217;ll definetly turn up to that one.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exubero.com/joe/2009/09/kanban-at-xtc/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>ASL Compatability Policy</title>
		<link>http://www.exubero.com/joe/2009/09/asl-compatability-policy/</link>
		<comments>http://www.exubero.com/joe/2009/09/asl-compatability-policy/#comments</comments>
		<pubDate>Thu, 24 Sep 2009 23:08:04 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Build Automation]]></category>

		<guid isPermaLink="false">http://www.exubero.com/joe/?p=388</guid>
		<description><![CDATA[An astute reader asked if the Ant Script Library will be updated to make use of any of the new features that will be available in the upcoming Ant 1.8 release. New features include enhancements to boolean properties, the import element to support optional imports, and new features such as include and target group. Many [...]]]></description>
			<content:encoded><![CDATA[<p>An astute reader asked if the <a href="http://www.exubero.com/asl/">Ant Script Library</a> will be updated to make use of any of the new features that will be available in the upcoming Ant 1.8 release. New features include enhancements to boolean properties, the import element to support optional imports, and new features such as include and target group. Many of these features can help simplify complex build scripts, and could make a big difference to something like the <acronym title="Ant Script Library">ASL</acronym> (indeed, <a href="http://www.easyant.org">EasyAnt</a> has been a driver behind some of these features).  So when Ant 1.8 is released, will I make use of these new features?</p>
<p>Short answer: No</p>
<p>Slightly longer answer: Not yet.</p>
<p>Long answer: As a matter of policy, after Ant 1.8 is released, I will avoid making use of any 1.8 specific features for a relatively long period. I will definitely make sure that the <acronym title="Ant Script Library">ASL</acronym> is fully compatible with Ant 1.8, but it will still be fully compatible with Ant 1.7.</p>
<p>This is because the <acronym title="Ant Script Library">ASL</acronym> is intended to be used as an add-on library to an existing ant infrastructure. However, in my experience many companies and IDEs are quite conservative in upgrading their Ant installations. Probably in a year or two after Ant 1.8 is released, I might feel comfortable in adding dependencies on the latest features (probably keeping a 1.7 compatible branch of the <acronym title="Ant Script Library">ASL</acronym> available for a longer time). By that time I expect that Ant 1.8 will have made inroads to corporate build installations and IDEs. However, I&#8217;ve worked in places where Ant 1.7 (now 3 years old!) is still under consideration. If history is anything to judge, there will be a long period before Ant 1.8 makes it into some development shops.</p>
<p>I would regard this as probably the major difference in philosophy between <acronym title="Ant Script Library">ASL</acronym> and EasyAnt:</p>
<ul>
<li>EasyAnt is a <em>replacement</em> for Ant. It extends the internals of Ant to add non-standard features (e.g. &#8220;phases&#8221;). It is invoked by calling a completely different front end script. It contains an embedded and modified version of Ant, which must be installed separately. This gives them the freedom to make full use of new features, but it means a full switchover is required.</li>
<li><acronym title="Ant Script Library">ASL</acronym> is less ambitious (it&#8217;s <em>just</em> a library), but I think it makes it easier to accept in more conservative organisations that are happy with Ant, but are looking for a way to control build script complexity. For this reason, the <acronym title="Ant Script Library">ASL</acronym> must be more conservative, too (though I might end up having two versions of the <acronym title="Ant Script Library">ASL</acronym>, one for Ant 1.7 and another for Ant 1.8)</li>
</ul>
]]></content:encoded>
			<wfw:commentRss>http://www.exubero.com/joe/2009/09/asl-compatability-policy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>CITCON &#8216;09: Better Ant Builds</title>
		<link>http://www.exubero.com/joe/2009/09/citcon-09-better-ant-builds/</link>
		<comments>http://www.exubero.com/joe/2009/09/citcon-09-better-ant-builds/#comments</comments>
		<pubDate>Sun, 20 Sep 2009 20:53:53 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Build Automation]]></category>
		<category><![CDATA[Continuous Integration]]></category>

		<guid isPermaLink="false">http://www.exubero.com/joe/?p=376</guid>
		<description><![CDATA[The first session I attended (and partially ran) was Better Ant Builds.
During the session proposals, Ivan Moore originally suggested a talk on better builds for Java programs. There were later proposals for sessions regarding improvements to Maven, so I proposed my own session &#8220;Better Ant Builds&#8221; to differentiate it from the Maven sessions.
My main goal [...]]]></description>
			<content:encoded><![CDATA[<p>The first session I attended (and partially ran) was Better Ant Builds.</p>
<p>During the session proposals, Ivan Moore originally suggested a talk on better builds for Java programs. There were later proposals for sessions regarding improvements to Maven, so I proposed my own session &#8220;Better Ant Builds&#8221; to differentiate it from the Maven sessions.</p>
<p>My main goal was to promote by own contribution to this area: the <a href="http://www.exubero.com/asl/">Ant Script Library</a>. JTF knew about this, and asked some leading questions when I proposed the talk about my library, which I thought was funny. I thought it would have been a bit too cheeky to give a great big marketing pitch, but then again I&#8217;m not the best marketer. Thanks for the push, Jeff!</p>
<p>Despite there being no projector available, I was able to talk a fair bit about the ASL, along with some of it&#8217;s background and design. People seemed interested, which I&#8217;m taking as a good sign. I won&#8217;t go into details, the <a href="http://www.exubero.com/asl/">website</a> already has everything I discussed.</p>
<p>Jeff also pointed out the <a href="http://code.google.com/p/ant-master-build-scripts/">Ant Master Build Scripts</a>, which at a glance seems to be a very similar project to the ASL. Looking at them, I&#8217;m pretty impressed. The author of those scripts presented a session at JavaOne called &#8220;<a href="http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-4166&amp;yr=2009&amp;track=javase">Object Oriented Ant Scripts for the Enterprise</a>&#8220;, which I think nails the leading design principles for reusable Ant scripts. I&#8217;d say the the master build scripts have a higher emphasis on J2EE projects, which the ASL leans more to building Java libraries, applications and static analysis. Plenty of room for both projects to grow!</p>
<p>The main question I had for the group was this: &#8220;How do you test an Ant script&#8221;? Historically, this has not been a problem. You wrote a script for a specific project. You ran the script, and it either worked or it didn&#8217;t. However, the Ant Script Library doesn&#8217;t have it&#8217;s own project &#8211; it is reused to build other projects. From my point of view, I really want to be able to set up an &#8220;integration test&#8221;. The answer is pretty obvious: set up a real project that you can use to run the ant script against. After running the script, you should be able to assert that artifacts are created in the expected locations. Duh! (in hindsight, anyway)</p>
<p>One more good tip: <a href="http://github.com/">GitHub</a> is a good place to set up an open source project. Another alternative might be <a href="http://code.google.com/">Google Code</a>. Currently, I&#8217;m running ASL from my own Subversion server. I&#8217;m thinking about moving to a location that can handle proper project infrastructure (version control, wiki, mailing lists, etc). Personally, I really like subversion, and I think it&#8217;s a pretty nice way to integrate ASL with your own project using svn:externals (assuming you&#8217;re using Subversion, too). Google Code uses Subversion, but GitHub uses another version control system I can&#8217;t remember (oh, wait: Git). Food for thought; I&#8217;ll think about that one for a bit.</p>
<p>For more details of the session, there is a <a href="http://citconf.com/wiki/index.php?title=BetterAntBuilds">write up on the wiki</a>.</p>
<p><strong>Update</strong>: The Build Doctor was actually taking good notes (as opposed to my vague recollection from 2 days later), and has a lot more detail in his <a href="http://www.build-doctor.com/2009/09/20/better-apache-ant-builds">own blog post</a> on the discussion.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exubero.com/joe/2009/09/citcon-09-better-ant-builds/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>CITCON Europe 2009</title>
		<link>http://www.exubero.com/joe/2009/09/citcon-europe-2009/</link>
		<comments>http://www.exubero.com/joe/2009/09/citcon-europe-2009/#comments</comments>
		<pubDate>Sat, 19 Sep 2009 16:31:43 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Continuous Integration]]></category>

		<guid isPermaLink="false">http://www.exubero.com/joe/?p=373</guid>
		<description><![CDATA[As I type, I&#8217;m listening to the final session of CITCON Europe 2009, at ISEP in Paris. Without doubt, I find CITCON to be one the most energetic and fun conferences I&#8217;ve ever attended. I think this has a lot to do with the way that the conference is run. Probably two main features that [...]]]></description>
			<content:encoded><![CDATA[<p>As I type, I&#8217;m listening to the final session of <a href="http://www.citconf.com">CITCON</a> Europe 2009, at ISEP in Paris. Without doubt, I find CITCON to be one the most energetic and fun conferences I&#8217;ve ever attended. I think this has a lot to do with the way that the conference is run. Probably two main features that contribute to this are:</p>
<ol>
<li>The conference is run in a open space format. This virtually guarantees that the most interesting and important subjects are represented</li>
<li>The conference is free to attend, and runs over the weekend. This has the affect that people who attend are extremely engaged with the topic at hand. Pretty much everyone who attends contributes to each discussion. There are not really any people there just to make sure that training budget is used.</li>
</ol>
<p>A huge thanks to <a href="http://blog.jeffreyfredrick.com">Jeff</a> and <a href="http://www.pauljulius.com/">PJ</a> for starting this conference, and developing a great community around continuous integration and testing.</p>
<p>There were 5 sessions during the day. I&#8217;ll go into more detail about specific sessions in later posts.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exubero.com/joe/2009/09/citcon-europe-2009/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Ant Script Library 1.1.0 Released</title>
		<link>http://www.exubero.com/joe/2009/09/ant-script-library-1-1-0-released/</link>
		<comments>http://www.exubero.com/joe/2009/09/ant-script-library-1-1-0-released/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 22:49:08 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[Build Automation]]></category>

		<guid isPermaLink="false">http://www.exubero.com/joe/?p=367</guid>
		<description><![CDATA[It&#8217;s been over 6 months since the last release, so I&#8217;m well overdue for this: I&#8217;ve just released version 1.1.0 of the Ant Script Library.
There are quite a number of small enhancements throughout the library, and I&#8217;ve been filling in missing documentation, too. Here&#8217;s a summary of the major changes between version 1.0.2 and 1.1.0:

Added [...]]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s been over 6 months since the last release, so I&#8217;m well overdue for this: I&#8217;ve just released version 1.1.0 of the <a href="http://www.exubero.com/asl/">Ant Script Library</a>.</p>
<p>There are quite a number of small enhancements throughout the library, and I&#8217;ve been filling in missing documentation, too. Here&#8217;s a summary of the major changes between version 1.0.2 and 1.1.0:</p>
<ul>
<li>Added new release module <a href="http://www.exubero.com/asl/asl-release.html">asl-release.xml</a>.</li>
<li>Added application package module <a href="http://www.exubero.com/asl/asl-java-package.html">asl-java-package.xml</a>.</li>
<li>Updated documentation for <a href="http://www.exubero.com/asl/asl-java-report.html">reports module</a></li>
<li>New Java static analysis reports:
<ul>
<li><a href="http://www.exubero.com/asl/asl-java-report.html#report-checkstyle">Checkstyle report</a></li>
<li><a href="http://www.exubero.com/asl/asl-java-report.html#report-findbugs">FindBugs report</a></li>
<li><a href="http://www.exubero.com/asl/asl-java-report.html#report-cpd">Copy/paste detection report</a></li>
</ul>
</li>
<li>Added new SCM modules:
<ul>
<li><a href="http://www.exubero.com/asl/asl-scm-svn.html">Subversion module</a></li>
<li><a href="http://www.exubero.com/asl/asl-scm-p4.html">Perforce module</a></li>
</ul>
</li>
<li>New introductory <a href="http://www.exubero.com/asl/tutorial.html">tutorial</a></li>
<li>Enhancements to the <a href="http://www.exubero.com/asl/asl-repo-ivy.html">Ivy tasks</a></li>
<li>Link generated JavaDoc to JRE JavaDoc</li>
</ul>
<p>Please go to the <a href="http://www.exubero.com/asl/download.html">download page</a> if you want to try it out.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exubero.com/joe/2009/09/ant-script-library-1-1-0-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Introduction to BDD</title>
		<link>http://www.exubero.com/joe/2009/09/introduction-to-bdd/</link>
		<comments>http://www.exubero.com/joe/2009/09/introduction-to-bdd/#comments</comments>
		<pubDate>Tue, 08 Sep 2009 08:45:38 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.exubero.com/joe/?p=362</guid>
		<description><![CDATA[I dropped into Liz Keogh&#8217;s discussion Introduction to Behaviour Driven Development last night. It was an engaging talk, and I managed to scrawl down a page full of notes, which probably shows more about my incoherent thought process than BDD (click to embiggen):

There was much more to the discussion, and I suggest you go to [...]]]></description>
			<content:encoded><![CDATA[<p>I dropped into <a href="http://lunivore.com/">Liz Keogh&#8217;s</a> discussion <a href="http://skillsmatter.com/event/agile-testing/introduction-to-behaviour-driven-development">Introduction to Behaviour Driven Development</a> last night. It was an engaging talk, and I managed to scrawl down a page full of notes, which probably shows more about my incoherent thought process than BDD (click to embiggen):</p>
<p><a href="http://www.exubero.com/joe/wp-content/uploads/2009/09/bdd-sm.png"><img class="aligncenter size-full wp-image-361" title="Joe's BDD Notes" src="http://www.exubero.com/joe/wp-content/uploads/2009/09/bdd-sm.png" alt="Joe's BDD Notes" width="380" height="513" /></a></p>
<p>There was much more to the discussion, and I suggest you go to the <a href="http://dannorth.net/introducing-bdd">horses mouth</a> to get a proper view of what BDD involves.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exubero.com/joe/2009/09/introduction-to-bdd/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
