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

<channel>
	<title>Blog &#187; Work</title>
	<atom:link href="http://blog.cliffano.com/category/work/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.cliffano.com</link>
	<description>Geeking, Living, Travelling</description>
	<lastBuildDate>Thu, 26 Jan 2012 10:18:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Canberra Workcapade 2011</title>
		<link>http://blog.cliffano.com/2011/11/20/canberra-workcapade-2011/</link>
		<comments>http://blog.cliffano.com/2011/11/20/canberra-workcapade-2011/#comments</comments>
		<pubDate>Sat, 19 Nov 2011 14:25:28 +0000</pubDate>
		<dc:creator>Cliffano Subagio</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[canberra]]></category>
		<category><![CDATA[continuous delivery]]></category>
		<category><![CDATA[jenkins]]></category>
		<category><![CDATA[osdc]]></category>
		<category><![CDATA[travel]]></category>

		<guid isPermaLink="false">http://blog.cliffano.com/?p=1803</guid>
		<description><![CDATA[I went to Canberra this week to attend Open Source Developers Conference 2011 and also to give a talk titled Continuous Delivery Using Jenkins. OSDC ran for 3 days, and was held at Australian National University. OSDC 2011 was very well organised, much thanks to the organisers: Evan Leybourn, Gavin Jackson, and the volunteers squad. [...]]]></description>
			<content:encoded><![CDATA[<p>I went to Canberra this week to attend <a href="http://2011.osdc.com.au">Open Source Developers Conference 2011</a> and also to give a talk titled <a href="http://2011.osdc.com.au/schedule/#continuousdeliver">Continuous Delivery Using Jenkins</a>. OSDC ran for 3 days, and was held at Australian National University.</p>
<p><img class="alignnone" src="https://lh3.googleusercontent.com/-Hei-xVz0iUU/Tse4HCiDrAI/AAAAAAAAF-g/s7D70m5r66M/s500/P1190948.JPG" alt="" width="500" height="281" /></p>
<p>OSDC 2011 was very well organised, much thanks to the organisers: Evan Leybourn, Gavin Jackson, and the volunteers squad. It was an interesting grass roots conference with lots of passionate open source geeks, definitely learned a lot.</p>
<p>Slides from my talk:</p>
<div id="__ss_10197056" style="width: 425px;"><strong style="display: block; margin: 12px 0 4px;"><a title="Continuous Delivery Using Jenkins" href="http://www.slideshare.net/cliffano/continuous-delivery-using-jenkins" target="_blank">Continuous Delivery Using Jenkins</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/10197056" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="425" height="355"></iframe></div>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/cliffano" target="_blank">Cliffano Subagio</a></div>
<p><strong>Update (24/11/2011):</strong> and the video of the talk:</p>
<p><iframe src="http://www.youtube.com/embed/kDLG5c-OIgE?hl=en&amp;fs=1" frameborder="0" width="425" height="349"></iframe></p>
<p>Canberra was still as quiet as ever&#8230;</p>
				<div id="gallery-cd7fdf26" class="flickr-gallery photoset">
													<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=6362711469"><img class="photo" title="Manning Clarke Centre" src="http://farm7.static.flickr.com/6214/6362711469_bb4ccfff23_s.jpg" alt="Manning Clarke Centre" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=6362714713"><img class="photo" title="Cycle Repairs" src="http://farm7.static.flickr.com/6221/6362714713_761216cef6_s.jpg" alt="Cycle Repairs" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=6362715707"><img class="photo" title="Leaving ANU" src="http://farm7.static.flickr.com/6240/6362715707_3ec7259545_s.jpg" alt="Leaving ANU" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=6362716645"><img class="photo" title="Melbourne Buliding" src="http://farm7.static.flickr.com/6038/6362716645_ff3f033e1f_s.jpg" alt="Melbourne Buliding" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=6362718525"><img class="photo" title="Not Obama" src="http://farm7.static.flickr.com/6111/6362718525_d03252dcd3_s.jpg" alt="Not Obama" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=6362720579"><img class="photo" title="Sydney Building At Dusk" src="http://farm7.static.flickr.com/6055/6362720579_039c30da0f_s.jpg" alt="Sydney Building At Dusk" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=6362721653"><img class="photo" title="121" src="http://farm7.static.flickr.com/6239/6362721653_616ca5ca5f_s.jpg" alt="121" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=6362722913"><img class="photo" title="Constructing The Airport" src="http://farm7.static.flickr.com/6048/6362722913_22fb29f9bb_s.jpg" alt="Constructing The Airport" /></a>
								</div>
												<div class="fg-clear"></div>
				</div>
												<div class="fg-clear"></div>
							<script type="text/javascript">
											jQuery(document).ready(function(){
							jQuery("#gallery-cd7fdf26 .flickr-thumb img").flightbox({size_callback: get_sizes});
						});
										
										//-->
				</script>
			

<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fblog.cliffano.com%2F2011%2F11%2F20%2Fcanberra-workcapade-2011%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cliffano.com/2011/11/20/canberra-workcapade-2011/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Node.js Presentations</title>
		<link>http://blog.cliffano.com/2011/08/13/node-js-presentations/</link>
		<comments>http://blog.cliffano.com/2011/08/13/node-js-presentations/#comments</comments>
		<pubDate>Sat, 13 Aug 2011 08:46:00 +0000</pubDate>
		<dc:creator>Cliffano Subagio</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[couchdb]]></category>
		<category><![CDATA[javascript]]></category>
		<category><![CDATA[melbjs]]></category>
		<category><![CDATA[nodejs]]></category>
		<category><![CDATA[presentations]]></category>
		<category><![CDATA[shinetech]]></category>

		<guid isPermaLink="false">http://blog.cliffano.com/?p=1702</guid>
		<description><![CDATA[I gave two Node.js-related talks within the past week. The first one was titled &#8220;From Java To Node.js&#8221;, at Shine Technologies&#8216; developers meeting on August 5th, 2011. From Java To Node.js View more presentations from Cliffano Subagio The second one was titled &#8220;JavaScript Everywhere From Nose To Tail&#8221;, at Melbourne JavaScript usergroup on August 10th, [...]]]></description>
			<content:encoded><![CDATA[<p>I gave two Node.js-related talks within the past week.</p>
<p>The first one was titled &#8220;From Java To Node.js&#8221;, at <a href="http://shinetech.com">Shine Technologies</a>&#8216; developers meeting on August 5th, 2011.</p>
<div id="__ss_8780210" style="width: 425px;"><strong style="display: block; margin: 12px 0 4px;"><a title="From Java To Node.js" href="http://www.slideshare.net/cliffano/from-java-to-nodejs" target="_blank">From Java To Node.js</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/8780210" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="425" height="355"></iframe></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/cliffano" target="_blank">Cliffano Subagio</a></div>
</div>
<p>The second one was titled &#8220;JavaScript Everywhere From Nose To Tail&#8221;, at <a href="http://melbjs.eventbrite.com">Melbourne JavaScript usergroup</a> on August 10th, 2011, with <a href="http://twitter.com/bumblethru">Carl Husselbee</a> from <a href="http://about.sensis.com.au">Sensis</a>.</p>
<div id="__ss_8819281" style="width: 425px;"><strong style="display: block; margin: 12px 0 4px;"><a title="Javascript Everywhere From Nose To Tail" href="http://www.slideshare.net/cliffano/javascript-everywhere-from-nose-to-tail" target="_blank">Javascript Everywhere From Nose To Tail</a></strong> <iframe src="http://www.slideshare.net/slideshow/embed_code/8819281" frameborder="0" marginwidth="0" marginheight="0" scrolling="no" width="425" height="355"></iframe></p>
<div style="padding: 5px 0 12px;">View more <a href="http://www.slideshare.net/" target="_blank">presentations</a> from <a href="http://www.slideshare.net/cliffano" target="_blank">Cliffano Subagio</a></div>
</div>
<p>Happy with the positive feedback from the audience of both talks, thanks folks, much appreciated!</p>
<p><strong>Update (08/09/2011):</strong></p>
<p>And here&#8217;s the video from the second talk&#8230;</p>
<p><iframe src="http://player.vimeo.com/video/28531395?title=0&amp;byline=0&amp;portrait=0" width="400" height="225" frameborder="0"></iframe>
<p><a href="http://vimeo.com/28531395">JavaScript Everywhere &#8211; From Nose To Tail</a> from <a href="http://vimeo.com/benjaminpearson">Benjamin Pearson</a> on <a href="http://vimeo.com">Vimeo</a>.</p>

<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fblog.cliffano.com%2F2011%2F08%2F13%2Fnode-js-presentations%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cliffano.com/2011/08/13/node-js-presentations/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Running CouchDB-Lucene On Tomcat</title>
		<link>http://blog.cliffano.com/2011/05/26/running-couchdb-lucene-on-tomcat/</link>
		<comments>http://blog.cliffano.com/2011/05/26/running-couchdb-lucene-on-tomcat/#comments</comments>
		<pubDate>Thu, 26 May 2011 02:26:09 +0000</pubDate>
		<dc:creator>Cliffano Subagio</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[couchdb]]></category>
		<category><![CDATA[couchdb-lucene]]></category>
		<category><![CDATA[tomcat]]></category>

		<guid isPermaLink="false">http://blog.cliffano.com/?p=1575</guid>
		<description><![CDATA[As of the time of writing, CouchDB-Lucene (v0.6.0) distribution was bundled with Jetty WebServer and runnable from command line. But if you dive a little bit into the code, you’ll find that the run script basically executes com.github.rnewson.couchdb.lucene.Main, which in turn (1) reads the couchdb-lucene.ini config, (2) creates a Jetty Server, and (3) sets up [...]]]></description>
			<content:encoded><![CDATA[<p>As of the time of writing, <a href="https://github.com/rnewson/couchdb-lucene">CouchDB-Lucene</a> (v0.6.0) distribution was bundled with <a href="http://jetty.codehaus.org/jetty/">Jetty WebServer</a> and runnable from command line. But if you dive a little bit into the code, you’ll find that the run script basically executes <code>com.github.rnewson.couchdb.lucene.Main</code>, which in turn (1) reads the couchdb-lucene.ini config, (2) creates a Jetty Server, and (3) sets up <code>com.github.rnewson.couchdb.lucene.LuceneServlet</code> on the server.</p>
<p>At work, we had to use Tomcat due to SOE reason, so I spent a bit of   time trying to get CouchDB-Lucene running on Tomcat and get it deployed   as a .war file. Here’s how we did it, please note that this is the   tedious way of doing it, all because I had to integrate CouchDB-Lucene   into an existing web app. There’s an easier way to build a .war file   mentioned at the end of this post.</p>
<ol>
<li>Unpack couchdb-lucene-&lt;version&gt;.zip .</li>
<li>Create a standard web app directory structure with WEB-INF dir.</li>
<li>Configure LuceneServlet in your-app/WEB-INF/web.xml .
<pre>&lt;web-app&gt;
...
&lt;servlet&gt;
&lt;servlet-name&gt;lucene&lt;/servlet-name&gt;
&lt;servlet-class&gt;com.github.rnewson.couchdb.lucene.LuceneServlet&lt;/servlet-class&gt;
&lt;/servlet&gt;
...
&lt;servlet-mapping&gt;
&lt;servlet-name&gt;lucene&lt;/servlet-name&gt;
&lt;url-pattern&gt;/&lt;/url-pattern&gt;
&lt;/servlet-mapping&gt;
...
&lt;/web-app&gt;</pre>
</li>
<li>Copy all jars from couchdb-lucene-&lt;version&gt;/lib/ to your-app/WEB-INF/lib/ . The jetty-*.jar files can be excluded.</li>
<li>Copy couchdb-lucene-&lt;version&gt;/conf/couchdb-lucene.ini and   couchdb-lucene-&lt;version&gt;/conf/log4j.xml to   your-app/WEB-INF/classes/ .</li>
<li>Deploy your-app on Tomcat.</li>
<li>Configure the CouchDB external process hook script with the host name and port number where Tomcat is listening on.</li>
</ol>
<p>There was one catch though, LuceneServlet did not have any   no-argument constructor for the web.xml configuration, so that’s one of   the changes I had to make. The other change was some file  reorganisation  so that you can use <code>mvn war:war</code> to generate a target/couchdb-lucene-&lt;version&gt;.war file. Too easy!</p>
<p>I’ll submit a pull request to master later, but in the mean time you can <del datetime="2011-05-26T15:41:02+00:00">clone my <a href="https://github.com/cliffano/couchdb-lucene">fork</a></del> to get the patched LuceneServlet and to easily generate the .war file.</p>
<p><strong>Update (27/05/2011):</strong> It’s now part of couchdb-lucene master as of <a href="https://github.com/rnewson/couchdb-lucene/commit/0081272a30dc679effc1cf1298e365b953f568a5">0081272a30dc679effc1cf1298e365b953f568a5</a>, should be included in v0.7.0 .</p>

<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fblog.cliffano.com%2F2011%2F05%2F26%2Frunning-couchdb-lucene-on-tomcat%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cliffano.com/2011/05/26/running-couchdb-lucene-on-tomcat/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>XMas Lego Mindstorms</title>
		<link>http://blog.cliffano.com/2010/12/25/xmas-lego-mindstorms/</link>
		<comments>http://blog.cliffano.com/2010/12/25/xmas-lego-mindstorms/#comments</comments>
		<pubDate>Sat, 25 Dec 2010 10:55:39 +0000</pubDate>
		<dc:creator>Cliffano Subagio</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[lego]]></category>
		<category><![CDATA[xmas]]></category>

		<guid isPermaLink="false">http://blog.cliffano.com/?p=1429</guid>
		<description><![CDATA[Last week we had an early XMas celebration over at Shine Technologies office, geekin&#8217; it with some Lego Mindstorms. We had to wire up some logic blocks for the Lego robot to use in a simple maze. The goal was to traverse a path within the maze, the challenge was to pass some obstacles like [...]]]></description>
			<content:encoded><![CDATA[<p>Last week we had an early XMas celebration over at <a href="http://shinetech.com">Shine Technologies</a> office, geekin&#8217; it with some <a href="http://mindstorms.lego.com/en-us/Default.aspx">Lego Mindstorms</a>.</p>
<p>We had to wire up some logic blocks for the Lego robot to use in a simple maze. The goal was to traverse a path within the maze, the challenge was to pass some obstacles like opening a gate, executing several turns, and opening a door handle.</p>
<p><img src="http://lh5.ggpht.com/_fXOvW0MYmrY/TRXDPoCZ6OI/AAAAAAAAFsM/jvQSfN_ksaw/IMG_1264.JPG" alt="" /></p>
<p>Our robot, all kudos to <a href="http://twitter.com/#!/manishchhabra27">@manishchhabra27</a> for revving it up.</p>
<p><img src="http://lh4.ggpht.com/_fXOvW0MYmrY/TRXDPjwAF1I/AAAAAAAAFsQ/W4wi2LotHfs/s512/IMG_1266.JPG" alt="" /></p>
<p>The simple maze. This robot was using its light sensor to detect the black line.</p>
<p>We took a different approach by using the ultrasonic sensor to detect the wall, the reasoning behind it was that traversing the black line was by far a slower process (albeit safer). But we had one problem with our approach, our robot had bad tires that made it drift to the right and then hit the wall anyway. It&#8217;s a hardware problem!</p>
<p><img src="http://lh6.ggpht.com/_fXOvW0MYmrY/TRXDPpY-0pI/AAAAAAAAFsU/lV8HQ85oPuc/s512/IMG_1268.JPG" alt="" /></p>
<p>Another team&#8217;s robot. Fetch the beer, my precious.</p>

<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fblog.cliffano.com%2F2010%2F12%2F25%2Fxmas-lego-mindstorms%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cliffano.com/2010/12/25/xmas-lego-mindstorms/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>New Zealand Workcapade 2010</title>
		<link>http://blog.cliffano.com/2010/07/04/new-zealand-workcapade-2010/</link>
		<comments>http://blog.cliffano.com/2010/07/04/new-zealand-workcapade-2010/#comments</comments>
		<pubDate>Sun, 04 Jul 2010 13:10:33 +0000</pubDate>
		<dc:creator>Cliffano Subagio</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[citcon]]></category>
		<category><![CDATA[new zealand]]></category>
		<category><![CDATA[travel]]></category>
		<category><![CDATA[wellington]]></category>

		<guid isPermaLink="false">http://blog.cliffano.com/?p=1132</guid>
		<description><![CDATA[Workcapade -noun: like an escapade, extra work days on a weekend. Last weekend I went to Wellington, New Zealand, to attend CITCON A/NZ 2010. Write ups about the event have been posted on ShineTech blog: CITCON Australia/New Zealand 2010 &#8211; Day 1 CITCON Australia/New Zealand 2010 &#8211; Day 2 (Part 1) CITCON Australia/New Zealand 2010 [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Workcapade</strong> -noun: like an escapade, extra work days on a weekend.</p>
<p>Last weekend I went to Wellington, New Zealand, to attend <a href="">CITCON A/NZ 2010</a>. Write ups about the event have been posted on ShineTech blog:</p>
<ul>
<li><a href="http://blog.shinetech.com/?p=295">CITCON Australia/New Zealand 2010 &#8211; Day 1</a></li>
<li><a href="http://blog.shinetech.com/?p=317">CITCON Australia/New Zealand 2010 &#8211; Day 2 (Part 1)</a></li>
<li><a href="http://blog.shinetech.com/?p=328">CITCON Australia/New Zealand 2010 &#8211; Day 2 (Part 2)</a></li>
</ul>
<p>In summary, the current hotness in CI world is continuous deployment, citing the experiences from <a href="http://timothyfitz.wordpress.com/2009/02/10/continuous-deployment-at-imvu-doing-the-impossible-fifty-times-a-day/">IMVU</a> and <a href="http://www.slideshare.net/jallspaw/10-deploys-per-day-dev-and-ops-cooperation-at-flickr">Flickr</a>.</p>
<p>I didn&#8217;t get much chance to check out Wellington, it was raining for the whole three days I was there. My immediate impression of Wellington was that the CBD resembled Melbourne, while the areas up the hills reminded me of Hobart. It&#8217;s also strange how Lambton Quay was empty at 10pm on a weekend, even many of the cafes weren&#8217;t open at 11am on a Sunday. No people, no traffic, no worries, no problem.</p>
<p>I didn&#8217;t see any sheep in New Zealand.</p>
				<div id="gallery-9336cec9" class="flickr-gallery photoset">
													<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4759808705"><img class="photo" title="Bolton Street Memorial Park Chapel" src="http://farm5.static.flickr.com/4114/4759808705_9297bea562_s.jpg" alt="Bolton Street Memorial Park Chapel" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4759808179"><img class="photo" title="Steep Enough? Bolton Street" src="http://farm5.static.flickr.com/4094/4759808179_e0a2eeab4d_s.jpg" alt="Steep Enough? Bolton Street" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4759807653"><img class="photo" title="A Museum... *cricket*" src="http://farm5.static.flickr.com/4134/4759807653_3f626ac3aa_s.jpg" alt="A Museum... *cricket*" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4760441608"><img class="photo" title="Telecom New Zealand" src="http://farm5.static.flickr.com/4116/4760441608_abf63b63d2_s.jpg" alt="Telecom New Zealand" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4760441132"><img class="photo" title="Go Wellington" src="http://farm5.static.flickr.com/4074/4760441132_0bd1a2bef0_s.jpg" alt="Go Wellington" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4760440598"><img class="photo" title="Lambton Quay Luminary" src="http://farm5.static.flickr.com/4074/4760440598_ee47f8e8b2_s.jpg" alt="Lambton Quay Luminary" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4759805475"><img class="photo" title="The Gentleman And The Dog" src="http://farm5.static.flickr.com/4143/4759805475_46fda67e22_s.jpg" alt="The Gentleman And The Dog" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4759805039"><img class="photo" title="Chocolate Cafe" src="http://farm5.static.flickr.com/4096/4759805039_9ac40b5f52_s.jpg" alt="Chocolate Cafe" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4759804567"><img class="photo" title="Balcony" src="http://farm5.static.flickr.com/4136/4759804567_5e35be944e_s.jpg" alt="Balcony" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4759804035"><img class="photo" title="Mirror Image" src="http://farm5.static.flickr.com/4136/4759804035_a2f43f392d_s.jpg" alt="Mirror Image" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4759803515"><img class="photo" title="Boulcott Street Bistro & Wine Bar" src="http://farm5.static.flickr.com/4100/4759803515_3a163e047f_s.jpg" alt="Boulcott Street Bistro & Wine Bar" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4759802931"><img class="photo" title="Caffe Terrazza" src="http://farm5.static.flickr.com/4080/4759802931_3126f1ea3e_s.jpg" alt="Caffe Terrazza" /></a>
								</div>
															<div class="flickr-thumb">
									<a href="http://flickr.com/photo.gne?id=4760436736"><img class="photo" title="Wellington Airport" src="http://farm5.static.flickr.com/4076/4760436736_a3c6a0bd86_s.jpg" alt="Wellington Airport" /></a>
								</div>
												<div class="fg-clear"></div>
				</div>
												<div class="fg-clear"></div>
							<script type="text/javascript">
											jQuery(document).ready(function(){
							jQuery("#gallery-9336cec9 .flickr-thumb img").flightbox({size_callback: get_sizes});
						});
										
										//-->
				</script>
			

<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fblog.cliffano.com%2F2010%2F07%2F04%2Fnew-zealand-workcapade-2010%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cliffano.com/2010/07/04/new-zealand-workcapade-2010/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Compiling Node.js on Solaris &#8211; The Issues</title>
		<link>http://blog.cliffano.com/2010/06/04/compiling-node-js-on-solaris-the-issues/</link>
		<comments>http://blog.cliffano.com/2010/06/04/compiling-node-js-on-solaris-the-issues/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 10:27:33 +0000</pubDate>
		<dc:creator>Cliffano Subagio</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[nodejs]]></category>
		<category><![CDATA[solaris]]></category>

		<guid isPermaLink="false">http://blog.cliffano.com/?p=1071</guid>
		<description><![CDATA[Disclaimer: I&#8217;m not a sysadmin, better solutions are welcome. Earlier today, I was trying to compile node.js on Solaris (x86, 64-bit), get it installed, and setup a simple OHAI server. And as usual, installing stuffs on Solaris is never straightforward and I ended up encountering several issues. I&#8217;m sure these issues (specially the errors) will [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Disclaimer:</strong> I&#8217;m not a sysadmin, better solutions are welcome.</p>
<p>Earlier today, I was trying to compile <a href="http://nodejs.org">node.js</a> on Solaris (x86, 64-bit), get it installed, and setup a simple OHAI server.</p>
<p>And as usual, installing stuffs on Solaris is never straightforward and I ended up encountering several issues. I&#8217;m sure these issues (specially the errors) will bite me again in the future, hence I&#8217;m blogging this.</p>
<p>First up&#8230;</p>
<pre>nom&gt; ./configure
/usr/bin/env: No such file or directory</pre>
<p>Oh right, I forgot to install python and all of its dependencies. From node.js home page &#8220;The build system requires Python 2.4 or better.&#8221;</p>
<pre>obj/release/mksnapshot obj/release/snapshot.cc --logfile "~/blah/ry-node-29ca7af/build/default/obj/release/snapshot.log" --log-snapshot-positions
ld.so.1: mksnapshot: fatal: libstdc++.so.6: open failed: No such file or directory
scons: *** [obj/release/snapshot.cc] Error -9
scons: building terminated because of errors.
Waf: Leaving directory `~/blah/ry-node-29ca7af/build'
Build failed:  -&gt; task failed (err #2):
        {task: libv8.a SConstruct -&gt; libv8.a}
*** Error code 1</pre>
<p><a href="http://linux.die.net/man/1/ldd">ldd</a> is your friend every time you hit this kind of error.<br />
So I inspected mksnapshot&#8230;</p>
<pre>nom&gt; ldd obj/release/mksnapshot
        libpthread.so.1 =&gt;       /lib/libpthread.so.1
        libsocket.so.1 =&gt;        /lib/libsocket.so.1
        libnsl.so.1 =&gt;   /lib/libnsl.so.1
        librt.so.1 =&gt;    /lib/librt.so.1
        libstdc++.so.6 =&gt;        (file not found)
        libm.so.2 =&gt;     /lib/libm.so.2
        libgcc_s.so.1 =&gt;         (file not found)
        libc.so.1 =&gt;     /lib/libc.so.1
        libmp.so.2 =&gt;    /lib/libmp.so.2
        libmd.so.1 =&gt;    /lib/libmd.so.1
        libscf.so.1 =&gt;   /lib/libscf.so.1
        libaio.so.1 =&gt;   /lib/libaio.so.1
        libdoor.so.1 =&gt;  /lib/libdoor.so.1
        libuutil.so.1 =&gt;         /lib/libuutil.so.1
        libgen.so.1 =&gt;   /lib/libgen.so.1</pre>
<p>Turned out that both libstdc++.so.6 and libgcc_s.so.1 were installed in /usr/local/lib but not available from /lib. So I simply created symlinks for /lib/libstdc++.so.6 and libgcc_s.so.1 pointing to /usr/local/lib . Another workaround was to set LD_LIBRARY_PATH=/usr/local/lib, but I heard it&#8217;s <a href="http://wiki.services.openoffice.org/wiki/LD_LIBRARY_PATH">bad</a>.</p>
<p>On to the next one&#8230;</p>
<pre>ImportError: ld.so.1: python: fatal: relocation error: file /usr/local/lib/python2.6/lib-dynload/_socket.so: symbol inet_aton: referenced symbol not found</pre>
<p>This one was just strange, I couldn&#8217;t figure out which library dependency was missing, and it took me a while to find out that the python binary I had wasn&#8217;t built correctly (some library links were missing from _socket.so) . At the end I used the binary from <a href="ftp://ftp.sunfreeware.com/pub/freeware/i386/10/">Sunfreeware</a> which had the correct links.</p>
<p>I got this next error when I accidentally compiled node on a SPARC box, which I believe is not a supported architecture. c-ares only has sunos-x86 header files for Solaris.</p>
<pre>../deps/c-ares/ares_expand_string.c:18:24: ares_setup.h: No such file or directory</pre>
<p>And another one, on the same SPARC box&#8230;</p>
<pre>TypeError: cannot concatenate 'str' and 'NoneType' objects:</pre>
<p>This is a similar issue that stevel <a href="http://groups.google.com/group/nodejs/browse_thread/thread/c6430fb3d2449307">mentioned</a> on nodejs Google Group. Basically deps/v8/SConstruct couldn&#8217;t figure out the compiler and returns &#8216;None&#8217; which can&#8217;t be concatenated to a String, this line here&#8230;</p>
<pre>the toolchain to use (' + TOOLCHAIN_GUESS + ')'</pre>
<p>After 3-4 hours, I finally got node.js installed, and a simple server up and running on Solaris.</p>
<pre>OHAI
KTHXBYE</pre>

<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fblog.cliffano.com%2F2010%2F06%2F04%2Fcompiling-node-js-on-solaris-the-issues%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cliffano.com/2010/06/04/compiling-node-js-on-solaris-the-issues/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Re Hudson SiteMonitor Plugin And JSLint Violations Support</title>
		<link>http://blog.cliffano.com/2010/04/12/re-hudson-sitemonitor-plugin-and-jslint-violations-support/</link>
		<comments>http://blog.cliffano.com/2010/04/12/re-hudson-sitemonitor-plugin-and-jslint-violations-support/#comments</comments>
		<pubDate>Mon, 12 Apr 2010 12:41:10 +0000</pubDate>
		<dc:creator>Cliffano Subagio</dc:creator>
				<category><![CDATA[Projects]]></category>
		<category><![CDATA[Work]]></category>
		<category><![CDATA[hudson]]></category>
		<category><![CDATA[jslint]]></category>
		<category><![CDATA[shinetech]]></category>
		<category><![CDATA[sitemonitor]]></category>
		<category><![CDATA[violations]]></category>

		<guid isPermaLink="false">http://blog.cliffano.com/?p=948</guid>
		<description><![CDATA[Just a quick note about a post I made over at Shine Technologies blog re Hudson SiteMonitor Plugin and JSLint Violations support. My current employer, Shine Technologies, allowed me to spend a couple of days to contribute to an open source project, so naturally I chose Hudson and worked on things that are useful for [...]]]></description>
			<content:encoded><![CDATA[<p>Just a quick note about <a href="http://blog.shinetech.com/?p=239">a post</a> I made over at Shine Technologies blog re Hudson SiteMonitor Plugin and JSLint Violations support.</p>
<p>My current employer, <a href="http://shinetech.com">Shine Technologies</a>, allowed me to spend a couple of days to contribute to an open source project, so naturally I chose Hudson and worked on things that are useful for the projects I&#8217;m involved with at work.</p>
<p>SiteMonitor Plugin was a late follow up to <a href="http://markmail.org/message/feoicrmkvfks5sor">this short thread</a> on Hudson users mailing list about a year ago. JSLint support in Violations Plugin was an effort to add JSLint report handling in Hudson a la Checkstyle.</p>

<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fblog.cliffano.com%2F2010%2F04%2F12%2Fre-hudson-sitemonitor-plugin-and-jslint-violations-support%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cliffano.com/2010/04/12/re-hudson-sitemonitor-plugin-and-jslint-violations-support/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>A Guide To Stand-Up Meeting &#8211; Part 1</title>
		<link>http://blog.cliffano.com/2010/01/26/a-guide-to-stand-up-meeting-part-1/</link>
		<comments>http://blog.cliffano.com/2010/01/26/a-guide-to-stand-up-meeting-part-1/#comments</comments>
		<pubDate>Tue, 26 Jan 2010 11:58:56 +0000</pubDate>
		<dc:creator>Cliffano Subagio</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[agile]]></category>
		<category><![CDATA[coderboy]]></category>
		<category><![CDATA[stand-up]]></category>

		<guid isPermaLink="false">http://blog.cliffano.com/?p=911</guid>
		<description><![CDATA[I&#8217;ve been doing daily stand-up meetings for all but 1.5 years of my time in the software development industry, and I had plenty of chance to observe the good and bad habits during the stand-up. For this part, I&#8217;ll just highlight the need to keep what you say relevant to the project, to not pause [...]]]></description>
			<content:encoded><![CDATA[<div class="wp-caption alignnone" style="width: 460px"><img src="http://lh3.ggpht.com/_fXOvW0MYmrY/S17XOJxgQ_I/AAAAAAAAFaE/IwZLbPHHSVc/SCAN0188.JPG" alt="" width="450" height="503" /><p class="wp-caption-text">people around you are not blind...</p></div>
<p>I&#8217;ve been doing daily stand-up meetings for all but 1.5 years of my time in the software development industry, and I had plenty of chance to observe the good and bad habits during the stand-up.</p>
<p>For this part, I&#8217;ll just highlight the need to keep what you say relevant to the project, to not pause too long and too often, and to not unconsciously perform politically incorrect hand movement where no one wants to pair-program with you afterward.</p>
<p>The above panel was drawn this morning while waiting at Caulfield Station. I&#8217;ll do part 2 on the next down time, whenever that is.</p>

<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fblog.cliffano.com%2F2010%2F01%2F26%2Fa-guide-to-stand-up-meeting-part-1%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cliffano.com/2010/01/26/a-guide-to-stand-up-meeting-part-1/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Known Hosts Issue With Net::SSH</title>
		<link>http://blog.cliffano.com/2010/01/19/known-hosts-issue-with-netssh/</link>
		<comments>http://blog.cliffano.com/2010/01/19/known-hosts-issue-with-netssh/#comments</comments>
		<pubDate>Mon, 18 Jan 2010 13:25:48 +0000</pubDate>
		<dc:creator>Cliffano Subagio</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[.ssh]]></category>
		<category><![CDATA[known_hosts]]></category>
		<category><![CDATA[net-ssh]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.cliffano.com/?p=889</guid>
		<description><![CDATA[This issue bit me twice within a month, and each time I had to spend a couple of hours to figure out the cause of the problem, mostly due to the obscurity of the error messages. So I was using net-ssh-2.0.15 and jruby-openssl-0.5.1 for a piece of code that&#8217;s supposed to perform some remote operations. [...]]]></description>
			<content:encoded><![CDATA[<p>This issue bit me twice within a month, and each time I had to spend a couple of hours to figure out the cause of the problem, mostly due to the obscurity of the error messages.</p>
<p>So I was using <a href="http://net-ssh.rubyforge.org">net-ssh</a>-2.0.15 and <a href="http://github.com/jruby/jruby-openssl">jruby-openssl</a>-0.5.1 for a piece of code that&#8217;s supposed to perform some remote operations. The Net::SSH usage itself was straightforward&#8230;</p>
<pre class="brush: ruby; title: ; notranslate">
Net::SSH.start(@host, @username, :keys =&gt; @keys) do |ssh|
    ...
end
</pre>
<p>When I ran the above snippet on Windows XP, it gave this error message without any further information&#8230;</p>
<pre class="brush: plain; title: ; notranslate">
The system cannot find the path specified
</pre>
<p>Not exactly helpful, eh? And after some sleuthing around, it came down to <code>add(host, key)</code> method in lib/net/ssh/known_hosts.rb :</p>
<pre class="brush: ruby; title: ; notranslate">
def add(host, key)
  File.open(source, &quot;a&quot;) do |file|
    blob = [Net::SSH::Buffer.from(:key, key).to_s].pack(&quot;m*&quot;).gsub(/\s/, &quot;&quot;)
    file.puts &quot;#{host} #{key.ssh_type} #{blob}&quot;
  end
end
</pre>
<p>This method is trying to add an entry to the known_hosts file, which location is stored in <code>source</code> variable. In my case, the variable resolved to C:/.ssh/known_hosts . But the problem was that the .ssh directory didn&#8217;t exist. So I simply created it.</p>
<p>Lo and behold, when I ran this piece of code on a Solaris box weeks later, I hit another error message&#8230;</p>
<pre class="brush: plain; title: ; notranslate">
No such file or directory (IOError)
</pre>
<p>which turned out to be caused by the exact same thing, but this time the location is &lt;script_home&gt;/.ssh/known_hosts . The workaround was the same, I simply created the .ssh directory.</p>
<p>So there you go, hopefully it helps whoever else was confused by the unclear error messages.<br />
And in terms of a long term solution, it would be nice if <code>add(host, key)</code> checks or even creates the .ssh directory before attempting to write known_hosts file.</p>

<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fblog.cliffano.com%2F2010%2F01%2F19%2Fknown-hosts-issue-with-netssh%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cliffano.com/2010/01/19/known-hosts-issue-with-netssh/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Image Saving In Watir</title>
		<link>http://blog.cliffano.com/2008/12/30/image-saving-in-watir/</link>
		<comments>http://blog.cliffano.com/2008/12/30/image-saving-in-watir/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 18:03:25 +0000</pubDate>
		<dc:creator>Cliffano Subagio</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[image]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[testing]]></category>
		<category><![CDATA[watir]]></category>

		<guid isPermaLink="false">http://blog.cliffano.com/?p=434</guid>
		<description><![CDATA[So I got the chance to use Watir again on a short project at work. The last time I used it was about 1.5 years ago, and I was glad to find out that Watir is still a nice library to use. Watir simply works without much hassle. The only issue I had was with [...]]]></description>
			<content:encoded><![CDATA[<p>So I got the chance to use <a href="http://wtr.rubyforge.org/">Watir</a> again on a short project at work. The last time I used it was about 1.5 years ago, and I was glad to find out that Watir is still a nice library to use. Watir simply works without much hassle.</p>
<p>The only issue I had was with <a href="http://wiki.openqa.org/display/WTR/Save+All+Images+on+a+Webpage">image saving</a>. From <a href="http://wtr.rubyforge.org/rdoc/classes/Watir/Image.html">Image class documentation</a> (Watir 1.6), it wasn&#8217;t obvious that save can only be called when image element is directly contained within a browser element.</p>
<p>I was trying to save the first image within a div,</p>
<pre class="brush: ruby; title: ; notranslate">
$browser.div(:id, 'foobar').images[1].save('d:\\temp')
</pre>
<p>which resulted in this error</p>
<pre class="brush: plain; title: ; notranslate">
NoMethodError: undefined method `goto' for #&lt;Watir::Div:0x3fa5d7c&gt;
d:/dev/ruby/lib/ruby/gems/1.8/gems/watir-1.6.2/lib/watir/image.rb:113:in `save'
</pre>
<p>Looking at the implementation of save in <a href="http://svn.openqa.org/fisheye/browse/watir/trunk/watir/lib/watir/image.rb?r=1662">image.rb</a>,</p>
<pre class="brush: ruby; title: ; notranslate">
def save(path)
  require 'watir/windowhelper'
  WindowHelper.check_autoit_installed
  @container.goto(src)
  begin
    thrd = fill_save_image_dialog(path)
    @container.document.execCommand(&quot;SaveAs&quot;)
    thrd.join(5)
  ensure
    @container.back
   end
end
</pre>
<p>it shows that save relies on the existence of goto and back methods within the container of the element, meaning that calling save method will tell the browser to go to the image src value, save it, and then click the back button. Hence image must be contained directly within a browser element.</p>
<p>I ended up having to use XPath because the image element doesn&#8217;t have any id or class that allows me to directly reference it from a browser element.</p>
<pre class="brush: ruby; title: ; notranslate">
$browser.image(:xpath, &quot;//div[@id='foobar']/img&quot;).save(&quot;d:\\temp&quot;)
</pre>
<p>It would be nicer if @container can be replaced by something like find_root_container or something that traverses the ancestor container elements and eventually finds a browser element.</p>
<p>Another nice improvement to the save method implementation would be instead of going to the image src and then clicking back, which could potentially lose the state of a page, it would be nicer to open a new window and close it afterward.</p>

<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fblog.cliffano.com%2F2008%2F12%2F30%2Fimage-saving-in-watir%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cliffano.com/2008/12/30/image-saving-in-watir/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Vintage Monitor Stand</title>
		<link>http://blog.cliffano.com/2006/04/29/vintage-monitor-stand/</link>
		<comments>http://blog.cliffano.com/2006/04/29/vintage-monitor-stand/#comments</comments>
		<pubDate>Sat, 29 Apr 2006 12:52:25 +0000</pubDate>
		<dc:creator>Cliffano Subagio</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[html 3.2]]></category>
		<category><![CDATA[office]]></category>

		<guid isPermaLink="false">http://blog.cliffano.com/?p=33</guid>
		<description><![CDATA[My vintage monitor stand. Classic web 0.1!]]></description>
			<content:encoded><![CDATA[<p>My vintage monitor stand.</p>
<p><img class="alignnone" src="http://lh5.ggpht.com/cliffano/SNZO8SetGJI/AAAAAAAABC4/l9UN1X4pdCk/s400/desktop_stand.jpg" alt="" width="380" height="285" /></p>
<p><span class="caption">Classic web 0.1!</span></p>

<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fblog.cliffano.com%2F2006%2F04%2F29%2Fvintage-monitor-stand%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cliffano.com/2006/04/29/vintage-monitor-stand/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>When &quot;JIRA&quot; Replaced The Word &quot;Issue&quot;</title>
		<link>http://blog.cliffano.com/2006/01/28/when-jira-replaced-the-word-issue/</link>
		<comments>http://blog.cliffano.com/2006/01/28/when-jira-replaced-the-word-issue/#comments</comments>
		<pubDate>Sat, 28 Jan 2006 11:38:25 +0000</pubDate>
		<dc:creator>Cliffano Subagio</dc:creator>
				<category><![CDATA[Work]]></category>
		<category><![CDATA[jira]]></category>

		<guid isPermaLink="false">http://blog.cliffano.com/?p=23</guid>
		<description><![CDATA[Quotes from me and some former colleagues after a few years using JIRA: How the hell did I start the day with 28 JIRAs, resolved 10, and finished with 35 on my list? Get me a summary of the open JIRAs! How many JIRAs do you have? Ok, it&#8217;s confirmed, please raise a JIRA. Without [...]]]></description>
			<content:encoded><![CDATA[<p>Quotes from me and some former colleagues after a few years using <a href="http://www.atlassian.com/software/jira/">JIRA</a>:</p>
<blockquote><p> How the hell did I start the day with 28 JIRAs, resolved 10, and finished with 35 on my list?</p></blockquote>
<blockquote><p> Get me a summary of the open JIRAs!</p></blockquote>
<blockquote><p> How many JIRAs do you have?</p></blockquote>
<blockquote><p> Ok, it&#8217;s confirmed, please raise a JIRA.</p></blockquote>
<p>Without noticing, we started refering issues as JIRAs. Just like saying &#8220;I&#8217;ll google it&#8221; when I want to say &#8220;I&#8217;ll use a search engine to find some info about it&#8221;. JIRA might be going through the same phase of greatness.</p>
<p>I&#8217;m not trying to jump on any praising bandwagon, but I still remember thinking &#8220;Finally someone has done it right. A proper issue tracker!&#8221; a few weeks after I started using JIRA for the first time. That was right after some months using <a href="http://www.bugzilla.org/">Bugzilla</a> and <a href="http://www.fogcreek.com/FogBugz/">FogBugz</a>.</p>

<p class="FacebookLikeButton"><fb:like href="http%3A%2F%2Fblog.cliffano.com%2F2006%2F01%2F28%2Fwhen-jira-replaced-the-word-issue%2F" layout="standard" show_faces="false" width="450" action="like" colorscheme="light"></fb:like></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.cliffano.com/2006/01/28/when-jira-replaced-the-word-issue/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>

