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

<channel>
	<title>Ambient Ideas' Denver Dev &#187; Programming</title>
	<atom:link href="http://ambientideas.com/blog/index.php/tag/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://ambientideas.com/blog</link>
	<description>Matthew McCullough's insights on software development as co-founder of Ambient Ideas, LLC</description>
	<lastBuildDate>Wed, 21 Jul 2010 17:40:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>iBeans Screencast Launched</title>
		<link>http://ambientideas.com/blog/index.php/2010/05/ibeans-screencast-launched/</link>
		<comments>http://ambientideas.com/blog/index.php/2010/05/ibeans-screencast-launched/#comments</comments>
		<pubDate>Fri, 14 May 2010 20:15:52 +0000</pubDate>
		<dc:creator>Matthew McCullough</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[iBeans]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[OpenSource]]></category>

		<guid isPermaLink="false">http://ambientideas.com/blog/index.php/2010/05/ibeans-screencast-launched/</guid>
		<description><![CDATA[ In concert with my  NFJS Tour  talks on  MuleSoft iBeans , I've just released a  corresponding 15 minute video on writing an iBean  with a quick explanation of the motivations and syntax contributing to this  unique lighter-than-ESB platform . ]]></description>
			<content:encoded><![CDATA[<p>In concert with my <a href="http://www.nofluffjuststuff.com/conference/bloomington/2010/04/session?id=16972" target="_blank">NFJS Tour</a> talks on <a href="http://www.mulesoft.org/display/IBEANS/Home" target="_blank">MuleSoft iBeans</a>, I&#8217;ve just released a <a href="http://vimeo.com/11731925" target="_blank">corresponding 15 minute video on writing an iBean</a> with a quick explanation of the motivations and syntax contributing to this <a href="http://www.mulesoft.com/mulesoft-launches-ibeans-rapid-web-application-integration" target="_blank">unique lighter-than-ESB platform</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://ambientideas.com/blog/index.php/2010/05/ibeans-screencast-launched/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>iPad, iPhone Certified Developer Program &#8211; A Wild Idea</title>
		<link>http://ambientideas.com/blog/index.php/2010/05/ipad-iphone-certified-developer-program-a-wild-idea/</link>
		<comments>http://ambientideas.com/blog/index.php/2010/05/ipad-iphone-certified-developer-program-a-wild-idea/#comments</comments>
		<pubDate>Fri, 14 May 2010 20:10:51 +0000</pubDate>
		<dc:creator>Matthew McCullough</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Apple]]></category>
		<category><![CDATA[iPhone]]></category>

		<guid isPermaLink="false">http://ambientideas.com/blog/index.php/2010/05/ipad-iphone-certified-developer-program-a-wild-idea/</guid>
		<description><![CDATA[ As much as we (the Software Engineering industry) detest  testing and certification ,  Ben Ellingson  and I were wondering if it would be useful to have an  Apple iPhone skills-certified developer program .    The idea would be that a developer would pass a certain skills test and then be permitted to directly publish bug-fix updates to the store without the  usual review waiting period .  ]]></description>
			<content:encoded><![CDATA[<p>As much as we (the Software Engineering industry) detest <a href="http://www.secc.org.eg/" target="_blank">testing and certification</a>, <a href="http://benellingson.blogspot.com/" target="_blank">Ben Ellingson</a> and I were wondering if it would be useful to have an <a href="http://developer.apple.com/programs/iphone/" target="_blank">Apple iPhone skills-certified developer program</a>.  The idea would be that a developer would pass a certain skills test and then be permitted to directly publish bug-fix updates to the store without the <a href="http://www.macworld.com/article/134698/2008/07/app_store_developers.html" target="_blank">usual review waiting period</a>.  I realize this is controversial and further cements Apple&#8217;s importance in a software release process where many think they should not be involved.</p>
]]></content:encoded>
			<wfw:commentRss>http://ambientideas.com/blog/index.php/2010/05/ipad-iphone-certified-developer-program-a-wild-idea/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Updated Apache Tomcat Web Application Maven Archetypes via MuleSoft</title>
		<link>http://ambientideas.com/blog/index.php/2010/04/updated-apache-tomcat-web-application-maven-archetypes-via-mulesoft/</link>
		<comments>http://ambientideas.com/blog/index.php/2010/04/updated-apache-tomcat-web-application-maven-archetypes-via-mulesoft/#comments</comments>
		<pubDate>Fri, 30 Apr 2010 04:39:13 +0000</pubDate>
		<dc:creator>Matthew McCullough</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Maven]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Tomcat]]></category>

		<guid isPermaLink="false">http://ambientideas.com/blog/index.php/2010/04/updated-apache-tomcat-web-application-maven-archetypes-via-mulesoft/</guid>
		<description><![CDATA[Previously, the file named archetype.xml lived in the src/main/resources/META-INF/ directory,  then it was relocated to src/main/resources/META-INF/maven , and finally, in full modern 2.0 form, has been additionally  renamed to src/main/resources/META-INF/maven/archetype-metadata.xml .  

... Lastly, for those of you that prefer a video walkthrough of the usage of these two archetypes,  check out our screencast demo  that takes you from start to finish of working with these valuable new tools in the Maven, Tomcat, Tcat, and web application development ecosystems.]]></description>
			<content:encoded><![CDATA[<h1>MuleSoft Tomcat Web App Maven Archetypes</h1>
<p>I&#8217;m pleased to announce that MuleSoft and I have collaborated to freshen the world&#8217;s two most commonly used <a href="http://maven.apache.org/archetype/maven-archetype-plugin/" title="Archetypes Definition">Maven Web Application Archetypes</a>, the <em>maven-archetype-webapp</em> and the <em>wicket-archetype-quickstart</em>.</p>
<h2>The Motivations</h2>
<p>These two archetypes had fallen out of date, both in terms of using the new Archetype 2.0 style metadata, as well as in the dependencies on the third-party libraries such as JUnit.  Due to limited volunteer developer time, when the Maven Archetype developers <a href="http://svn.apache.org/viewvc/maven/archetype/branches/archetype-1.0.x/maven-archetype-bundles/" title="1.0 Branch">moved from the 1.0</a> to the <a href="http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-samples/" title="2.0 Branch">2.0 branch</a> many of the existing archetypes did not successfully make the transition.  Thus, the public was having to make do by using old versions of these archetypes.</p>
<h2>The Update</h2>
<p>Given MuleSoft&#8217;s and my keen interest in the <a href="http://www.mulesoft.com/understanding-apache-tomcat">Apache Tomcat</a> ecosystem, including the enterprise-strength <a href="http://www.mulesoft.com/tcat-server-enterprise-tomcat-application-server">Tcat</a> product, we set out to bring these two aging archetypes up to date.  We found that easiest to do under the very open <a href="http://admin.muleforge.org/projects/maven2">MuleForge repository</a> &amp; <a href="http://github.com/mulesoft/mulesoft-maven-archetypes">GitHub source code hosting</a> for the near term, but we will be <a href="http://svn.apache.org/viewvc/maven/archetype/trunk/archetype-common/src/main/resources/archetype-catalog.xml?view=log">submitting a patch</a> to get these improvements back into the <a href="http://svn.apache.org/viewvc/maven/archetype/trunk/" title="Archetype 2.0 Source Code">core archetypes at Apache</a> too.</p>
<h2>Contributing back to community</h2>
<p>A week into the effort, the &#8220;update&#8221; turned into a complete &#8220;rewrite&#8221; of the archetypes to reap all the benefits of the Maven Archetype Plugin&#8217;s version 2.0 features.</p>
<p>The metadata has dramatically changed between the Maven Archetype 1.0 and 2.0 versions of the plugin.  Previously, the file named archetype.xml lived in the src/main/resources/META-INF/ directory, <a href="http://svn.apache.org/viewvc?view=revision&amp;revision=932937">then it was relocated to src/main/resources/META-INF/maven</a>, and finally, in full modern 2.0 form, has been additionally <a href="http://github.com/mulesoft/mulesoft-maven-archetypes/blob/master/maven-archetype-wicket/src/main/resources/META-INF/maven/archetype-metadata.xml">renamed to src/main/resources/META-INF/maven/archetype-metadata.xml</a>.</p>
<p>Similarly, variables inside source files were updated to use the ${} notation, with <a href="http://svn.apache.org/viewvc/maven/archetype/branches/archetype-1.0.x/maven-archetype-bundles/maven-archetype-quickstart/src/main/resources/archetype-resources/src/main/java/App.java?view=markup">legacy elements like $package</a> <a href="http://github.com/mulesoft/mulesoft-maven-archetypes/blob/master/maven-archetype-wicket/src/main/resources/archetype-resources/src/main/java/WicketApplication.java">updated to ${package}</a>.</p>
<p>The poms for the archetypes were updated from the <a href="http://github.com/mulesoft/mulesoft-maven-archetypes/blob/master/maven-archetype-wicket/pom.xml">old archetype plugin</a> type to <a href="http://github.com/mulesoft/mulesoft-maven-archetypes/blob/master/maven-archetype-wicket/pom.xml">use the new 2.0 lifecycle extensions</a></p>
<p>The <a href="http://github.com/mulesoft/mulesoft-maven-archetypes">resultant archetype code is hosted at GitHub</a> for easy viewing, consumption, technical review and forking.  We&#8217;d love to <a href="http://github.com/mulesoft/mulesoft-maven-archetypes/issues">get your input and improvements</a>!</p>
<p>These two archetypes now represent the most pristine use of the Maven Archetype Plugin v2.0 format.</p>
<h2>Integration Tests</h2>
<p>We didn&#8217;t want to stop at just updating the archetypes though.  We wanted to make them better.  So one of the most obvious ways to do that was through adding integration tests.  I can&#8217;t tell you how often I get asked for a good example of leveraging the <a href="http://maven.apache.org/guides/introduction/introduction-to-the-lifecycle.html#Lifecycle_Reference">Maven pre-integration-test and post-integration-test lifecycle events</a>.  Up until now, I&#8217;ve been relatively empty handed to respond to this request, but finally we have some reference examples.</p>
<p>These lifecycles are now <a href="http://github.com/mulesoft/mulesoft-maven-archetypes/blob/master/maven-archetype-wicket/pom.xml">bound to the redeployment and undeployment of the web application artifact (WAR) and the execution of a JWebUnit integration test</a> that exercises and validates the home page on each of the JSP and Wicket flavors of web application.</p>
<h2>Instructions for Use</h2>
<p>We&#8217;ve built a wiki page showcasing the usage of this <a href="http://www.mulesoft.org/display/TCAT/MuleSoft+Tcat+Archetypes">archetype</a> which we also invite you to review and improve.  In short, you can inform Maven of the new archetype catalog via a quick execution of:</p>
<pre><code>mvn archetype:generate -DarchetypeCatalog=http://dist.muleforge.org/maven2/
</code></pre>
<p>Lastly, for those of you that prefer a video walkthrough of the usage of these two archetypes, <a href="http://www.youtube.com/watch?v=T7b4DgghZQ4">check out our screencast demo</a> that takes you from start to finish of working with these valuable new tools in the Maven, Tomcat, Tcat, and web application development ecosystems.</p>
<h2>Future Goals</h2>
<p>Like all good developers, we are always looking towards the next iteration, just as the current ones are drawing to successful close.  In the next release of these archetypes, or perhaps in supplemental sibling instances, we&#8217;re exploring:</p>
<ol>
<li>A zero-footprint, embedded <a href="http://www.mulesoft.com/download-tcat-server-enterprise-tomcat">Tcat installation</a> that can be retrieved from a Maven repository.</li>
<li>Profiles to allow for the integration tests to be selectively executed in a local or embedded Tomcat or Tcat installation, possibly auto-detected to activate the proper profile.</li>
<li>Support for Maven provisioning of completed artifacts into <a href="http://www.mulesoft.com/tcat-server-tomcat-administration-console">Tcat server groups</a>.</li>
</ol>
<h2>OSS Thanks</h2>
<p>In closing, we want to thank the <a href="http://tomcat.apache.org/">Tomcat community</a> for founding such a great product and the Maven community for planting the seeds of these new archetypes.  Java web application development is at its current fevered pitch, thanks, in large part, to these excellent tools and their communities.</p>
]]></content:encoded>
			<wfw:commentRss>http://ambientideas.com/blog/index.php/2010/04/updated-apache-tomcat-web-application-maven-archetypes-via-mulesoft/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>A Set of Exciting Conferences</title>
		<link>http://ambientideas.com/blog/index.php/2010/04/a-set-of-exciting-conferences/</link>
		<comments>http://ambientideas.com/blog/index.php/2010/04/a-set-of-exciting-conferences/#comments</comments>
		<pubDate>Sun, 04 Apr 2010 21:42:46 +0000</pubDate>
		<dc:creator>Matthew McCullough</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Presenting]]></category>

		<guid isPermaLink="false">http://ambientideas.com/blog/index.php/2010/04/a-set-of-exciting-conferences/</guid>
		<description><![CDATA[I'll be speaking on a range of topics from  iPhone Development for Java Programmers all the way to Dividing and Conquering large datasets with Hadoop .  

...I'm looking forward to meeting up with a lot of the audience members that I had delicious breakfasts, lunches and dinners with in 2009 in the cities where the tour visits.]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m enjoying the privilege of being invited to several large conferences across the globe in 2010.  Let me give you a brief overview of these exciting just-attended and upcoming venues&#8230;</p>
<h2 style="clear:left">
<a href="http://www.scandevconf.se/"><img src="http://ambientideas.com/blog/wp-content/uploads/2010/04/sdc-2010-logo1.png" width="171" height="88" alt="Scandinavian Developer Conference" style="float:left;margin-top:5px; margin-right:5px; margin-bottom:5px; margin-left:5px;"/></a><br />
Scandinavian Developer Conference</h2>
<p>
I just wrapped up giving my well heeled <a href="http://www.slideshare.net/matthewmccullough/open-source-debugging-for-java-140">Open Source Debugging for Java talk</a> to the wonderful folks at the <a href="http://www.scandevconf.se/">2010 Scandinavian Developer Conference in Göteborg, Sweden</a>.  Tomas and Lennart were the most wonderful conference hosts and the speaker dinner was world class.  The conference was around 700 strong this year, which broke through expectations of growth from 2009.  That showcases what a polished event <a href="http://www.iptor.com/" target="_blank">Iptor</a> hosts.</p>
<p>Many stateside colleagues joined me on this trip, including <a href="http://www.augusttechgroup.com/tim/blog/">Tim Berglund</a>, <a href="http://virtual-genius.com">Paul Rayner</a>, and <a href="http://ntschutta.com/jat/">Nate Scutta</a>.</p>
<h2 style="clear:left">
<a href="http://www.devmarch.com/developersummit/"><br />
<img src="http://ambientideas.com/blog/wp-content/uploads/2010/04/GIDS2010_MatthewMcCullough1.gif" width="100" height="150" alt="Matthew McCullough at GIDS" style="float:left;margin-top:5px; margin-right:75px; margin-bottom:5px; margin-left:5px;"/></a><br />
Great Indian Developer Summit</h2>
<p>
Next, I&#8217;m looking forward to the <a href="http://www.devmarch.com/developersummit/">Great Indian Developer&#8217;s Summit</a> in just a few short days from now.  I&#8217;ll be speaking on a range of topics from <a href="http://www.devmarch.com/developersummit/speakers.html" target="_blank">iPhone Development for Java Programmers all the way to Dividing and Conquering large datasets with Hadoop</a>.  I&#8217;ve already been impressed by the helpfulness of the <a href="http://saltmarch.com/">Saltmarch</a> hosts, Usha Karen and Dilip Thomas.</p>
<h2 style="clear:left">
<a href="http://epicenter.ie/2010.html"><br />
<img src="http://ambientideas.com/blog/wp-content/uploads/2010/04/Screenshot-2010-04-04-at-3.13.33-PM.png" width="171" height="101" alt="Epicenter, The Irish Software Show" style="float:left;margin-top:5px; margin-right:5px; margin-bottom:5px; margin-left:5px;" /></a><br />
Epicenter</h2>
<p>
In June, I&#8217;ve been invited to the green landscape of <a href="http://epicenter.ie/2010.html">Dublin, Ireland to present at Epicenter</a>.  I&#8217;ll be speaking on iPhone development for Java Programmers once again (a topic I&#8217;m passionate and knowledgeable about) in addition to Encryption on the JVM.</p>
<h2 style="clear:left">
<a href="http://uberconf.com/conference/denver/2010/06/home"><br />
<img src="http://ambientideas.com/blog/wp-content/uploads/2010/04/UberConf_125x125_speaking1.png" width="125" height="125" alt="UberConf" style="float:left;margin-top:5px; margin-right:50px; margin-bottom:5px; margin-left:5px;"/></a><br />
UberConf</h2>
<p>
Just one day after returning from Epicenter, I&#8217;ll be speaking for four days in my hometown of Denver, Colorado at the <a href="http://uberconf.com/conference/denver/2010/06/home">newly minted UberConf</a>.  It will be a weekday show with a very unique pre-conference workshop (boot camp) on iPad Development for Java Developers.  Ben Ellingson will be co-teaching this class with me.</p>
<p>There will be over 100 sessions at this unique conference, which is scale-tipping for an NFJS branded event.  There are even registration levels that are all-inclusive, which works great for some corporately sponsored attendees.  These unique (and quite successful) packages bundle travel, hotel, meals, registration, and an iPad.  You&#8217;ll know your exact costs before you even take one step towards an airport.</p>
<h2 style="clear:left">
<a href="http://nofluffjuststuff.com"><br />
<img src="http://ambientideas.com/blog/wp-content/uploads/2010/04/NOFL_125x125-spkr_100217.jpg" width="125" height="125" alt="No Fluff Just Stuff Series" style="float:left;margin-top:5px; margin-right:50px; margin-bottom:5px; margin-left:5px;" /></a><br />
No Fluff Just Stuff Series</h2>
<p>
And lastly, I&#8217;ll continue to present at my favorite recurring conference series, the <a href="http://nofluffjuststuff.com">No Fluff Just Stuff</a> tour.  There are at least 15 more stops on the tour this year and I hope to hit most of them.  I&#8217;m looking forward to meeting up with a lot of the audience members that I had delicious breakfasts, lunches and dinners with in 2009 in the cities where the tour visits.</p>
]]></content:encoded>
			<wfw:commentRss>http://ambientideas.com/blog/index.php/2010/04/a-set-of-exciting-conferences/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>JavaZone 2009 Open Source Debugging Talk</title>
		<link>http://ambientideas.com/blog/index.php/2010/01/javazone-2009-open-source-debugging-talk/</link>
		<comments>http://ambientideas.com/blog/index.php/2010/01/javazone-2009-open-source-debugging-talk/#comments</comments>
		<pubDate>Wed, 27 Jan 2010 22:19:47 +0000</pubDate>
		<dc:creator>Matthew McCullough</dc:creator>
				<category><![CDATA[Presentations]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Presenting]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://ambientideas.com/blog/?p=211</guid>
		<description><![CDATA[My Open Source Debugging talk that I gave at JavaZone, Oslo, Norway last September is online]]></description>
			<content:encoded><![CDATA[<h1>Open Source Debugging in Norway</h1>
<p>My Open Source Debugging talk that I gave at <a href="http://jz09.java.no/">JavaZone, Oslo, Norway</a> last September is <a href="http://tcs.java.no/tcs/?id=091FCD40-999F-42D4-AA88-7833550B4D10">online and can be watched in Flash format</a> or <a href="http://tcs.java.no/tcs/data/O125330950506-17409488fl.mp4">downloaded as an M4V file</a>.  If you were not able to catch this talk at either <a href="http://jz09.java.no/">this venue</a>, or any of the <a href="http://www.nofluffjuststuff.com/conference/speaker/matthew_mccullough">many NoFluffJustStuff.com stops</a> that I gave this talk at last year, give it a try and <a href="mailto:matthewm@ambientideas.com">let me know what you think of it</a>.<br />
]]></content:encoded>
			<wfw:commentRss>http://ambientideas.com/blog/index.php/2010/01/javazone-2009-open-source-debugging-talk/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://tcs.java.no/tcs/data/O125330950506-17409488fl.mp4" length="183606848" type="video/mp4" />
		</item>
		<item>
		<title>AppleScript to Re-Apply Finder Comments</title>
		<link>http://ambientideas.com/blog/index.php/2010/01/applescript-to-re-apply-finder-comments/</link>
		<comments>http://ambientideas.com/blog/index.php/2010/01/applescript-to-re-apply-finder-comments/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 16:55:29 +0000</pubDate>
		<dc:creator>Matthew McCullough</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Debugging]]></category>
		<category><![CDATA[MacOS]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Scripting]]></category>

		<guid isPermaLink="false">http://ambientideas.com/blog/index.php/2010/01/applescript-to-re-apply-finder-comments/</guid>
		<description><![CDATA[...depending on the Mac-specific intelligence of your backup solution, or when copying files written by a 10.4 Mac, your Spotlight (Finder) Comments stored in the .DS_Store files might not survive the round trip.]]></description>
			<content:encoded><![CDATA[<h1>Finder Comments Lost</h1>
<p>When restoring from a backup, depending on the Mac-specific intelligence of your backup solution, or when copying files written by a 10.4 Mac, your Spotlight (Finder) Comments stored in the <a href="http://en.wikipedia.org/wiki/.DS_Store">.DS_Store files</a> might not survive the round trip.  You&#8217;ll first notice this by the fact that your comments field or column is completely empty for files you know you previously tagged or made comments on.</p>
<h2>Leopard, Snow Leopard Comment Storage</h2>
<p>Tiger and previous editions of Mac OSX store Spotlight comments in the .DS_Store file exclusively.  Leopard and Snow Leopard on the other hand, claim to maintain backwards compatibility by storing the <a href="http://ironicsoftware.com/community/comments.php?DiscussionID=344">Spotlight Comments in both</a> the .DS_Store and the new <a href="http://en.wikipedia.org/wiki/Extended_file_attributes">Extended File Attributes.</a>  I question this thinking though, because Mac OSX developer Steve Gehrman of the <a href="http://www.cocoatech.com/">awesome PathFinder team</a> says that Finder, while it <a href="http://news.softpedia.com/news/iRemove-DS-Store-Files-AppleScript-Eliminates-Tons-of-Fuss-124047.shtml">writes both formats</a>, still only reads back the .DS_Store ones.  It seems to me that Apple would have changed Finder to read from the newer Extended Attributes as soon as they started writing to those in duplicate.</p>
<blockquote><p>&#8220;On Mac OS X 10.4 Tiger, for example, .DS_Store files also contain the Spotlight comments of all the folder&#8217;s files, whereas Mac OS X 10.5 &#8220;Leopard&#8221; stores this information in Extended file attributes.&#8221;</p></blockquote>
<h2>Script Research</h2>
<p>Giving a tip of the hat to the similar-but-not-quite-what-I-wanted script that helped me get enough of the syntax working (using type <code>alias</code> instead of type <code>file</code> was tricky) get my own authored, I give you:</p>
<p>A <a href="http://www.macosxhints.com/article.php?story=20050614071122965">MacOSXHints article</a>, and the <a href="http://www.macosxhints.com/dlfiles/spotlight_comment_script.txt">corresponding code</a></p>
<p>    <script src="http://gist.github.com/285988.js?file=spotlight-flag-comments.scpt"></script></p>
<h2>The Solution</h2>
<p>To solve this extended attributes vs. .DS_Store discrepancy, we only need to read (from the extended attributes) and reapply (thereby recreating the .DS_Store) the same comment.  The solution is this AppleScript.  Just highlight the files needing the treatment in Finder, then execute this script from the AppleScript Editor.</p>
<p><script src="http://gist.github.com/285667.js?file=recomment.scpt"></script></p>
<p>The result is that Finder (which reads only the .DS_Store files) and PathFinder (which only reads the extended attributes) can both now see the Spotlight Comments.</p>
<h3>Extras</h3>
<p>If you would like your Mac to automatically clean up the .DS_Store files it writes out to flash sticks and network drives, <a href="http://zeroonetwenty.com/blueharvest/">check out BlueHarvest</a>, an interesting little utility app that fills this need.</p>
]]></content:encoded>
			<wfw:commentRss>http://ambientideas.com/blog/index.php/2010/01/applescript-to-re-apply-finder-comments/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>What&#8217;s the big deal about font choices in presentations?</title>
		<link>http://ambientideas.com/blog/index.php/2010/01/whats-the-big-deal-about-font-choices-in-presentations/</link>
		<comments>http://ambientideas.com/blog/index.php/2010/01/whats-the-big-deal-about-font-choices-in-presentations/#comments</comments>
		<pubDate>Wed, 20 Jan 2010 04:15:27 +0000</pubDate>
		<dc:creator>Matthew McCullough</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[Presenting]]></category>

		<guid isPermaLink="false">http://ambientideas.com/blog/index.php/2010/01/whats-the-big-deal-about-font-choices-in-presentations/</guid>
		<description><![CDATA[<p>Fonts, fonts, fonts. What's this obsession? For those of us that share a passion for making presentation materials as comprehensible as possible for our students, sandwiched right between a great story and great delivery is a great font.</p>
]]></description>
			<content:encoded><![CDATA[<h1>Fonts and Presentations</h1>
<p>Fonts, fonts, fonts. What&#8217;s this obsession? For those of us that share a passion for making presentation materials as comprehensible as possible for our students, sandwiched right between a great story and great delivery is a great font.</p>
<h2>Reviewing the list</h2>
<p>Once you&#8217;ve installed Microsoft Office, iWork, or Open Office, you&#8217;ll find that you&#8217;ve been granted a few (or possibly many) extra fonts installed into your operating system. This is a temptation you should approach carefully, just as you would the edge of a cliff. It is truly a time and design precipice you can fall off of into the abyss.</p>
<p>As you gradually approach this list of fonts, if you obsess over design like I do, you&#8217;ll let out an &#8220;Ooooooo&#8221; as if mesmerized by the quantity of selections you could make. A tool would be perfect here. Let me grant your wish with <a href="http://www.integrity.com/homes/tomandkaren/FontDoc/">FontDoc</a> for the Mac and <a href="http://www.nirsoft.net/utils/windows_fonts_viewer.html">WinFontsView</a> for Windows.</p>
<h2>Title versus Body</h2>
<p>Now, you have a tool to whittle that list of massive fonts down to size. Let me give you two facets that will chisel it down even further.</p>
<p>First, use a maximum of two Font Faces per presentation. I&#8217;ll allow for three if you make judicious use of a handwriting font.</p>
<p>One font should be interesting and story-relevant. It should mesh well with your photography and choice of color in the slides. I&#8217;d suggest you primarily use it for titles, strong statements and short phrases. It adds spice to your presentation. Feel the freedom to have fun with your title fonts. I&#8217;ve recently styled a presentation on Hadoop with an African theme. I used the <a href="http://www.fontspace.com/david-rakowski/tribeca">Tribeca</a> font in the title and custom rhinoceroses for the bullet points (yes, I used <em>some</em> bullets).</p>
<p>The second (primary) font should be highly legible. I can&#8217;t stress that enough. For the portions of your slide deck that people will need to read (and quickly, so they can return mental focus to you), <em>readability</em> is the critical point. I always suggest sticking with a very legible <a href="http://www.myinkblog.com/2009/04/19/10-awesome-free-sans-serif-fonts/">Sans Serif</a> font, as does Garr Reynolds of <a href="http://www.presentationzen.com/">Presentation Zen Design</a>.</p>
<p>I don&#8217;t always obey this rule of Sans Serif in the body, sometimes to my own peril. Fortunately, local audiences in Denver are kind, and remind me that I need to change it back.</p>
<p><em>Hello Verdana. Really, I didn&#8217;t mean to cheat on you! It was just that Aquiline showed up looking so stylish and I just couldn&#8217;t help it.</em></p>
<h2>The finalists</h2>
<p>The short list of Sans Serif fonts that I printed and put across the room is:</p>
<ul>
<li>Agenda</li>
<li>Arial</li>
<li>Bitstream</li>
<li>Calibri</li>
<li>Century Gothic</li>
<li>Franklin Gothic</li>
<li>Futura</li>
<li>Geneva</li>
<li>Gill Sans</li>
<li>Helvetica</li>
<li>Optima</li>
<li>Heiti</li>
<li>Trebuchet</li>
<li>Verdana</li>
</ul>
<p>I&#8217;d suggest you do the same. Also put them up on a projector if you have access to one. Do white font on black. Do black font on white. Notice the affect each font&#8217;s nuances have on legibility. Throw up some ranking numbers next to each. That&#8217;s precisely what I did. And I asked a few folks to give me their rankings too.</p>
<h2>The winner</h2>
<p><img src="http://upload.wikimedia.org/wikipedia/en/d/d4/Helvetica-film.JPG" width="339" height="500" alt="Helvetica, the Movie" style="float:right; border:1px #000000 solid;" /><br />
The variant that I (and my scientifically font-polled friends) love the most, is Helvetica Neue. The beautiful part is that it comes preinstalled on many systems these days, but can also be <a href="http://www.linotype.com/1266/neuehelvetica-family.html">purchased online</a> if you are on a OS or office suite that doesn&#8217;t include it.</p>
<p>In the life of a font, you know you&#8217;ve arrived when a <a href="http://en.wikipedia.org/wiki/Helvetica_%28film%29">movie is made about you</a>. Yes, a biographical movie about <a href="http://en.wikipedia.org/wiki/Helvetica">Helvetica</a>, the font named after Switzerland&#8217;s classical name.</p>
<p>Lest you think this is a factor of Steve Jobs and his Apple design shop, I&#8217;ll let you in on the secret that this predates the personal computer by several decades. Max Miedinger was the designer behind this font all the way back in 1958!</p>
<h2>Conclusion</h2>
<p>Give any of these Sans Serif fonts a try (but lean towards Helvetica!) in your next presentation and be sure to gather design <a href="http://speakerrate.com/">feedback from your audience</a>. I think you&#8217;ll be pleasantly surprised!</p>
<p><em>Shameless plug: Keep an eye out in 2010 for the <a href="http://PresentationPatterns.com">Presentation Patterns</a> book from Neal Ford, Matthew McCullough and Nate Schutta for a complete recipe book with easily digestible presentation improvement hors d&#8217;oeuvres like this one.</em></p>
]]></content:encoded>
			<wfw:commentRss>http://ambientideas.com/blog/index.php/2010/01/whats-the-big-deal-about-font-choices-in-presentations/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Presenting at the Great Indian Developers Summit</title>
		<link>http://ambientideas.com/blog/index.php/2009/12/presenting-at-the-great-indian-developers-summit/</link>
		<comments>http://ambientideas.com/blog/index.php/2009/12/presenting-at-the-great-indian-developers-summit/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 19:15:32 +0000</pubDate>
		<dc:creator>Matthew McCullough</dc:creator>
				<category><![CDATA[Presentations]]></category>
		<category><![CDATA[OpenSource]]></category>
		<category><![CDATA[Presenting]]></category>
		<category><![CDATA[Programming]]></category>

		<guid isPermaLink="false">http://ambientideas.com/blog/index.php/2009/12/presenting-at-the-great-indian-developers-summit/</guid>
		<description><![CDATA[<p>I'm very excited to announce I've been selected to present at the Great Indian Developers Summit in Bangalore, India in April. I just found out that my NFJS colleagues, Scott Davis and Venkat Subramaniam will be joining me there as well. It will be great to have familiar faces at this venue and to present to such a distinguished audience. <img src="http://ambientideas.com/blog/wp-content/uploads/2009/12/200912091207.jpg" width="326" height="95" alt="200912091207.jpg" /></p>
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m very excited to announce I&#8217;ve been selected to present at the <a href="http://www.devmarch.com/developersummit/speakers.html" target="_blank">Great Indian Developers Summit</a> in Bangalore, India in April. I just found out that my <a href="http://nofluffjuststuff.com" target="_blank">NFJS</a> colleagues, <a href="http://www.davisworld.org/" target="_blank">Scott Davis</a> and <a href="http://www.agiledeveloper.com/" target="_blank">Venkat Subramaniam</a> will be joining me there as well. It will be great to have familiar faces at this venue and to present to such a distinguished audience.</p>
<p>
<a href="http://www.devmarch.com/developersummit/speakers.html" target="_blank"><img src="http://ambientideas.com/blog/wp-content/uploads/2009/12/200912091207.jpg" width="326" height="95" alt="200912091207.jpg" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ambientideas.com/blog/index.php/2009/12/presenting-at-the-great-indian-developers-summit/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>My latest DZone RefCard on the Google App Engine has been released</title>
		<link>http://ambientideas.com/blog/index.php/2009/12/my-latest-dzone-refcard-on-the-google-app-engine-has-been-released/</link>
		<comments>http://ambientideas.com/blog/index.php/2009/12/my-latest-dzone-refcard-on-the-google-app-engine-has-been-released/#comments</comments>
		<pubDate>Wed, 09 Dec 2009 04:39:38 +0000</pubDate>
		<dc:creator>Matthew McCullough</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Database]]></category>
		<category><![CDATA[DZone]]></category>
		<category><![CDATA[GoogleAppEngine]]></category>
		<category><![CDATA[Java]]></category>
		<category><![CDATA[OpenSource]]></category>

		<guid isPermaLink="false">http://ambientideas.com/blog/index.php/2009/12/my-latest-dzone-refcard-on-the-google-app-engine-has-been-released/</guid>
		<description><![CDATA[<p>I'm excited to announce that my latest RefCard for DZone has been released. In a Q&#38;A session with Lyndsey Clevesy at DZone , I discuss the card's focus on helping developers get started with the Google App Engine for Java . The RefCard is intended to be a jumping off point and provides information about and links to the frameworks that now support GAE as well as external resources to help you dive deep if this new arena of cloud computing .</p>
]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m excited to announce that my <a href="http://refcardz.dzone.com/refcardz/google-app-engine-java" target="_blank">latest RefCard for DZone</a> has been released. In a <a href="http://java.dzone.com/articles/google-app-engine-java-matthew-mccullough" target="_blank">Q&amp;A session with Lyndsey Clevesy</a>, I discuss the card&#8217;s focus on helping developers get started with the <a href="http://appengine.google.com" target="_blank">Google App Engine for Java</a>.</p>
<p>The RefCard is intended to be a jumping off point and provides information about and links to the <a href="http://groups.google.com/group/google-appengine-java/web/will-it-play-in-app-engine" target="_blank">frameworks that now support GAE</a> as well as external resources to help you dive deep if this new arena of <a href="http://en.wikipedia.org/wiki/Cloud_computing" target="_blank">cloud computing</a>. Grab a copy and <a href="mailto:matthewm@ambientideas.com" target="_blank">send me feedback</a>.<a href="http://refcardz.dzone.com/refcardz/google-app-engine-java" target="_blank"><img src="http://farm3.static.flickr.com/2526/4171139150_997615e911_o_d.png" style="float:left;" width="300" height="250" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://ambientideas.com/blog/index.php/2009/12/my-latest-dzone-refcard-on-the-google-app-engine-has-been-released/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Encrypted SCM Passwords in Maven</title>
		<link>http://ambientideas.com/blog/index.php/2009/08/encrypted-scm-passwords-in-maven/</link>
		<comments>http://ambientideas.com/blog/index.php/2009/08/encrypted-scm-passwords-in-maven/#comments</comments>
		<pubDate>Fri, 28 Aug 2009 15:54:04 +0000</pubDate>
		<dc:creator>Matthew McCullough</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Maven]]></category>

		<guid isPermaLink="false">http://ambientideas.com/blog/index.php/2009/08/encrypted-scm-passwords-in-maven/</guid>
		<description><![CDATA[<p>A little late night hacking and I was able to get encrypted passwords to work in the Maven SCM plugin with Maven 2.2 based on the prodding of Kurt Tometich , an NFJS attendee, and his JIRA bug# SCM-495 . ... The Maven Mojo Developer Cookbook did offer a bit of insight (though syntactically off a bit on the container.getLookupRealm() ) on how to get a handle to the container and look up the security provider , DefaultSecDispatcher.java. [java] SecDispatcher sd = null; try { sd = (SecDispatcher)container.lookup( SecDispatcher.... The only interesting finding was how, instead of putting the decryption on the accessor (getter) of password from the settings data structure, it is put in each place it is attempted to be used (e.g. the Wagon "dispatcher", and now the SCM "dispatcher").</p>
]]></description>
			<content:encoded><![CDATA[<p>A little late night hacking and I was able to get encrypted passwords to work in the Maven SCM plugin with <a href="http://maven.apache.org/" target="_blank">Maven 2.2</a> based on the <a href="http://www.nabble.com/SCM-plugin-password-encryption-td24967285.html" target="_blank">prodding of Kurt Tometich</a>, an NFJS attendee, and <a href="http://jira.codehaus.org/browse/SCM-495" target="_blank">his JIRA bug# SCM-495</a>. Previously, this <a href="http://maven.apache.org/guides/mini/guide-encryption.html" target="_blank">encryption feature</a> only worked for Wagon providers (the connectors for uploading artifacts), not for SCM providers, contrary to some blog comments.</p>
<p>It was quite the effort. After a few minutes, I found the code in <a href="http://svn.apache.org/viewvc/maven/maven-2/branches/maven-2.2.x/maven-core/src/main/java/org/apache/maven/DefaultMaven.java?revision=798706" target="_blank">DefaultMaven.java</a> that performed the decryption. Now, I thought, &#8220;just implement a similar call in <a href="http://svn.apache.org/viewvc/maven/scm/trunk/maven-scm-plugin/src/main/java/org/apache/maven/scm/plugin/AbstractScmMojo.java?revision=731240&amp;pathrev=731240jo.java?revision=731240&amp;pathrev=731240" target="_blank">AbstractScmMojo.java</a> right?&#8221; I harbor a bit of angst for the fact that the JIRA isn&#8217;t Fisheye-connected to the source code repository, so finding the files changed for a given defect is much harder than it should be.</p>
<p>The <a href="http://docs.codehaus.org/display/MAVENUSER/Mojo+Developer+Cookbook" target="_blank">Maven Mojo Developer Cookbook</a> did offer a bit of insight (though syntactically off a bit on the <code>container.getLookupRealm()</code>) on how to get a handle to the container and look up the <a href="http://svn.sonatype.org/spice/trunk/plexus-sec-dispatcher/src/main/java/org/sonatype/plexus/components/sec/dispatcher/DefaultSecDispatcher.java" target="_blank">security provider</a>, DefaultSecDispatcher.java.</p>
<p>
<pre class="brush: java;">
SecDispatcher sd = null;

try {
  sd = (SecDispatcher)container.lookup( SecDispatcher.ROLE, &amp;amp;amp;quot;maven&amp;amp;amp;quot; );
}
</pre>
</p>
<p>There was even the fabled &#8220;java.lang.ClassCastException: org.sonatype.plexus.components.sec.dispatcher.DefaultSecDispatcher cannot be cast to org.sonatype.plexus.components.sec.dispatcher.DefaultSecDispatcher&#8221; at one point. Oh nuts. Not the classloader scoping issue, please&#8230;</p>
<p>The trick on the classloader is that the <a href="http://svn.sonatype.org/spice/trunk/plexus-sec-dispatcher/src/main/java/org/sonatype/plexus/components/sec/dispatcher/DefaultSecDispatcher.java" target="_blank">DefaultSecDispatcher</a> class is available via a dependency to plexus-sec-dispatcher, but also included (repackaged) in the Maven core distribution maven-2.2.0-uber.jar. So the SCM provider project&#8217;s dependency on <a href="http://repo1.maven.org/maven2/org/sonatype/plexus/plexus-sec-dispatcher/" target="_blank">plexus-sec-dispatcher</a> has to be scoped as &lt;provided&gt; for compilation of the <a href="http://maven.apache.org/scm/plugins/index.html" target="_blank">maven-scm-plugin</a>.</p>
<p>Lots of learning about the Maven code base occurred. The only interesting finding was how, instead of putting the decryption on the accessor (getter) of password from the settings data structure, it is put in each place it is attempted to be used (e.g. the Wagon &#8220;dispatcher&#8221;, and now the SCM &#8220;dispatcher&#8221;). I&#8217;ll bring up a refactoring of that with the Maven IRC folks&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://ambientideas.com/blog/index.php/2009/08/encrypted-scm-passwords-in-maven/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
