<?xml version="1.0" encoding="UTF-8"?><rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	>
<channel>
	<title>Comments for Rob Lally : Robert Lally</title>
	<atom:link href="http://robertlally.com/comments/feed" rel="self" type="application/rss+xml" />
	<link>http://robertlally.com</link>
	<description>Renaissance Technologist</description>
	<pubDate>Fri, 12 Mar 2010 01:39:18 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
		<item>
		<title>Comment on The Costa Coffee on the A91 to Stirling irks me greatly by rob</title>
		<link>http://robertlally.com/post/the-costa-coffee-on-the-a91-to-stirling-irks-me-greatly#comment-5772</link>
		<dc:creator>rob</dc:creator>
		<pubDate>Sat, 22 Aug 2009 09:02:48 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=263#comment-5772</guid>
		<description>Hmm, I'm annoyed at them, but I'm not sure I want to devote my life to smiting them - even if it would come with religious veneration.

If you've got a 20 min smiting plan I'll go with it, other than that I'll just stick to the boycott.</description>
		<content:encoded><![CDATA[<p>Hmm, I&#8217;m annoyed at them, but I&#8217;m not sure I want to devote my life to smiting them - even if it would come with religious veneration.</p>
<p>If you&#8217;ve got a 20 min smiting plan I&#8217;ll go with it, other than that I&#8217;ll just stick to the boycott.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Costa Coffee on the A91 to Stirling irks me greatly by Stuart Blair</title>
		<link>http://robertlally.com/post/the-costa-coffee-on-the-a91-to-stirling-irks-me-greatly#comment-5723</link>
		<dc:creator>Stuart Blair</dc:creator>
		<pubDate>Fri, 21 Aug 2009 15:00:51 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=263#comment-5723</guid>
		<description>If PG Tips taught us anything, it's that even trained chimps can make tea. In economic terms, tea making is not a scarce enough skill to justify £1000 p.a.

It occurs to me that for around £600 p.a. you can buy a little gazebo tent, a second hand tea urn, a years supply of tea bags, sachets of sugar, stirrers, UHT milks and even a stack of those wonderful planet destroying cups with java-jackets. 

Find the parking space immediately before the Costa Coffee and assemble the above items beside a nice big sign stating - hello downtrodden commuters, pull over for free tea to stick it to Costa F**king Coffee :)

You'd still get your morning tea on the way to work, and for less than £1000 p.a..
You'd get the feeling of contentment from helping your fellow man.
You'd be sticking it to Costa Coffee in a very public way that would probably get you noticed as an "and finally..." story on Reporting Scotland.
You'd also get 3rd degree burns each morning from manhandling a large urn of boiling water into the back of your car.

Put an honesty box up pinned to a charity and you're practically a saint. I can see it 300 years from now - "Saint Rob of Newton, patron saint of commuters."</description>
		<content:encoded><![CDATA[<p>If PG Tips taught us anything, it&#8217;s that even trained chimps can make tea. In economic terms, tea making is not a scarce enough skill to justify £1000 p.a.</p>
<p>It occurs to me that for around £600 p.a. you can buy a little gazebo tent, a second hand tea urn, a years supply of tea bags, sachets of sugar, stirrers, UHT milks and even a stack of those wonderful planet destroying cups with java-jackets. </p>
<p>Find the parking space immediately before the Costa Coffee and assemble the above items beside a nice big sign stating - hello downtrodden commuters, pull over for free tea to stick it to Costa F**king Coffee <img src='http://robertlally.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>You&#8217;d still get your morning tea on the way to work, and for less than £1000 p.a..<br />
You&#8217;d get the feeling of contentment from helping your fellow man.<br />
You&#8217;d be sticking it to Costa Coffee in a very public way that would probably get you noticed as an &#8220;and finally&#8230;&#8221; story on Reporting Scotland.<br />
You&#8217;d also get 3rd degree burns each morning from manhandling a large urn of boiling water into the back of your car.</p>
<p>Put an honesty box up pinned to a charity and you&#8217;re practically a saint. I can see it 300 years from now - &#8220;Saint Rob of Newton, patron saint of commuters.&#8221;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Something Cool, Something Not : Media Companies, Barcelona &#038; Scrofula by graeme</title>
		<link>http://robertlally.com/post/something-cool-something-not-media-companies-barcelona-scrofula#comment-5689</link>
		<dc:creator>graeme</dc:creator>
		<pubDate>Fri, 21 Aug 2009 05:57:29 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=259#comment-5689</guid>
		<description>If they won't take your freely offered money they can't accuse you of stealing. It is called a gift.

http://thepiratebay.org/torrent/3861532/Barcelona_-_Absolutes_%282007%29_320_MP3_%5Bby_JCP%5D</description>
		<content:encoded><![CDATA[<p>If they won&#8217;t take your freely offered money they can&#8217;t accuse you of stealing. It is called a gift.</p>
<p><a href="http://thepiratebay.org/torrent/3861532/Barcelona_-_Absolutes_%282007%29_320_MP3_%5Bby_JCP%5D" rel="nofollow">http://thepiratebay.org/torrent/3861532/Barcelona_-_Absolutes_%282007%29_320_MP3_%5Bby_JCP%5D</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adventures with Scala and Vaadin - Part 2 by jjj</title>
		<link>http://robertlally.com/post/adventures-with-scala-and-vaadin-part-2#comment-4850</link>
		<dc:creator>jjj</dc:creator>
		<pubDate>Tue, 11 Aug 2009 10:47:50 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=188#comment-4850</guid>
		<description>With sbt 0.5.2 and scala 2.7.5 i get the following error;
jarkko@gandalf:~/dev/scale$ ../sbt/sbt update
[info] Recompiling project definition...
[info] 	  Source analysis: 1 new/modified, 0 indirectly invalidated, 0 removed.
[error] /home/jarkko/dev/scale/project/build/SpikeProject.scala:5: error overriding lazy value jetty in class BasicWebScalaProject of type SpikeProject.this.Task;
[error]  value jetty needs `override' modifier
[error]   val jetty = "org.mortbay.jetty" % "jetty" % "6.1.18" % "test-&#62;default"
[error]       ^
[error] one error found
Compilation unsuccessful.</description>
		<content:encoded><![CDATA[<p>With sbt 0.5.2 and scala 2.7.5 i get the following error;<br />
jarkko@gandalf:~/dev/scale$ ../sbt/sbt update<br />
[info] Recompiling project definition&#8230;<br />
[info] 	  Source analysis: 1 new/modified, 0 indirectly invalidated, 0 removed.<br />
[error] /home/jarkko/dev/scale/project/build/SpikeProject.scala:5: error overriding lazy value jetty in class BasicWebScalaProject of type SpikeProject.this.Task;<br />
[error]  value jetty needs `override&#8217; modifier<br />
[error]   val jetty = &#8220;org.mortbay.jetty&#8221; % &#8220;jetty&#8221; % &#8220;6.1.18&#8243; % &#8220;test-&gt;default&#8221;<br />
[error]       ^<br />
[error] one error found<br />
Compilation unsuccessful.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Sharp vs. Blunt Instruments by Hoppy</title>
		<link>http://robertlally.com/post/sharp-vs-blunt-instruments#comment-2908</link>
		<dc:creator>Hoppy</dc:creator>
		<pubDate>Wed, 15 Jul 2009 20:47:22 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=249#comment-2908</guid>
		<description>Should it not be: "if you want your team to produce great work, don't hire average developers, hire great ones".</description>
		<content:encoded><![CDATA[<p>Should it not be: &#8220;if you want your team to produce great work, don&#8217;t hire average developers, hire great ones&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Kanban v&#8217;s Waterfall - The Craftworld Perspective by Darren</title>
		<link>http://robertlally.com/post/kanban-vs-waterfall-the-craftworld-perspective#comment-2719</link>
		<dc:creator>Darren</dc:creator>
		<pubDate>Fri, 10 Jul 2009 11:20:09 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=235#comment-2719</guid>
		<description>I think waterfall is an unreasonably nice name conjuring up clear flowing progress whereas I always picture waterfall in my head as being similar to birds feeding their young. 

One person takes in something and regurgitates it in a more processed (or degraded?) form to the next.  The analogy falls down though on scale as it's usually half a dozen steps of birds vomiting into the mouths of ever smaller birds and then the final bird plops out the finished product that bears little resemblence to the orginal intent.</description>
		<content:encoded><![CDATA[<p>I think waterfall is an unreasonably nice name conjuring up clear flowing progress whereas I always picture waterfall in my head as being similar to birds feeding their young. </p>
<p>One person takes in something and regurgitates it in a more processed (or degraded?) form to the next.  The analogy falls down though on scale as it&#8217;s usually half a dozen steps of birds vomiting into the mouths of ever smaller birds and then the final bird plops out the finished product that bears little resemblence to the orginal intent.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Kanban v&#8217;s Waterfall - The Craftworld Perspective by Darren</title>
		<link>http://robertlally.com/post/kanban-vs-waterfall-the-craftworld-perspective#comment-2718</link>
		<dc:creator>Darren</dc:creator>
		<pubDate>Fri, 10 Jul 2009 11:19:43 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=235#comment-2718</guid>
		<description>I think waterfall is an unreasonably nice name conjuring up clear flowing progress whereas I always picture waterfall in my head as being similar to birds feeding their young. 

One person takes in something and regurgitates it in a more processed (or degraded?) form to the next.  The analogy falls down though on scale as it's usually half a dozen steps of birds vomiting into the mouths of ever smaller birds and then the final bird plops out the finished product that bears.</description>
		<content:encoded><![CDATA[<p>I think waterfall is an unreasonably nice name conjuring up clear flowing progress whereas I always picture waterfall in my head as being similar to birds feeding their young. </p>
<p>One person takes in something and regurgitates it in a more processed (or degraded?) form to the next.  The analogy falls down though on scale as it&#8217;s usually half a dozen steps of birds vomiting into the mouths of ever smaller birds and then the final bird plops out the finished product that bears.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adventures with Scala and Vaadin - Part 6 by rob</title>
		<link>http://robertlally.com/post/adventures-with-scala-and-vaadin-part-6#comment-2709</link>
		<dc:creator>rob</dc:creator>
		<pubDate>Fri, 10 Jul 2009 07:55:41 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=240#comment-2709</guid>
		<description>Hey Joonas,

Don't beat yourself up on the display name thing. Java Beans are actually quite complicated by the time you add in BeanInfo objects plus change listeners and property change veto listeners. But nobody really uses that stuff, in fact I doubt many people even know that the Bean spec covers anything beyond 'write getters and setters'.

http://java.sun.com/javase/technologies/desktop/javabeans/index.jsp

R.</description>
		<content:encoded><![CDATA[<p>Hey Joonas,</p>
<p>Don&#8217;t beat yourself up on the display name thing. Java Beans are actually quite complicated by the time you add in BeanInfo objects plus change listeners and property change veto listeners. But nobody really uses that stuff, in fact I doubt many people even know that the Bean spec covers anything beyond &#8216;write getters and setters&#8217;.</p>
<p><a href="http://java.sun.com/javase/technologies/desktop/javabeans/index.jsp" rel="nofollow">http://java.sun.com/javase/technologies/desktop/javabeans/index.jsp</a></p>
<p>R.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adventures with Scala and Vaadin - Part 6 by Joonas</title>
		<link>http://robertlally.com/post/adventures-with-scala-and-vaadin-part-6#comment-2707</link>
		<dc:creator>Joonas</dc:creator>
		<pubDate>Fri, 10 Jul 2009 06:19:37 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=240#comment-2707</guid>
		<description>Unfortunately Vaadin does not support BeanDisplayName. Created a feature request into backlog for that: http://dev.vaadin.com/ticket/3135</description>
		<content:encoded><![CDATA[<p>Unfortunately Vaadin does not support BeanDisplayName. Created a feature request into backlog for that: <a href="http://dev.vaadin.com/ticket/3135" rel="nofollow">http://dev.vaadin.com/ticket/3135</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adventures with Scala and Vaadin - Part 6 by Joonas</title>
		<link>http://robertlally.com/post/adventures-with-scala-and-vaadin-part-6#comment-2705</link>
		<dc:creator>Joonas</dc:creator>
		<pubDate>Fri, 10 Jul 2009 06:04:27 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=240#comment-2705</guid>
		<description>Forms in Vaadin are completely optional helpers. Their sole purpose is to make creating "editors" for item-objects. It it totally ok to just skip Form-class and build forms "manually" field-by-field.</description>
		<content:encoded><![CDATA[<p>Forms in Vaadin are completely optional helpers. Their sole purpose is to make creating &#8220;editors&#8221; for item-objects. It it totally ok to just skip Form-class and build forms &#8220;manually&#8221; field-by-field.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adventures with Scala and Vaadin - Detour 1 &#8220;Comments&#8221; by rob</title>
		<link>http://robertlally.com/post/adventures-with-scala-and-vaadin-detour-1-comments#comment-2618</link>
		<dc:creator>rob</dc:creator>
		<pubDate>Wed, 08 Jul 2009 06:02:05 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=238#comment-2618</guid>
		<description>^^^^ Rob points gleefully at 'evidence'</description>
		<content:encoded><![CDATA[<p>^^^^ Rob points gleefully at &#8216;evidence&#8217;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adventures with Scala and Vaadin - Detour 1 &#8220;Comments&#8221; by Darren</title>
		<link>http://robertlally.com/post/adventures-with-scala-and-vaadin-detour-1-comments#comment-2600</link>
		<dc:creator>Darren</dc:creator>
		<pubDate>Tue, 07 Jul 2009 19:30:41 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=238#comment-2600</guid>
		<description>"readable code without comments...So are the developers who work on them. It takes a while for people to adjust, but once they do they never want to go back."

Thats me that is.</description>
		<content:encoded><![CDATA[<p>&#8220;readable code without comments&#8230;So are the developers who work on them. It takes a while for people to adjust, but once they do they never want to go back.&#8221;</p>
<p>Thats me that is.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Kanban v&#8217;s Waterfall - The Craftworld Perspective by David J Anderson</title>
		<link>http://robertlally.com/post/kanban-vs-waterfall-the-craftworld-perspective#comment-2535</link>
		<dc:creator>David J Anderson</dc:creator>
		<pubDate>Mon, 06 Jul 2009 03:38:24 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=235#comment-2535</guid>
		<description>This is hilarious!</description>
		<content:encoded><![CDATA[<p>This is hilarious!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adventures with Scala and Vaadin - Part 5 by Peppe</title>
		<link>http://robertlally.com/post/adventures-with-scala-and-vaadin-part-5#comment-2526</link>
		<dc:creator>Peppe</dc:creator>
		<pubDate>Sun, 05 Jul 2009 20:03:17 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=224#comment-2526</guid>
		<description>Ah, I guess the whole post didn't get through to me on the first run, as I seemed to have missed some points here. Maybe my inexperience with scala, and reading of it at the middle of the night had an effect on my interpretation skills. 

I mistook the enumerated data types for something else - but now I see the point in doing this.

You know, the Sizable has the methods setWidth(float width, int unit) etc. which is basically the same as what you have here. For example, you can write textfield.setWidth(5,TextField.UNITS_PIXELS);. It doesn't look as nice as setWidth(7 pixels) but works in the same manner. i always use "5px" because it is just faster to write than fetchin that constant etc., and looks cleaner. I'd say your solution is easier to use with the benefits of restricted data types.

Nicely done and I stand corrected! :)</description>
		<content:encoded><![CDATA[<p>Ah, I guess the whole post didn&#8217;t get through to me on the first run, as I seemed to have missed some points here. Maybe my inexperience with scala, and reading of it at the middle of the night had an effect on my interpretation skills. </p>
<p>I mistook the enumerated data types for something else - but now I see the point in doing this.</p>
<p>You know, the Sizable has the methods setWidth(float width, int unit) etc. which is basically the same as what you have here. For example, you can write textfield.setWidth(5,TextField.UNITS_PIXELS);. It doesn&#8217;t look as nice as setWidth(7 pixels) but works in the same manner. i always use &#8220;5px&#8221; because it is just faster to write than fetchin that constant etc., and looks cleaner. I&#8217;d say your solution is easier to use with the benefits of restricted data types.</p>
<p>Nicely done and I stand corrected! <img src='http://robertlally.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adventures with Scala and Vaadin - Part 4 by Adventures with Scala and Vaadin - Detour 1 &#8220;Comments&#8221;</title>
		<link>http://robertlally.com/post/adventures-with-scala-and-vaadin-part-4#comment-2518</link>
		<dc:creator>Adventures with Scala and Vaadin - Detour 1 &#8220;Comments&#8221;</dc:creator>
		<pubDate>Sun, 05 Jul 2009 13:45:51 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=215#comment-2518</guid>
		<description>[...] part 4 of the Scala &#38; Vaadin series I threw in the line &#8220;I believe that comments are, for the [...]</description>
		<content:encoded><![CDATA[<p>[...] part 4 of the Scala &#38; Vaadin series I threw in the line &#8220;I believe that comments are, for the [...]</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adventures with Scala and Vaadin - Part 5 by rob</title>
		<link>http://robertlally.com/post/adventures-with-scala-and-vaadin-part-5#comment-2510</link>
		<dc:creator>rob</dc:creator>
		<pubDate>Sun, 05 Jul 2009 09:29:29 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=224#comment-2510</guid>
		<description>A great question Peppe. And here's the answers.

1) With the String version, I could enter any arbitrary string and it would compile:

componentSetWidth("I like chicken soup")

With the Scala implicit version you have strict compile time type checking so there's no way to enter an invalid value. 

2) My IDE can provide me with code completion with the Scala version so with respect to typing.. you can do less and you don't need to remember all of the possibilities. There are in fact about 8 or so different measurement schemes that can be used and I don't know what they all are. So in-code discoverability is a win here.

3) If it gets into a competition about typing less, I could have called the pixels version px and then I'd be typing '4 px' which is four characters as opposed to the five characters for "4px". The % method is already in use in Scala as a binary operator on numbers, so I'll have to check if I could add an arbitrary unary version with a different return type.

Great question!</description>
		<content:encoded><![CDATA[<p>A great question Peppe. And here&#8217;s the answers.</p>
<p>1) With the String version, I could enter any arbitrary string and it would compile:</p>
<p>componentSetWidth(&#8221;I like chicken soup&#8221;)</p>
<p>With the Scala implicit version you have strict compile time type checking so there&#8217;s no way to enter an invalid value. </p>
<p>2) My IDE can provide me with code completion with the Scala version so with respect to typing.. you can do less and you don&#8217;t need to remember all of the possibilities. There are in fact about 8 or so different measurement schemes that can be used and I don&#8217;t know what they all are. So in-code discoverability is a win here.</p>
<p>3) If it gets into a competition about typing less, I could have called the pixels version px and then I&#8217;d be typing &#8216;4 px&#8217; which is four characters as opposed to the five characters for &#8220;4px&#8221;. The % method is already in use in Scala as a binary operator on numbers, so I&#8217;ll have to check if I could add an arbitrary unary version with a different return type.</p>
<p>Great question!</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adventures with Scala and Vaadin - Part 5 by Peppe</title>
		<link>http://robertlally.com/post/adventures-with-scala-and-vaadin-part-5#comment-2498</link>
		<dc:creator>Peppe</dc:creator>
		<pubDate>Sun, 05 Jul 2009 00:04:02 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=224#comment-2498</guid>
		<description>Hmm, sounds nice that you can do stuff like that, and I find it intriguing that you implemented it, but what's the added value? At readability, "20%" or "10px" tells exactly what they mean. At writeability "%" and "px" are just shorter than "percentage" and "pixels". I find the effort inspiring but can't see the solution being more than the suggested "sub-optimal".</description>
		<content:encoded><![CDATA[<p>Hmm, sounds nice that you can do stuff like that, and I find it intriguing that you implemented it, but what&#8217;s the added value? At readability, &#8220;20%&#8221; or &#8220;10px&#8221; tells exactly what they mean. At writeability &#8220;%&#8221; and &#8220;px&#8221; are just shorter than &#8220;percentage&#8221; and &#8220;pixels&#8221;. I find the effort inspiring but can&#8217;t see the solution being more than the suggested &#8220;sub-optimal&#8221;.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adventures with Scala and Vaadin - Part 5 by Joonas</title>
		<link>http://robertlally.com/post/adventures-with-scala-and-vaadin-part-5#comment-2489</link>
		<dc:creator>Joonas</dc:creator>
		<pubDate>Sat, 04 Jul 2009 16:42:55 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=224#comment-2489</guid>
		<description>Wow... Scala is just really expressive. If we just have had this expressiveness when designing the Vaadin core API:s in 2002...</description>
		<content:encoded><![CDATA[<p>Wow&#8230; Scala is just really expressive. If we just have had this expressiveness when designing the Vaadin core API:s in 2002&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adventures with Scala and Vaadin - Part 4 by rob</title>
		<link>http://robertlally.com/post/adventures-with-scala-and-vaadin-part-4#comment-2432</link>
		<dc:creator>rob</dc:creator>
		<pubDate>Thu, 02 Jul 2009 21:34:07 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=215#comment-2432</guid>
		<description>Bobby,

In many code-bases comments can be the most valuable part of the code. That's because people wrote comments rather than clear code. If people didn't have comments they'd be compelled to write clearer code.

I don't believe that you're really suggesting that the fact that Swing is not thread safe is something that should be communicated by a comment? Which file should I put that in? Line 293 of JContainer sound like a good place? 

Comments are not documentation. They're a crutch where people can describe what they intended the code to do - quite often what they intended the code to do when they first wrote it. It doesn't always describe what it did when they were finished. It even less often reflects what the code does after two years. Automated refactoring tools have made this even more true.

You say you've lost days and days trying to understand the intent of code that wasn't working correctly. Comments that describe the implementation wouldn't help. Comments that describe the intent of the writer would only help sometimes. They wrote code that doesn't work, what's the chances they wrote a comment that accurately described their intent?

The English language is vague and imprecise. If you can't describe your intent in a structured, type-safe programming language why should I believe you can do it in free-form prose?

I'm not opposed to comments entirely - that's why I put 'mostly' in the sentence. There are occasions when a comment can be really helpful. Not many, but a few times.

When you look at code-bases that are heavily commented, often the majority of lines are comments. This means you can see less of the code and have to scroll around more. Is this sort of JavaDoc comments actually helpful?

/**
* Adds two strings
* @param string1 a String
* @param string2 another String
* @return a String
*/
public String addTwoStrings(String string1, String string2) {
    return string1 + string1;
}

Not at all from my perspective. Two thirds of that code is comment. There is no new information at all in those comments. It is in fact duplication - you've said the same thing twice. And as any engineer will tell you, writing the same thing in two places is asking for problems.

You're right, I've always worked in teams. And I can categorically state that banning comments and demanding clean code leads to a much higher quality of code. I've worked on code-bases that have been handed off to other teams that have had a ratio of one line of comment per thousand lines of code and the team who took over the project had no problems picking things up.

I'm not being confrontational, but have you ever tried building a multi-year, multi-developer project and insisting on readable code without comments. I have and it works really, really well. I've done it repeatedly with different teams and I'm always happy with the results. So are the developers who work on them. It takes a while for people to adjust, but once they do they never want to go back.

I think there's some ground we both agree on well documented code but poor code is still poor code. I'd rather have well documented poor code than poor code alone. But I'd rather have clear code WITHOUT comments than clear code WITH comments because at that point the comments add more cost than the value they bring.

Overall, my point is that comments directly lead to poor code. Comments make it easier to get away with writing unclear code.

Thanks for the comment, I really appreciate you taking the time to talk and talk in a civilised manner. Good man!

R.</description>
		<content:encoded><![CDATA[<p>Bobby,</p>
<p>In many code-bases comments can be the most valuable part of the code. That&#8217;s because people wrote comments rather than clear code. If people didn&#8217;t have comments they&#8217;d be compelled to write clearer code.</p>
<p>I don&#8217;t believe that you&#8217;re really suggesting that the fact that Swing is not thread safe is something that should be communicated by a comment? Which file should I put that in? Line 293 of JContainer sound like a good place? </p>
<p>Comments are not documentation. They&#8217;re a crutch where people can describe what they intended the code to do - quite often what they intended the code to do when they first wrote it. It doesn&#8217;t always describe what it did when they were finished. It even less often reflects what the code does after two years. Automated refactoring tools have made this even more true.</p>
<p>You say you&#8217;ve lost days and days trying to understand the intent of code that wasn&#8217;t working correctly. Comments that describe the implementation wouldn&#8217;t help. Comments that describe the intent of the writer would only help sometimes. They wrote code that doesn&#8217;t work, what&#8217;s the chances they wrote a comment that accurately described their intent?</p>
<p>The English language is vague and imprecise. If you can&#8217;t describe your intent in a structured, type-safe programming language why should I believe you can do it in free-form prose?</p>
<p>I&#8217;m not opposed to comments entirely - that&#8217;s why I put &#8216;mostly&#8217; in the sentence. There are occasions when a comment can be really helpful. Not many, but a few times.</p>
<p>When you look at code-bases that are heavily commented, often the majority of lines are comments. This means you can see less of the code and have to scroll around more. Is this sort of JavaDoc comments actually helpful?</p>
<p>/**<br />
* Adds two strings<br />
* @param string1 a String<br />
* @param string2 another String<br />
* @return a String<br />
*/<br />
public String addTwoStrings(String string1, String string2) {<br />
    return string1 + string1;<br />
}</p>
<p>Not at all from my perspective. Two thirds of that code is comment. There is no new information at all in those comments. It is in fact duplication - you&#8217;ve said the same thing twice. And as any engineer will tell you, writing the same thing in two places is asking for problems.</p>
<p>You&#8217;re right, I&#8217;ve always worked in teams. And I can categorically state that banning comments and demanding clean code leads to a much higher quality of code. I&#8217;ve worked on code-bases that have been handed off to other teams that have had a ratio of one line of comment per thousand lines of code and the team who took over the project had no problems picking things up.</p>
<p>I&#8217;m not being confrontational, but have you ever tried building a multi-year, multi-developer project and insisting on readable code without comments. I have and it works really, really well. I&#8217;ve done it repeatedly with different teams and I&#8217;m always happy with the results. So are the developers who work on them. It takes a while for people to adjust, but once they do they never want to go back.</p>
<p>I think there&#8217;s some ground we both agree on well documented code but poor code is still poor code. I&#8217;d rather have well documented poor code than poor code alone. But I&#8217;d rather have clear code WITHOUT comments than clear code WITH comments because at that point the comments add more cost than the value they bring.</p>
<p>Overall, my point is that comments directly lead to poor code. Comments make it easier to get away with writing unclear code.</p>
<p>Thanks for the comment, I really appreciate you taking the time to talk and talk in a civilised manner. Good man!</p>
<p>R.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adventures with Scala and Vaadin - Part 4 by rob</title>
		<link>http://robertlally.com/post/adventures-with-scala-and-vaadin-part-4#comment-2431</link>
		<dc:creator>rob</dc:creator>
		<pubDate>Thu, 02 Jul 2009 21:01:41 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=215#comment-2431</guid>
		<description>Creating a set of full-fledged Scala bindings for Vaadin is something I'd love to do. I just hope I can find the time, my role at onedrum.com is keeping me busy now and it is only going to get hotter.

Still, I'm digging the combination however it works out.

Your point about the different possible types of listeners is spot-on. Java only gives you so many choices and they're all either cumbersome or flawed. My mind flip-flops between which is the worst. I hope I don't come across as having been critical of the developers - they're in a tough situation and they've done the best they could and given people choices.</description>
		<content:encoded><![CDATA[<p>Creating a set of full-fledged Scala bindings for Vaadin is something I&#8217;d love to do. I just hope I can find the time, my role at onedrum.com is keeping me busy now and it is only going to get hotter.</p>
<p>Still, I&#8217;m digging the combination however it works out.</p>
<p>Your point about the different possible types of listeners is spot-on. Java only gives you so many choices and they&#8217;re all either cumbersome or flawed. My mind flip-flops between which is the worst. I hope I don&#8217;t come across as having been critical of the developers - they&#8217;re in a tough situation and they&#8217;ve done the best they could and given people choices.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adventures with Scala and Vaadin - Part 4 by Bobby</title>
		<link>http://robertlally.com/post/adventures-with-scala-and-vaadin-part-4#comment-2430</link>
		<dc:creator>Bobby</dc:creator>
		<pubDate>Thu, 02 Jul 2009 20:58:05 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=215#comment-2430</guid>
		<description>Hi, I was curious about this:

"I also removed the comments because I believe that comments are, for the most part, an abomination, a crutch that has removed the need for programmers to support their own weight and write clean code."

Are you serious? Comments may be the most important parts of code. They are, de facto, part of the code. Think about the JavaDocs for Swing. Swing is not thread-safe, but nothing in the code spells that out except the comments.

I have lost days and days of work trying to understand the intent of some code that was not working correctly, where if someone had just taken two minutes to write some comments then I would have known what the code was supposed to do and I could have fixed it quickly.

A comment like yours makes it sound like you don't work with others, which probably isn't true. So let me try to explain this way: people don't always write code correctly, but at least comments in the code can be "correct" so that someone else down the line has a chance of maintaining things.

I agree with you totally that people should write clean, understandable code. But sometimes the best-chosen field and method names don't go as far as a couple sentences saying what some code is supposed to do and, MUCH more importantly, what it isn't supposed to do.

To complete the circuit: poorly-written, well-documented code, is still poor code.

Cheers,
Bobby</description>
		<content:encoded><![CDATA[<p>Hi, I was curious about this:</p>
<p>&#8220;I also removed the comments because I believe that comments are, for the most part, an abomination, a crutch that has removed the need for programmers to support their own weight and write clean code.&#8221;</p>
<p>Are you serious? Comments may be the most important parts of code. They are, de facto, part of the code. Think about the JavaDocs for Swing. Swing is not thread-safe, but nothing in the code spells that out except the comments.</p>
<p>I have lost days and days of work trying to understand the intent of some code that was not working correctly, where if someone had just taken two minutes to write some comments then I would have known what the code was supposed to do and I could have fixed it quickly.</p>
<p>A comment like yours makes it sound like you don&#8217;t work with others, which probably isn&#8217;t true. So let me try to explain this way: people don&#8217;t always write code correctly, but at least comments in the code can be &#8220;correct&#8221; so that someone else down the line has a chance of maintaining things.</p>
<p>I agree with you totally that people should write clean, understandable code. But sometimes the best-chosen field and method names don&#8217;t go as far as a couple sentences saying what some code is supposed to do and, MUCH more importantly, what it isn&#8217;t supposed to do.</p>
<p>To complete the circuit: poorly-written, well-documented code, is still poor code.</p>
<p>Cheers,<br />
Bobby</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adventures with Scala and Vaadin - Part 4 by Marc ENglund</title>
		<link>http://robertlally.com/post/adventures-with-scala-and-vaadin-part-4#comment-2410</link>
		<dc:creator>Marc ENglund</dc:creator>
		<pubDate>Thu, 02 Jul 2009 07:59:34 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=215#comment-2410</guid>
		<description>This series is turning out great! Looking forward to the next part. 
Hopefully the end result will be a 'scala bindings' project in the incubator ;-) 

About the listeners, this is something I've been lobbying for, and there is actually a ticket: http://dev.vaadin.com/ticket/2490
This is definitely the worst kind of listener. Almost as bad, for other reasons, is having 'this' implement the listener interface, exposing it to the world - as in new Button("Ok", this). 
What we have left is an inner class listener { new Button("Ok", new OkListener(); } and private variable holding an anonymous listener { new Button("Ok", okListener); }. 
Yeah, they're all bad in comparison - verbose, if not conceptually flawed.

Best Regards,
Marc</description>
		<content:encoded><![CDATA[<p>This series is turning out great! Looking forward to the next part.<br />
Hopefully the end result will be a &#8217;scala bindings&#8217; project in the incubator <img src='http://robertlally.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>About the listeners, this is something I&#8217;ve been lobbying for, and there is actually a ticket: <a href="http://dev.vaadin.com/ticket/2490" rel="nofollow">http://dev.vaadin.com/ticket/2490</a><br />
This is definitely the worst kind of listener. Almost as bad, for other reasons, is having &#8216;this&#8217; implement the listener interface, exposing it to the world - as in new Button(&#8221;Ok&#8221;, this).<br />
What we have left is an inner class listener { new Button(&#8221;Ok&#8221;, new OkListener(); } and private variable holding an anonymous listener { new Button(&#8221;Ok&#8221;, okListener); }.<br />
Yeah, they&#8217;re all bad in comparison - verbose, if not conceptually flawed.</p>
<p>Best Regards,<br />
Marc</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adventures with Scala and Vaadin - Part 2 by Mark Harrah</title>
		<link>http://robertlally.com/post/adventures-with-scala-and-vaadin-part-2#comment-2380</link>
		<dc:creator>Mark Harrah</dc:creator>
		<pubDate>Wed, 01 Jul 2009 17:44:11 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=188#comment-2380</guid>
		<description>Rob,

Nice writeups.  You make a good point about jetty-run.  In the just released 0.5.1 version of sbt, there is a new 'jetty' action that will wait around for a keypress before completing.  Thanks for pointing this out.

-Mark</description>
		<content:encoded><![CDATA[<p>Rob,</p>
<p>Nice writeups.  You make a good point about jetty-run.  In the just released 0.5.1 version of sbt, there is a new &#8216;jetty&#8217; action that will wait around for a keypress before completing.  Thanks for pointing this out.</p>
<p>-Mark</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Adventures with Scala and Vaadin - Part 3 by Henri Muurimaa</title>
		<link>http://robertlally.com/post/adventures-with-scala-and-vaadin-part-3#comment-2354</link>
		<dc:creator>Henri Muurimaa</dc:creator>
		<pubDate>Wed, 01 Jul 2009 07:35:53 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=204#comment-2354</guid>
		<description>Disclaimer: I work for IT Mill, the makers of Vaadin.

This really makes me want to take a better look at Scala, amazing stuff :)

About the inner class event handlers, though, one probably shouldn't use them for anything bigger than one-liners. For anything more complex it will be clearer to move the click listener logic to a separate method. This can be done like how you did by creating a new class that implements the ClickListener interface, or by letting the class handling the button implement it. I've found that the latter way is often clearer, because it keeps a component's logic near the component itself. Doing it that way results in (IMO) pretty clear code:

public class ClickListenerApp extends Application implements ClickListener {

	private Window mainWindow;

	@Override
	public void init() {
		setMainWindow(mainWindow = new Window("Myproject Application"));

		mainWindow.addComponent(new Label("Hello Vaadin user"));
		mainWindow.addComponent(new Button("What is the time?", this));
	}

	@Override
	public void buttonClick(ClickEvent event) {
		mainWindow.showNotification("The time is " + new Date());
	}
}

I agree with you about the mandatory main window initialization stuff. I created a ticked about it (http://dev.vaadin.com/ticket/3108), lets see what our R&#38;D team thinks about it.</description>
		<content:encoded><![CDATA[<p>Disclaimer: I work for IT Mill, the makers of Vaadin.</p>
<p>This really makes me want to take a better look at Scala, amazing stuff <img src='http://robertlally.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p>About the inner class event handlers, though, one probably shouldn&#8217;t use them for anything bigger than one-liners. For anything more complex it will be clearer to move the click listener logic to a separate method. This can be done like how you did by creating a new class that implements the ClickListener interface, or by letting the class handling the button implement it. I&#8217;ve found that the latter way is often clearer, because it keeps a component&#8217;s logic near the component itself. Doing it that way results in (IMO) pretty clear code:</p>
<p>public class ClickListenerApp extends Application implements ClickListener {</p>
<p>	private Window mainWindow;</p>
<p>	@Override<br />
	public void init() {<br />
		setMainWindow(mainWindow = new Window(&#8221;Myproject Application&#8221;));</p>
<p>		mainWindow.addComponent(new Label(&#8221;Hello Vaadin user&#8221;));<br />
		mainWindow.addComponent(new Button(&#8221;What is the time?&#8221;, this));<br />
	}</p>
<p>	@Override<br />
	public void buttonClick(ClickEvent event) {<br />
		mainWindow.showNotification(&#8221;The time is &#8221; + new Date());<br />
	}<br />
}</p>
<p>I agree with you about the mandatory main window initialization stuff. I created a ticked about it (http://dev.vaadin.com/ticket/3108), lets see what our R&amp;D team thinks about it.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Pull systems - A metaphor by rob</title>
		<link>http://robertlally.com/post/pull-systems-a-metaphor#comment-2264</link>
		<dc:creator>rob</dc:creator>
		<pubDate>Mon, 29 Jun 2009 19:25:30 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=178#comment-2264</guid>
		<description>I think you're missing the point Veri. The metaphor isn't about programming it is about scheduling and managing programmers and their efforts.

However you break it down, the work of developers needs to be scheduled, planned and controlled. That the work of programmers is creative and unpredictable in nature is certain, this doesn't mean that you can't or shouldn't try to track, understand, guide and control it as a project manager. It makes it harder that the programmers aren't churning out widgets, but that's the nature of the game.

In a sense, is like the life of a production-line widget assembler. Requirements come, you create the solution, you release it, more requirements come...</description>
		<content:encoded><![CDATA[<p>I think you&#8217;re missing the point Veri. The metaphor isn&#8217;t about programming it is about scheduling and managing programmers and their efforts.</p>
<p>However you break it down, the work of developers needs to be scheduled, planned and controlled. That the work of programmers is creative and unpredictable in nature is certain, this doesn&#8217;t mean that you can&#8217;t or shouldn&#8217;t try to track, understand, guide and control it as a project manager. It makes it harder that the programmers aren&#8217;t churning out widgets, but that&#8217;s the nature of the game.</p>
<p>In a sense, is like the life of a production-line widget assembler. Requirements come, you create the solution, you release it, more requirements come&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Pull systems - A metaphor by Verisimilidude</title>
		<link>http://robertlally.com/post/pull-systems-a-metaphor#comment-2017</link>
		<dc:creator>Verisimilidude</dc:creator>
		<pubDate>Wed, 24 Jun 2009 19:48:00 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=178#comment-2017</guid>
		<description>I dislike this metaphor, and all metaphors that make programming something like assembly line work.  If all we did was repeatedly attach do-hickeys onto widgets I might agree. But good programming would be to construct a do-hickey attaching function and add it to the widget.  Too much software engineering is focused on attaching the do-hickey and too little on the paradigm changing process modifications that would produce software better and faster.</description>
		<content:encoded><![CDATA[<p>I dislike this metaphor, and all metaphors that make programming something like assembly line work.  If all we did was repeatedly attach do-hickeys onto widgets I might agree. But good programming would be to construct a do-hickey attaching function and add it to the widget.  Too much software engineering is focused on attaching the do-hickey and too little on the paradigm changing process modifications that would produce software better and faster.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Pull systems - A metaphor by Bruce</title>
		<link>http://robertlally.com/post/pull-systems-a-metaphor#comment-1383</link>
		<dc:creator>Bruce</dc:creator>
		<pubDate>Thu, 04 Jun 2009 19:42:37 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=178#comment-1383</guid>
		<description>Rob,
I like this metaphor. It works on so many levels as you describe, and even if you take the agile vs traditional aspects, and ignore the kanban/pull version, you can still use it. Not sure that I'd agree with the notion that agile chops the string up. I think it'd be better if you said that 'agile unpicks one feature/story at a time to feed through the funnel'. Also, would TOC emphasise how to make the hole bigger without necessarily increasing your team size, in contrast to the notion of throwing more people at the problem, which then only works to a certain extent as you end up with size vs communication issues I guess. Anyways, enough rambling and thanks for the metaphor.

Bruce</description>
		<content:encoded><![CDATA[<p>Rob,<br />
I like this metaphor. It works on so many levels as you describe, and even if you take the agile vs traditional aspects, and ignore the kanban/pull version, you can still use it. Not sure that I&#8217;d agree with the notion that agile chops the string up. I think it&#8217;d be better if you said that &#8216;agile unpicks one feature/story at a time to feed through the funnel&#8217;. Also, would TOC emphasise how to make the hole bigger without necessarily increasing your team size, in contrast to the notion of throwing more people at the problem, which then only works to a certain extent as you end up with size vs communication issues I guess. Anyways, enough rambling and thanks for the metaphor.</p>
<p>Bruce</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on The Pragmatic Bookshelf : Rockin&#8217; Good by Travis Swicegood</title>
		<link>http://robertlally.com/post/the-pragmatic-bookshelf-rockin-good#comment-1250</link>
		<dc:creator>Travis Swicegood</dc:creator>
		<pubDate>Sat, 30 May 2009 16:07:14 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=180#comment-1250</guid>
		<description>Glad you dig the updates.  Working with Pragmatic has been great as an author and a reader.</description>
		<content:encoded><![CDATA[<p>Glad you dig the updates.  Working with Pragmatic has been great as an author and a reader.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on BDD - Not so much by Corey Haines</title>
		<link>http://robertlally.com/post/bdd-not-so-much#comment-1161</link>
		<dc:creator>Corey Haines</dc:creator>
		<pubDate>Thu, 28 May 2009 13:51:04 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=170#comment-1161</guid>
		<description>I think you are missing the point of where BDD has evolved to. It is no longer a 'replacement for TDD,' but, rather, it is a workflow for creating a system that more closely resembles what the client is looking for. Cucumber as a system behavior specification tool provides a set of executable specifications that can be used to show what the system currently does, as well as provide a framework for discussing what desired behavior is missing. The Cucumber features drive the requirements that are then implemented using a lower-level spec-ing tool like RSpec. It isn't Cucumber that drives the design, it is RSpec. Just like it isn't RSpec that drives the system specifications, it is Cucumber.

Focusing on and critiquing individual portions of the process outside of their context confuses the issue. I'm going to make an assumption here, but from your confusion as to what BDD is and is used for, it sounds as though you have not spent a significant enough amount of time working with the process/tools to get a full understanding of their value.

Statements like 'BDD isn’t AN answer, so it certainly can’t be THE answer' show a bit too much 'I know everything' attitude. There are people who say the same sorts of things about , but, in general, most descriptive processes are THE answer for someone. Is it the BEST answer for that person, probably not, but the important thing is that there is something.

It is important to realize that there are no THE answers that work across the board, but there do exist answers for people. BDD fills the need for a lot of people. The fact that you don't see its benefit does not mean it can't work.</description>
		<content:encoded><![CDATA[<p>I think you are missing the point of where BDD has evolved to. It is no longer a &#8216;replacement for TDD,&#8217; but, rather, it is a workflow for creating a system that more closely resembles what the client is looking for. Cucumber as a system behavior specification tool provides a set of executable specifications that can be used to show what the system currently does, as well as provide a framework for discussing what desired behavior is missing. The Cucumber features drive the requirements that are then implemented using a lower-level spec-ing tool like RSpec. It isn&#8217;t Cucumber that drives the design, it is RSpec. Just like it isn&#8217;t RSpec that drives the system specifications, it is Cucumber.</p>
<p>Focusing on and critiquing individual portions of the process outside of their context confuses the issue. I&#8217;m going to make an assumption here, but from your confusion as to what BDD is and is used for, it sounds as though you have not spent a significant enough amount of time working with the process/tools to get a full understanding of their value.</p>
<p>Statements like &#8216;BDD isn’t AN answer, so it certainly can’t be THE answer&#8217; show a bit too much &#8216;I know everything&#8217; attitude. There are people who say the same sorts of things about , but, in general, most descriptive processes are THE answer for someone. Is it the BEST answer for that person, probably not, but the important thing is that there is something.</p>
<p>It is important to realize that there are no THE answers that work across the board, but there do exist answers for people. BDD fills the need for a lot of people. The fact that you don&#8217;t see its benefit does not mean it can&#8217;t work.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on BDD - Not so much by Zach Dennis</title>
		<link>http://robertlally.com/post/bdd-not-so-much#comment-1156</link>
		<dc:creator>Zach Dennis</dc:creator>
		<pubDate>Thu, 28 May 2009 07:46:13 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=170#comment-1156</guid>
		<description>I need to be less long-winded, another follow-up:

http://continuousthinking.com/2009/5/28/bdd-not-so-much-really-part-ii

Not to shamelessly keep posting links, but I feel horrible for writing a multi-page comment on your blog.I think there’s a confusion that BDD == toolset (ie. Cucumber, Cucumber+RSpec, rspec). That needs to stop because its wrong and that means we're going to end up with x number of definitions at least where x is the number of unique combinations between tools that can be used in a BDD style manner.</description>
		<content:encoded><![CDATA[<p>I need to be less long-winded, another follow-up:</p>
<p><a href="http://continuousthinking.com/2009/5/28/bdd-not-so-much-really-part-ii" rel="nofollow">http://continuousthinking.com/2009/5/28/bdd-not-so-much-really-part-ii</a></p>
<p>Not to shamelessly keep posting links, but I feel horrible for writing a multi-page comment on your blog.I think there’s a confusion that BDD == toolset (ie. Cucumber, Cucumber+RSpec, rspec). That needs to stop because its wrong and that means we&#8217;re going to end up with x number of definitions at least where x is the number of unique combinations between tools that can be used in a BDD style manner.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on BDD - Not so much by rob</title>
		<link>http://robertlally.com/post/bdd-not-so-much#comment-1154</link>
		<dc:creator>rob</dc:creator>
		<pubDate>Thu, 28 May 2009 06:25:50 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=170#comment-1154</guid>
		<description>Hi Jan,

Your definition of BDD seems to be different from Matt who commented before you. Matt, as I understand it from the limited context of a single comment, feels that BDD lies aligned more with functional testing than TDD. This kind of makes my point. Without agreement about what it is, it isn't really a useful term, yet.</description>
		<content:encoded><![CDATA[<p>Hi Jan,</p>
<p>Your definition of BDD seems to be different from Matt who commented before you. Matt, as I understand it from the limited context of a single comment, feels that BDD lies aligned more with functional testing than TDD. This kind of makes my point. Without agreement about what it is, it isn&#8217;t really a useful term, yet.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on BDD - Not so much by rob</title>
		<link>http://robertlally.com/post/bdd-not-so-much#comment-1153</link>
		<dc:creator>rob</dc:creator>
		<pubDate>Thu, 28 May 2009 06:20:59 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=170#comment-1153</guid>
		<description>Hi Philip,

I make nothing at all of the award that easyb won an award. I always said I had no problems with the tools, only the philosophy behind their use in BDD.

Interestingly easyb won as a testing tool, not as a design tool.

Beyond that, my belief in awards as a 'Good Thing' has been jaded by too many years of watching self selecting groups skew polls. The number of years that VisualStudio won IDE of the Year awards when it was nothing more than notepad with highlighting and code completion when IDEA and Eclipse and JBuilder and TogetherJ were 1000 times better was depressing. Rational Rose won countless awards as a design tool and as a productivity tool.. and I never found that to be useful.

So, the awaard doesn't make me feel one way, or another. It is what it is. I do hope that the developers of easyb were pleased with it. I'm sure they worked hard and any recognition must be nice.</description>
		<content:encoded><![CDATA[<p>Hi Philip,</p>
<p>I make nothing at all of the award that easyb won an award. I always said I had no problems with the tools, only the philosophy behind their use in BDD.</p>
<p>Interestingly easyb won as a testing tool, not as a design tool.</p>
<p>Beyond that, my belief in awards as a &#8216;Good Thing&#8217; has been jaded by too many years of watching self selecting groups skew polls. The number of years that VisualStudio won IDE of the Year awards when it was nothing more than notepad with highlighting and code completion when IDEA and Eclipse and JBuilder and TogetherJ were 1000 times better was depressing. Rational Rose won countless awards as a design tool and as a productivity tool.. and I never found that to be useful.</p>
<p>So, the awaard doesn&#8217;t make me feel one way, or another. It is what it is. I do hope that the developers of easyb were pleased with it. I&#8217;m sure they worked hard and any recognition must be nice.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on BDD - Not so much by rob</title>
		<link>http://robertlally.com/post/bdd-not-so-much#comment-1152</link>
		<dc:creator>rob</dc:creator>
		<pubDate>Thu, 28 May 2009 06:15:11 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=170#comment-1152</guid>
		<description>Hi Matt,

I'm glad you're happy with your tools. If you've found a pattern where they work really well for you.. fantastic. My point was never about tools, it was always about the methods by which one uses them.

Your point seems to be that you use Cucumber for acceptance tests and RSpec for TDD. And together this makes BDD. But then you say that RSpec probably isn't a DBB framework.

What does that leave? BDD == Cucumber == acceptance testing? I'm not buying that.

If RSpec isn't a BDD framework then easyb and ScalaTest aren't either. Can you point me at some other things that you'd call a BDD tool?

I have no problem with acceptance testing. I am a strong advocate of having acceptance tests before you start writing code - otherwise how do you really know when you're done. I'm sure we agree 100% here.

But this isn't new, it already has a name. A good name. Acceptance tests. Adding a non-descriptive name, a name highly polluted by previous usage doesn't help. If I were pairing with you used BDD when you meant acceptance tests I'd ask for the keyboard.

As for the section about BDD code that doesn't look like actual code, I hoped I was clear that I was talking about tools such as easyb where the testing isn't even done in the same language.</description>
		<content:encoded><![CDATA[<p>Hi Matt,</p>
<p>I&#8217;m glad you&#8217;re happy with your tools. If you&#8217;ve found a pattern where they work really well for you.. fantastic. My point was never about tools, it was always about the methods by which one uses them.</p>
<p>Your point seems to be that you use Cucumber for acceptance tests and RSpec for TDD. And together this makes BDD. But then you say that RSpec probably isn&#8217;t a DBB framework.</p>
<p>What does that leave? BDD == Cucumber == acceptance testing? I&#8217;m not buying that.</p>
<p>If RSpec isn&#8217;t a BDD framework then easyb and ScalaTest aren&#8217;t either. Can you point me at some other things that you&#8217;d call a BDD tool?</p>
<p>I have no problem with acceptance testing. I am a strong advocate of having acceptance tests before you start writing code - otherwise how do you really know when you&#8217;re done. I&#8217;m sure we agree 100% here.</p>
<p>But this isn&#8217;t new, it already has a name. A good name. Acceptance tests. Adding a non-descriptive name, a name highly polluted by previous usage doesn&#8217;t help. If I were pairing with you used BDD when you meant acceptance tests I&#8217;d ask for the keyboard.</p>
<p>As for the section about BDD code that doesn&#8217;t look like actual code, I hoped I was clear that I was talking about tools such as easyb where the testing isn&#8217;t even done in the same language.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on BDD - Not so much by Zach Dennis</title>
		<link>http://robertlally.com/post/bdd-not-so-much#comment-1150</link>
		<dc:creator>Zach Dennis</dc:creator>
		<pubDate>Thu, 28 May 2009 06:08:49 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=170#comment-1150</guid>
		<description>I wrote too much, so here's a link to my response:

http://www.continuousthinking.com/2009/5/28/bdd-not-so-much-really</description>
		<content:encoded><![CDATA[<p>I wrote too much, so here&#8217;s a link to my response:</p>
<p><a href="http://www.continuousthinking.com/2009/5/28/bdd-not-so-much-really" rel="nofollow">http://www.continuousthinking.com/2009/5/28/bdd-not-so-much-really</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on BDD - Not so much by Ben Mabey</title>
		<link>http://robertlally.com/post/bdd-not-so-much#comment-1148</link>
		<dc:creator>Ben Mabey</dc:creator>
		<pubDate>Thu, 28 May 2009 05:38:01 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=170#comment-1148</guid>
		<description>In case your interested... Here are my thoughts regarding your argument on the rspec-users mailing list:

http://rubyforge.org/pipermail/rspec-users/2009-May/014704.html</description>
		<content:encoded><![CDATA[<p>In case your interested&#8230; Here are my thoughts regarding your argument on the rspec-users mailing list:</p>
<p><a href="http://rubyforge.org/pipermail/rspec-users/2009-May/014704.html" rel="nofollow">http://rubyforge.org/pipermail/rspec-users/2009-May/014704.html</a></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on BDD - Not so much by Jan</title>
		<link>http://robertlally.com/post/bdd-not-so-much#comment-1141</link>
		<dc:creator>Jan</dc:creator>
		<pubDate>Thu, 28 May 2009 03:09:50 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=170#comment-1141</guid>
		<description>Not all BDD's spec is written for customer - yes, cucumber may belongs to this category, but rspec doesn't.

I think BDD is strong related with TDD - I like the Borland metaphor :) So if TDD isn't an answer, then BDD either; but if TDD is an answer, BDD should be an answer too.</description>
		<content:encoded><![CDATA[<p>Not all BDD&#8217;s spec is written for customer - yes, cucumber may belongs to this category, but rspec doesn&#8217;t.</p>
<p>I think BDD is strong related with TDD - I like the Borland metaphor <img src='http://robertlally.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> So if TDD isn&#8217;t an answer, then BDD either; but if TDD is an answer, BDD should be an answer too.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on BDD - Not so much by Philip Schwarz</title>
		<link>http://robertlally.com/post/bdd-not-so-much#comment-1134</link>
		<dc:creator>Philip Schwarz</dc:creator>
		<pubDate>Wed, 27 May 2009 23:23:26 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=170#comment-1134</guid>
		<description>Interesting post....

what do you make of the fact that &lt;a href="http://easyb.org/" rel="nofollow"&gt;easyb&lt;/a&gt; has won the &lt;a href="http://www.joltawards.com/winners.html#testingtools" rel="nofollow"&gt;19th annual Jolt award!&lt;/a&gt; in the Testing Tools category?</description>
		<content:encoded><![CDATA[<p>Interesting post&#8230;.</p>
<p>what do you make of the fact that <a href="http://easyb.org/" rel="nofollow">easyb</a> has won the <a href="http://www.joltawards.com/winners.html#testingtools" rel="nofollow">19th annual Jolt award!</a> in the Testing Tools category?</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on BDD - Not so much by Matt Wynne</title>
		<link>http://robertlally.com/post/bdd-not-so-much#comment-1133</link>
		<dc:creator>Matt Wynne</dc:creator>
		<pubDate>Wed, 27 May 2009 22:40:37 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=170#comment-1133</guid>
		<description>I have to strongly disagree, I'm afraid. The combination of Cucumber acceptance tests and RSpec unit tests is easily the most satisfying I have ever used for test-driven development.

Using the domain language of the customer in your acceptance tests, whether you're writing them in Fit, Cucumber or straight-up xUnit, is an un-disputably good habit. BDD just makes this a first-class practice, and provides the tooling to make it easy.

I think this is the key but subtle point that people who dismiss BDD miss out on. Forcing yourself to wear the customer's hat to write an automated test before you write any code can save a lot of headaches later by driving out any misunderstandings and uncertainty early on. Who wouldn't want that?

Rspec should probably not be called a BDD framework - it's really just a nice way to write unit tests, and I think you'd struggle to find anyone who uses RSpec and Cucumber regularly who would claim much differently. I'm surprised you've found that 'BDD frameworks don’t look or work like the code that will be calling the final code' - this is exactly how I use RSpec every day.

Thanks for sharing your thoughts though - it's an interesting debate :)</description>
		<content:encoded><![CDATA[<p>I have to strongly disagree, I&#8217;m afraid. The combination of Cucumber acceptance tests and RSpec unit tests is easily the most satisfying I have ever used for test-driven development.</p>
<p>Using the domain language of the customer in your acceptance tests, whether you&#8217;re writing them in Fit, Cucumber or straight-up xUnit, is an un-disputably good habit. BDD just makes this a first-class practice, and provides the tooling to make it easy.</p>
<p>I think this is the key but subtle point that people who dismiss BDD miss out on. Forcing yourself to wear the customer&#8217;s hat to write an automated test before you write any code can save a lot of headaches later by driving out any misunderstandings and uncertainty early on. Who wouldn&#8217;t want that?</p>
<p>Rspec should probably not be called a BDD framework - it&#8217;s really just a nice way to write unit tests, and I think you&#8217;d struggle to find anyone who uses RSpec and Cucumber regularly who would claim much differently. I&#8217;m surprised you&#8217;ve found that &#8216;BDD frameworks don’t look or work like the code that will be calling the final code&#8217; - this is exactly how I use RSpec every day.</p>
<p>Thanks for sharing your thoughts though - it&#8217;s an interesting debate <img src='http://robertlally.com/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on BDD - Not so much by GeePawHill</title>
		<link>http://robertlally.com/post/bdd-not-so-much#comment-1132</link>
		<dc:creator>GeePawHill</dc:creator>
		<pubDate>Wed, 27 May 2009 22:10:52 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=170#comment-1132</guid>
		<description>I think you've put your finger very close to what *I* have found unsatisfying about the notion.  I know a lot of folks, tho, who believe that they're doing something both different and better.  Not convinced yet.  Thanks for adding to my perspective!

Hill</description>
		<content:encoded><![CDATA[<p>I think you&#8217;ve put your finger very close to what *I* have found unsatisfying about the notion.  I know a lot of folks, tho, who believe that they&#8217;re doing something both different and better.  Not convinced yet.  Thanks for adding to my perspective!</p>
<p>Hill</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Missing the mark on an agile principle by Alan Francis</title>
		<link>http://robertlally.com/post/missing-the-mark-on-an-agile-principle#comment-1089</link>
		<dc:creator>Alan Francis</dc:creator>
		<pubDate>Tue, 26 May 2009 15:22:59 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=176#comment-1089</guid>
		<description>I can only speak to the team I was on with you and I don't think the external imposition made any real difference to our respect (or lack thereof) for you :-)</description>
		<content:encoded><![CDATA[<p>I can only speak to the team I was on with you and I don&#8217;t think the external imposition made any real difference to our respect (or lack thereof) for you <img src='http://robertlally.com/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /></p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Missing the mark on an agile principle by rob</title>
		<link>http://robertlally.com/post/missing-the-mark-on-an-agile-principle#comment-1087</link>
		<dc:creator>rob</dc:creator>
		<pubDate>Tue, 26 May 2009 15:15:05 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=176#comment-1087</guid>
		<description>Hey Alan, Siddharta,

I guess my concern was that being an externally imposed leader was detrimental to the team and the project. I'll relax and mull it over some more.

Thanks guys,

R.</description>
		<content:encoded><![CDATA[<p>Hey Alan, Siddharta,</p>
<p>I guess my concern was that being an externally imposed leader was detrimental to the team and the project. I&#8217;ll relax and mull it over some more.</p>
<p>Thanks guys,</p>
<p>R.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Missing the mark on an agile principle by Siddharta</title>
		<link>http://robertlally.com/post/missing-the-mark-on-an-agile-principle#comment-1081</link>
		<dc:creator>Siddharta</dc:creator>
		<pubDate>Tue, 26 May 2009 12:33:35 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=176#comment-1081</guid>
		<description>I dont think self organising means no leader. 

Put a bunch of people together and some sort of structure will automatically come into being, and someone will end up in a leadership position - formal or informal. 

Sometimes it ends up with a somewhat meritocratic structure, sometimes you have a 'leader' who tries to dominate the group, sometimes you have a leader that everyone respects and are happy enough to follow.

Self organisation just means that everyone is involved in the process and that they feel that they have some ownership in the way the team does things. Whether there is an actual leader or not, it doesn't matter.</description>
		<content:encoded><![CDATA[<p>I dont think self organising means no leader. </p>
<p>Put a bunch of people together and some sort of structure will automatically come into being, and someone will end up in a leadership position - formal or informal. </p>
<p>Sometimes it ends up with a somewhat meritocratic structure, sometimes you have a &#8216;leader&#8217; who tries to dominate the group, sometimes you have a leader that everyone respects and are happy enough to follow.</p>
<p>Self organisation just means that everyone is involved in the process and that they feel that they have some ownership in the way the team does things. Whether there is an actual leader or not, it doesn&#8217;t matter.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Missing the mark on an agile principle by Sue Massey</title>
		<link>http://robertlally.com/post/missing-the-mark-on-an-agile-principle#comment-1080</link>
		<dc:creator>Sue Massey</dc:creator>
		<pubDate>Tue, 26 May 2009 12:31:19 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=176#comment-1080</guid>
		<description>Great post. I will read your posts frequently. Added you to the RSS reader.</description>
		<content:encoded><![CDATA[<p>Great post. I will read your posts frequently. Added you to the RSS reader.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Missing the mark on an agile principle by Alan Francis</title>
		<link>http://robertlally.com/post/missing-the-mark-on-an-agile-principle#comment-1078</link>
		<dc:creator>Alan Francis</dc:creator>
		<pubDate>Tue, 26 May 2009 12:26:33 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=176#comment-1078</guid>
		<description>I suspect a large part of it working out, of it being "deemed pretty successful" is that if free organisation had been an option, you'd have emerged as the leader anyway.  In essence, if the team had disagreed with you, it may not have led to your replacement, but it would have led to failing.

So, in essence, I think you can say it was mostly indistinguishable from being self-organising.  If it looks like duck...</description>
		<content:encoded><![CDATA[<p>I suspect a large part of it working out, of it being &#8220;deemed pretty successful&#8221; is that if free organisation had been an option, you&#8217;d have emerged as the leader anyway.  In essence, if the team had disagreed with you, it may not have led to your replacement, but it would have led to failing.</p>
<p>So, in essence, I think you can say it was mostly indistinguishable from being self-organising.  If it looks like duck&#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Now wash your &#8230;. wha? by Hoppy</title>
		<link>http://robertlally.com/post/now-wash-your-wha#comment-709</link>
		<dc:creator>Hoppy</dc:creator>
		<pubDate>Wed, 13 May 2009 21:42:24 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=162#comment-709</guid>
		<description>How many people sneezed nasty swine flu ridden mucus into their hand before opening the door to the toilet or turning the tap on _before_ you got there? Man it's bad enough going to the little boys room on a floor with 100 guys and no swine flu ...</description>
		<content:encoded><![CDATA[<p>How many people sneezed nasty swine flu ridden mucus into their hand before opening the door to the toilet or turning the tap on _before_ you got there? Man it&#8217;s bad enough going to the little boys room on a floor with 100 guys and no swine flu &#8230;</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Kanban my book pile by Neil</title>
		<link>http://robertlally.com/post/kanban-my-book-pile#comment-550</link>
		<dc:creator>Neil</dc:creator>
		<pubDate>Sat, 09 May 2009 19:48:15 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=146#comment-550</guid>
		<description>Hi Rob,

Reminded me of this...

http://en.wikipedia.org/wiki/The_Paradox_of_Choice
http://www.ted.com/index.php/talks/barry_schwartz_on_the_paradox_of_choice.html

Neil.</description>
		<content:encoded><![CDATA[<p>Hi Rob,</p>
<p>Reminded me of this&#8230;</p>
<p><a href="http://en.wikipedia.org/wiki/The_Paradox_of_Choice" rel="nofollow">http://en.wikipedia.org/wiki/The_Paradox_of_Choice</a><br />
<a href="http://www.ted.com/index.php/talks/barry_schwartz_on_the_paradox_of_choice.html" rel="nofollow">http://www.ted.com/index.php/talks/barry_schwartz_on_the_paradox_of_choice.html</a></p>
<p>Neil.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Macports - Bringing the Unix UI Experience to the Mac by rob</title>
		<link>http://robertlally.com/post/macports-bringing-the-unix-ui-experience-to-the-mac#comment-51</link>
		<dc:creator>rob</dc:creator>
		<pubDate>Sat, 28 Mar 2009 21:12:09 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=87#comment-51</guid>
		<description>Just to start off, the reason this comment is here is because I twittered that I had fallen in love with macports despite the awful installation experience.

Now, on to the meat:

"The user experience is secondary on this king of project" .. the classic Unix developers cry. Sort of fits in well with the posts title.

I didn't attack the ideals and choices of the macport developers, I commented on their lack of competence in the UI domain. They created a user experience so bad that I thought their installer was broken. That's not a good thing. I'm sure the original developers would be disappointed to hear that I almost ended up not using the application they spent so much time on.

The cry of 'it is an open-source' project is bull-shit. As I mentioned here http://robertlally.com/post/is-the-erlang-community-too-experimental, open-source projects, particularly projects like macports, get their hooks into other open-source projects and you lose the ability to choose to use them or not. As an example, I was originally installing Erlang and had to install macports to get it running. I didn't want macports, but I didn't have much of a choice. Today I wanted to upgrade my ruby installation. At ruby-lang.org the instructions rely on macports.

If macports didn't exist, there would be another viable alternative. Since it does, they've cornered that market and they've taken on a responsibility. I'd gladly pay for a commercial service that did what macports does, but they've killed that market segment. When you create an open source project you take on a responsibility. Their installation experience is bad, I said so.

To paraphrase you, my writing is free .. you're free not to read it. Unlike my comments, your ad-hominem attack is aimed at my choices and values.

Physician, heal thyself.</description>
		<content:encoded><![CDATA[<p>Just to start off, the reason this comment is here is because I twittered that I had fallen in love with macports despite the awful installation experience.</p>
<p>Now, on to the meat:</p>
<p>&#8220;The user experience is secondary on this king of project&#8221; .. the classic Unix developers cry. Sort of fits in well with the posts title.</p>
<p>I didn&#8217;t attack the ideals and choices of the macport developers, I commented on their lack of competence in the UI domain. They created a user experience so bad that I thought their installer was broken. That&#8217;s not a good thing. I&#8217;m sure the original developers would be disappointed to hear that I almost ended up not using the application they spent so much time on.</p>
<p>The cry of &#8216;it is an open-source&#8217; project is bull-shit. As I mentioned here <a href="http://robertlally.com/post/is-the-erlang-community-too-experimental" rel="nofollow">http://robertlally.com/post/is-the-erlang-community-too-experimental</a>, open-source projects, particularly projects like macports, get their hooks into other open-source projects and you lose the ability to choose to use them or not. As an example, I was originally installing Erlang and had to install macports to get it running. I didn&#8217;t want macports, but I didn&#8217;t have much of a choice. Today I wanted to upgrade my ruby installation. At ruby-lang.org the instructions rely on macports.</p>
<p>If macports didn&#8217;t exist, there would be another viable alternative. Since it does, they&#8217;ve cornered that market and they&#8217;ve taken on a responsibility. I&#8217;d gladly pay for a commercial service that did what macports does, but they&#8217;ve killed that market segment. When you create an open source project you take on a responsibility. Their installation experience is bad, I said so.</p>
<p>To paraphrase you, my writing is free .. you&#8217;re free not to read it. Unlike my comments, your ad-hominem attack is aimed at my choices and values.</p>
<p>Physician, heal thyself.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on Macports - Bringing the Unix UI Experience to the Mac by Max Howell</title>
		<link>http://robertlally.com/post/macports-bringing-the-unix-ui-experience-to-the-mac#comment-50</link>
		<dc:creator>Max Howell</dc:creator>
		<pubDate>Sat, 28 Mar 2009 20:21:50 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=87#comment-50</guid>
		<description>The user experience is secondary on this kind of project. You should know that based on your categories of blog entries you list on the right there.

They spent a lot of time making the installer work, and work well on different varieties of OS X. That is what matters to them. And that is what matters to me with this kind of project too.

It is also an open source project. You can not use it if it doesn't suit you, but attacking their ideals and choices feels pretty low.

Your rant makes you look pernickety and ungrateful. So I hope that is what you intended.</description>
		<content:encoded><![CDATA[<p>The user experience is secondary on this kind of project. You should know that based on your categories of blog entries you list on the right there.</p>
<p>They spent a lot of time making the installer work, and work well on different varieties of OS X. That is what matters to them. And that is what matters to me with this kind of project too.</p>
<p>It is also an open source project. You can not use it if it doesn&#8217;t suit you, but attacking their ideals and choices feels pretty low.</p>
<p>Your rant makes you look pernickety and ungrateful. So I hope that is what you intended.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on RMS - Pants on his head, pencils up his nose by Kevin McDonagh</title>
		<link>http://robertlally.com/post/rms-pants-on-his-head-pencils-up-his-nose#comment-45</link>
		<dc:creator>Kevin McDonagh</dc:creator>
		<pubDate>Wed, 25 Mar 2009 10:17:15 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=126#comment-45</guid>
		<description>I can see how that is a bit confusing. If 'cloud' available web apps are to grow in usage and replace desktops that could also makes sense. He mentioned on his site about plugins for firefox. If firefox had a plugin much like delicious which copy and pasted to an external logging site but before the call to the legit site they were also making an ajax request to a secondary evil site. The evil site would be informed of all your private bookmarks. After a big security alert you could then go "oh no!" and uninstall it and replace it with the faves plugin instead by simply selecting from a list like the install/uninstall list in an OS. This isn't the best example as these bookmarking sites have quite a high profile but if in some zany far out world far away we were to get a variety of new browsers and many new website services. I don't think this would be an awful provision to include for the security of the future.</description>
		<content:encoded><![CDATA[<p>I can see how that is a bit confusing. If &#8216;cloud&#8217; available web apps are to grow in usage and replace desktops that could also makes sense. He mentioned on his site about plugins for firefox. If firefox had a plugin much like delicious which copy and pasted to an external logging site but before the call to the legit site they were also making an ajax request to a secondary evil site. The evil site would be informed of all your private bookmarks. After a big security alert you could then go &#8220;oh no!&#8221; and uninstall it and replace it with the faves plugin instead by simply selecting from a list like the install/uninstall list in an OS. This isn&#8217;t the best example as these bookmarking sites have quite a high profile but if in some zany far out world far away we were to get a variety of new browsers and many new website services. I don&#8217;t think this would be an awful provision to include for the security of the future.</p>
]]></content:encoded>
	</item>
	<item>
		<title>Comment on RMS - Pants on his head, pencils up his nose by Hoppy</title>
		<link>http://robertlally.com/post/rms-pants-on-his-head-pencils-up-his-nose#comment-43</link>
		<dc:creator>Hoppy</dc:creator>
		<pubDate>Tue, 24 Mar 2009 22:40:11 +0000</pubDate>
		<guid isPermaLink="false">http://robertlally.com/?p=126#comment-43</guid>
		<description>weirdly I saw this discussed over at Alex Russell's blog earlier today, with similar sentiments to yourself:
http://alex.dojotoolkit.org/2009/03/rms-crazy-is-as-crazy-rants/</description>
		<content:encoded><![CDATA[<p>weirdly I saw this discussed over at Alex Russell&#8217;s blog earlier today, with similar sentiments to yourself:<br />
<a href="http://alex.dojotoolkit.org/2009/03/rms-crazy-is-as-crazy-rants/" rel="nofollow">http://alex.dojotoolkit.org/2009/03/rms-crazy-is-as-crazy-rants/</a></p>
]]></content:encoded>
	</item>
</channel>
</rss>
