<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" media="screen" href="/~d/styles/rss2full.xsl"?><?xml-stylesheet type="text/css" media="screen" href="http://feeds.feedburner.com/~d/styles/itemcontent.css"?><rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:wfw="http://wellformedweb.org/CommentAPI/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:atom="http://www.w3.org/2005/Atom" xmlns:sy="http://purl.org/rss/1.0/modules/syndication/" xmlns:slash="http://purl.org/rss/1.0/modules/slash/" xmlns:feedburner="http://rssnamespace.org/feedburner/ext/1.0" version="2.0">

<channel>
	<title>Colin Harrington</title>
	
	<link>http://colinharrington.net/blog</link>
	<description>Technologist, Consultant, Software Engineer, Entrepreneur and Musician</description>
	<lastBuildDate>Thu, 04 Feb 2010 06:26:36 +0000</lastBuildDate>
	<generator>http://wordpress.org/?v=2.9.2</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="self" type="application/rss+xml" href="http://feeds.feedburner.com/ColinHarrington" /><feedburner:info uri="colinharrington" /><atom10:link xmlns:atom10="http://www.w3.org/2005/Atom" rel="hub" href="http://pubsubhubbub.appspot.com/" /><feedburner:emailServiceId>ColinHarrington</feedburner:emailServiceId><feedburner:feedburnerHostname>http://feedburner.google.com</feedburner:feedburnerHostname><item>
		<title>Grails: The View Layer [GUM]</title>
		<link>http://feedproxy.google.com/~r/ColinHarrington/~3/67nHoOkPdos/</link>
		<comments>http://colinharrington.net/blog/2010/02/grails-the-view-layer-gum/#comments</comments>
		<pubDate>Thu, 04 Feb 2010 06:25:57 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Groovy-Grails]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[GUM]]></category>
		<category><![CDATA[Sitemesh]]></category>

		<guid isPermaLink="false">http://colinharrington.net/blog/?p=155</guid>
		<description><![CDATA[This past month, I did a presentation at the Groovy Users of Minnesota which I called Grails: The View Layer.  We took our time delving into the Groovy Server Pages, how Grails utilizes Sitemesh and some of the more obscure tags related to Sitemesh.  Currently, Grails&#8217; Sitemesh integration is not very well understood by the [...]]]></description>
			<content:encoded><![CDATA[<p>This past month, I did a presentation at the <a title="GUM" href="http://groovy.mn" target="_blank">Groovy Users of Minnesota</a> which I called <span style="text-decoration: underline;">Grails: The View Layer</span>.  We took our time delving into the Groovy Server Pages, how <a href="http://www.grails.org" target="_blank">Grails</a> utilizes <a href="http://www.opensymphony.com/sitemesh/" target="_blank">Sitemesh</a> and some of the more obscure tags related to Sitemesh.  Currently, Grails&#8217; Sitemesh integration is not very well understood by the community at large and I wanted to spend some time on it since Sitemesh is such a powerful part of the Framework.</p>
<p><iframe src="http://docs.google.com/present/embed?id=dg8qcbkq_139dtddh5rm&#038;interval=10&#038;size=m" frameborder="0" width="555" height="451"></iframe></p>
<p>I was hoping to spend some more time polishing this slide deck, but hopefully this presentation skeleton is helpful to the community as it is.  I am hoping to give this talk again at <a href="http://www.gr8conf.org/" target="_blank">Gr8Conf</a> in the USA this upcoming April and spend some more time creating more concrete and digestible examples.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/E9fGoII4NeiOpEgM_wsjcPczcVk/0/da"><img src="http://feedads.g.doubleclick.net/~a/E9fGoII4NeiOpEgM_wsjcPczcVk/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/E9fGoII4NeiOpEgM_wsjcPczcVk/1/da"><img src="http://feedads.g.doubleclick.net/~a/E9fGoII4NeiOpEgM_wsjcPczcVk/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/ColinHarrington/~4/67nHoOkPdos" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2010/02/grails-the-view-layer-gum/feed/</wfw:commentRss>
		<slash:comments>7</slash:comments>
		<feedburner:origLink>http://colinharrington.net/blog/2010/02/grails-the-view-layer-gum/</feedburner:origLink></item>
		<item>
		<title>Grails user-specific configurations</title>
		<link>http://feedproxy.google.com/~r/ColinHarrington/~3/c-_LzdR5T1k/</link>
		<comments>http://colinharrington.net/blog/2009/11/grails-user-specific-configurations/#comments</comments>
		<pubDate>Thu, 26 Nov 2009 16:15:53 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Groovy-Grails]]></category>
		<category><![CDATA[Configuration]]></category>
		<category><![CDATA[Grails]]></category>

		<guid isPermaLink="false">http://colinharrington.net/blog/?p=133</guid>
		<description><![CDATA[I asked a question on the GUM (Groovy Users of Minnesota) User list about how to achieve a user/machine specific config.
I didn&#39;t have much time to figure it out but this is what I ended up finding out:
Grails 1.1.1 create-app generates a Config.groovy with this as the first few lines that would have told me [...]]]></description>
			<content:encoded><![CDATA[<p><img align="right" alt="grails" border="0" height="96" hspace="4" src="http://www.colinharrington.net/images/grails-128x128-icon.png" vspace="4" width="96" />I asked a question on the <a href="http://groovy.mn">GUM (Groovy Users of Minnesota)</a> User list about <a href="http://groups.google.com/group/groovymn/browse_thread/thread/f0a4c8647b2e10ca">how to achieve a user/machine specific config</a>.</p>
<p>I didn&#39;t have much time to figure it out but this is what I ended up finding out:</p>
<p>Grails 1.1.1 create-app generates a <code>Config.groovy</code> with this as the first few lines that would have told me what I need to know if I actually took the time to read it:<br />
<code style="font-size:0.9em">// locations to search for config files that get merged into the main config<br />
// config files can either be Java properties files or ConfigSlurper scripts<br />
//<br />
// grails.config.locations = [ &quot;classpath:${appName}-config.properties&quot;,<br />
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;classpath:${appName}-config.groovy&quot;,<br />
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;file:${userHome}/.grails/${appName}-config.properties&quot;,<br />
//&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; &quot;file:${userHome}/.grails/${appName}-config.groovy&quot;]<br />
//<br />
// if(System.properties[&quot;${appName}.config.location&quot;]) {<br />
//&nbsp;&nbsp;&nbsp; grails.config.locations &lt;&lt; &quot;file:&quot; + System.properties[&quot;${appName}.config.location&quot;]<br />
// } </code></p>
<p>So in my case all I had to do was put this in <code>Config.groovy</code>:<br />
<code style="font-size:0.9em">if (new File(&quot;${userHome}/.grails/${appName}-config.groovy&quot;).exists()){<br />
&nbsp;&nbsp;&nbsp; grails.config.locations = [&quot;file:${userHome}/.grails/${appName}-config.groovy&quot;]<br />
}</code></p>
<p>which allowed me to override properties by doing something like this in my <code>~/.grails/${appName}-config.groovy</code> :<br />
<code style="font-size:0.9em">username = &quot;sa&quot;<br />
password = &quot;sekret&quot;<br />
// environment specific settings<br />
environments {<br />
&nbsp;&nbsp;&nbsp; development {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dataSource {<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; dbCreate = &quot;create-drop&quot; // use your imagination...<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; }<br />
&nbsp;&nbsp;&nbsp; }<br />
}</code></p>
<p>I also ran across a little gem that you can do the same type of config merging with your <code>BuildConfig.groovy</code> by implementing a <code>~/.grails/settings.groovy</code> file. (yes its hardcoded rather than a config.locations property in <code>BuildConfig.groovy</code> &ndash; see <code>BuildSettings.groovy</code> for more)</p>
<p>Now I really wish there was a way to set defaults for things like <a href="http://jira.codehaus.org/browse/GRAILS-1861" target="_blank"><span style="font-family: courier new,monospace;">server.port</span> in the configs</a>.</p>
<p>Thanks, <a href="http://naleid.com/blog/">Ted Naleid</a>, <a href="http://www.refactr.com">Scott Vlaminck</a>, and <a href="http://smokejumperit.com/">Robert Fischer</a> for helping me find what I was looking for!</p>

<p><a href="http://feedads.g.doubleclick.net/~a/hgzPh8QRKSrpko7jvaRLiEOk73Q/0/da"><img src="http://feedads.g.doubleclick.net/~a/hgzPh8QRKSrpko7jvaRLiEOk73Q/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/hgzPh8QRKSrpko7jvaRLiEOk73Q/1/da"><img src="http://feedads.g.doubleclick.net/~a/hgzPh8QRKSrpko7jvaRLiEOk73Q/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/ColinHarrington/~4/c-_LzdR5T1k" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2009/11/grails-user-specific-configurations/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		<feedburner:origLink>http://colinharrington.net/blog/2009/11/grails-user-specific-configurations/</feedburner:origLink></item>
		<item>
		<title>Grails BOF recording at SpringOne2GX</title>
		<link>http://feedproxy.google.com/~r/ColinHarrington/~3/i58zaxid6vc/</link>
		<comments>http://colinharrington.net/blog/2009/10/grails-bof-recording-at-springone2gx/#comments</comments>
		<pubDate>Sun, 25 Oct 2009 05:27:12 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Groovy-Grails]]></category>
		<category><![CDATA[BOF]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[Recording]]></category>
		<category><![CDATA[SpringOne2GX]]></category>

		<guid isPermaLink="false">http://colinharrington.net/blog/?p=126</guid>
		<description><![CDATA[
	SpringOne2gx was a blast this year.&#160; It was great to get to know many members from the community!

	I was able to record the Grails BOF (Birds Of a Feather) session at SpringOne2gx this year: Download it Here (80MB)

	Big thanks to SpringSource and No Fluff Just Stuff for putting together an awesome conference!

	Props to Dropbox for [...]]]></description>
			<content:encoded><![CDATA[<p>
	<img align="right" alt="" border="0" height="128" hspace="4" src="http://www.colinharrington.net/images/grails-128x128-icon.png" vspace="4" width="128" />SpringOne2gx was a blast this year.&nbsp; It was great to get to know many members from the community!</p>
<p>
	I was able to record the Grails BOF (Birds Of a Feather) session at SpringOne2gx this year: <span style="font-size: 16px;"><a href="http://dl.getdropbox.com/u/129843/GrailsBOF-SpringOne2GX.mp3">Download it Here</a></span> (80MB)</p>
<p>
	Big thanks to <a href="http://www.springsource.com/">SpringSource</a> and <a href="http://www.nofluffjuststuff.com/home/main">No Fluff Just Stuff</a> for putting together an awesome conference!</p>
<p>
	Props to <a href="https://www.getdropbox.com/referrals/NTEyOTg0Mzk">Dropbox</a> for allowing me to share <a href="http://dl.getdropbox.com/u/129843/GrailsBOF-SpringOne2GX.mp3">this recording</a>.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/hD_hl1lFe7OgxQ1zb_rhfgFnJeY/0/da"><img src="http://feedads.g.doubleclick.net/~a/hD_hl1lFe7OgxQ1zb_rhfgFnJeY/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/hD_hl1lFe7OgxQ1zb_rhfgFnJeY/1/da"><img src="http://feedads.g.doubleclick.net/~a/hD_hl1lFe7OgxQ1zb_rhfgFnJeY/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/ColinHarrington/~4/i58zaxid6vc" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2009/10/grails-bof-recording-at-springone2gx/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
<enclosure url="http://dl.getdropbox.com/u/129843/GrailsBOF-SpringOne2GX.mp3" length="84059532" type="audio/mpeg" />
		<feedburner:origLink>http://colinharrington.net/blog/2009/10/grails-bof-recording-at-springone2gx/</feedburner:origLink></item>
		<item>
		<title>Hulu Desktop for Linux! 32 &amp; 64bit versions for Ubuntu &amp; Fedora</title>
		<link>http://feedproxy.google.com/~r/ColinHarrington/~3/vf1s7tLEU20/</link>
		<comments>http://colinharrington.net/blog/2009/10/hulu-desktop-for-linux/#comments</comments>
		<pubDate>Fri, 09 Oct 2009 04:44:31 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Streaming]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Video]]></category>
		<category><![CDATA[Hulu]]></category>
		<category><![CDATA[Hulu-Desktop]]></category>

		<guid isPermaLink="false">http://colinharrington.net/blog/?p=116</guid>
		<description><![CDATA[Hulu Desktop (currently Beta) is now available on Linux!&#160; A&#160;friend tipped me off to an article on TechCrunch about it.&#160;

Downloading it and setting it up was pretty easy.&#160; I went to Hulu Desktop and selected download for linux.&#160; From there It gave me choices for Fedora and Ubuntu (both 32 &#38; 64bit versions!)&#160; Since I&#160;run [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http:// http://www.hulu.com/labs/hulu-desktop">Hulu Desktop</a> (currently Beta) is now available on Linux!&nbsp; A&nbsp;friend tipped me off to an <a href="http://www.techcrunch.com/2009/10/08/hulu-labs-cooks-up-linux-support-for-hulu-desktop-new-publisher-tools/">article on TechCrunch</a> about it.&nbsp;</p>
<p style="text-align: center;"><a href="http://www.colinharrington.net/images/hulu-desktop-linux-heroes1-1920x1200.png"><img vspace="4" hspace="4" border="0" src="http://www.colinharrington.net/images/hulu-desktop-linux-heroes1.png" alt="Wohoo Hulu Desktop on Linux" /></a></p>
<p>Downloading it and setting it up was pretty easy.&nbsp; I went to <a href="http://www.hulu.com/labs/hulu-desktop">Hulu Desktop</a> and selected <a href="http:// http://www.hulu.com/labs/hulu-desktop-linux">download for linux</a>.&nbsp; From there It gave me choices for Fedora and Ubuntu (both 32 &amp; 64bit versions!)&nbsp; Since I&nbsp;run Ubuntu I downloaded and installed the deb &#8211; easy enough.</p>
<p>When you first launch it it asks you to accept the EULA.</p>
<p style="text-align: center;"><a href="http://www.colinharrington.net/images/hulu-desktop-linux-eula.png"><img vspace="4" hspace="4" border="0" src="http://www.colinharrington.net/images/hulu-desktop-linux-eula-512.png" alt="Eula" /></a></p>
<p>The first time I launched Hulu Desktop I&nbsp;got an error, that &quot;<em>Hulu Desktop could not locate the Flash plugin.&nbsp; If you do not have it installed, please modify ~/.huludesktop with the correct location of libflashplayer.so.</em>&quot; (remember the beta sticker?)</p>
<p style="text-align: center;"><img vspace="4" hspace="4" border="0" alt="Hulu Desktop error : Flash Plugin" src="http://www.colinharrington.net/images/hulu-desktop-linux-flashplugin-error.png" /></p>
<p>I had to edit the <code>~/.huludesktop</code> file to use the wrapped version of the Flash plugin <code>/var/lib/flashplugin-installer/npwrapper.libflashplayer.so</code> and it worked like a charm!</p>
<p style="text-align: center;"><img vspace="4" hspace="4" border="0" alt=".huludesktop" src="http://www.colinharrington.net/images/hulu-desktop-linux-.huludesktop.png" /></p>
<p>Playback worked great, probably better than the in-browser experience.&nbsp; The interface is slick, better than the web-interface and more along the lines of Boxee.&nbsp; Fullscreen worked well for me.</p>
<p style="text-align: center;"><a href="http://www.colinharrington.net/images/hulu-desktop-linux-screenshot-heroes-1024.png"><img vspace="4" hspace="4" border="0" src="http://www.colinharrington.net/images/hulu-desktop-linux-screenshot-heroes-512.png" alt="Hulu Desktop -&gt; Heroes menu" /></a></p>
<p>Props to Hulu for providing a Linux version.&nbsp; The Linux desktop is a first class citizen.&nbsp; Skype has a <a href="http://www.skype.com/download/skype/linux/choose/">Beta version</a> that rocks on Linux.&nbsp; <a href="http://dev.chromium.org/getting-involved/dev-channel">Google Chrome</a>, Firefox, etc. Who is next? Adobe?&nbsp; CS5?&nbsp; I&#8217;d pay for Adobe CS5 on Linux.</p>
<p>So far its been pretty good stuff for Beta Software!&nbsp; I&#8217;ll definitely be using Hulu more now.&nbsp;</p>
<p>Here is a shot of the opening screen:</p>
<p style="text-align: center;"><a href="http://www.colinharrington.net/images/hulu-desktop-linux-openingscreen-1920x1200.png"><img vspace="4" hspace="4" border="0" alt="Opening Image" src="http://www.colinharrington.net/images/hulu-desktop-linux-openingscreen-512.png" /></a></p>
<p>And another of the Menu (while watching media):</p>
<p style="text-align: center;"><a href="http://www.colinharrington.net/images/hulu-desktop-linux-popular-menu-1024.png"><img vspace="4" hspace="4" border="0" alt="Popular menu" src="http://www.colinharrington.net/images/hulu-desktop-linux-popular-menu-512.png" /></a></p>

<p><a href="http://feedads.g.doubleclick.net/~a/7rgqAcHl88RLDSv1Ws9CynRIeTw/0/da"><img src="http://feedads.g.doubleclick.net/~a/7rgqAcHl88RLDSv1Ws9CynRIeTw/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/7rgqAcHl88RLDSv1Ws9CynRIeTw/1/da"><img src="http://feedads.g.doubleclick.net/~a/7rgqAcHl88RLDSv1Ws9CynRIeTw/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/ColinHarrington/~4/vf1s7tLEU20" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2009/10/hulu-desktop-for-linux/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		<feedburner:origLink>http://colinharrington.net/blog/2009/10/hulu-desktop-for-linux/</feedburner:origLink></item>
		<item>
		<title>VMWare acquiring SpringSource which Acquired G2One</title>
		<link>http://feedproxy.google.com/~r/ColinHarrington/~3/Mp1q1udxjCk/</link>
		<comments>http://colinharrington.net/blog/2009/08/vmware-acquiring-springsource-which-acquired-g2one/#comments</comments>
		<pubDate>Mon, 10 Aug 2009 22:53:17 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Groovy-Grails]]></category>
		<category><![CDATA[Grails]]></category>
		<category><![CDATA[Groovy]]></category>
		<category><![CDATA[SpringSource]]></category>

		<guid isPermaLink="false">http://colinharrington.net/blog/?p=110</guid>
		<description><![CDATA[Wow, Big news for the Groovy and Grails Community!&#160; VMWare has announced that it is acquiring SpringSource.&#160; Rod Johnson, the founder of SpringSource and Initial author of the Spring Framework also posted his thoughts on SpringSource&#8217;s blog calling it &#8216;SpringSource &#8211; Chapter Two&#8217;.&#160; I&#160;don&#8217;t think that too many of us saw this one coming.&#160; Now [...]]]></description>
			<content:encoded><![CDATA[<p><img vspace="4" hspace="4" align="left" border="0" alt="" src="http://www.colinharrington.net/images/grails-128x128-icon.png" />Wow, Big news for the Groovy and Grails Community!&nbsp; <a href="http://blogs.vmware.com/console/2009/08/vmware-acquires-springsource.html">VMWare has announced</a> that it is acquiring SpringSource.&nbsp; <a href="http://twitter.com/springrod">Rod Johnson</a>, the founder of <a href="http://www.springsource.com">SpringSource</a> and Initial author of the <a href="http://en.wikipedia.org/wiki/Spring_Framework">Spring Framework</a> also posted his thoughts on SpringSource&#8217;s blog calling it <a href="http://blog.springsource.com/2009/08/10/springsource-chapter-two/">&#8216;SpringSource &#8211; Chapter Two&#8217;</a>.&nbsp; I&nbsp;don&#8217;t think that too many of us saw this one coming.&nbsp; Now its time to wait until Oracle acquires VMWare <a href="http://marceloverdijk.blogspot.com/2009/04/prophecy-has-come-true-springsource.html">If Marcel Overdijk&#8217;s prophecy is true</a> <img src='http://colinharrington.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>I&#8217;m not that familiar with SpringSource&#8217;s offerings, but It does seem like some of VMWare&#8217;s products are a natural extension to the goals that SpringSource is trying to accomplish with their Build / Run / Manage mantra.&nbsp; The two companies don&#8217;t really compete, but VMWare +&nbsp;Grails seems like a good combo to me <img src='http://colinharrington.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> &nbsp; <span class="fn"><a href="http://twitter.com/blackdood">Jerome Gagner</a> </span><a href="http://futureitexec.wordpress.com/2009/08/10/vmware-acquires-springsource/">blogged about how VMWare</a> should throw in some <a href="http://www.terracotta.org/">terracotta</a> for some extra spice to take on (read &#8216;out&#8217;) <a href="http://www.microsoft.com/azure/">Windows Azure</a>.</p>
<p>I must say that <a href="http://en.wikipedia.org/wiki/Platform_as_a_service">PaaS</a> offerings look really appealing to me as a developer.&nbsp; Even though I&nbsp;*can* manage machines and hardware, I don&#8217;t want to have to take on the risks and responsibilities.&nbsp; I&#8217;m not quite sure what they are going to accomplish together but VMWare +&nbsp;Grails + SpringSource Technologies as a PaaS solution sounds good to me.</p>

<p><a href="http://feedads.g.doubleclick.net/~a/tjOmDXgnGlxP6GPaimOibj7ifEA/0/da"><img src="http://feedads.g.doubleclick.net/~a/tjOmDXgnGlxP6GPaimOibj7ifEA/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/tjOmDXgnGlxP6GPaimOibj7ifEA/1/da"><img src="http://feedads.g.doubleclick.net/~a/tjOmDXgnGlxP6GPaimOibj7ifEA/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/ColinHarrington/~4/Mp1q1udxjCk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2009/08/vmware-acquiring-springsource-which-acquired-g2one/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://colinharrington.net/blog/2009/08/vmware-acquiring-springsource-which-acquired-g2one/</feedburner:origLink></item>
		<item>
		<title>Windows Vista = Slow^3</title>
		<link>http://feedproxy.google.com/~r/ColinHarrington/~3/KNC6ErqaRkk/</link>
		<comments>http://colinharrington.net/blog/2009/07/windows-vista-slow3/#comments</comments>
		<pubDate>Fri, 17 Jul 2009 18:58:26 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Operating Systems]]></category>
		<category><![CDATA[slow]]></category>
		<category><![CDATA[Vista]]></category>

		<guid isPermaLink="false">http://colinharrington.net/blog/?p=96</guid>
		<description><![CDATA[Yep that&#8217;s a snail on a turtle with a Vista tattoo to illustrate how Vista = slow3.&#160; I threw this together to console a friend who was going through an upgrade to Windows Vista SP3.&#160; It took them weeks(so far) to roll it out at his work; and it still isn&#8217;t complete.&#160; The pic is [...]]]></description>
			<content:encoded><![CDATA[<p>Yep that&#8217;s a snail on a turtle with a Vista tattoo to illustrate how <kbd>Vista = slow<sup>3</sup></kbd>.&nbsp; I threw this together to console a friend who was going through an upgrade to Windows Vista SP3.&nbsp; It took them weeks(so far) to roll it out at his work; and it still isn&#8217;t complete.&nbsp; The pic is adapted <a href="http://icanhascheezburger.com/2009/06/22/funny-pictures-get-us-killed/">from an icanhazcheezburger.com post</a>.</p>
<p style="text-align: center;"><img vspace="4" hspace="4" align="middle" border="0" alt="OMG SLOW DOWN! with a Vista Tattoo" src="http://www.colinharrington.net/images/OMG-SLOW-DOWN-vista-tattoo.png" /></p>
<p>Maybe I&#8217;ve been spoiled with the speed of a Linux desktop without intrusive &#8216;virus protection&#8217;, but everytime I&nbsp;use a Vista machine, I find myself frustrated.&nbsp; I guess I get sick of the waiting, double confirmations, the &quot;I told you to shutdown, why are you installing updates&#8230; &quot;, etc.</p>
<p>I have professionally developed on all major desktop OSs (Windows[98,2k,XP,Vista], OSX, and Linux) as well as used many others over the years (RHEL, CentOS, Fedora, Solaris, HPUX, Windows[2k3,2008], etc.) &nbsp;&nbsp;So when I started my current contract, I had a bad dream the night before.&nbsp; I dreampt that I was forced to use Windows Vista.&nbsp; I&#8217;m not going to call it a nightmare, but it came close <img src='http://colinharrington.net/blog/wp-includes/images/smilies/icon_sad.gif' alt=':-(' class='wp-smiley' /> &nbsp; (They ended up giving me an XP box)</p>
<p>This is my OS&nbsp;Preference as it stands today:<br />
<a href="http://en.wikipedia.org/wiki/Windows_Vista">Vista</a> &lt;&nbsp;<a href="http://en.wikipedia.org/wiki/Windows_XP">XP</a> &lt; <a href="http://en.wikipedia.org/wiki/Windows_7">Windows 7</a> &lt; <a href="http://en.wikipedia.org/wiki/OSX">OSX</a> &lt;&nbsp;Linux (<a href="http://en.wikipedia.org/wiki/Ubuntu">Ubuntu</a>, <a href="http://en.wikipedia.org/wiki/Gentoo">Gentoo</a>, etc.)</p>
<p>I honestly expected more from Vista seeing that it was coming from the largest/wealthiest  software company/OS&nbsp;vendor in the world.&nbsp; Using Vista isn&#8217;t the end of the world, but you don&#8217;t know better until you get a taste of freedom <img src='http://colinharrington.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> &nbsp; To be fair, Microsoft has put a lot of effort behind Windows and it is a big responsibility when you take the OS&nbsp;Market in the 90&#8217;s and into the 2000s.&nbsp; MacOS was saved by OSX; can Microsoft follow suit?&nbsp; Either way, good competition makes for a better Operating System landscape.&nbsp;</p>

<p><a href="http://feedads.g.doubleclick.net/~a/uL8VKl8axZrtyr6HuoDrgPTmPGo/0/da"><img src="http://feedads.g.doubleclick.net/~a/uL8VKl8axZrtyr6HuoDrgPTmPGo/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/uL8VKl8axZrtyr6HuoDrgPTmPGo/1/da"><img src="http://feedads.g.doubleclick.net/~a/uL8VKl8axZrtyr6HuoDrgPTmPGo/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/ColinHarrington/~4/KNC6ErqaRkk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2009/07/windows-vista-slow3/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://colinharrington.net/blog/2009/07/windows-vista-slow3/</feedburner:origLink></item>
		<item>
		<title>Grails Growl-like notifications in Linux (Ubuntu, 9.04)</title>
		<link>http://feedproxy.google.com/~r/ColinHarrington/~3/cQ23Uj-innI/</link>
		<comments>http://colinharrington.net/blog/2009/05/grails-growl-like-notifications-in-linux-ubuntu-904/#comments</comments>
		<pubDate>Sun, 24 May 2009 22:30:12 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Groovy-Grails]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[Growl]]></category>
		<category><![CDATA[Jaunty]]></category>

		<guid isPermaLink="false">http://colinharrington.net/blog/?p=86</guid>
		<description><![CDATA[When I was developing on OSX, a fellow developer&#160;Ted Naleid tipped me off to a script that does Growl notifications for Grails events that Marc Palmer had written.&#160;&#160; The Growl notifications were handy, but now that I&#8217;ve been working on Linux, I&#8217;ve definitely missed them.
I first used a tool called Mumbles, which attempted to be [...]]]></description>
			<content:encoded><![CDATA[<p>When I was developing on OSX, a fellow developer&nbsp;<a href="http://naleid.com/blog/">Ted Naleid</a> tipped me off to a script that does <a href="http://www.anyware.co.uk/2005/2007/06/08/some-grails-055-script-enhancements/">Growl notifications for Grails events</a> that Marc Palmer had written.&nbsp;&nbsp; The Growl notifications were handy, but now that I&#8217;ve been working on Linux, I&#8217;ve definitely missed them.</p>
<p>I first used a tool called <a href="http://www.mumbles-project.org/">Mumbles</a>, which attempted to be a clone of <a href="http://growl.info/">Growl</a>, but I later realized that the built in notification system is probably the way to go.&nbsp; After I learned of Ubuntu 9.04 (Jaunty Jackalope) had some major visualization enhancements to the notifications, I thought that it was definitely the way to go.&nbsp;</p>
<p style="text-align: left;">This is what I currently have with Ubuntu 9.04:</p>
<p style="text-align: center;">
<img vspace="4" hspace="4" border="0" src="http://www.colinharrington.net/images/jaunty-grails-plugins.png" alt="Jaunty Grails notification Plugins" /></p>
<p style="text-align: center;"><img vspace="4" hspace="4" border="0" src="http://www.colinharrington.net/images/jaunty-grails-final.png" alt="Jaunty Grails notification final" /></p>
<p style="text-align: left;">Implementing this is very simple, you simply create an <code>_Events.groovy</code> file in your <code>~/.grails/scripts</code>&nbsp; directory (create it if it doesn&#8217;t exist) with the following contents (modified from the Growl Script):</p>
<p style="text-align: left;"><code>eventStatusFinal = { msg -&gt;<br />
&nbsp;&nbsp;&nbsp; libNotify('Final status', msg)<br />
}<br />
eventStatusUpdate = { msg -&gt;<br />
&nbsp;&nbsp;&nbsp; libNotify('Status', msg)<br />
} <br />
eventCreatedFile = { fileName -&gt;<br />
&nbsp;&nbsp;&nbsp; //libNotify('Created file', fileName)<br />
}<br />
eventStatusError = { message -&gt;<br />
&nbsp;&nbsp;&nbsp; libNotify('Error', message)<br />
}<br />
eventExiting = { code -&gt;<br />
&nbsp;&nbsp;&nbsp; libNotify('Exit', &quot;Return code $code&quot;)<br />
}<br />
eventCreatedArtefact = { type, file -&gt;<br />
&nbsp;&nbsp;&nbsp; libNotify('Created artefct', &quot;$type with name $file&quot;)<br />
}<br />
eventCompileStart = { kind -&gt;<br />
&nbsp;&nbsp;&nbsp; //libNotify('Compiling', &quot;Compiling $kind&quot;)<br />
}<br />
eventCompileEnd = { kind -&gt;<br />
&nbsp;&nbsp;&nbsp; //libNotify('Compilation complete', &quot;Compiled $kind&quot;)<br />
}<br />
eventPluginInstalled = { pluginName -&gt;<br />
&nbsp;&nbsp;&nbsp; libNotify('Plugin installed', pluginName)<br />
}<br />
// Do the notification<br />
void libNotify(title, message) {<br />
&nbsp;&nbsp;&nbsp; def cmd = [<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; 'notify-send',<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; title,<br />
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; message,<br />
&nbsp;&nbsp;&nbsp; '-i',<br />
&nbsp;&nbsp;&nbsp; 'grails'<br />
&nbsp;&nbsp;&nbsp; ]<br />
&nbsp;&nbsp;&nbsp; cmd.execute()<br />
}</code></p>
<p>It is simply using Groovy to execute &quot;<code>notify-send $title $message -i grails</code>&quot;.&nbsp;&nbsp; if you don&#8217;t have <code>notify-send</code>, it is part of libnotify so <code>sudo apt-get install libnotify-bin</code> will get you what you need.&nbsp; If I get some time I&#8217;d like to find a way to take advantage of a <a href="http://dbus.freedesktop.org/doc/dbus-java/">Java Dbus implementation</a> to talk to the notification system without having to go through libnotify.</p>
<p>If you want mumbles notifications just do something like this:</p>
<p><code>void mumblesNotify(title, message) {<br />
&nbsp;&nbsp;&nbsp; def cmd = [<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &quot;mumbles-send&quot;,<br />
&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; &quot;-l&quot;,<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; title,<br />
&nbsp;&nbsp;&nbsp; &nbsp;&nbsp;&nbsp; message<br />
&nbsp;&nbsp;&nbsp; ]<br />
&nbsp;&nbsp;&nbsp; cmd.execute()<br />
}</code></p>
<p>Occasionally I&#8217;ll get a failure that there are too many files open (using .execute() in Groovy) and that should be cleared up by using a Java implementation of the DBus notifications.</p>
<p>Let me know what you think.&nbsp; Anything that could be done better?</p>
<p>&nbsp;</p>

<p><a href="http://feedads.g.doubleclick.net/~a/jHhxOn5YI1QRPIyGw5_3akAZcb4/0/da"><img src="http://feedads.g.doubleclick.net/~a/jHhxOn5YI1QRPIyGw5_3akAZcb4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/jHhxOn5YI1QRPIyGw5_3akAZcb4/1/da"><img src="http://feedads.g.doubleclick.net/~a/jHhxOn5YI1QRPIyGw5_3akAZcb4/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/ColinHarrington/~4/cQ23Uj-innI" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2009/05/grails-growl-like-notifications-in-linux-ubuntu-904/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		<feedburner:origLink>http://colinharrington.net/blog/2009/05/grails-growl-like-notifications-in-linux-ubuntu-904/</feedburner:origLink></item>
		<item>
		<title>Customizing rEFIt (an EFI Bootloader – Intel Macs) Slick!</title>
		<link>http://feedproxy.google.com/~r/ColinHarrington/~3/xvmvEFPEwZE/</link>
		<comments>http://colinharrington.net/blog/2009/05/customizing-refit-an-efi-bootloader-intel-macs-slick/#comments</comments>
		<pubDate>Tue, 05 May 2009 21:07:57 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Logo]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[logo]]></category>
		<category><![CDATA[rEFIt]]></category>

		<guid isPermaLink="false">http://colinharrington.net/blog/?p=62</guid>
		<description><![CDATA[I recently installed Ubuntu 9.04(Jaunty Jackalope) on a 17&#34; Macbook pro and as a part of that process, I had to install a bootloader called rEFIt.&#160; You could think of EFI&#160;is just a next-gen BIOS.
Even though the bootloader looks decent, I don&#8217;t like the look of silver/grey color, so I decided to customize it. &#160;The [...]]]></description>
			<content:encoded><![CDATA[<p>I recently installed <a href="http://ubuntu.com">Ubuntu 9.04</a>(<a href="http://en.wikipedia.org/wiki/History_of_Ubuntu#Ubuntu_9.04_.28Jaunty_Jackalope.29">Jaunty Jackalope</a>) on a 17&quot; Macbook pro and as a part of that process, I had to install a bootloader called <a href="http://refit.sourceforge.net/">rEFIt</a>.&nbsp; You could think of <a href="http://en.wikipedia.org/wiki/Extensible_Firmware_Interface">EFI</a>&nbsp;is just a next-gen <a href="http://en.wikipedia.org/wiki/BIOS">BIOS</a>.</p>
<p>Even though the bootloader looks decent, I don&#8217;t like the look of <a href="http://refit.sourceforge.net/screen.html">silver/grey</a> color, so I decided to customize it. &nbsp;The process to customize rEFIt was relatively straight forward and the result is beautiful.</p>
<p>This is what I came up with:</p>
<p style="text-align: center;"><a target="_blank" href="http://www.colinharrington.net/images/refit-screen.png"><img vspace="4" hspace="4" border="0" alt="background" src="http://www.colinharrington.net/images/refit-2-icons-500px.png" style="border: 1px solid rgb(255, 255, 255);" /></a></p>
<p>This is what it looks like with a Windows Partition:</p>
<p style="text-align: center;"><a target="_blank" href="http://www.colinharrington.net/images/refit-3-icons-1920x1200.png"><img vspace="4" hspace="4" border="0" alt="boot screen with 3 icons" src="http://www.colinharrington.net/images/refit-screen-500px.png" style="border: 1px solid rgb(255, 255, 255);" /></a></p>
<p>I love the simplicity of it!!</p>
<p>Here is a closeup of the icons / OS&nbsp;Choices:</p>
<p style="text-align: center;"><img vspace="4" hspace="4" border="0" alt="" src="http://www.colinharrington.net/images/refit-choices.png" /></p>
<p>&nbsp;</p>
<p>I don&#8217;t really know where the icons came from, but they look tasty <img src='http://colinharrington.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' />  &nbsp;On Linux there is a <a href="http://icns.sourceforge.net/">decent package</a> for working with mac icons (.icns) or <code><strong>sudo apt-get install icnsutils</strong></code>&nbsp; which will get you some useful tools (png2icns and icns2png)</p>
<p>I did have to make a few modifications to the Tux icon [<a href="http://www.colinharrington.net/images/os_linux.icns">os_linux.icns</a>] to give him a &#8216;glow&#8217; so that he doesn&#8217;t fade into the black on black:</p>
<p style="text-align: center;"><img vspace="4" hspace="4" border="0" src="http://www.colinharrington.net/images/os_linux.png" alt="Tux Crystal Modified by Colin" /></p>
<p style="text-align: left;">This windows Icon [<a href="http://www.colinharrington.net/images/os_win.icns">os_win.icns</a>] is the stock version I think (send me a link to the author if you know):</p>
<p style="text-align: center;">&nbsp;<img vspace="4" hspace="4" border="0" src="http://www.colinharrington.net/images/os_win.png" alt="" /></p>
<p style="text-align: left;">I did add a slight &#8216;glow&#8217; to the apple icon [<a href="http://www.colinharrington.net/images/os_mac.icns">os_mac.icns</a>] (send me a link to the author if you know):</p>
<p style="text-align: center;"><img vspace="4" hspace="4" border="0" src="http://www.colinharrington.net/images/os_mac.png" alt="" /></p>
<p>I tried a number of custom &#8217;selected&#8217; themes but gradients didn&#8217;t look right, so I went with the simple plan.&nbsp; The selection bitmap can be found <a href="http://www.colinharrington.net/images/refit-background-ring.bmp">here</a>:</p>
<p style="text-align: center;"><img vspace="4" hspace="4" border="0" src="http://www.colinharrington.net/images/refit-background-ring.bmp" alt="selection_big.bmp" /></p>
<p>&nbsp;</p>
<p>the process is simple once rEFIt is installed:&nbsp; modify the refit.conf with the icons in place, and you are done!</p>
<p>Here is what I came up with for my refit.conf (comments removed):</p>
<p><code>timeout 5<br />
banner hostname.bmp<br />
selection_big&nbsp;&nbsp; selection-big-ring.bmp<br />
hideui tools shell funcs hdbadges label<br />
legacyfirst</code></p>
<p>The original comments in the refit.conf file are helpful!&nbsp; Its straight forward if you can read <img src='http://colinharrington.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<ul>
<li>timeout = the number of seconds before it automatically chooses for you</li>
<li>banner = the bitmap of the upper part of the screen (top left pixel = background color)</li>
<li>selection_big = the grey &#8216;ring&#8217; that indicated the selection</li>
<li>hideui = Hide elements of rEFIt so we can get a clean interface</li>
<li>legacyfirst = Legacy OS first (Linux)</li>
</ul>
<p>Use at your own risk!!</p>
<p>If I had the time, it would be fun to build/enhance rEFIt to have an all-black fill instead of the grey/silver.</p>
<p>I&#8217;ve had a good experience with Ubuntu 9.04 on a 17&quot;&nbsp;Macbook Pro, and I&#8217;ll Blog about it &#8211; and see what I can do to help update the documentation &#8211; look for an upcoming post.</p>
<p>&nbsp;</p>

<p><a href="http://feedads.g.doubleclick.net/~a/ve4rycMavnaopYPnIgr_j9yKWWI/0/da"><img src="http://feedads.g.doubleclick.net/~a/ve4rycMavnaopYPnIgr_j9yKWWI/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/ve4rycMavnaopYPnIgr_j9yKWWI/1/da"><img src="http://feedads.g.doubleclick.net/~a/ve4rycMavnaopYPnIgr_j9yKWWI/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/ColinHarrington/~4/xvmvEFPEwZE" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2009/05/customizing-refit-an-efi-bootloader-intel-macs-slick/feed/</wfw:commentRss>
		<slash:comments>26</slash:comments>
		<feedburner:origLink>http://colinharrington.net/blog/2009/05/customizing-refit-an-efi-bootloader-intel-macs-slick/</feedburner:origLink></item>
		<item>
		<title>Ubuntu Logo</title>
		<link>http://feedproxy.google.com/~r/ColinHarrington/~3/Q9eXGPuZptk/</link>
		<comments>http://colinharrington.net/blog/2009/05/ubuntu-logo/#comments</comments>
		<pubDate>Mon, 04 May 2009 05:17:45 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[Linux]]></category>
		<category><![CDATA[Logo]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[logo]]></category>
		<category><![CDATA[rEFIt]]></category>

		<guid isPermaLink="false">http://colinharrington.net/blog/?p=57</guid>
		<description><![CDATA[I&#160;spent a little bit of time customizing rEFIt, which is an EFI&#160;Bootloader that&#160; can be used on intel macs.&#160; So far I like it.&#160; Its not 100% feature complete (imho), but its open source  &#160; 
I&#160;found myself looking for a good logo for Ubuntu that it shows after you make your OS&#160;Choice in rEFIt.&#160; [...]]]></description>
			<content:encoded><![CDATA[<p>I&nbsp;spent a little bit of time customizing <a href="http://refit.sourceforge.net/">rEFIt</a>, which is an <a href="http://en.wikipedia.org/wiki/Extensible_Firmware_Interface">EFI</a>&nbsp;Bootloader that&nbsp; can be used on intel macs.&nbsp; So far I like it.&nbsp; Its not 100% feature complete (imho), but its open source <img src='http://colinharrington.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> &nbsp; </p>
<p>I&nbsp;found myself looking for a good logo for Ubuntu that it shows after you make your OS&nbsp;Choice in rEFIt.&nbsp; There was plenty of good artwork on <a href="http://deviantart.com">deviantart.com</a>, but I decided to make my own <img src='http://colinharrington.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
<p>So this is what I&nbsp;came up with based on one of the <a href="https://wiki.ubuntu.com/Artwork/Official">official logos</a>:</p>
<p style="text-align: center;"><a href="http://www.colinharrington.net/images/ubuntu-logo-transparent-shine.png" target="_blank"><img vspace="4" hspace="4" border="0" src="http://www.colinharrington.net/images/ubuntu-logo-transparent-shiney-128.png" alt="Ubuntu Logo" /></a></p>
<p style="text-align: left;"><a href="http://www.colinharrington.net/images/ubuntu-logo-transparent-shine.png">Click to enlarge (668&#215;668)</a></p>
<p style="text-align: left;">ps, I&nbsp;also have a post coming on customizing rEFIt (it looks juicy)</p>

<p><a href="http://feedads.g.doubleclick.net/~a/3NmlbgTQrDLKpzkems6WET3Nbx4/0/da"><img src="http://feedads.g.doubleclick.net/~a/3NmlbgTQrDLKpzkems6WET3Nbx4/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/3NmlbgTQrDLKpzkems6WET3Nbx4/1/da"><img src="http://feedads.g.doubleclick.net/~a/3NmlbgTQrDLKpzkems6WET3Nbx4/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/ColinHarrington/~4/Q9eXGPuZptk" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2009/05/ubuntu-logo/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://colinharrington.net/blog/2009/05/ubuntu-logo/</feedburner:origLink></item>
		<item>
		<title>Greasemonkey + live.gizmodo.com</title>
		<link>http://feedproxy.google.com/~r/ColinHarrington/~3/UFQ_YAU3sMU/</link>
		<comments>http://colinharrington.net/blog/2009/03/greasemonkey-livegizmodocom/#comments</comments>
		<pubDate>Tue, 17 Mar 2009 18:48:11 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[greasemonkey]]></category>
		<category><![CDATA[iPhone]]></category>
		<category><![CDATA[javascript]]></category>

		<guid isPermaLink="false">http://colinharrington.net/blog/index.php/2009/03/17/greasemonkey-livegizmodocom/</guid>
		<description><![CDATA[The Keynote for iPhone 3.0 just got over and I thought I should share a tiny greasemonkey script that I put together to reload http://live.gizmodo.com/ much sooner than the 90 seconds that one would wait.
It is too bad that macrumorslive.com is out of buisiness since they got hacked this past January.&#160; Their application wasn&#8217;t too [...]]]></description>
			<content:encoded><![CDATA[<p><img vspace="4" hspace="4" align="right" src="http://www.colinharrington.net/images/iphone2-200x215.png" alt="iphone2" />The Keynote for iPhone 3.0 just got over and I thought I should share a tiny <a href="https://addons.mozilla.org/en-US/firefox/addon/748">greasemonkey</a> script that I put together to reload <a href="http://live.gizmodo.com/">http://live.gizmodo.com/</a> much sooner than the 90 seconds that one would wait.</p>
<p>It is too bad that <a href="http://macrumorslive.com">macrumorslive.com</a> is out of buisiness since <a href="http://gadgets.boingboing.net/2009/01/07/macrumorslivecom-key.html">they got hacked</a> this past January.&nbsp; Their application wasn&#8217;t too hard to mashup either.&nbsp; It was simply changing a timout var in one version and then changing an obfuscated function later.</p>
<p>So the Greasemonkey script is really a breeze, it simply loads jQuery, hides the banner/space-waster and sets a timer to reload the page after 15 seconds (15000 milliseconds&#8230;)&nbsp;</p>
<pre class="code">
// ==UserScript==
// @name           live.gizmodo.com
// @namespace      live.gizmodo.com
// @description    live.gizmodo.com
// @include        http://live.gizmodo.com/
// ==/UserScript==

// Add jQuery
var GM_JQ = document.createElement('script');
GM_JQ.src = 'http://jquery.com/src/jquery-latest.js';
GM_JQ.type = 'text/javascript';
document.getElementsByTagName('head')[0].appendChild(GM_JQ);

// Check if jQuery's loaded
function GM_wait() {
    if(typeof unsafeWindow.jQuery == 'undefined') { window.setTimeout(GM_wait,100); }
else { $ = unsafeWindow.jQuery; letsJQuery(); }
}
GM_wait();

// All your GM code must be inside this function
function letsJQuery() {
	$('#header_container').hide()
    setTimeout(function(){ window.location.reload(true);}, 15000);
}
</pre>

<p><a href="http://feedads.g.doubleclick.net/~a/Gd588yjycJCDNURgBBaYdvkcR10/0/da"><img src="http://feedads.g.doubleclick.net/~a/Gd588yjycJCDNURgBBaYdvkcR10/0/di" border="0" ismap="true"></img></a><br/>
<a href="http://feedads.g.doubleclick.net/~a/Gd588yjycJCDNURgBBaYdvkcR10/1/da"><img src="http://feedads.g.doubleclick.net/~a/Gd588yjycJCDNURgBBaYdvkcR10/1/di" border="0" ismap="true"></img></a></p><img src="http://feeds.feedburner.com/~r/ColinHarrington/~4/UFQ_YAU3sMU" height="1" width="1"/>]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2009/03/greasemonkey-livegizmodocom/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		<feedburner:origLink>http://colinharrington.net/blog/2009/03/greasemonkey-livegizmodocom/</feedburner:origLink></item>
	</channel>
</rss>
