<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	xmlns:creativeCommons="http://backend.userland.com/creativeCommonsRssModule">

<channel>
	<title>Thinking Inside a Bigger Box &#187; Links</title>
	<atom:link href="http://johannesbrodwall.com/category/links/feed/" rel="self" type="application/rss+xml" />
	<link>http://johannesbrodwall.com</link>
	<description>Johannes Brodwall&#039;s Musings on Software Architecture and Programming</description>
	<lastBuildDate>Mon, 03 May 2010 20:24:08 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<creativeCommons:license>http://creativecommons.org/licenses/by/3.0/</creativeCommons:license>		<item>
		<title>Video of my JavaZone talk about Continuous Integration</title>
		<link>http://johannesbrodwall.com/2008/10/11/video-of-my-javazone-talk-about-continuous-integration/</link>
		<comments>http://johannesbrodwall.com/2008/10/11/video-of-my-javazone-talk-about-continuous-integration/#comments</comments>
		<pubDate>Sat, 11 Oct 2008 22:33:32 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.brodwall.com/johannes/blog/2008/10/11/video-of-my-javazone-talk-about-continuous-integration/</guid>
		<description><![CDATA[The videos from JavaZone are up.
Here&#8217;s my talk about Extending Continuous Integration, which talks about how I automatically run system level integration tests after every build.
]]></description>
			<content:encoded><![CDATA[<p>The videos from JavaZone are up.</p>
<p><a href="http://javazone.no/incogito/session/Extending+Continuous+Integration:+Implementing+a+full+value+chain+from+development+to+production+in+Java+EE.html#">Here&#8217;s my talk about Extending Continuous Integration, which talks about how I automatically run system level integration tests after every build.</a></p>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2008/10/11/video-of-my-javazone-talk-about-continuous-integration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Link: Waterfall works for risk-free projects</title>
		<link>http://johannesbrodwall.com/2008/09/28/link-waterfall-works-for-risk-free-projects/</link>
		<comments>http://johannesbrodwall.com/2008/09/28/link-waterfall-works-for-risk-free-projects/#comments</comments>
		<pubDate>Sun, 28 Sep 2008 10:45:50 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Extreme Programming]]></category>
		<category><![CDATA[Links]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.brodwall.com/johannes/blog/2008/09/28/link-waterfall-works-for-risk-free-projects/</guid>
		<description><![CDATA[I don&#8217;t normally post just a link to another blog, but More thinking about &#8220;Agile&#8221; vs &#8220;Waterfall&#8221; by Jason Yip is just too important. It the most well-argued, well-referenced, short post I&#8217;ve seen about the subject. Here&#8217;s a taste:
Be careful about saying that Waterfall is more disciplined. The waterfall model is simple and structured but [...]]]></description>
			<content:encoded><![CDATA[<p>I don&#8217;t normally post just a link to another blog, but <a href="http://jchyip.blogspot.com/2008/09/more-thinking-about-agile-vs-waterfall.html">More thinking about &#8220;Agile&#8221; vs &#8220;Waterfall&#8221;</a> by Jason Yip is just too important. It the most well-argued, well-referenced, short post I&#8217;ve seen about the subject. Here&#8217;s a taste:</p>
<blockquote><p><strong>Be careful about saying that Waterfall is more disciplined.</strong> The waterfall model is simple and structured but the &#8220;discipline&#8221; is in following prescribed steps as opposed to &#8220;discipline&#8221; in thinking.  The second kind of discipline is by far the more important.</p></blockquote>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2008/09/28/link-waterfall-works-for-risk-free-projects/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>JBehave 2.0 released</title>
		<link>http://johannesbrodwall.com/2008/09/08/jbehave-20-released/</link>
		<comments>http://johannesbrodwall.com/2008/09/08/jbehave-20-released/#comments</comments>
		<pubDate>Mon, 08 Sep 2008 17:52:14 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://www.brodwall.com/johannes/blog/2008/09/08/jbehave-20-released/</guid>
		<description><![CDATA[I&#8217;ve learned the value of dealing seriously with connecting requirements to the actual code. The JBehave project started work to make formal, &#8220;business friendly&#8221; requirements into executable specifications, but due to limitations in Java, it was very clunky to use. JBehave 2.0 has just been released, and it has a much better model.
Here&#8217;s a specification:

Story: [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ve learned the value of dealing seriously with connecting requirements to the actual code. The JBehave project started work to make formal, &#8220;business friendly&#8221; requirements into executable specifications, but due to limitations in Java, it was very clunky to use. JBehave 2.0 has just been released, and it has a much better model.</p>
<p>Here&#8217;s a specification:</p>
<pre>
Story: Play Tabs

    As a music fan
    I would like to convert guitar tabs to music
    So that I can hear what they sound like

    Scenario: My My Hey Hey
    Given tab
    e|---------------------------------
    B|---------------------------------
    G|---------------------------------
    D|----------0--0-------------------
    A|-0--2--3----------2--0-----0--0--
    E|------------------------3--------
    When the guitar plays
    Then the following notes will be played
    A0 A2 A3 D0 D0 A2 A0 E3 A0 A0
</pre>
<p>The scenario is connected to Java code. While JBehave 1.0 used anonymous inner classes to do this, JBehave 2.0 uses annotations:</p>

<div class="wp_syntax"><div class="code"><pre class="java" style="font-family:monospace;"><span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000000; font-weight: bold;">class</span> PlayTabSteps <span style="color: #000000; font-weight: bold;">extends</span> Steps <span style="color: #009900;">&#123;</span>
&nbsp;
    @Given<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;tab $asciiTab&quot;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> tab<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> asciiTab<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    @When<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;the guitar plays&quot;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> guitarPlays<span style="color: #009900;">&#40;</span><span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #009900;">&#125;</span>
&nbsp;
    @Then<span style="color: #009900;">&#40;</span><span style="color: #0000ff;">&quot;the following notes will be played $notes&quot;</span><span style="color: #009900;">&#41;</span>
    <span style="color: #000000; font-weight: bold;">public</span> <span style="color: #000066; font-weight: bold;">void</span> theFollowingNotesWillBePlayed<span style="color: #009900;">&#40;</span><span style="color: #003399;">String</span> notes<span style="color: #009900;">&#41;</span> <span style="color: #009900;">&#123;</span>
    <span style="color: #009900;">&#125;</span>
<span style="color: #009900;">&#125;</span></pre></div></div>

<p>For more, see <a href="http://www.ryangreenhall.com/articles/bdd-by-example.html">Ray Greenhall&#8217;s tutorial</a>. The tutorial is good, but it suffers from an unintended large weakness: The second half of the tutorial contains the convoluted design that is often the result of overuse of mock objects. The last year, I have spent more time removing mocks from code than actually using mocks, and I&#8217;m just about fed up with mock-ish design.</p>
<p>Can you spot the nefarious effect of the mocks on the design? How would it have looked if the example had followed The Simplest Thing That Could Possibly Work?</p>
<p>(Still: A very good introduction to a promising new tool)</p>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2008/09/08/jbehave-20-released/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>[link] Package by feature</title>
		<link>http://johannesbrodwall.com/2008/07/29/link-package-by-feature/</link>
		<comments>http://johannesbrodwall.com/2008/07/29/link-package-by-feature/#comments</comments>
		<pubDate>Tue, 29 Jul 2008 19:28:15 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Java]]></category>
		<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://www.brodwall.com/johannes/blog/2008/07/29/link-package-by-feature/</guid>
		<description><![CDATA[Stand up and be counted. Which one do you think is best of the following?
Package by layer:

com.app.controllers
com.app.model
com.app.repositories
com.app.exception

Or package by feature:

com.app.orders
com.app.invoices
com.app.products

I recently added a new site to my RSS reader. John O&#8217;Hanly just published a though provoking article about harmful java code idioms on JavaWorld. I don&#8217;t agree with everything he suggests, but I do find [...]]]></description>
			<content:encoded><![CDATA[<p>Stand up and be counted. Which one do you think is best of the following?</p>
<p>Package by layer:</p>
<ul>
<li><i>com.app</i>.controllers</li>
<li><i>com.app</i>.model</li>
<li><i>com.app</i>.repositories</li>
<li><i>com.app</i>.exception</li>
</ul>
<p>Or package by feature:</p>
<ul>
<li><i>com.app</i>.orders</li>
<li><i>com.app</i>.invoices</li>
<li><i>com.app</i>.products</li>
</ul>
<p>I recently added <a href="http://www.javapractices.com/">a new site</a> to my RSS reader. John O&#8217;Hanly just published a though provoking article about <a href="http://www.javaworld.com/javaworld/jw-07-2008/jw-07-harmful-idioms.html">harmful java code idioms</a> on JavaWorld. I don&#8217;t agree with everything he suggests, but I do find his point about &#8220;Package-by-layer: Preventing the use of package-private scope&#8221; very intriguing. John <a href="http://www.javapractices.com/topic/TopicAction.do?Id=205">expands on this theme on his website</a>.</p>
<p>The most important argument to package by feature is the following:</p>
<blockquote><p>As a direct benefit of being at a high level of abstraction, the application becomes more self-documenting : the overall size of the application is communicated by the number of packages, and the basic features are communicated by the package names. [...] The fundamental flaw with package-by-layer style, on the other hand, is that it puts implementation details ahead of high level abstractions [...]</p></blockquote>
<p>A point that he doesn&#8217;t cover, but that I would like to add is that if you organize your classes by feature, the task of delivering one specific user story will likely involve mostly one package. This is a very good test of whether the code is organized correctly.</p>
<p>Yet, package by layer is by far the most used way to structure code.</p>
<p>The question is: Will you dare to break with the herd and opt for a better solution?</p>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2008/07/29/link-package-by-feature/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		</item>
		<item>
		<title>&#8220;Hi, I&#8217;m Ruby-on-Rails&#8221;</title>
		<link>http://johannesbrodwall.com/2007/05/19/hi-im-ruby-on-rails/</link>
		<comments>http://johannesbrodwall.com/2007/05/19/hi-im-ruby-on-rails/#comments</comments>
		<pubDate>Sat, 19 May 2007 13:55:47 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[Ruby-on-Rails]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.brodwall.com/johannes/blog/2007/05/19/hi-im-ruby-on-rails/</guid>
		<description><![CDATA[Inspired by the &#8220;Hi, I&#8217;m a Mac&#8221; ads of Apple, Gregg Pollack and Jason Seifer has made these cute Ruby-on-Rails ads (featuring Ruby-on-Rails versus Java and Ruby-on-Rails versus PHP):

Click here to view on YouTube
]]></description>
			<content:encoded><![CDATA[<p>Inspired by the &#8220;Hi, I&#8217;m a Mac&#8221; ads of Apple, <a href="http://railsenvy.com/">Gregg Pollack and Jason Seifer</a> has made these cute Ruby-on-Rails ads (featuring Ruby-on-Rails versus Java and Ruby-on-Rails versus PHP):</p>
<p><object width="425" height="350"><param name="movie" value="http://www.youtube.com/v/PQbuyKUaKFo"></param><param name="wmode" value="transparent"></param><embed src="http://www.youtube.com/v/PQbuyKUaKFo" type="application/x-shockwave-flash" wmode="transparent" width="425" height="350"></embed></object><br />
<a target="_new" href="http://www.youtube.com/watch?v=PQbuyKUaKFo" title="Ruby On Rails vs Java Commercial">Click here to view on YouTube</a></p>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2007/05/19/hi-im-ruby-on-rails/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Talk: Barry Schwartz on the Paradox of Choice</title>
		<link>http://johannesbrodwall.com/2007/03/31/talk-barry-schwartz-on-the-paradox-of-choice/</link>
		<comments>http://johannesbrodwall.com/2007/03/31/talk-barry-schwartz-on-the-paradox-of-choice/#comments</comments>
		<pubDate>Sat, 31 Mar 2007 14:45:31 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://www.brodwall.com/johannes/blog/2007/03/31/talk-barry-schwartz-on-the-paradox-of-choice/</guid>
		<description><![CDATA[I have been watching videos from the Technology, Education and Design conference (TED) all afternoon. One particularly fascinating talk was Barry Schwartz talking about The Paradox of Choice. I find an almost Buddhist-like understanding of the problem of humanity in the modern world in his talk. But it was the closing words that fascinated me [...]]]></description>
			<content:encoded><![CDATA[<p>I have been watching videos from the Technology, Education and Design conference (<a href="http://www.ted.com">TED</a>) all afternoon. One particularly fascinating talk was Barry Schwartz talking about <a href="http://www.ted.com/tedtalks/tedtalksplayer.cfm?key=b_schwartz">The Paradox of Choice</a>. I find an almost Buddhist-like understanding of the problem of humanity in the modern world in his talk. But it was the closing words that fascinated me the most: &#8220;If you shatter the fishbowl, so that everything is possible, you don&#8217;t have freedom, you have paralysis.&#8221;</p>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2007/03/31/talk-barry-schwartz-on-the-paradox-of-choice/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Link: Open Source in the Enterprise</title>
		<link>http://johannesbrodwall.com/2007/03/11/link-open-source-in-the-enterprise/</link>
		<comments>http://johannesbrodwall.com/2007/03/11/link-open-source-in-the-enterprise/#comments</comments>
		<pubDate>Sun, 11 Mar 2007 12:45:01 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[SOA]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.brodwall.com/johannes/blog/2007/03/11/link-open-source-in-the-enterprise/</guid>
		<description><![CDATA[CIO JP Rangaswami at investment bank Dresder Kleinwort Wasserstein talks about why he considers open source a corporate IT asset. In this talk, Rangaswami describes how DrKW wanted to create an internal incubator environment in order to combat skill attrition in the late 90s. In the course of doing this, they acquired OpenAdaptor and discovered [...]]]></description>
			<content:encoded><![CDATA[<p>CIO <a href="http://www.confusedofcalcutta.com/">JP Rangaswami</a> at investment bank Dresder Kleinwort Wasserstein talks about why he <a href="http://www.infoq.com/news/2007/03/jp-rangaswami-open-source">considers open source a corporate IT asset</a>. In this talk, Rangaswami describes how DrKW wanted to create an internal incubator environment in order to combat skill attrition in the late 90s. In the course of doing this, they acquired <a href="https://www.openadaptor.org/">OpenAdaptor</a> and discovered almost accidentally benefits of the open source development model.</p>
<p>The talk is a bit fleeting and unstructured (and someone&#8217;s phone keeps ringing during the presentation!), but Rangaswami presents a lot of very interesting opinions:</p>
<ul>
<li>He observes that the business environment in banking industry (and other industries?) are less focused on standards than before. He believes Open Source development has a better chance of achieving cooperation than standards in a business environment where &#8220;everyone want to be top dog&#8221;</li>
<li>He explores the model of Open Source Bonds. A company issues a bond promising to pay whoever develops X (for example) a sixth of what it would cost them to built it in house. He hints to a possible network of brokers and service providers.</li>
</ul>
<p>Personally, I found the Q&#038;A part the most valuable:</p>
<ul>
<li>Question: &#8220;What should I tell the executives in my company who consider open source &#8216;high risk&#8217;?&#8221; Rangaswami talks about how there are only four interesting risks during software procurement: 1) The vendor disappears, 2) The vendor gets a different focus from you, 3) quality, and 4) security. Open source has a &#8220;build-in escrow&#8221; clause (just without the lawyers), which takes care of the first two as well as commercial software can. He further points out that within the industry, nobody is held accountable for software failure. This means that quality is not something you can buy. Finally, the inspection value when it comes to security is considerable.</li>
<li>Question: &#8220;What should the architecture department be doing?&#8221; This was the most interesting question to me. Rangaswami gives a long and thoughtful answer. The architect is not unique and different from everyone else, except that (s)he is more committed to learning. The architect should work through &#8220;control-freakery&#8221;, but through influence, advice and support. An architect should not &#8220;try to write an architecture (I am proud of being accused of not having one)&#8221;</li>
<li>Question: &#8220;What is the main cause of project failure in the software industry?&#8221; Rangaswami points out how we&#8217;re not very good at saying &#8220;no&#8221; to the customers. Project failure is caused by a culture that is unwilling to accept failure. What is &#8220;worse than failure&#8221;? Not learning from that failure because you&#8217;re not accepting it.</li>
<ul>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2007/03/11/link-open-source-in-the-enterprise/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Link: Spring-MVC Cross-Site Scripting Vulnerabilities</title>
		<link>http://johannesbrodwall.com/2007/03/06/link-spring-mvc-cross-site-scripting-vulnerabilities/</link>
		<comments>http://johannesbrodwall.com/2007/03/06/link-spring-mvc-cross-site-scripting-vulnerabilities/#comments</comments>
		<pubDate>Tue, 06 Mar 2007 19:54:56 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Links]]></category>
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.brodwall.com/johannes/blog/2007/03/06/link-spring-mvc-cross-site-scripting-vulnerabilities/</guid>
		<description><![CDATA[Sverre Huseby examines some security issues with Spring-MVC. As it turns out, the Spring JSP form-taglib provide no HTML-escaping by default, making it very easy to get Cross-Site Scripting vulnerabilities included in the code. The article comes complete with a standalone application that illustrates the problem.
]]></description>
			<content:encoded><![CDATA[<p>Sverre Huseby <a href="http://shh.thathost.com/secadv/spring-form-xss/">examines some</a> security issues with Spring-MVC. As it turns out, the Spring JSP form-taglib provide no HTML-escaping by default, making it very easy to get Cross-Site Scripting vulnerabilities included in the code. The article comes complete with a standalone application that illustrates the problem.</p>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2007/03/06/link-spring-mvc-cross-site-scripting-vulnerabilities/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Ron Jeffries: Features, not tasks</title>
		<link>http://johannesbrodwall.com/2007/01/21/ron-jeffries-features-not-tasks/</link>
		<comments>http://johannesbrodwall.com/2007/01/21/ron-jeffries-features-not-tasks/#comments</comments>
		<pubDate>Sun, 21 Jan 2007 17:00:26 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://www.brodwall.com/johannes/blog/2007/01/21/ron-jeffries-features-not-tasks/</guid>
		<description><![CDATA[Ron Jeffries reminds us: &#8220;&#8230; hours aren&#8217;t burndown. Accomplishments are. A team that focuses on hours isn&#8217;t focusing on getting things done.[...]  The point [...] is getting backlog items done, not getting tasks done&#8221; This really cannot be said too often!
Via Jason Yip
]]></description>
			<content:encoded><![CDATA[<p>Ron Jeffries <a href="http://groups.yahoo.com/group/scrumdevelopment/message/16352">reminds us</a>: &#8220;<i>&#8230; hours aren&#8217;t burndown. Accomplishments are. A team that focuses on hours isn&#8217;t focusing on getting things done.[...]  The point [...] is getting backlog items done, not getting tasks done</i>&#8221; This really cannot be said too often!</p>
<p><small>Via <a href="http://jchyip.blogspot.com/2007/01/point-is-to-get-features-done-not-tasks.html">Jason Yip</a></small></p>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2007/01/21/ron-jeffries-features-not-tasks/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Colorless Green Ideas Sleep Furiously</title>
		<link>http://johannesbrodwall.com/2007/01/21/colorless-green-ideas-sleep-furiously/</link>
		<comments>http://johannesbrodwall.com/2007/01/21/colorless-green-ideas-sleep-furiously/#comments</comments>
		<pubDate>Sun, 21 Jan 2007 16:22:32 +0000</pubDate>
		<dc:creator>Johannes Brodwall</dc:creator>
				<category><![CDATA[Links]]></category>

		<guid isPermaLink="false">http://www.brodwall.com/johannes/blog/2007/01/21/colorless-green-ideas-sleep-furiously/</guid>
		<description><![CDATA[This phase has been stuck in my head lately: Colorless green ideas sleep furiously. It was first used by the linguist Noam Chomsky as an example of a sentence that is grammatically correct, yet has no meaning.
Interestingly, in 1985 this was taken up as a challenge. The result was a literary competition to write a [...]]]></description>
			<content:encoded><![CDATA[<p>This phase has been stuck in my head lately: Colorless green ideas sleep furiously. It was first used by the linguist Noam Chomsky as an example of a sentence that is grammatically correct, yet has no meaning.</p>
<p>Interestingly, in 1985 this was taken up as a challenge. The result was a literary competition to write a short text that gives the sentence meaning. Before you continue reading, think for a while about how the sentence could have meaning.</p>
<p>Here is the best entry:</p>
<blockquote><p><i>It can only be the thought of verdure to come, which prompts us in the autumn to buy these dormant white lumps of vegetable matter covered by a brown papery skin, and lovingly to plant them and care for them. It is a marvel to me that under this cover they are laboring unseen at such a rate within to give us the sudden awesome beauty of spring flowering bulbs. While winter reigns the earth reposes but these colorless green ideas sleep furiously.</i> &#8211; C. M. Street</p></blockquote>
<p>Now, <em>that</em> is &#8220;thinking inside a bigger box&#8221;.</p>
<p>Here&#8217;s another linguistic treat for you: &#8220;<i>Time flies like an arrow. Fruit flies like a banana</i>&#8221; </p>
<p>Source: <a href="http://en.wikipedia.org/wiki/Colorless_green_ideas_sleep_furiously">wikipedia</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://johannesbrodwall.com/2007/01/21/colorless-green-ideas-sleep-furiously/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
