<?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/"
	>

<channel>
	<title>upperbound.net</title>
	<atom:link href="http://www.upperbound.net/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.upperbound.net</link>
	<description>Mads Buus Westmark's tech blog</description>
	<pubDate>Fri, 18 Dec 2009 08:45:28 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7.1</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>Snapopen updated</title>
		<link>http://www.upperbound.net/2009/12/snapopen-updated/</link>
		<comments>http://www.upperbound.net/2009/12/snapopen-updated/#comments</comments>
		<pubDate>Fri, 18 Dec 2009 08:39:25 +0000</pubDate>
		<dc:creator>mads</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.upperbound.net/?p=90</guid>
		<description><![CDATA[Snapopen has been updated to version 1.2.
The main &#8216;features&#8217; are: OSX support and the source moved to Github. Read more
]]></description>
			<content:encoded><![CDATA[<p><a href="/snap-open">Snapopen</a> has been updated to version 1.2.</p>
<p>The main &#8216;features&#8217; are: OSX support and the source moved to Github. <a href="/snap-open">Read more</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.upperbound.net/2009/12/snapopen-updated/feed/</wfw:commentRss>
		</item>
		<item>
		<title>PDF generation in cucumber</title>
		<link>http://www.upperbound.net/2009/09/pdf-generation-in-cucumber/</link>
		<comments>http://www.upperbound.net/2009/09/pdf-generation-in-cucumber/#comments</comments>
		<pubDate>Mon, 14 Sep 2009 12:16:24 +0000</pubDate>
		<dc:creator>mads</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[cucumber]]></category>

		<category><![CDATA[pdf]]></category>

		<category><![CDATA[prawn]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.upperbound.net/?p=77</guid>
		<description><![CDATA[Many people prefer nice-looking, printable spec documents.
Developers usually hate spec documents. Not the documents themselves, or  writing specs, but we hate the future agony a written document represents. Documents need to be updated many times, by different people, and most of them ends up as static, historical dinosaurs documenting not the features of our system, but [...]]]></description>
			<content:encoded><![CDATA[<p>Many people prefer nice-looking, printable spec documents.</p>
<p>Developers usually hate spec documents. Not the documents themselves, or  writing specs, but we hate the future agony a written document represents. Documents need to be updated many times, by different people, and most of them ends up as static, historical dinosaurs documenting not the features of our system, but our premature understanding of our system that happened to turn out quite differently.</p>
<p>The nice <a href="http://cukes.info">cucumber</a> framework comes to the rescue, changing rigid document specs into runnable code without losing business readability, and even adding a needed tightening of a usual sloppy spec syntax.</p>
<p>The problem is&#8230;.</p>
<p><strong>Many people prefer nice-looking, printable documents.</strong></p>
<p>So after trying to convince business people to accept the cucumber features, each in its easy-to-read raw text file, they still seem to need those documents.</p>
<p>So following up on an old cucumber feature request, I wrote a PDF formatter using the &#8216;prawn&#8217; library.</p>
<p>In my opinion such a PDF is for <em>presentation purposes only</em> (which is why I think we should never need a doc/odt/rtf/pages version), as any editable form would undermine the whole idea of executable specs.</p>
<p>The formatter entered cucumber mainline yesterday, and is part cucumber since 0.3.101 (15/9 2009).</p>
<p><strong>You need a recent  prawn gem installed for this to work: </strong></p>
<pre>gem install prawn</pre>
<p>Example of usage:</p>
<pre>cucumber --format pdf --dry-run --out my-file.pdf   features</pre>
<p>This will generate a nice PDF of the features and scenarios, avoiding page breaks in scenarios.</p>
<p>You can place your own logo in features/support/logo.png and the formatter will pick it up and display it on the front page, along with the generation time and the command line used.</p>
<p>You can even run the actual features using this formatter, and the PDF will be colorcoded according to run status.</p>
<p>Heres a screenshot:</p>
<p style="text-align: center;">
<p><a href="http://www.upperbound.net/wp-content/uploads/2009/09/cucumber_pdf.jpg"><img class="aligncenter size-medium wp-image-78" title="cucumber PDF formatter rendering a sample feature" src="http://www.upperbound.net/wp-content/uploads/2009/09/cucumber_pdf-300x247.jpg" alt="cucumber PDF formatter rendering a sample feature" width="300" height="247" /></a></p>
<p>As soon as the cucumber is released, we will  a page on the cucumber wiki with some more examples and docs.</p>
<p>Enjoy.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.upperbound.net/2009/09/pdf-generation-in-cucumber/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My junit formatter makes it into cucumber 0.3.6</title>
		<link>http://www.upperbound.net/2009/09/my-cucumber-junit-formatter-makes-it-into-cucumber-036/</link>
		<comments>http://www.upperbound.net/2009/09/my-cucumber-junit-formatter-makes-it-into-cucumber-036/#comments</comments>
		<pubDate>Sun, 13 Sep 2009 09:13:17 +0000</pubDate>
		<dc:creator>mads</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[cucumber]]></category>

		<category><![CDATA[hudson]]></category>

		<category><![CDATA[junit]]></category>

		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://www.upperbound.net/?p=70</guid>
		<description><![CDATA[I am proud to announce that my junit formatter was incorporated into cucumber codebase since version 0.3.6  (August 2009)
I&#8217;ve recently started using cucumber. The BDD is starting to dawn on me, even though I still have some reservations.
Since my current project uses the continous integration server &#8216;hudson&#8217;, I really wanted the old-fashioned junitreport output from [...]]]></description>
			<content:encoded><![CDATA[<p>I am proud to announce that my junit formatter was incorporated into <a href="http://cukes.info/">cucumber</a> codebase since version 0.3.6  (August 2009)</p>
<p>I&#8217;ve recently started using <a href="http://cukes.info/">cucumber</a>. The BDD is starting to dawn on me, even though I still have some reservations.</p>
<p>Since my current project uses the continous integration server &#8216;hudson&#8217;, I really wanted the old-fashioned junitreport output from cucumber, so hudson would report any regression errors as soon as possible.</p>
<p>I looked at some on the <a href="http://csausdev.wordpress.com/2009/05/12/junit-formatter-for-cucumber/">existing attempts</a> at a junit formatter, but none where quite good enough, IMO. I needed <strong>duration</strong> times, and the mapping:</p>
<ul>
<li>1 feature -&gt; 1 testsuite</li>
<li>1 scenario -&gt; 1 test</li>
</ul>
<p>So I <a href="http://github.com/MadsBuus/cucumber">forked</a> cucumber, and wrote one from scratch. This code made it into cucumber in August, and can now be used as</p>
<p>cucumber &#8211;format  junit &#8211;out DIR</p>
<p>I&#8217;ve written more info on the cucumber wiki:  <a href="http://wiki.github.com/aslakhellesoy/cucumber/continuous-integration">http://wiki.github.com/aslakhellesoy/cucumber/continuous-integration</a></p>
<p>Enjoy, everyone.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.upperbound.net/2009/09/my-cucumber-junit-formatter-makes-it-into-cucumber-036/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Snap open on FreeBSD</title>
		<link>http://www.upperbound.net/2009/07/snapopen-on-freebsd/</link>
		<comments>http://www.upperbound.net/2009/07/snapopen-on-freebsd/#comments</comments>
		<pubDate>Mon, 06 Jul 2009 18:27:56 +0000</pubDate>
		<dc:creator>mads</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[snapopen mac freebsd]]></category>

		<guid isPermaLink="false">http://www.upperbound.net/?p=63</guid>
		<description><![CDATA[Johan Laursen reported snapopen working well on FreeBSD also. The only fix needed in the -ipath fix described on the Snapopen on a Mac article:
Replace the -iwholename with -ipath in the &#8216;find&#8217; command.
Thanks for sharing.
Mads
]]></description>
			<content:encoded><![CDATA[<p><a href="http://jfsl.dk">Johan Laursen</a> reported snapopen working well on <a href="http://www.freebsd.org">FreeBSD</a> also. The only fix needed in the <em>-ipath </em>fix described on the <a href="http://www.upperbound.net/2009/03/snap-open-on-a-mac/">Snapopen on a Mac</a> article:</p>
<p><strong>Replace the -iwholename with -ipath in the &#8216;find&#8217; command.</strong></p>
<p>Thanks for sharing.</p>
<p>Mads</p>
]]></content:encoded>
			<wfw:commentRss>http://www.upperbound.net/2009/07/snapopen-on-freebsd/feed/</wfw:commentRss>
		</item>
		<item>
		<title>&#8216;Agile Enterprise&#8217; speech at the university</title>
		<link>http://www.upperbound.net/2009/05/agile-enterprise-speech-at-the-university/</link>
		<comments>http://www.upperbound.net/2009/05/agile-enterprise-speech-at-the-university/#comments</comments>
		<pubDate>Mon, 04 May 2009 18:17:09 +0000</pubDate>
		<dc:creator>mads</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[agile]]></category>

		<category><![CDATA[enterprise]]></category>

		<category><![CDATA[RUP]]></category>

		<category><![CDATA[scrum]]></category>

		<category><![CDATA[University of Copenhagen]]></category>

		<category><![CDATA[waterfall]]></category>

		<guid isPermaLink="false">http://www.upperbound.net/?p=48</guid>
		<description><![CDATA[Today I spoke at the University of Copenhagen, Institute of Computer Science about the use of agile methods in &#8216;the Enterprise&#8217;. I doubt it will be of much use to non-danish speakers, except for some funny pictures. Anyway, I&#8217;ve uploaded it here:
agile_enterprise2 (PDF, 11MB)
I especially like the random flickr image I found and edited showing [...]]]></description>
			<content:encoded><![CDATA[<div id="attachment_53" class="wp-caption alignright" style="width: 289px"><a href="http://www.upperbound.net/wp-content/uploads/2009/05/ccowboy.png"><img class="size-full wp-image-53 " title="ccowboy" src="http://www.upperbound.net/wp-content/uploads/2009/05/ccowboy.png" alt="cowboy-coding" width="279" height="343" /></a><p class="wp-caption-text">cowboy-coding</p></div>
<p>Today I spoke at the <a href="http://www.diku.dk">University of Copenhagen, Institute of Computer Science</a> about the use of agile methods in &#8216;the Enterprise&#8217;. I doubt it will be of much use to non-danish speakers, except for some funny pictures. Anyway, I&#8217;ve uploaded it here:</p>
<p><a href="http://www.upperbound.net/wp-content/uploads/2009/05/agile_enterprise2.pdf">agile_enterprise2</a> (PDF, 11MB)</p>
<p>I especially like the random flickr image I found and edited showing my idea of a &#8216;Cowboy-Coder&#8217;:</p>
<p>(I&#8217;m a bit of a cowboy-coder myself in my spare time :-))</p>
]]></content:encoded>
			<wfw:commentRss>http://www.upperbound.net/2009/05/agile-enterprise-speech-at-the-university/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Snap open on a Mac</title>
		<link>http://www.upperbound.net/2009/03/snap-open-on-a-mac/</link>
		<comments>http://www.upperbound.net/2009/03/snap-open-on-a-mac/#comments</comments>
		<pubDate>Tue, 03 Mar 2009 13:57:39 +0000</pubDate>
		<dc:creator>mads</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[mac]]></category>

		<category><![CDATA[macports]]></category>

		<category><![CDATA[snapopen]]></category>

		<guid isPermaLink="false">http://www.upperbound.net/?p=36</guid>
		<description><![CDATA[UPDATE - Gedit now has native OS X builds here, and snapopen 1.2 (from github) should work out of the box.
(Thanks to the great project MacPorts it is now possible to install gtk and gnome applications on your mac almost as easy as in Linux. The GUI tool Porticus makes it &#8216;point and click&#8217;).
With a [...]]]></description>
			<content:encoded><![CDATA[<p><em><strong>UPDATE - Gedit now has native OS X builds </strong></em><em><a title="FTP site" href="ftp://ftp.gnome.org/pub/gnome/binaries/mac/gedit/" target="_blank"><strong>here</strong></a><strong>, and </strong><a href="http://github.com/MadsBuus/gedit-snapopen-plugin"><strong>snapopen 1.2</strong></a><strong> (from github) should work out of the box.</strong></em></p>
<p>(Thanks to the great project <a href="http://www.macports.org/">MacPorts</a> it is now possible to install gtk and gnome applications on your mac almost as easy as in Linux. The GUI tool <a href="http://porticus.alittledrop.com/">Porticus</a> makes it &#8216;point and click&#8217;).</p>
<p>With a brand new MacBook pro 17&#8243; in my hands, I could not resist installing gedit and snap open to see how that would work:</p>
<p>Here it is:</p>
<p><a href="http://www.upperbound.net/wp-content/uploads/2009/03/snapopen_mac.png"><img class="alignnone size-full wp-image-46" title="snapopen_mac" src="http://www.upperbound.net/wp-content/uploads/2009/03/snapopen_mac.png" alt="snapopen_mac" width="500" height="373" /></a></p>
<p>There were some issues&#8230; and there are still some.</p>
<p>First of all: Get rid of that horrid default gtk theme that scares so many away from gtk apps. Install gtk-theme-switch from MacPorts and download a proper skin from <a href="http://www.gnome-looks.org">www.gnome-looks.org.</a> (This one is called &#8216;Leopardish&#8217;).</p>
<p>Installing the plugin was a bit tricky and I ended up putting my snapopen plugin files directly into</p>
<pre>/opt/local/lib/gedit-2/plugins/</pre>
<p>Furthermore, the &#8216;find&#8217; command we all love, and my plugin relies heavily on, on Mac does not support the <em>-iwholename</em> flags, but instead the <em>-ipath </em>so that was easy.</p>
<p>Next issue was the keyboard shortcuts CTRL+ALT+o does not work out of the box. I switched to SHIFT+CTRL+o which works fine (I will fix this properly later).</p>
<p>Now it works&#8230; well almost:</p>
<p>The filebrowser integration seems to be quirky, and it often falls back to &#8216;wd&#8217; (working dir).</p>
<p>I might do a &#8216;Mac&#8217; version soon, so it will work here as well, although it would in the form of a &#8216;Mac-detect flag&#8217; not a code fork.</p>
<p>Until next time&#8230;</p>
<p><a href="/snap-open">Link to original (linux only) snapopen plugin</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.upperbound.net/2009/03/snap-open-on-a-mac/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Hello world!</title>
		<link>http://www.upperbound.net/2009/02/hello-world/</link>
		<comments>http://www.upperbound.net/2009/02/hello-world/#comments</comments>
		<pubDate>Mon, 16 Feb 2009 21:52:54 +0000</pubDate>
		<dc:creator>mads</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<category><![CDATA[first_post]]></category>

		<category><![CDATA[hudson]]></category>

		<category><![CDATA[rails]]></category>

		<category><![CDATA[ubuntu]]></category>

		<guid isPermaLink="false">http://www.upperbound.net/?p=1</guid>
		<description><![CDATA[This must be the title of my first blog post.  Just this week I said Hello to (in no particular order),

xsl templates (&#60;xsl:value-of select=&#8221;$hello_world&#8221;/&#62;) thats didn&#8217;t suck?!,
to hudson, a happy reunion, &#8220;every Batman should have a butler :-)&#8221;
to ubuntu jaunty on my laptop - very nice
and to Rails footnotes plugin. Where have you been?
And lastly [...]]]></description>
			<content:encoded><![CDATA[<p>This must be the title of my first blog post.  Just this week I said Hello to (in no particular order),</p>
<ul>
<li>xsl templates (&lt;xsl:value-of select=&#8221;$hello_world&#8221;/&gt;) thats didn&#8217;t suck?!,</li>
<li>to hudson, a happy reunion, &#8220;every Batman should have a butler :-)&#8221;</li>
<li>to <a href="http://www.ubuntu.com/testing/jaunty/alpha4">ubuntu jaunty</a> on my laptop - very nice</li>
<li>and to <a href="http://github.com/josevalim/rails-footnotes/tree/master">Rails footnotes plugin</a>. Where have you been?</li>
<li>And lastly of course..</li>
</ul>
<p>HELLO Wordpress. Installed it and started typing. The coming days will hopefully change this &#8216;defaulty&#8217; sites appearance and content.</p>
<p><strong>For those of you just looking for my <a href="/snap-open">&#8216;Snap Open&#8217; plugin for Gedit</a> (Linux text editor), you can find it</strong> <a href="/snap-open"><strong>here</strong></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.upperbound.net/2009/02/hello-world/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
