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

<channel>
	<title>Innovation On The Run</title>
	<atom:link href="http://www.innovationontherun.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.innovationontherun.com</link>
	<description>Ruminations about innovation and software by Rob Di Marco</description>
	<pubDate>Fri, 26 Sep 2008 14:50:26 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.2</generator>
	<language>en</language>
			<item>
		<title>Remember To Make It Easy To Buy</title>
		<link>http://www.innovationontherun.com/remember-to-make-it-easy-to-buy/</link>
		<comments>http://www.innovationontherun.com/remember-to-make-it-easy-to-buy/#comments</comments>
		<pubDate>Thu, 25 Sep 2008 19:51:19 +0000</pubDate>
		<dc:creator>Rob Di Marco</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<category><![CDATA[product pricing]]></category>

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

		<guid isPermaLink="false">http://www.innovationontherun.com/?p=56</guid>
		<description><![CDATA[Building a successful product is hard.&#160; You think so much about what features a user needs and&#160;how you can have a better product than your competition, how you can win.&#160; However, sometimes we forget an important part of the process, how do I make it easy for a customer to buy.
Let&#8217;s look at two examples [...]]]></description>
			<content:encoded><![CDATA[<p>Building a successful product is hard.&nbsp; You think so much about what features a user needs and&nbsp;how you can have a better product than your competition, how you can win.&nbsp; However, sometimes we forget an important part of the process, how do I make it easy for a customer to buy.</p>
<p>Let&#8217;s look at two examples of products that I like, one that makes it hard to buy and one that doesn&#8217;t.&nbsp; First I am going to pick on <a href="http://www.atlassian.com/" onclick="javascript:pageTracker._trackPageview ('/outbound/www.atlassian.com');">Atlassian</a>, an Australian-based software company that has built the excellent bug tracking software <a href="http://www.atlassian.com/software/jira/" onclick="javascript:pageTracker._trackPageview ('/outbound/www.atlassian.com');">Jira</a> and the enterprise wiki software&nbsp;<a href="http://www.atlassian.com/software/confluence/" onclick="javascript:pageTracker._trackPageview ('/outbound/www.atlassian.com');">Confluence</a>.&nbsp; I am picking on them because I was just talking with a friend who was having trouble buying from Atlassian and inspired this blog posting.&nbsp; Now, Atlassian made a very smart marketing decision, they decided to give away their software to open source projects.&nbsp; This got their products used by a variety of popular open source projects (e.g. JBoss) and in turn got them visibility by both developers and users of these products.&nbsp; Very smart move, giving away the software got you more exposure to potential customers than any number of Google keyword ad buys.&nbsp; Well done Atlassian!</p>
<p>So Atlassian has a strategy to get developers aware of the value of their product.&nbsp; Now think about how buying their products work:</p>
<ol>
<li>Developer sees how wonderful Jira is while working on an open source project</li>
<li>Developer goes to the Jira product websheet and sees a great presentation of the features of Jira and gets all excited</li>
<li>Developer wants to get his company to use Jira</li>
<li>Developer has no authority to spend money at his company, he needs to talk with his boss</li>
<li>Developer tells their boss &quot;We should use Jira&quot;</li>
<li>Boss says &quot;Why should I buy this? Bugzilla is free!&nbsp;&nbsp;Do an ROI&nbsp;(Return on Investment) analysis for me and I&#8217;ll consider it&quot;</li>
<li>Developer does not know how to do an ROI analysis so he just gives up on Jira and goes off grumbling to his co-workers that the boss &quot;just doesn&#8217;t get it&quot;</li>
</ol>
<p>So what do we see here.&nbsp; Atlassian has done a great job of getting software developers aware of how wonderful their software is, but they do not help the software developer explain to their boss why they should spend $4,000 on the software.&nbsp; What they should do is have a simple form that helps a developer&nbsp; ask questions like &quot;How many people are in your development organization&quot;, and &quot;How many hours do your developers spend trying to understand what features are in a release&quot;.&nbsp; From these questions, it should show you how long it will take for the productivity improvements that Jira will bring to equal your investment in it.&nbsp; Make it easier for our hypothetical developer to create the ROI analysis required by his boss.</p>
<p>Now, the second place that Atlassian fails to make it easy to buy is in their actual purchasing methodology.&nbsp; If you try to buy from Atlassian, they will only take check/money order/credit card.&nbsp; They won&#8217;t take a PO (purchase order) number.&nbsp; I don&#8217;t know how businesses operate in Australia, but in the US, most businesses that have an accounting department (which are all but the smallest businesses) strongly prefer using purchase orders over credit cards and checks when making capital purchases.&nbsp; There are various reasons for this but the fact is forcing payment through credit cards or checks is just another hoop that our hypothetical developer has to go through to get Jira installed at their office</p>
<p>The point is that Atlassian has done a great job in getting users aware of their quality product, but they ignore the organizational process by which their customers buy.&nbsp; I am confident that Atlassian is losing sales not because of their prodcut but because it is such a pain in the ass for a developer to figure out how to justify and how to actually purchase their product.</p>
<p><img width="350" height="268" align="left" class="" alt="" src="http://www.innovationontherun.com/wp-content/uploads/image/Picture 1.png" /></p>
<p>Now let&#8217;s look at a good example of making it easy for a customer to buy, buying music through iTunes.&nbsp; With iTunes 8, their was an introduction of the &quot;Genius&quot;, basically a tool for finding other similar music based on what you are looking at.&nbsp; Suggestions are shown with the price clearly marked a simple &quot;buy&quot; button right there.&nbsp; You are staring at the buy button.&nbsp; If you click on it, it will charge your pre-configured account.&nbsp; Boom, that&#8217;s it.&nbsp; It reminds me of the candy that sits in the supermarket aisle.&nbsp; It&#8217;s right there, reasonably priced and simple to buy.&nbsp; No hoops to jump through, very easy to purchase.</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>&nbsp;</p>
<p>The moral of the story, it&#8217;s so hard to make a succesful product, don&#8217;t handcuff yourself by making it hard to buy.</p>
<p>Thanks to Kevin for inspiring this and Kyle for making me write this.</p>
<p>Edit #1: I used the word &quot;easy&quot; in the moral when I meant &quot;hard&quot;&#8230;fixed now.</p>
<p>Edit #2: Fixed some typos and grammar errors.&nbsp; Also added word for clarity as suggested by Christian</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d56').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d56" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.innovationontherun.com/remember-to-make-it-easy-to-buy/&amp;title=Remember+To+Make+It+Easy+To+Buy" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.innovationontherun.com/remember-to-make-it-easy-to-buy/&amp;title=Remember+To+Make+It+Easy+To+Buy" title="Add to&nbsp;digg"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Remember+To+Make+It+Easy+To+Buy&amp;url=http://www.innovationontherun.com/remember-to-make-it-easy-to-buy/&amp;title=Remember+To+Make+It+Easy+To+Buy" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.innovationontherun.com/remember-to-make-it-easy-to-buy/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://feedmelinks.com/categorize?from=toolbar&amp;op=submit&amp;name=Remember+To+Make+It+Easy+To+Buy&amp;url=http://www.innovationontherun.com/remember-to-make-it-easy-to-buy/&amp;version=0.7" title="Add to&nbsp;Feed Me Links"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/feedmelinks.png" title="Add to&nbsp;Feed Me Links" alt="Add to&nbsp;Feed Me Links" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.innovationontherun.com/remember-to-make-it-easy-to-buy/&amp;title=Remember+To+Make+It+Easy+To+Buy" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.innovationontherun.com/remember-to-make-it-easy-to-buy/&amp;title=Remember+To+Make+It+Easy+To+Buy&amp;description=Remember+To+Make+It+Easy+To+Buy" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.innovationontherun.com/remember-to-make-it-easy-to-buy/&amp;title=Remember+To+Make+It+Easy+To+Buy" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.innovationontherun.com/remember-to-make-it-easy-to-buy/&amp;title=Remember+To+Make+It+Easy+To+Buy" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.innovationontherun.com/remember-to-make-it-easy-to-buy/&amp;title=Remember+To+Make+It+Easy+To+Buy" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.squidoo.com/lensmaster/bookmark?http://www.innovationontherun.com/remember-to-make-it-easy-to-buy/" title="Add to&nbsp;Squidoo"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/squidoo.png" title="Add to&nbsp;Squidoo" alt="Add to&nbsp;Squidoo" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.spurl.net/spurl.php?url=http://www.innovationontherun.com/remember-to-make-it-easy-to-buy/&amp;title=Remember+To+Make+It+Easy+To+Buy" title="Add to&nbsp;Spurl"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/spurl.png" title="Add to&nbsp;Spurl" alt="Add to&nbsp;Spurl" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://tailrank.com/share/?title=Remember+To+Make+It+Easy+To+Buy&amp;link_href=http://www.innovationontherun.com/remember-to-make-it-easy-to-buy/" title="Add to&nbsp;Tailrank"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/tailrank.png" title="Add to&nbsp;Tailrank" alt="Add to&nbsp;Tailrank" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.innovationontherun.com/remember-to-make-it-easy-to-buy/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d56').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.innovationontherun.com/remember-to-make-it-easy-to-buy/feed/</wfw:commentRss>
		</item>
		<item>
		<title>MapMyRide Wordpress Plugin Released</title>
		<link>http://www.innovationontherun.com/mapmyride-wordpress-plugin-released/</link>
		<comments>http://www.innovationontherun.com/mapmyride-wordpress-plugin-released/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 06:23:32 +0000</pubDate>
		<dc:creator>Rob Di Marco</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

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

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

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

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

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

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

		<guid isPermaLink="false">http://www.innovationontherun.com/?p=53</guid>
		<description><![CDATA[I have been trying to use MapMyRide to track my workouts.&#160; While they say they will have a JSON feed soon, for now, all I could do is work with their RSS feed to put it up on my blog.
Originally, I hoped I could just use a standard WordPress RSS feed widget to show my [...]]]></description>
			<content:encoded><![CDATA[<p>I have been trying to use MapMyRide to track my workouts.&nbsp; While they say they will have a JSON feed soon, for now, all I could do is work with their RSS feed to put it up on my blog.</p>
<p>Originally, I hoped I could just use a standard WordPress RSS feed widget to show my workouts.&nbsp; Unfortunately, the feed from MapMyRide contains HTML.&nbsp; The RSS widget wisely escapes the HTML to avoid XSS.&nbsp; However, this makes the workout listings look very ugly.</p>
<p>So I have created a pluging that downloads the RSS feed, parses out the workout information, and shows your workouts.</p>
<p>You can <a href="http://www.innovationontherun.com/wp-content/uploads/file/mapmyride_widget.zip">download the initial version</a> of the plugin.&nbsp; Installation just requires you to unzip and put in your wp-content/plugins directory.&nbsp; Please let me know if you are using it and if there any other features needed.&nbsp; I know I still need to:</p>
<ul>
<li>Protect agains XSS (split on the bold tags and then escape other HTML</li>
<li>Protect against bogus URLs, only MapMyRide.com should be used</li>
<li>Add more options to control what you actually allow to display.&nbsp; Not sure if I want my weight out there.</li>
</ul>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d53').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d53" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.innovationontherun.com/mapmyride-wordpress-plugin-released/&amp;title=MapMyRide+Wordpress+Plugin+Released" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.innovationontherun.com/mapmyride-wordpress-plugin-released/&amp;title=MapMyRide+Wordpress+Plugin+Released" title="Add to&nbsp;digg"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=MapMyRide+Wordpress+Plugin+Released&amp;url=http://www.innovationontherun.com/mapmyride-wordpress-plugin-released/&amp;title=MapMyRide+Wordpress+Plugin+Released" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.innovationontherun.com/mapmyride-wordpress-plugin-released/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://feedmelinks.com/categorize?from=toolbar&amp;op=submit&amp;name=MapMyRide+Wordpress+Plugin+Released&amp;url=http://www.innovationontherun.com/mapmyride-wordpress-plugin-released/&amp;version=0.7" title="Add to&nbsp;Feed Me Links"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/feedmelinks.png" title="Add to&nbsp;Feed Me Links" alt="Add to&nbsp;Feed Me Links" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.innovationontherun.com/mapmyride-wordpress-plugin-released/&amp;title=MapMyRide+Wordpress+Plugin+Released" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.innovationontherun.com/mapmyride-wordpress-plugin-released/&amp;title=MapMyRide+Wordpress+Plugin+Released&amp;description=MapMyRide+Wordpress+Plugin+Released" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.innovationontherun.com/mapmyride-wordpress-plugin-released/&amp;title=MapMyRide+Wordpress+Plugin+Released" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.innovationontherun.com/mapmyride-wordpress-plugin-released/&amp;title=MapMyRide+Wordpress+Plugin+Released" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.innovationontherun.com/mapmyride-wordpress-plugin-released/&amp;title=MapMyRide+Wordpress+Plugin+Released" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.squidoo.com/lensmaster/bookmark?http://www.innovationontherun.com/mapmyride-wordpress-plugin-released/" title="Add to&nbsp;Squidoo"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/squidoo.png" title="Add to&nbsp;Squidoo" alt="Add to&nbsp;Squidoo" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.spurl.net/spurl.php?url=http://www.innovationontherun.com/mapmyride-wordpress-plugin-released/&amp;title=MapMyRide+Wordpress+Plugin+Released" title="Add to&nbsp;Spurl"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/spurl.png" title="Add to&nbsp;Spurl" alt="Add to&nbsp;Spurl" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://tailrank.com/share/?title=MapMyRide+Wordpress+Plugin+Released&amp;link_href=http://www.innovationontherun.com/mapmyride-wordpress-plugin-released/" title="Add to&nbsp;Tailrank"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/tailrank.png" title="Add to&nbsp;Tailrank" alt="Add to&nbsp;Tailrank" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.innovationontherun.com/mapmyride-wordpress-plugin-released/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d53').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.innovationontherun.com/mapmyride-wordpress-plugin-released/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Next Useful Tool of the Day</title>
		<link>http://www.innovationontherun.com/next-useful-tool-of-the-day/</link>
		<comments>http://www.innovationontherun.com/next-useful-tool-of-the-day/#comments</comments>
		<pubDate>Mon, 16 Jun 2008 13:37:30 +0000</pubDate>
		<dc:creator>Rob Di Marco</dc:creator>
		
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.innovationontherun.com/?p=49</guid>
		<description><![CDATA[Just started using Jash for debugging my JavaScript.&#160; It is a JavaScript shell that you can dynamically startup and directly execute JavaScript functions within another webpage.&#160; So when I am developing, I can try out new JavaScript or execute debug statements right in the page without having to edit server side code or reload.&#160; Very [...]]]></description>
			<content:encoded><![CDATA[<p>Just started using <a href="http://www.billyreisinger.com/jash/" onclick="javascript:pageTracker._trackPageview ('/outbound/www.billyreisinger.com');">Jash</a> for debugging my JavaScript.&nbsp; It is a JavaScript shell that you can dynamically startup and directly execute JavaScript functions within another webpage.&nbsp; So when I am developing, I can try out new JavaScript or execute debug statements right in the page without having to edit server side code or reload.&nbsp; Very easy to use, zero install, very impressive tool.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d49').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d49" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.innovationontherun.com/next-useful-tool-of-the-day/&amp;title=Next+Useful+Tool+of+the+Day" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.innovationontherun.com/next-useful-tool-of-the-day/&amp;title=Next+Useful+Tool+of+the+Day" title="Add to&nbsp;digg"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Next+Useful+Tool+of+the+Day&amp;url=http://www.innovationontherun.com/next-useful-tool-of-the-day/&amp;title=Next+Useful+Tool+of+the+Day" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.innovationontherun.com/next-useful-tool-of-the-day/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://feedmelinks.com/categorize?from=toolbar&amp;op=submit&amp;name=Next+Useful+Tool+of+the+Day&amp;url=http://www.innovationontherun.com/next-useful-tool-of-the-day/&amp;version=0.7" title="Add to&nbsp;Feed Me Links"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/feedmelinks.png" title="Add to&nbsp;Feed Me Links" alt="Add to&nbsp;Feed Me Links" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.innovationontherun.com/next-useful-tool-of-the-day/&amp;title=Next+Useful+Tool+of+the+Day" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.innovationontherun.com/next-useful-tool-of-the-day/&amp;title=Next+Useful+Tool+of+the+Day&amp;description=Next+Useful+Tool+of+the+Day" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.innovationontherun.com/next-useful-tool-of-the-day/&amp;title=Next+Useful+Tool+of+the+Day" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.innovationontherun.com/next-useful-tool-of-the-day/&amp;title=Next+Useful+Tool+of+the+Day" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.innovationontherun.com/next-useful-tool-of-the-day/&amp;title=Next+Useful+Tool+of+the+Day" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.squidoo.com/lensmaster/bookmark?http://www.innovationontherun.com/next-useful-tool-of-the-day/" title="Add to&nbsp;Squidoo"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/squidoo.png" title="Add to&nbsp;Squidoo" alt="Add to&nbsp;Squidoo" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.spurl.net/spurl.php?url=http://www.innovationontherun.com/next-useful-tool-of-the-day/&amp;title=Next+Useful+Tool+of+the+Day" title="Add to&nbsp;Spurl"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/spurl.png" title="Add to&nbsp;Spurl" alt="Add to&nbsp;Spurl" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://tailrank.com/share/?title=Next+Useful+Tool+of+the+Day&amp;link_href=http://www.innovationontherun.com/next-useful-tool-of-the-day/" title="Add to&nbsp;Tailrank"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/tailrank.png" title="Add to&nbsp;Tailrank" alt="Add to&nbsp;Tailrank" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.innovationontherun.com/next-useful-tool-of-the-day/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d49').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.innovationontherun.com/next-useful-tool-of-the-day/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cool Tool of the Day</title>
		<link>http://www.innovationontherun.com/cool-tool-of-the-day/</link>
		<comments>http://www.innovationontherun.com/cool-tool-of-the-day/#comments</comments>
		<pubDate>Fri, 30 May 2008 01:37:55 +0000</pubDate>
		<dc:creator>Rob Di Marco</dc:creator>
		
		<category><![CDATA[tools]]></category>

		<guid isPermaLink="false">http://www.innovationontherun.com/?p=48</guid>
		<description><![CDATA[Through Hacker News I found out about DabbleBoard.&#160; Very easy to use tool for quickly whiteboarding out diagrams online.&#160; Still needs some work (limited shapes, not easy to collaborate), but seems very nice and easy to use.&#160; Probably will replace Gliffy for me for simple whiteboarding exercises.
&#160;


Bookmark to:


















Hide Sites



]]></description>
			<content:encoded><![CDATA[<p>Through <a href="http://news.ycombinator.com" onclick="javascript:pageTracker._trackPageview ('/outbound/news.ycombinator.com');">Hacker News</a> I found out about <a href="http://www.dabbleboard.com" onclick="javascript:pageTracker._trackPageview ('/outbound/www.dabbleboard.com');">DabbleBoard</a>.&nbsp; Very easy to use tool for quickly whiteboarding out diagrams online.&nbsp; Still needs some work (limited shapes, not easy to collaborate), but seems very nice and easy to use.&nbsp; Probably will replace <a href="http://www.gliffy.com/gliffy/" onclick="javascript:pageTracker._trackPageview ('/outbound/www.gliffy.com');">Gliffy</a> for me for simple whiteboarding exercises.</p>
<p>&nbsp;</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d48').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d48" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.innovationontherun.com/cool-tool-of-the-day/&amp;title=Cool+Tool+of+the+Day" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.innovationontherun.com/cool-tool-of-the-day/&amp;title=Cool+Tool+of+the+Day" title="Add to&nbsp;digg"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Cool+Tool+of+the+Day&amp;url=http://www.innovationontherun.com/cool-tool-of-the-day/&amp;title=Cool+Tool+of+the+Day" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.innovationontherun.com/cool-tool-of-the-day/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://feedmelinks.com/categorize?from=toolbar&amp;op=submit&amp;name=Cool+Tool+of+the+Day&amp;url=http://www.innovationontherun.com/cool-tool-of-the-day/&amp;version=0.7" title="Add to&nbsp;Feed Me Links"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/feedmelinks.png" title="Add to&nbsp;Feed Me Links" alt="Add to&nbsp;Feed Me Links" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.innovationontherun.com/cool-tool-of-the-day/&amp;title=Cool+Tool+of+the+Day" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.innovationontherun.com/cool-tool-of-the-day/&amp;title=Cool+Tool+of+the+Day&amp;description=Cool+Tool+of+the+Day" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.innovationontherun.com/cool-tool-of-the-day/&amp;title=Cool+Tool+of+the+Day" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.innovationontherun.com/cool-tool-of-the-day/&amp;title=Cool+Tool+of+the+Day" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.innovationontherun.com/cool-tool-of-the-day/&amp;title=Cool+Tool+of+the+Day" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.squidoo.com/lensmaster/bookmark?http://www.innovationontherun.com/cool-tool-of-the-day/" title="Add to&nbsp;Squidoo"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/squidoo.png" title="Add to&nbsp;Squidoo" alt="Add to&nbsp;Squidoo" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.spurl.net/spurl.php?url=http://www.innovationontherun.com/cool-tool-of-the-day/&amp;title=Cool+Tool+of+the+Day" title="Add to&nbsp;Spurl"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/spurl.png" title="Add to&nbsp;Spurl" alt="Add to&nbsp;Spurl" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://tailrank.com/share/?title=Cool+Tool+of+the+Day&amp;link_href=http://www.innovationontherun.com/cool-tool-of-the-day/" title="Add to&nbsp;Tailrank"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/tailrank.png" title="Add to&nbsp;Tailrank" alt="Add to&nbsp;Tailrank" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.innovationontherun.com/cool-tool-of-the-day/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d48').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.innovationontherun.com/cool-tool-of-the-day/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Does Your Code Sound Good?</title>
		<link>http://www.innovationontherun.com/does-your-code-sound-good/</link>
		<comments>http://www.innovationontherun.com/does-your-code-sound-good/#comments</comments>
		<pubDate>Wed, 14 May 2008 22:47:12 +0000</pubDate>
		<dc:creator>Rob Di Marco</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

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

		<guid isPermaLink="false">http://www.innovationontherun.com/?p=47</guid>
		<description><![CDATA[About six months ago, I switched my work computer to a MacBook Pro.&#160; Today, I read a LifeHacker tip talking about easily forgotten/not know about Mac features.  One that I had never heard of was using the say command, a terminal command that will speak whatever text you send to it.
&#62; say Hello World [...]]]></description>
			<content:encoded><![CDATA[<p>About six months ago, I switched my work computer to a MacBook Pro.&nbsp; Today, I read a LifeHacker tip talking about<a href="http://lifehacker.com/390226/top-10-things-you-forgot-your-mac-can-do" onclick="javascript:pageTracker._trackPageview ('/outbound/lifehacker.com');"> easily forgotten/not know about Mac features.</a>  One that I had never heard of was using the <em>say</em> command, a terminal command that will speak whatever text you send to it.</p>
<pre>&gt; say Hello World # Will speak from</pre>
<pre>&gt; say -f /etc/hosts # Will read out your /etc/hosts file</pre>
<p>Hmm&#8230;.I wonder how my code sounds.&nbsp; I&#8217;ve always been a big fan of the development concept that your code shouldn&#8217;t need a ton of comments if it reads well.&nbsp; But how would it sound&#8230;</p>
<p>Turns out some Java code sounded pretty good.&nbsp; I could definitely visualize and understand the class as it was being read to me.&nbsp; But some Ruby code I was working on sounded terrible; I chalk it up to the lack of verbosity in the language.&nbsp;</p>
<p>Another interesting use of the command for me is for README files.&nbsp; I usually lack the patience to read a whole README file, but I have good retention of those things that I hear.&nbsp; So when I see a README file, I can now just have say read it aloud to me and I get the content as I dive into whatever I am doing!</p>
<p>&nbsp;</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d47').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d47" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.innovationontherun.com/does-your-code-sound-good/&amp;title=Does+Your+Code+Sound+Good%3F" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.innovationontherun.com/does-your-code-sound-good/&amp;title=Does+Your+Code+Sound+Good%3F" title="Add to&nbsp;digg"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Does+Your+Code+Sound+Good%3F&amp;url=http://www.innovationontherun.com/does-your-code-sound-good/&amp;title=Does+Your+Code+Sound+Good%3F" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.innovationontherun.com/does-your-code-sound-good/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://feedmelinks.com/categorize?from=toolbar&amp;op=submit&amp;name=Does+Your+Code+Sound+Good%3F&amp;url=http://www.innovationontherun.com/does-your-code-sound-good/&amp;version=0.7" title="Add to&nbsp;Feed Me Links"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/feedmelinks.png" title="Add to&nbsp;Feed Me Links" alt="Add to&nbsp;Feed Me Links" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.innovationontherun.com/does-your-code-sound-good/&amp;title=Does+Your+Code+Sound+Good%3F" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.innovationontherun.com/does-your-code-sound-good/&amp;title=Does+Your+Code+Sound+Good%3F&amp;description=Does+Your+Code+Sound+Good%3F" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.innovationontherun.com/does-your-code-sound-good/&amp;title=Does+Your+Code+Sound+Good%3F" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.innovationontherun.com/does-your-code-sound-good/&amp;title=Does+Your+Code+Sound+Good%3F" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.innovationontherun.com/does-your-code-sound-good/&amp;title=Does+Your+Code+Sound+Good%3F" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.squidoo.com/lensmaster/bookmark?http://www.innovationontherun.com/does-your-code-sound-good/" title="Add to&nbsp;Squidoo"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/squidoo.png" title="Add to&nbsp;Squidoo" alt="Add to&nbsp;Squidoo" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.spurl.net/spurl.php?url=http://www.innovationontherun.com/does-your-code-sound-good/&amp;title=Does+Your+Code+Sound+Good%3F" title="Add to&nbsp;Spurl"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/spurl.png" title="Add to&nbsp;Spurl" alt="Add to&nbsp;Spurl" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://tailrank.com/share/?title=Does+Your+Code+Sound+Good%3F&amp;link_href=http://www.innovationontherun.com/does-your-code-sound-good/" title="Add to&nbsp;Tailrank"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/tailrank.png" title="Add to&nbsp;Tailrank" alt="Add to&nbsp;Tailrank" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.innovationontherun.com/does-your-code-sound-good/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d47').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.innovationontherun.com/does-your-code-sound-good/feed/</wfw:commentRss>
		</item>
		<item>
		<title>The Power of GIT</title>
		<link>http://www.innovationontherun.com/the-power-of-git/</link>
		<comments>http://www.innovationontherun.com/the-power-of-git/#comments</comments>
		<pubDate>Thu, 03 Apr 2008 23:10:20 +0000</pubDate>
		<dc:creator>Rob Di Marco</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

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

		<category><![CDATA[version control]]></category>

		<guid isPermaLink="false">http://www.innovationontherun.com/?p=46</guid>
		<description><![CDATA[Started working with git for the first time last week and I am really impressed at how powerful the tool is.&#160; I&#8217;ve been interested in using a distributed version control system like git, darcs, or mercurial for a while, but I have been turned off on actually making the move because of the lack of [...]]]></description>
			<content:encoded><![CDATA[<p>Started working with git for the first time last week and I am really impressed at how powerful the tool is.&nbsp; I&#8217;ve been interested in using a distributed version control system like git, darcs, or mercurial for a while, but I have been turned off on actually making the move because of the lack of integration with these version control systems and other software (bug tracking, automated build software, etc.).&nbsp; Also, as a manager, I did not want to have to retrain a whole team of developers on a new version control system.</p>
<p>But enter <a href="http://www.kernel.org/pub/software/scm/git/docs/git-svn.html" onclick="javascript:pageTracker._trackPageview ('/outbound/www.kernel.org');">git-svn</a> which allows me to use git locally and Subversion for the distributed repository.&nbsp; So now I get the best of both worlds, I can make my local branches and commits, but I don&#8217;t have to retrain my team or worry about integration as we still have all of the Subversion interfaces for interacting with the repository.</p>
<p>Using git-svn is pretty simple.&nbsp; I had to install on CentOS, Max OS X, and Ubuntu and git was available through yum/apt-get/Macports.&nbsp; To check out was just:</p>
<p><span class="Code">git svn clone http://svn.automattic.com/wordpress/ -ttags -bbranches -Ttrunk</span></p>
<p>This command will check out all revisions from Subversion and keep a copy of this locally.&nbsp; Because we download a copy for all revisions, it can take a long time to do this initial setup.</p>
<p>As for the -t/-T/-b, this is used by git-svn to associate SVN branches with git branches.&nbsp; This configures your git master branch to correspond with the wordpress trunk, but also gives you a git branch for each SVN branch if you want your changes to be tied to a branch rather than the trunk.</p>
<p>One the clone completes, I can use all of the git tools to my heart&#8217;s content.&nbsp; Local checkins, branches, easy merges, etc.&nbsp; If I need to refresh from Subversion, git will get all new changes from SVN, then replay my edits on top of it.</p>
<p>Committing changes back (assuming that you have permission) just requires:</p>
<p><span class="Code">git svn dcommit </span></p>
<p>All of your changes are now committed one at a time to the SVN repository.&nbsp; Very simple for me to get set up and run with.</p>
<h1>Digging Deeper&#8230;</h1>
<p>As I started using git more, I realized how perfect it is for another big problem that I have, managing production configurations.&nbsp; For example, I have a common problem when managing Apache configurations.&nbsp; I have the following needs:</p>
<ul>
<li>I use multiple conf files to manage my Apache installation (main httpd.conf, virtual host, SSL, etc.)</li>
<li>I want basic version control over the files to track changes over time</li>
<li>When trying to debug a problem, I often have to go into the files and tweak multiple debug settings (LogLevel, RewriteLogLevel, etc.).</li>
</ul>
<p>&nbsp;What git does for me is lets me do is to create a branch that just contains my debug changes and lets me easily merge the master branch in with these changes.&nbsp; To do this, I create a debug branch that contains all of my changes needed</p>
<p><span class="Code">git branch debug</span></p>
<p><span class="Code">git checkout -b debug</span></p>
<p>..make changes&#8230;</p>
<p><span class="Code">git commit</span></p>
<p><span class="Code">git checkout -b master</span></p>
<p>&#8230; debug is now off&#8230;</p>
<p>.. Make changes and commit back to master&#8230;</p>
<p><span class="Code">git commit</span></p>
<p>&nbsp;..Now when I need to debug again</p>
<p><span class="Code">git checkout -b debug &amp;&amp; git merge master</span></p>
<p>The merge command will sync the debug branch with the master branch and then will REPLAY the changes that I made to turn on debugging.&nbsp; When I finish I can turn off my debugging by</p>
<p><span class="Code">git checkout -b master</span></p>
<p>&nbsp;I see using this not just to manage logging but in other configuration management problems like:</p>
<ul>
<li>Managing database connection information</li>
<li>Configuring network arrangements</li>
</ul>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d46').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d46" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.innovationontherun.com/the-power-of-git/&amp;title=The+Power+of+GIT" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.innovationontherun.com/the-power-of-git/&amp;title=The+Power+of+GIT" title="Add to&nbsp;digg"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=The+Power+of+GIT&amp;url=http://www.innovationontherun.com/the-power-of-git/&amp;title=The+Power+of+GIT" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.innovationontherun.com/the-power-of-git/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://feedmelinks.com/categorize?from=toolbar&amp;op=submit&amp;name=The+Power+of+GIT&amp;url=http://www.innovationontherun.com/the-power-of-git/&amp;version=0.7" title="Add to&nbsp;Feed Me Links"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/feedmelinks.png" title="Add to&nbsp;Feed Me Links" alt="Add to&nbsp;Feed Me Links" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.innovationontherun.com/the-power-of-git/&amp;title=The+Power+of+GIT" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.innovationontherun.com/the-power-of-git/&amp;title=The+Power+of+GIT&amp;description=The+Power+of+GIT" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.innovationontherun.com/the-power-of-git/&amp;title=The+Power+of+GIT" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.innovationontherun.com/the-power-of-git/&amp;title=The+Power+of+GIT" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.innovationontherun.com/the-power-of-git/&amp;title=The+Power+of+GIT" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.squidoo.com/lensmaster/bookmark?http://www.innovationontherun.com/the-power-of-git/" title="Add to&nbsp;Squidoo"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/squidoo.png" title="Add to&nbsp;Squidoo" alt="Add to&nbsp;Squidoo" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.spurl.net/spurl.php?url=http://www.innovationontherun.com/the-power-of-git/&amp;title=The+Power+of+GIT" title="Add to&nbsp;Spurl"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/spurl.png" title="Add to&nbsp;Spurl" alt="Add to&nbsp;Spurl" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://tailrank.com/share/?title=The+Power+of+GIT&amp;link_href=http://www.innovationontherun.com/the-power-of-git/" title="Add to&nbsp;Tailrank"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/tailrank.png" title="Add to&nbsp;Tailrank" alt="Add to&nbsp;Tailrank" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.innovationontherun.com/the-power-of-git/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d46').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.innovationontherun.com/the-power-of-git/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Creating a Build Number With Ant and Subversion</title>
		<link>http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/</link>
		<comments>http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/#comments</comments>
		<pubDate>Sat, 26 Jan 2008 05:44:25 +0000</pubDate>
		<dc:creator>Rob Di Marco</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

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

		<guid isPermaLink="false">http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/</guid>
		<description><![CDATA[I&#8217;m on a hot streak tonight&#8230; Another comon problem that I have had to solve recently is how to attach a build number to files that are being generated out of an Ant build script.
We have developed a versioning scheme (inspired by http://geekswithblogs.net/emanish/archive/2006/09/25/92219.aspx) for our releases where our release are named &#60;major&#62;.&#60;minor&#62;.&#60;revision&#62;.&#60;build&#62;. So a valid [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m on a hot streak tonight&#8230; Another comon problem that I have had to solve recently is how to attach a build number to files that are being generated out of an <a href="http://ant.apache.org" onclick="javascript:pageTracker._trackPageview ('/outbound/ant.apache.org');">Ant</a> build script.</p>
<p align="left">We have developed a versioning scheme (inspired by http://geekswithblogs.net/emanish/archive/2006/09/25/92219.aspx) for our releases where our release are named &lt;major&gt;.&lt;minor&gt;.&lt;revision&gt;.&lt;build&gt;. So a valid build number might be 1.18.2.1077. This means it belongs to the first major release of the software, the eighteenth minor version, it is the second attempt at a release for this minor version (usually bug fixes), and it is related to the SVN revision number 1077. Any time we are doing a build we are tagging in our Subversion repository to keep the build number tied to the tag. When I build a release, I want my artifacts to look like to look like this: app-1.18.2.1077.ear.</p>
<p align="left">There are a few ways to do this, One way that I considered was to just include a property or Subversion tag in the build.properties file. But I did not want to maintain it and I have always loathed the auto tags that were available in CVS.</p>
<p align="left">My second option was to use the &lt;svn&gt; Ant task. While this will probably work, I have varying degrees of success using the Java SVN library, especially when connecting to Subversion over SSH as we are doing for this application.</p>
<p align="left">So, I decided to go with using the task in conjunction with <em> svn info</em> and <em>svnversion</em> to set the full.build.version property to the current release number.  This assumes that the repository checked out is of the format <em>svn://REPO_NAME/tags/&lt;MAJOR&gt;.&lt;MINOR&gt;.&lt;REVISION&gt;</p>
<pre>
&lt;exec outputproperty=&quot;build.current.revision&quot; executable=&quot;svnversion&quot;&gt;
         &lt;arg line="-n -c" /&gt;
         &lt;redirector&gt;
           &lt;outputfilterchain&gt;
             &lt;tokenfilter&gt;
                 &lt;replaceregex pattern="^[0-9]*:?" replace="" flags="g"/&gt;
             &lt;/tokenfilter&gt;
          &lt;/outputfilterchain&gt;
        &lt;/redirector>
&lt;/exec&gt;
&lt;exec outputproperty=&quot;build.current.version&quot; executable=&quot;svn&quot;&gt;
  &lt;arg line=&quot;info&quot; /&gt;
  &lt;redirector&gt;
  &lt;outputfilterchain&gt;
  &lt;linecontainsregexp&gt;&lt;regexp pattern=&quot;^URL:&quot; /&gt;&lt;/linecontainsregexp&gt;
   &lt;tokenfilter&gt;
     &lt;replaceregex pattern=&quot;.*\/([^\/]+)$&quot; replace=&quot;\1&quot; flags=&quot;g&quot;/&gt;
   &lt;/tokenfilter&gt;
  &lt;/outputfilterchain&gt;
&lt;/redirector&gt;
&lt;/exec&gt;

&lt;property name=&quot;full.build.version&quot; value=&quot;${build.current.version}.${build.current.revision}&quot; /&gt;</pre>
<p>I&#8217;m sure that I could have gotten the revision from the svn info rather than svnversion, saving a command, but I wasn&#8217;t inspired enough to do it.  Maybe when I have more time.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d45').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d45" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/&amp;title=Creating+a+Build+Number+With+Ant+and+Subversion" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/&amp;title=Creating+a+Build+Number+With+Ant+and+Subversion" title="Add to&nbsp;digg"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Creating+a+Build+Number+With+Ant+and+Subversion&amp;url=http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/&amp;title=Creating+a+Build+Number+With+Ant+and+Subversion" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://feedmelinks.com/categorize?from=toolbar&amp;op=submit&amp;name=Creating+a+Build+Number+With+Ant+and+Subversion&amp;url=http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/&amp;version=0.7" title="Add to&nbsp;Feed Me Links"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/feedmelinks.png" title="Add to&nbsp;Feed Me Links" alt="Add to&nbsp;Feed Me Links" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/&amp;title=Creating+a+Build+Number+With+Ant+and+Subversion" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/&amp;title=Creating+a+Build+Number+With+Ant+and+Subversion&amp;description=Creating+a+Build+Number+With+Ant+and+Subversion" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/&amp;title=Creating+a+Build+Number+With+Ant+and+Subversion" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/&amp;title=Creating+a+Build+Number+With+Ant+and+Subversion" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/&amp;title=Creating+a+Build+Number+With+Ant+and+Subversion" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.squidoo.com/lensmaster/bookmark?http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/" title="Add to&nbsp;Squidoo"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/squidoo.png" title="Add to&nbsp;Squidoo" alt="Add to&nbsp;Squidoo" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.spurl.net/spurl.php?url=http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/&amp;title=Creating+a+Build+Number+With+Ant+and+Subversion" title="Add to&nbsp;Spurl"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/spurl.png" title="Add to&nbsp;Spurl" alt="Add to&nbsp;Spurl" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://tailrank.com/share/?title=Creating+a+Build+Number+With+Ant+and+Subversion&amp;link_href=http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/" title="Add to&nbsp;Tailrank"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/tailrank.png" title="Add to&nbsp;Tailrank" alt="Add to&nbsp;Tailrank" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d45').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.innovationontherun.com/creating-a-build-number-with-ant-and-subversion/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Integrating Cached Content with Apache and JBoss</title>
		<link>http://www.innovationontherun.com/integrating-cached-content-with-apache-and-jboss/</link>
		<comments>http://www.innovationontherun.com/integrating-cached-content-with-apache-and-jboss/#comments</comments>
		<pubDate>Sat, 26 Jan 2008 05:25:50 +0000</pubDate>
		<dc:creator>Rob Di Marco</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.innovationontherun.com/integrating-cached-content-with-apache-and-jboss/</guid>
		<description><![CDATA[One of my clients is a large e-commerce company (&#62;$500MMin annual revenuse through their website). They use Akamai for caching some of their image data, but some of the other images are served off of their server. They are trying to minimize the load on their JBoss instances and wanted to have Apache serve the [...]]]></description>
			<content:encoded><![CDATA[<p align="left">One of my clients is a large e-commerce company (&gt;$500MMin annual revenuse through their website). They use Akamai for caching some of their image data, but some of the other images are served off of their server. They are trying to minimize the load on their JBoss instances and wanted to have Apache serve the static content when possible while JBoss handled the dynamic content. Both Apache and JBoss were running on the same Linux server.</p>
<p align="left">This is a problem that I have faced a couple of times and every time I spend a few hours futzing with Apache configurations trying to get this to work. So I figure I should post the basic solution and never have to look hard for it again. Also, if someone has better suggestions, let me know.</p>
<p align="left">
<h1>Step 1: Activate the Requisite Modules</h1>
<p align="left">I use four modules for getting this to work</p>
<ul>
<li><a href="http://httpd.apache.org/docs/2.0/mod/mod_alias.html" onclick="javascript:pageTracker._trackPageview ('/outbound/httpd.apache.org');">mod_alias</a></li>
<li><a href="http://httpd.apache.org/docs/2.0/mod/mod_proxy.html" onclick="javascript:pageTracker._trackPageview ('/outbound/httpd.apache.org');">mod_proxy</a></li>
<li><a href="http://httpd.apache.org/docs/2.0/mod/mod_proxy_http.html" onclick="javascript:pageTracker._trackPageview ('/outbound/httpd.apache.org');">mod_proxy_http</a></li>
<li><a href="http://httpd.apache.org/docs/2.0/mod/mod_rewrite.html" onclick="javascript:pageTracker._trackPageview ('/outbound/httpd.apache.org');">mod_rewrite</a></li>
</ul>
<p>Make sure these are activated in your configuration<br />
<h1>Step 2: Setting Up The Static Content</h1>
<p align="left">First step is to set up a directory location that will ahve the content. In my example, I am dealing with an exploded EAR in the Jboss home directory. This results in a configuration like</p>
<pre>
#
# Configure the static content directory and alias.  This is pointing at the cache
# file directory
# 

Alias /static-content/ &quot;/usr/local/jboss/cache/app&quot; 

#
# Do not allow any overriding from within the cache directory. #
&lt;directory /usr/local/jboss/cache/app&quot; &gt;
  Options None
  AllowOverride None
  Order allow,deny
  Allow from all
&lt;/directory&gt;
</pre>
<p align="left">Step 3: Set up the rewrite rules</p>
<p align="left">
<pre>
#
#  Rewrite all static content  to be served from the
#  static content directory
#
&lt;IfModule mod_rewrite.c&lt;
    RewriteEngine on 

    #
    # Setup the static content rule.  Any file that comes in that# we have on the filesystem, we should serve from there.
    #
    # We want this to be the last rule processed if we meet the conditions
    # and we need to pass through so that the static-content alias works.
    #
    RewriteCond /usr/local/jboss/cache/app/%{REQUEST_FILENAME} -f
    RewriteRule ^/?(.*)$ /static-content/$1 [L,PT]
&lt;/IfModule&gt; 

&lt;IfModule mod_proxy.c&gt;

# No need to forward proxy
ProxyRequests Off 

# Make sure we clean up the headers
# you may also wish to use the mod_proxy_ajp to proxy
# over the ajp protocol

  ProxyPassReverse / http://localhost:8080/ 

# Needed to maintain proper host information
  ProxyPreserveHost On
&lt;/IfModule&gt; </pre>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d44').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d44" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.innovationontherun.com/integrating-cached-content-with-apache-and-jboss/&amp;title=Integrating+Cached+Content+with+Apache+and+JBoss" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.innovationontherun.com/integrating-cached-content-with-apache-and-jboss/&amp;title=Integrating+Cached+Content+with+Apache+and+JBoss" title="Add to&nbsp;digg"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Integrating+Cached+Content+with+Apache+and+JBoss&amp;url=http://www.innovationontherun.com/integrating-cached-content-with-apache-and-jboss/&amp;title=Integrating+Cached+Content+with+Apache+and+JBoss" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.innovationontherun.com/integrating-cached-content-with-apache-and-jboss/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://feedmelinks.com/categorize?from=toolbar&amp;op=submit&amp;name=Integrating+Cached+Content+with+Apache+and+JBoss&amp;url=http://www.innovationontherun.com/integrating-cached-content-with-apache-and-jboss/&amp;version=0.7" title="Add to&nbsp;Feed Me Links"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/feedmelinks.png" title="Add to&nbsp;Feed Me Links" alt="Add to&nbsp;Feed Me Links" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.innovationontherun.com/integrating-cached-content-with-apache-and-jboss/&amp;title=Integrating+Cached+Content+with+Apache+and+JBoss" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.innovationontherun.com/integrating-cached-content-with-apache-and-jboss/&amp;title=Integrating+Cached+Content+with+Apache+and+JBoss&amp;description=Integrating+Cached+Content+with+Apache+and+JBoss" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.innovationontherun.com/integrating-cached-content-with-apache-and-jboss/&amp;title=Integrating+Cached+Content+with+Apache+and+JBoss" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.innovationontherun.com/integrating-cached-content-with-apache-and-jboss/&amp;title=Integrating+Cached+Content+with+Apache+and+JBoss" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.innovationontherun.com/integrating-cached-content-with-apache-and-jboss/&amp;title=Integrating+Cached+Content+with+Apache+and+JBoss" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.squidoo.com/lensmaster/bookmark?http://www.innovationontherun.com/integrating-cached-content-with-apache-and-jboss/" title="Add to&nbsp;Squidoo"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/squidoo.png" title="Add to&nbsp;Squidoo" alt="Add to&nbsp;Squidoo" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.spurl.net/spurl.php?url=http://www.innovationontherun.com/integrating-cached-content-with-apache-and-jboss/&amp;title=Integrating+Cached+Content+with+Apache+and+JBoss" title="Add to&nbsp;Spurl"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/spurl.png" title="Add to&nbsp;Spurl" alt="Add to&nbsp;Spurl" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://tailrank.com/share/?title=Integrating+Cached+Content+with+Apache+and+JBoss&amp;link_href=http://www.innovationontherun.com/integrating-cached-content-with-apache-and-jboss/" title="Add to&nbsp;Tailrank"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/tailrank.png" title="Add to&nbsp;Tailrank" alt="Add to&nbsp;Tailrank" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.innovationontherun.com/integrating-cached-content-with-apache-and-jboss/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d44').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.innovationontherun.com/integrating-cached-content-with-apache-and-jboss/feed/</wfw:commentRss>
		</item>
		<item>
		<title>My Latest Job Title</title>
		<link>http://www.innovationontherun.com/my-latest-job-title/</link>
		<comments>http://www.innovationontherun.com/my-latest-job-title/#comments</comments>
		<pubDate>Sat, 26 Jan 2008 02:53:26 +0000</pubDate>
		<dc:creator>Rob Di Marco</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

		<guid isPermaLink="false">http://www.innovationontherun.com/my-latest-job-title/</guid>
		<description><![CDATA[Recently I&#8217;ve been doing a lot of different jobs:

President of my own company, 416 Software
Adjunct Professor for Penn State
Interim VP of Engineering for an unnamed startup doing cool things with email
Build/Release/JBoss Expert
General Software Consultant

but for my latest title&#8230;.
Management Consultant.
Good to know someone takes my ranting seriously!


Bookmark to:


















Hide Sites



]]></description>
			<content:encoded><![CDATA[<p>Recently I&#8217;ve been doing a lot of different jobs:</p>
<ul>
<li>President of my own company, 416 Software</li>
<li>Adjunct Professor for Penn State</li>
<li>Interim VP of Engineering for an unnamed startup doing cool things with email</li>
<li>Build/Release/JBoss Expert</li>
<li>General Software Consultant</li>
</ul>
<p>but for my latest title&#8230;.</p>
<p><a href="http://hrdailyadvisor.blr.com/archive/2008/01/23/Ruining_Morale_HR_Anti_Patterns_Retention_Management.aspx" onclick="javascript:pageTracker._trackPageview ('/outbound/hrdailyadvisor.blr.com');">Management Consultant</a>.</p>
<p>Good to know someone takes my ranting seriously!</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d43').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d43" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.innovationontherun.com/my-latest-job-title/&amp;title=My+Latest+Job+Title" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.innovationontherun.com/my-latest-job-title/&amp;title=My+Latest+Job+Title" title="Add to&nbsp;digg"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=My+Latest+Job+Title&amp;url=http://www.innovationontherun.com/my-latest-job-title/&amp;title=My+Latest+Job+Title" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.innovationontherun.com/my-latest-job-title/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://feedmelinks.com/categorize?from=toolbar&amp;op=submit&amp;name=My+Latest+Job+Title&amp;url=http://www.innovationontherun.com/my-latest-job-title/&amp;version=0.7" title="Add to&nbsp;Feed Me Links"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/feedmelinks.png" title="Add to&nbsp;Feed Me Links" alt="Add to&nbsp;Feed Me Links" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.innovationontherun.com/my-latest-job-title/&amp;title=My+Latest+Job+Title" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.innovationontherun.com/my-latest-job-title/&amp;title=My+Latest+Job+Title&amp;description=My+Latest+Job+Title" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.innovationontherun.com/my-latest-job-title/&amp;title=My+Latest+Job+Title" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.innovationontherun.com/my-latest-job-title/&amp;title=My+Latest+Job+Title" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.innovationontherun.com/my-latest-job-title/&amp;title=My+Latest+Job+Title" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.squidoo.com/lensmaster/bookmark?http://www.innovationontherun.com/my-latest-job-title/" title="Add to&nbsp;Squidoo"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/squidoo.png" title="Add to&nbsp;Squidoo" alt="Add to&nbsp;Squidoo" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.spurl.net/spurl.php?url=http://www.innovationontherun.com/my-latest-job-title/&amp;title=My+Latest+Job+Title" title="Add to&nbsp;Spurl"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/spurl.png" title="Add to&nbsp;Spurl" alt="Add to&nbsp;Spurl" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://tailrank.com/share/?title=My+Latest+Job+Title&amp;link_href=http://www.innovationontherun.com/my-latest-job-title/" title="Add to&nbsp;Tailrank"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/tailrank.png" title="Add to&nbsp;Tailrank" alt="Add to&nbsp;Tailrank" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.innovationontherun.com/my-latest-job-title/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d43').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.innovationontherun.com/my-latest-job-title/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Philly JUG Presentation on Using JRuby</title>
		<link>http://www.innovationontherun.com/philly-jug-presentation-on-using-jruby/</link>
		<comments>http://www.innovationontherun.com/philly-jug-presentation-on-using-jruby/#comments</comments>
		<pubDate>Wed, 24 Oct 2007 10:43:45 +0000</pubDate>
		<dc:creator>Rob Di Marco</dc:creator>
		
		<category><![CDATA[Software Development]]></category>

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

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

		<guid isPermaLink="false">http://www.innovationontherun.com/philly-jug-presentation-on-using-jruby/</guid>
		<description><![CDATA[Last night I presented an Introduction to JRuby at the Philadelphia Java Users Group.&#160; My goal was to introduce Java programmers to Ruby and&#160;get them to how features of the language allowed for functionality and code structure that is not possible in Java alone.&#160; While I did talk about Rails at the end, my point [...]]]></description>
			<content:encoded><![CDATA[<p>Last night I presented an Introduction to JRuby at the <a href="http://phillyjug.jsync.com" onclick="javascript:pageTracker._trackPageview ('/outbound/phillyjug.jsync.com');">Philadelphia Java Users Group</a>.&nbsp; My goal was to introduce Java programmers to Ruby and&nbsp;get them to how features of the language allowed for functionality and code structure that is not possible in Java alone.&nbsp; While I did talk about Rails at the end, my point was to get the developers to understand that the meta-programming functionality in Ruby allows for both plugin develeropers and users of Rails to extend and improve the base platform in many interesting ways.
<p>Probably my favorite example was an expansion on a previous blog post about using <a href="/scraping-dynamic-websites-using-jruby-and-htmlunit/">JRuby and HtmlUnit</a>.&nbsp; In the presentation, I created a simple Domain Specific Language on top of the great HtmlUnit library to allow for simple parsing of pages with content in JavaScript.&nbsp; This was a great example of how JRuby can be used to take advantage of both Java and Ruby
<p>The presentation is available at <a href="http://www.innovationontherun.com/presentation-files/Introduction%20to%20JRuby-10-23-2007.pdf">http://www.innovationontherun.com/presentation-files/Introduction%20to%20JRuby-10-23-2007.pdf</a>&nbsp;and the associated source code can be found at <a href="http://www.innovationontherun.com/presentation-files/JRuby-JUG.zip">http://www.innovationontherun.com/presentation-files/JRuby-JUG.zip</a>.&nbsp; If you are looking at the source code, start with the file ABOUT.txt.&nbsp; It describes the prerequisites needed to get the code to run and the order of the listed files follows the order that they were used in the presentation.
<p>If you have questions or comments, feel free to <a href="http://www.innovationontherun.com/contact/">send me an email</a>.</p>
<!-- Social Bookmarks BEGIN -->
<div class="social_bookmark">
<a title="Click me to see the sites." href="#" onclick="$$('div.d42').each( function(e) { e.visualEffect('slide_down',{duration:2.5}) }); return false;"><strong><em>Bookmark to:</em></strong></a>
<br />
<div class="d42" style="overflow:hidden">
<br />
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://del.icio.us/post?url=http://www.innovationontherun.com/philly-jug-presentation-on-using-jruby/&amp;title=Philly+JUG+Presentation+on+Using+JRuby" title="Add to&nbsp;Del.icio.us"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/delicious.png" title="Add to&nbsp;Del.icio.us" alt="Add to&nbsp;Del.icio.us" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://digg.com/submit?phase=2&amp;url=http://www.innovationontherun.com/philly-jug-presentation-on-using-jruby/&amp;title=Philly+JUG+Presentation+on+Using+JRuby" title="Add to&nbsp;digg"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/digg.png" title="Add to&nbsp;digg" alt="Add to&nbsp;digg" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.dzone.com/links/add.html?description=Philly+JUG+Presentation+on+Using+JRuby&amp;url=http://www.innovationontherun.com/philly-jug-presentation-on-using-jruby/&amp;title=Philly+JUG+Presentation+on+Using+JRuby" title="Add to&nbsp;DZone"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/dzone.png" title="Add to&nbsp;DZone" alt="Add to&nbsp;DZone" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.facebook.com/sharer.php?u=http://www.innovationontherun.com/philly-jug-presentation-on-using-jruby/" title="Add to&nbsp;Facebook"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/facebook.png" title="Add to&nbsp;Facebook" alt="Add to&nbsp;Facebook" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://feedmelinks.com/categorize?from=toolbar&amp;op=submit&amp;name=Philly+JUG+Presentation+on+Using+JRuby&amp;url=http://www.innovationontherun.com/philly-jug-presentation-on-using-jruby/&amp;version=0.7" title="Add to&nbsp;Feed Me Links"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/feedmelinks.png" title="Add to&nbsp;Feed Me Links" alt="Add to&nbsp;Feed Me Links" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.google.com/bookmarks/mark?op=edit&amp;output=popup&amp;bkmk=http://www.innovationontherun.com/philly-jug-presentation-on-using-jruby/&amp;title=Philly+JUG+Presentation+on+Using+JRuby" title="Add to&nbsp;Google Bookmarks"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/google.png" title="Add to&nbsp;Google Bookmarks" alt="Add to&nbsp;Google Bookmarks" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://ma.gnolia.com/bookmarklet/add?url=http://www.innovationontherun.com/philly-jug-presentation-on-using-jruby/&amp;title=Philly+JUG+Presentation+on+Using+JRuby&amp;description=Philly+JUG+Presentation+on+Using+JRuby" title="Add to&nbsp;Ma.gnolia"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/magnolia.png" title="Add to&nbsp;Ma.gnolia" alt="Add to&nbsp;Ma.gnolia" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://reddit.com/submit?url=http://www.innovationontherun.com/philly-jug-presentation-on-using-jruby/&amp;title=Philly+JUG+Presentation+on+Using+JRuby" title="Add to&nbsp;reddit"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/reddit.png" title="Add to&nbsp;reddit" alt="Add to&nbsp;reddit" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://slashdot.org/bookmark.pl?url=http://www.innovationontherun.com/philly-jug-presentation-on-using-jruby/&amp;title=Philly+JUG+Presentation+on+Using+JRuby" title="Add to&nbsp;Slashdot"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/slashdot.png" title="Add to&nbsp;Slashdot" alt="Add to&nbsp;Slashdot" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.stumbleupon.com/submit.php?url=http://www.innovationontherun.com/philly-jug-presentation-on-using-jruby/&amp;title=Philly+JUG+Presentation+on+Using+JRuby" title="Add to&nbsp;Stumble Upon"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/stumbleupon.png" title="Add to&nbsp;Stumble Upon" alt="Add to&nbsp;Stumble Upon" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.squidoo.com/lensmaster/bookmark?http://www.innovationontherun.com/philly-jug-presentation-on-using-jruby/" title="Add to&nbsp;Squidoo"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/squidoo.png" title="Add to&nbsp;Squidoo" alt="Add to&nbsp;Squidoo" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.spurl.net/spurl.php?url=http://www.innovationontherun.com/philly-jug-presentation-on-using-jruby/&amp;title=Philly+JUG+Presentation+on+Using+JRuby" title="Add to&nbsp;Spurl"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/spurl.png" title="Add to&nbsp;Spurl" alt="Add to&nbsp;Spurl" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://tailrank.com/share/?title=Philly+JUG+Presentation+on+Using+JRuby&amp;link_href=http://www.innovationontherun.com/philly-jug-presentation-on-using-jruby/" title="Add to&nbsp;Tailrank"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/tailrank.png" title="Add to&nbsp;Tailrank" alt="Add to&nbsp;Tailrank" /></a>
<a onclick="window.open(this.href, '_blank', 'scrollbars=yes,menubar=no,height=600,width=750,resizable=yes,toolbar=no,location=no,status=no'); return false;" href="http://www.technorati.com/faves?add=http://www.innovationontherun.com/philly-jug-presentation-on-using-jruby/" title="Add to&nbsp;Technorati"><img class="social_img" src="http://www.innovationontherun.com/wp-content/plugins/social-bookmarks/images/technorati.png" title="Add to&nbsp;Technorati" alt="Add to&nbsp;Technorati" /></a>
<br />
<a style="font-size:90%;text-align: right; " title="Click me to hide the sites." href="#" onclick="$$('div.d42').each( function(e) { e.visualEffect('slide_up',{duration:0.5}) }); return false;">Hide Sites</a>
</div>
</div>
<!-- Social Bookmarks END -->
]]></content:encoded>
			<wfw:commentRss>http://www.innovationontherun.com/philly-jug-presentation-on-using-jruby/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
