<?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 &#187; General</title>
	<atom:link href="http://www.exubero.com/joe/category/general/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>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>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>
		<item>
		<title>Worst Hosting Company Award&#8230;</title>
		<link>http://www.exubero.com/joe/2009/08/worst-hosting-company-award/</link>
		<comments>http://www.exubero.com/joe/2009/08/worst-hosting-company-award/#comments</comments>
		<pubDate>Sun, 16 Aug 2009 16:19:40 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.exubero.com/joe/?p=324</guid>
		<description><![CDATA[Here&#8217;s a summary of a series of emails and phone conversations I had with my old dedicated hosting provider. You should get a sense of why I don&#8217;t do business with them any more.
Worst Hosting Company (WHC): we are going to move your dedicated host to a new location in 1 months&#8217; time, and we [...]]]></description>
			<content:encoded><![CDATA[<p>Here&#8217;s a summary of a series of emails and phone conversations I had with my <em>old</em> dedicated hosting provider. You should get a sense of why I don&#8217;t do business with them any more.</p>
<p style="padding-left: 30px;"><strong>Worst Hosting Company (WHC)</strong>: we are going to move your dedicated host to a new location in 1 months&#8217; time, and we must assign a new <acronym title="Internet Protocol">IP</acronym> address to your host within 1 week. One of our engineers will call you within 2 days to arrange the <acronym title="Internet Protocol">IP</acronym> renumbering.</p>
<p style="padding-left: 30px;"><em>Note: no phone number was given &#8211; I had to wait for their call</em></p>
<p style="padding-left: 30px;"><em>(1 week passes)</em></p>
<p style="padding-left: 30px;"><strong>WHC</strong>: You have less than 48 hours to contact us regarding the IP address renumbering of your dedicated host. If you do not call us in this time, the work will be completed in 2 days. Please call us on xxx-xxxx-xxxx</p>
<p style="padding-left: 30px;"><strong>Renaissance Developer (RD)</strong>: Whoa! I&#8217;d rather you didn&#8217;t do that! I have multiple virtual machines (VMs) running on that host, including an <a title="Lillifoot Children's Shoes" href="http://www.lillifoot.co.uk">e-commerce website</a>, not to mention various other websites and services. Instead, can you please set up another dedicated host for me in the new location, and I can migrate my <acronym title="Virtual Machine">VM</acronym>s to the new host before the switch over. I&#8217;d rather avoid any downtime.</p>
<p style="padding-left: 30px;"><strong>WHC</strong>: We&#8217;ll look into this for you.</p>
<p style="padding-left: 30px;"><em>(a day passes)</em></p>
<p style="padding-left: 30px;"><strong>WHC</strong>: Sorry, we don&#8217;t have any dedicated hosts available. <em>(WTF! It&#8217;s a hosting company!)</em></p>
<p style="padding-left: 30px;"><strong>RD</strong>: Oh, OK. Well, please let me know the new IP addresses for the my VMs. I will need to update their network configuration when you switch over.</p>
<p style="padding-left: 30px;"><em>(a day passes)</em></p>
<p style="padding-left: 30px;"><strong>WHC</strong>: You have less than 24 hours to contact us, before we implement our IP address renumbering. Please contact us urgently.</p>
<p style="padding-left: 30px;"><strong>RD</strong>: <em>(phones urgently, but the engineer responsible for the renumbering is unavailable. I leave a message to call me back)</em></p>
<p style="padding-left: 30px;"><em>(6 hours later)</em></p>
<p style="padding-left: 30px;"><strong>RD</strong>:<em> (phones urgently again, but the engineer responsible for the renumbering is unavailable. I leave a message to call me back)</em></p>
<p style="padding-left: 30px;"><em>(the next day)</em></p>
<p style="padding-left: 30px;"><strong>WHC</strong>: Unfortunately we have not received contact from you despite repeated notices. This means we are unable to make the necessary changes to your server, but we will be completing the IP re-numbering at switch level, meaning your server will be offline until such time as you contact us to re-establish the service.</p>
<p style="padding-left: 30px;"><strong>RD</strong>: Whoa! Don&#8217;t do that! My VMs are not yet ready. Please let me know urgently what the new IP addresses are!</p>
<p style="padding-left: 30px;"><strong>WHC</strong>: Oh, sorry. Here are the addresses. Can you give us the root password, and we can reconfigure the host tomorrow morning?</p>
<p style="padding-left: 30px;"><strong>RD</strong>: <em>(dubiously)</em> OK, I&#8217;ll set up an account for you in the wheel group. I will have to adjust the access permissions to let you in.</p>
<p style="padding-left: 30px;"><em>(the next morning, I adjust the access permissions for the sshd service in hosts.allow and hosts.deny, but in the rush I manage to really stuff it up: I&#8217;ve locked myself out of my machine! Doh! Now I&#8217;ve got to ask WHC for help)</em></p>
<p style="padding-left: 30px;"><strong>RD</strong>: Can someone with console access please clear out the hosts.deny file on my host?</p>
<p style="padding-left: 30px;"><em>(a day passes)</em></p>
<p style="padding-left: 30px;"><strong>RD</strong>: Help! Anyone?</p>
<p style="padding-left: 30px;"><strong>WHC</strong>: An engineer callout will cost £50. Are you happy to pay this?</p>
<p style="padding-left: 30px;"><strong>RD</strong>: <em>(grumpy)</em> Well, I&#8217;ve got not real choice here, have I? I&#8217;ll pay the fee, just fix it up for me!</p>
<p style="padding-left: 30px;"><em>(a week passes, but at least my host still seems accessible)</em></p>
<p style="padding-left: 30px;"><strong>WHC</strong>: We&#8217;ve fixed you problem for you. At the same time, we&#8217;ve also assigned a new IP address to your host.</p>
<p style="padding-left: 30px;"><strong>RD</strong>: What! I told you not to update it before I updated my VMs! You&#8217;ve just put my e-commerce website offline!</p>
<p style="padding-left: 30px;"><strong>WHC</strong>: &#8230;</p>
<p style="padding-left: 30px;"><em>(I reconfigure my VMs with the new IP addresses they gave me. Unfortunately, the VMs remain inaccessible from outside the hosting site)</em></p>
<p style="padding-left: 30px;"><strong>RD</strong>: It appears the address routing is incorrrect. Can you please ensure that the network is configured to route the assigned addresses to my host?</p>
<p style="padding-left: 30px;"><em>(6 hours pass)</em></p>
<p style="padding-left: 30px;"><strong>WHC</strong>: OK, it is done</p>
<p style="padding-left: 30px;"><strong>RD</strong>: Not all the addresses work. Please make sure <em>all</em> the addresses are routed to my host.</p>
<p style="padding-left: 30px;"><em>(another day passes)</em></p>
<p style="padding-left: 30px;"><strong>WHC</strong>: OK, it is done</p>
<p style="padding-left: 30px;"><strong>RD</strong>: Your DNS name server is not working. Can you please advise?</p>
<p style="padding-left: 30px;"><strong>WHC</strong>: Ah, you&#8217;re referring to the old name server. Here&#8217;s the new one</p>
<p style="padding-left: 30px;"><em>(why couldn&#8217;t you tell me that in the first place?)</em></p>
<p>I think there was more shenannigans, but I can&#8217;t remember any more details. As I mentioned earlier, I&#8217;m no longer doing business with WHC (whose name starts with &#8220;Stream&#8221;, and ends in &#8220;line.net&#8221;). I notice that they don&#8217;t seem to offer a dedicated hosting package any more. I&#8217;m not surprised.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exubero.com/joe/2009/08/worst-hosting-company-award/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JNarrate, JBehave and Pixies</title>
		<link>http://www.exubero.com/joe/2009/08/jnarrate-jbehave-and-pixies/</link>
		<comments>http://www.exubero.com/joe/2009/08/jnarrate-jbehave-and-pixies/#comments</comments>
		<pubDate>Wed, 12 Aug 2009 00:08:34 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.exubero.com/joe/?p=345</guid>
		<description><![CDATA[I found the XTC meetup to be a fascinating event. There were a few familiar faces I remembered from previous years, and quite a few new ones. There was a palpable buzz in the room, which got quite crowded as more people turned up.
I had a long chat with a guy who develops the website [...]]]></description>
			<content:encoded><![CDATA[<p>I found the <a href="http://www.meetup.com/Extreme-Tuesday-Club/calendar/11040375/">XTC meetup</a> to be a fascinating event. There were a few familiar faces I remembered from previous years, and quite a few new ones. There was a palpable buzz in the room, which got quite crowded as more people turned up.</p>
<p>I had a long chat with a guy who develops the website for the Tate (hi Bob!). For me, the most interesting part of the night was an introduction to <a href="http://en.wikipedia.org/wiki/Behavior_Driven_Development">Behaviour Driven Development</a> (BDD), and the tools that support the paradigm. I was vaguely aware of the term, but I hadn&#8217;t realised how mature the movement had become. <a href="http://lizkeogh.com/">Liz Keogh</a> talked at length regarding <a href="http://lizkeogh.com/2008/09/10/feature-injection-and-handling-technical-stories/">feature injection</a> (and curiously, pixies). <a href="http://antonymarcano.com">Antony Marcano</a> demonstrated <a href="http://jnarrate.org">JNarrate</a>, which allows behaviour specifications to be written in an amazing literate type of Java code. Very eye opening stuff, and I regret not turning up to the meetings for a long time.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exubero.com/joe/2009/08/jnarrate-jbehave-and-pixies/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>XTC: 10 Years Old</title>
		<link>http://www.exubero.com/joe/2009/08/xtc-10-years-old/</link>
		<comments>http://www.exubero.com/joe/2009/08/xtc-10-years-old/#comments</comments>
		<pubDate>Tue, 11 Aug 2009 07:50:00 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.exubero.com/joe/?p=343</guid>
		<description><![CDATA[It&#8217;s actually been a couple of years since I last went to the eXtreme Tuesday Club, but I think it&#8217;s time to poke my nose into the meeting tonight. It&#8217;s been 10 years since the very first meeting.
]]></description>
			<content:encoded><![CDATA[<p>It&#8217;s actually been a couple of years since I last went to the <a href="http://www.xpdeveloper.net/xpdwiki/Wiki.jsp?page=XtC">eXtreme Tuesday Club</a>, but I think it&#8217;s time to poke my nose into the <a href="http://www.meetup.com/Extreme-Tuesday-Club/calendar/11040375/">meeting tonight</a>. It&#8217;s been 10 years since the very first meeting.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exubero.com/joe/2009/08/xtc-10-years-old/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Benchmarking Ruby</title>
		<link>http://www.exubero.com/joe/2009/08/benchmarking-ruby/</link>
		<comments>http://www.exubero.com/joe/2009/08/benchmarking-ruby/#comments</comments>
		<pubDate>Sun, 09 Aug 2009 14:42:55 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.exubero.com/joe/?p=340</guid>
		<description><![CDATA[This came out last week, but I didn&#8217;t have time to comment on it. Anthonio Cangiano did some benchmarking tests of various flavours of Ruby. In this benchmarking run, he was comparing the speed of Ruby based upon the compiler used to build Ruby. Previously, Ruby had been compiled using Visual C++ 6.0 (a 10 [...]]]></description>
			<content:encoded><![CDATA[<p>This came out last week, but I didn&#8217;t have time to comment on it. Anthonio Cangiano did some benchmarking tests of various flavours of Ruby. In this benchmarking run, he was comparing the speed of Ruby based upon the compiler used to build Ruby. Previously, Ruby had been compiled using Visual C++ 6.0 (a 10 year old compiler). There has been an effort from the RubyInstaller group to rebuild the Ruby interpreter using MinGW and GCC. The figures are astounding:</p>
<p><a href="http://antoniocangiano.com/2009/08/04/a-faster-ruby-on-windows-is-possible/">http://antoniocangiano.com/2009/08/04/a-faster-ruby-on-windows-is-possible/</a></p>
<p>For the Ruby 1.8 interpreter, there is an average <strong>283%</strong> increase in speed. The improvements in compiler and library optimisation are incredible.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exubero.com/joe/2009/08/benchmarking-ruby/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Communication Trumps Checklists</title>
		<link>http://www.exubero.com/joe/2009/07/communication-trumps-checklists/</link>
		<comments>http://www.exubero.com/joe/2009/07/communication-trumps-checklists/#comments</comments>
		<pubDate>Wed, 29 Jul 2009 22:16:44 +0000</pubDate>
		<dc:creator>Joe</dc:creator>
				<category><![CDATA[General]]></category>

		<guid isPermaLink="false">http://www.exubero.com/joe/?p=335</guid>
		<description><![CDATA[The Java Posse recently posted a podcast titled &#8220;Effective Communication&#8221; (it was a recording of a session of their &#8220;RoundUp&#8221; un-conference). I found it a fascinating discussion, all the more because it echoed many of the problems I&#8217;m experiencing right now.
Primarily, how do you get a group of developers to work effectively together? Communication is [...]]]></description>
			<content:encoded><![CDATA[<p>The <a href="http://www.javaposse.com/">Java Posse</a> recently posted a podcast titled &#8220;<a href="http://www.javaposse.com/index.php?post_id=508594">Effective Communication</a>&#8221; (it was a recording of a session of their &#8220;RoundUp&#8221; un-conference). I found it a fascinating discussion, all the more because it echoed many of the problems I&#8217;m experiencing right now.</p>
<p>Primarily, how do you get a group of developers to work effectively together? Communication is the key, and the way it happens can have a dramatic effect on the success of a project. To my mind, agile techniques such as <a href="http://en.wikipedia.org/wiki/Pair_programming">pair programming</a>, <a href="http://en.wikipedia.org/wiki/Stand-up_meeting">daily stand-ups</a> and <a href="http://alistair.cockburn.us/Information+radiator">information radiators</a> provide the best possible way to ensure knowledge and team culture is shared among all the members of the team. The podcast episode touched upon that, but they also spent a lot of time on various code review techniques and tools, which is another way to share knowledge (if done well). The show notes contain a lot of links to code review tools (<a href="http://www.atlassian.com/software/crucible/">Crucible</a> being a crowd favourite &#8211; I must investigate).</p>
<p>The net effect of all these techniques is that communication is improved. The team can&#8217;t but help develop a shared understanding of coding standards, patterns, techniques, architecture, and so on. The team learns better how to work together. Risks of all sorts are harder to stay hidden because people are talking.</p>
<p>On the opposite end of the spectrum, I was recently asked to help develop a set of templates and checklists to help &#8220;improve quality&#8221;. I don&#8217;t hold much stock in code templates (especially in Java). Checklists can be very useful during design and review sessions, but the actual request was &#8220;Can we force the developer to answer this 41 question checklist every time they commit a change?&#8221;. My manager and I tried to explain the sheer amount of pain this would cause developers, without really improving quality. If there are problems with the development process, adding more beaurocracy to the process will rarely help. Improving communications channels always will.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.exubero.com/joe/2009/07/communication-trumps-checklists/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
	</channel>
</rss>
