<?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>Colin Harrington &#187; General</title>
	<atom:link href="http://colinharrington.net/blog/category/general/feed/" rel="self" type="application/rss+xml" />
	<link>http://colinharrington.net/blog</link>
	<description>Technologist, Consultant, Software Engineer, Entrepreneur and Musician</description>
	<lastBuildDate>Fri, 17 Feb 2012 18:17:04 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Notes for Jailbreaking iOS 5 for iPhone 4S + iPad2</title>
		<link>http://colinharrington.net/blog/2012/02/notes-for-jailbreaking-ios-5-for-iphone-4s-ipad2/</link>
		<comments>http://colinharrington.net/blog/2012/02/notes-for-jailbreaking-ios-5-for-iphone-4s-ipad2/#comments</comments>
		<pubDate>Fri, 17 Feb 2012 17:54:25 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Logo]]></category>
		<category><![CDATA[cydia]]></category>
		<category><![CDATA[iOS]]></category>
		<category><![CDATA[jailbreak]]></category>
		<category><![CDATA[logo]]></category>
		<category><![CDATA[ssh]]></category>

		<guid isPermaLink="false">http://colinharrington.net/blog/?p=255</guid>
		<description><![CDATA[Actually doing the Jailbreak is easy: Download and run the jailbreak app called Absinthe Read the install instructions Follow the installation instructions Be patient. When you are done you&#8217;ll have the Cydia App installed. &#8220;This is where the fun begins&#8221; &#8211; Anakin Skywalker My shortlist of apps: Activator (Control over gestures) SBSettings + Toggles &#38; [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://colinharrington.net/blog/wp-content/uploads/2012/02/abs_gp001.png"><img class="alignright  wp-image-256" title="abs_gp001" src="http://colinharrington.net/blog/wp-content/uploads/2012/02/abs_gp001.png" alt="" width="128" height="128" /></a>Actually doing the Jailbreak is easy:</p>
<ol>
<li><a title="Absinthe" href="http://greenpois0n.com/?p=173">Download and run the jailbreak app called Absinthe</a></li>
<li>Read the install instructions</li>
<li>Follow the installation instructions</li>
<li>Be patient.</li>
</ol>
<p>When you are done you&#8217;ll have the <a title="Cydia" href="http://cydia.saurik.com/">Cydia</a> App installed.</p>
<blockquote><p><em>&#8220;This is where the fun begins&#8221;</em> &#8211; Anakin Skywalker</p></blockquote>
<p><a href="http://colinharrington.net/blog/wp-content/uploads/2012/02/cydia.png"><img class="size-full wp-image-257 alignright" title="cydia" src="http://colinharrington.net/blog/wp-content/uploads/2012/02/cydia.png" alt="Cydia Icon" width="118" height="120" /></a></p>
<h3>My shortlist of apps:</h3>
<ul>
<li>Activator (Control over gestures)</li>
<li>SBSettings + Toggles &amp; Themes</li>
<li>Custom BootLoaders: animate + animate fix (Boot Logos)</li>
<li>FakeCarrier (or removal for space!)</li>
<li>Firebreak (Enabling the hidden Panorama Camera feature)</li>
<li>Five Icon { Dock, Folder, Switcher }</li>
<li>Five Column Springboard.</li>
<li>Sound/Ringtone themes.</li>
<li>Winterboard Themes</li>
<li>Veency (VNC)</li>
<li>MXTube</li>
<li>My{Wi,3G} (Paid$$)</li>
<li>SSH (only if you know what you are doing)</li>
<li>Mobible Terminal</li>
</ul>
<h3><a title="Jailbroken settings" href="http://colinharrington.net/blog/wp-content/uploads/2012/02/jailbroken-sbsettings.png"><img class="wp-image-258 aligncenter" title="jailbroken-sbsettings" src="http://colinharrington.net/blog/wp-content/uploads/2012/02/jailbroken-sbsettings.png" alt="" width="320" height="480" /></a><br />
SSH:</h3>
<ul>
<li><a href="http://cydia.saurik.com/openssh.html">Install OpenSSH in Cydia</a></li>
<li><a href="http://cydia.saurik.com/password.html">Change your default password.</a></li>
<li><a title="SSH without passwords (Public/Private Keys)" href="http://colinharrington.net/blog/2011/10/ssh-without-passwords-publicprivate-keys/">use public-key/private keys</a></li>
<li>Mount and browse your device over SSH</li>
</ul>
<h3></h3>
<h3><a href="http://colinharrington.net/blog/wp-content/uploads/2012/02/Mobile-Terminal-iOS-5.png"><img class=" wp-image-267 alignright" style="border: 2px solid white;" title="Mobile-Terminal-iOS-5" src="http://colinharrington.net/blog/wp-content/uploads/2012/02/Mobile-Terminal-iOS-5.png" alt="" width="160" height="240" /></a>Mobile Terminal:</h3>
<p>The one in the Cydia store is <em>*old*</em> and won&#8217;t work on iOS4 or iOS5.  I&#8217;m not sure why, but it seems like the contributor abandoned this package.</p>
<p>You can install it by other means.<br />
<a title="Mobile terminal Installation Instructions" href="http://code.google.com/p/mobileterminal/wiki/Installation">http://code.google.com/p/mobileterminal/wiki/Installation</a></p>
<ul>
<li>Adding another repository and installing via Cydia</li>
<li>Manually installing it (files + Permissions on the device)</li>
<li>Open the deb with iFile (Paid$$ but with a free trial)</li>
<li>Cydia auto-installed deb using Cydia&#8217;s auto-install feature</li>
<ul>
<li>dropping the .deb in the /var/root/Media/Cydia/AutoInstall folder (create it if its not there, case-sensitive)</li>
<li><a href="http://www.thedailybuggle.com/autoinstall-deb-file-package-cydia-terminal-command-line/">http://www.thedailybuggle.com/autoinstall-deb-file-package-cydia-terminal-command-line/</a></li>
</ul>
</ul>
<p>&nbsp;</p>
<h3>Animated BootLogos:</h3>
<p>Back in the early days you could use an app called LogoMe to update a custom boot logo. Then came animate which let you animate your boot logo (<a href="http://www.squidoo.com/startup-logos">Like the Windows 98+ startup logo screens</a>) You&#8217;ll need the <a href="http://appadvice.com/appnn/2012/02/jailbreak-only-animate-fix-install-custom-boot-logos-on-your-iphone-4s">animate fix</a> to get them to work now.</p>
<p>I ended up making my own Boot Animation of my AppleTux logo with the help of a couple <a href="http://wowmobi.net/iphone/iphone-tutorials/create-custom-animated-bootlogos-for-jailbroken-ios-5-x/">blogposts</a></p>
<p>The process is simple: basically create a series of PNGs {<code>0.png, 1.png, 2.png, ... n.png</code>} and place them in a named folder inside of <code>/Library/BootLogos/</code></p>
<p><code>/Library/BootLogos/AppleTux/</code> looks like this:<br />
<iframe src="http://www.youtube.com/embed/hyf111VttZ8" frameborder="0" width="480" height="480"></iframe></p>
<p>And can be downloaded <a title="AppleTuxBoot" href="http://dl.dropbox.com/u/129843/appletux/AppleTuxBoot.zip">here</a>:</p>
]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2012/02/notes-for-jailbreaking-ios-5-for-iphone-4s-ipad2/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Running MPIDE (ChipKIT&#8217;s Arduino IDE remake) on 64bit Ubuntu</title>
		<link>http://colinharrington.net/blog/2011/08/running-mpide-chipkits-arduino-ide-remake-64bit-ubuntu/</link>
		<comments>http://colinharrington.net/blog/2011/08/running-mpide-chipkits-arduino-ide-remake-64bit-ubuntu/#comments</comments>
		<pubDate>Sun, 14 Aug 2011 20:40:50 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[chipkit]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[microcontroller]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://colinharrington.net/blog/?p=235</guid>
		<description><![CDATA[I recently got a ChipKIT Uno32 for a LED project that I&#8217;m working on.  The ChipKit is basically compatible with most Arduino code, but has a 32 bit chip with a clock rate that is 5x the speed of my Arduino Uno, as well as much more Flash &#38; SRAM space.  I am really excited [...]]]></description>
			<content:encoded><![CDATA[<p>I recently got a <a href="http://www.digilentinc.com/Products/Detail.cfm?NavPath=2,719,896&amp;Prod=CHIPKIT-UNO32">ChipKIT Uno32</a> for a LED project that I&#8217;m working on.  The ChipKit is basically compatible with most Arduino code, but has a 32 bit chip with a clock rate that is 5x the speed of my <a title="Arduino Uno" href="http://arduino.cc/en/Main/ArduinoBoardUno">Arduino Uno</a>, as well as much more Flash &amp; SRAM space.  I am really excited about it because we ran into performance issues with a slower 8-bit processor, and we are hoping that 32bit + 8x clock speed will put us back into the workable range.</p>
<p><img class="aligncenter" title="ChipKIT Uno32" src="http://www.colinharrington.net/images/chipkit-uno32.png" alt="Chipkit Uno32 board" width="500" height="373" /></p>
<p style="text-align: left;">The <a href="http://www.arduino.cc/en/Main/Software">Arduino IDE</a> (<a href="http://code.google.com/p/arduino/">hosted on google code</a>) doesn&#8217;t work with ChipKit so They remade the the IDE and called it MPIDE (Multi-Platform IDE) and its<a href="https://github.com/chipKIT32/chipKIT32-MAX"> hosted on Github</a>. The released binaries are <a href="https://github.com/chipKIT32/chipKIT32-MAX/downloads">found here</a>.</p>
<p style="text-align: left;"><img class="aligncenter" title="MPIDE Blink" src="http://www.colinharrington.net/images/mpide-blink.png" alt="MPIDE Blink"/>They have a <a href="http://www.chipkit.cc/wiki/index.php?title=MPIDE_Installation">decent wiki page on how to run MPIDE</a> which helped.</p>
<p>The article cited issues with 64 bit systems:</p>
<blockquote>
<h3>64bit Systems</h3>
<p>The binary packages for MPIDE are all built for 32bit Linux distributions, if you are running 64bit you need to have some additional libraries installed. You&#8217;ll need to have 32bit versions of libelf.so and libreadline.so to be able to program the chipKIT, these need to be in /usr/lib32. You may well need to sym-link these latest versions manually, installing these libs is a fairly advanced operation and will vary significantly between distributions.</p></blockquote>
<p>So this is what I had to do to get it running on 64 bit Ubuntu (Maverick/10.10):</p>
<p>1) Download the Linux Version and unpack it somwehere.</p>
<p>2) Getting librxtx-java and other jni items loadable via the LD_LIBRARY_PATH or CLASSPATH, <a href="http://colinharrington.net/blog/2010/11/arduino-ubuntu-10-10-maverick-meerkat-no-rxtxserial/">which I wrote a post about</a>.</p>
<p>3) The next issue that I ran into was a permissions issue</p>
<blockquote><p>Cannot run program &#8220;/home/username/mpide-0022-chipkit-linux32-20110619/hardware/pic32/compiler/pic32-tools/bin/pic32-g++&#8221;: java.io.IOException: error=13, Permission denied</p></blockquote>
<p>I initially solved it by chmodding everything in that directory, but that resulted in:</p>
<blockquote><p>pic32-g++: error trying to exec &#8216;cc1plus&#8217;: execvp: No such file or directory</p></blockquote>
<p>So I followed the advice <a href="http://www.chipkit.cc/forum/viewtopic.php?f=6&amp;t=41">in this forum post</a> and executed <code>chmod +x  -R ./hardware/pic32/compiler/</code> and that seemed to do it for me.  I think I was able to compile/verify the blink example at this point.</p>
<p>4) Add 32bit versions of libelf and libreadline6 to /usr/lib32:</p>
<p>The first error I ran into was:</p>
<p>/home/username/mpide-0022-chipkit-linux32-20110619/hardware/pic32/compiler/pic32-tools/bin/../pic32mx/bin/gcc/pic32mx/4.5.1/cc1plus: error while loading shared libraries: libelf.so.1: cannot open shared object file: No such file or directory</p>
<p>I solved this by downloading the <a href="http://packages.ubuntu.com/maverick/libelf1">i386 deb from here</a>, opening it with archive manager and copying <code>/usr/lib/libelf-0.147.so</code> to <code>/usr/lib32/libelf-0.147.so</code>. after this I creating the versioned symbolic link via <code>ln -s libelf-0.147.so libelf.so.1</code></p>
<p>Tried it again and was onto my next error:</p>
<blockquote><p>/home/username/mpide-0022-chipkit-linux32-20110619/hardware/tools/avrdude: error while loading shared libraries: libreadline.so.6: cannot open shared object file: No such file or directory</p></blockquote>
<p>Repeat the same process for <a href="http://packages.ubuntu.com/maverick/libreadline6">libreadline6</a> (which contains another required lib too) And I was able to upload the and run the blink example.</p>
<p>Now on to making the TLC Library work..</p>
]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2011/08/running-mpide-chipkits-arduino-ide-remake-64bit-ubuntu/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Synergy key-mappings between Linux and OSX</title>
		<link>http://colinharrington.net/blog/2011/03/synergy-key-mappings-between-linux-and-osx/</link>
		<comments>http://colinharrington.net/blog/2011/03/synergy-key-mappings-between-linux-and-osx/#comments</comments>
		<pubDate>Tue, 22 Mar 2011 07:06:42 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>
		<category><![CDATA[Quick Synergy]]></category>
		<category><![CDATA[Synergy]]></category>
		<category><![CDATA[Ubuntu]]></category>

		<guid isPermaLink="false">http://colinharrington.net/blog/?p=216</guid>
		<description><![CDATA[I&#8217;ve been a fan of Synergy for years. If you aren&#8217;t familiar with Synergy, It basically allows me to control multiple computers using only one mouse and keyboard on the host machine. Synergy2 comes with a GUI on Windows, but for Linux or Apple/Mac OSX there isn&#8217;t a GUI packaged with synergy itself. I&#8217;ve since [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://colinharrington.net/blog/wp-content/uploads/2011/03/synergy-logo.png"><img class="alignright size-full wp-image-218" title="Synergy Logo" src="http://colinharrington.net/blog/wp-content/uploads/2011/03/synergy-logo.png" alt="" width="128" height="128" /></a>I&#8217;ve been a fan of <a href="http://synergy-foss.org/">Synergy</a> for years.  If you aren&#8217;t familiar with Synergy, It basically allows me to control multiple computers using only one mouse and keyboard on the host machine.</p>
<p><a href="http://synergy2.sourceforge.net/">Synergy2</a> comes with a GUI on Windows, but for Linux or Apple/Mac OSX there isn&#8217;t a GUI packaged with synergy itself.  I&#8217;ve since found the <a title="Quick Synergy" href="http://code.google.com/p/quicksynergy/">Quick Synergy GUI </a>to work fairly well between Windows and Linux since the key mappings are very similar.</p>
<p><a href="http://colinharrington.net/blog/wp-content/uploads/2011/03/QS-Share.png"><img class="size-full wp-image-220 aligncenter" title="Quick Synergy :: Share" src="http://colinharrington.net/blog/wp-content/uploads/2011/03/QS-Share.png" alt="" width="387" height="345" /></a></p>
<p>Installing it on Linux was a breeze: <code>sudo apt-get install quicksynergy</code></p>
<p><a href="http://colinharrington.net/blog/wp-content/uploads/2011/03/apt-get-install-quicksynergy.png"><img class="size-full wp-image-223 alignleft" title="sudo apt-get install quicksynergy" src="http://colinharrington.net/blog/wp-content/uploads/2011/03/apt-get-install-quicksynergy.png" alt="" width="309" height="29" /></a></p>
<p>&nbsp;</p>
<p>When I went to use OSX from a Linux Host, I found that Quick Synergy <a href="http://code.google.com/p/quicksynergy/issues/detail?id=10&amp;colspec=ID%20Type%20Status%20Priority%20Opsys%20Summary">wasn&#8217;t able to configure</a> the key mapping options that are needed to achieve keyboard zen.  &#8220;No Problem&#8221;, I thought, &#8220;I&#8217;ll just edit the settings file that QuickSynergy Uses&#8221; &#8211; but it turns out that the <a href="http://code.google.com/p/quicksynergy/issues/detail?id=10&amp;colspec=ID%20Type%20Status%20Priority%20Opsys%20Summary">changes are overwritten</a> and my GUI dreams died with that issue.</p>
<p>I ended up finding the <a href="http://superuser.com/questions/90223/synergy-key-mapping">right key modifiers</a> from Linux to OSX and reverted back to launching Synergy manually from the command line.  <code>synergys -f --config /path/to/synergy-config.conf</code></p>
<p><a href="http://colinharrington.net/blog/wp-content/uploads/2011/03/launching-synergy-manually.png"><img class="size-full wp-image-225" title="synergys -f --config /path/to/synergy-config.conf" src="http://colinharrington.net/blog/wp-content/uploads/2011/03/launching-synergy-manually.png" alt="" width="456" height="30" /></a></p>
<p>Its easy to setup aliases or other shortcuts but here is the magic sauce complete with key modifiers:<br />
<script src="https://gist.github.com/880848.js?file=gistfile1.txt"></script></p>
]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2011/03/synergy-key-mappings-between-linux-and-osx/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Which process has that port open? (Linux / netstat -anp)</title>
		<link>http://colinharrington.net/blog/2010/12/which-process-has-that-port-open-linux-netstat-anp/</link>
		<comments>http://colinharrington.net/blog/2010/12/which-process-has-that-port-open-linux-netstat-anp/#comments</comments>
		<pubDate>Wed, 22 Dec 2010 04:37:59 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://colinharrington.net/blog/?p=48</guid>
		<description><![CDATA[Occasionally, I&#8217;ll have an application that I&#8217;m working on die spectacularly and still hold on to the open sockets / ports.Â  in Java you would see the java.net.BindException: Address already in use for an open port much like: java.net.BindException: Address already in use at sun.nio.ch.Net.bind(Native Method) at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119) at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59) ... It took me a [...]]]></description>
			<content:encoded><![CDATA[<p>Occasionally, I&#8217;ll have an application that I&#8217;m working on die spectacularly and still hold on to the open sockets / ports.Â  in Java you would see the <code>java.net.BindException</code>: Address already in use for an open port much like:</p>
<p><code>java.net.BindException: Address already in use<br />
at sun.nio.ch.Net.bind(Native Method)<br />
at sun.nio.ch.ServerSocketChannelImpl.bind(ServerSocketChannelImpl.java:119)<br />
at sun.nio.ch.ServerSocketAdaptor.bind(ServerSocketAdaptor.java:59)<br />
...<br />
</code></p>
<p>It took me a second to figure out how locate the process, but it turned out to be a really easy task using the <a href="http://linux.die.net/man/8/netstat">netstat</a> command by executing &#8216;<code>netstat -anp | grep 8080</code>&#8216; (a = all interfaces, n = numeric, p = show pid)Â  This isn&#8217;t perfect since it will still show you anything with a pid of 8080 (the port number I was looking for), but its a great quick-and dirtry way to identify the process.Â  and once I&#8217;ve found it I can kill it with a &#8216;<code>kill -9 &lt;pid&gt;</code>&#8216;</p>
<p><code>user@machine:~/$ netstat -anp | grep 8080<br />
tcp6Â Â Â Â Â Â  0Â Â Â Â Â  0 :::8080Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  :::*Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â Â  LISTENÂ Â Â Â Â  19884/java<br />
user@machine:~/$ kill -9 19884</code></p>
<p>Which reminds me of this classic (please excuse the profanity):<br />
<object classid="clsid:d27cdb6e-ae6d-11cf-96b8-444553540000" width="480" height="385" codebase="http://download.macromedia.com/pub/shockwave/cabs/flash/swflash.cab#version=6,0,40,0"><param name="allowFullScreen" value="true" /><param name="allowscriptaccess" value="always" /><param name="src" value="http://www.youtube.com/v/Fow7iUaKrq4?fs=1&amp;hl=en_US&amp;color1=0x3a3a3a&amp;color2=0x999999" /><param name="allowfullscreen" value="true" /><embed type="application/x-shockwave-flash" width="480" height="385" src="http://www.youtube.com/v/Fow7iUaKrq4?fs=1&amp;hl=en_US&amp;color1=0x3a3a3a&amp;color2=0x999999" allowscriptaccess="always" allowfullscreen="true"></embed></object></p>
<p>ps:<br />
Windows =&gt; <code>netstat -ano</code><br />
OSX =&gt; <code><a href="http://hintsforums.macworld.com/archive/index.php/t-56817.html">lsof -i -P</a></code></p>
]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2010/12/which-process-has-that-port-open-linux-netstat-anp/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Arduino + Ubuntu 10.10 Maverick Meerkat :: no rxtxSerial in java.library.path</title>
		<link>http://colinharrington.net/blog/2010/11/arduino-ubuntu-10-10-maverick-meerkat-no-rxtxserial/</link>
		<comments>http://colinharrington.net/blog/2010/11/arduino-ubuntu-10-10-maverick-meerkat-no-rxtxserial/#comments</comments>
		<pubDate>Fri, 19 Nov 2010 07:13:43 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Ubuntu]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[java]]></category>
		<category><![CDATA[projects]]></category>

		<guid isPermaLink="false">http://colinharrington.net/blog/?p=186</guid>
		<description><![CDATA[I&#8217;m just getting into the Arduino, and have an awesome project that I&#8217;m working on with some friends. I found the Arduino IDE in package manager, and went to install it sudo apt-get install arduino Or Via Synaptic: When I went to run it died with the following exception: A little googling turned up the [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m just getting into the <a href="http://www.arduino.cc/" target="_blank">Arduino</a>, and have an awesome project that I&#8217;m working on with <a href="http://heath-bar.com/">some</a> <a href="http://twitter.com/#!/BassmanJB2">friends</a>.</p>
<div class="wp-caption aligncenter" style="width: 510px"><img title="Playing with a multi-color LED" src="http://www.colinharrington.net/images/multi-color-led.png" alt="Playing with a multi-color LED" width="500" height="373" /><p class="wp-caption-text">Playing with a multi-color LED</p></div>
<p>I found the Arduino IDE in package manager, and went to install it<br />
<code>sudo apt-get install arduino</code></p>
<p style="text-align: left;">Or Via Synaptic:<img class="aligncenter" title="Arduino via Synaptic" src="http://www.colinharrington.net/images/arduino-synaptic.png" alt="Arduino via Synaptic" width="464" height="76" /></p>
<p>When I went to run it died with the following exception:<br />
<script src="https://gist.github.com/706195.js?file=Arduino%20Error"></script></p>
<p>A little googling turned up the <a href="https://bugs.launchpad.net/ubuntu/+source/arduino/+bug/664309">this bug</a>.  It basically describes that there is an issue with Ubuntu 10.10 + sun-java not including the jni directory in the classpath.  There are several solutions, but basically <a href="https://bugs.launchpad.net/ubuntu/+source/arduino/+bug/664309/comments/7">this comment</a> sums it up the best:</p>
<blockquote><p>1) don&#8217;t use sun-java but default-jre instead. This bug is actually a known bug in sun-java. (<a href="https://bugs.launchpad.net/ubuntu/+source/sun-java6/+bug/325506">bug #325506</a>)<br />
2) add export LD_LIBRARY_PATH=/usr/lib/jni to your .bashrc, the .deskop file (in /usr/share/desktop), or on the command line before starting arduino<br />
3) add the new package (instructions are above).</p></blockquote>
<p>I opted for #2 so far&#8230;Â  The idea flow for potential projects are unending.Â  I should try some CI build Lights/lamps next <img src='http://colinharrington.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> </p>
]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2010/11/arduino-ubuntu-10-10-maverick-meerkat-no-rxtxserial/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>OSX Mouse Acceleration</title>
		<link>http://colinharrington.net/blog/2010/07/osx-mouse-acceleration/</link>
		<comments>http://colinharrington.net/blog/2010/07/osx-mouse-acceleration/#comments</comments>
		<pubDate>Tue, 06 Jul 2010 21:50:24 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[Mouse Acceleration]]></category>
		<category><![CDATA[OSX]]></category>

		<guid isPermaLink="false">http://colinharrington.net/blog/?p=175</guid>
		<description><![CDATA[I dual-boot OSX and Ubuntu, but primarily live, work and play in Ubuntu.Â  The only reasons that I boot up into OSX these days are to sync an iPhone, or more recently play some Steam Games (Go Steam for Releasing an OSX Client!Â  A Linux client shouldn&#8217;t be too far behind right?).Â  Windows is now [...]]]></description>
			<content:encoded><![CDATA[<p><img class="alignright" title="Mouse on Fire" src="http://www.colinharrington.net/images/mouse_on_fire.png" alt="Mouse on Fire" width="160" height="100" /></p>
<p>I dual-boot <a title="Mac OSX" href="http://en.wikipedia.org/wiki/Mac_OS_X">OSX</a> and <a title="Ubuntu" href="http://www.ubuntu.com/">Ubuntu</a>, but primarily live, work and play in <a title="Ubuntu" href="http://colinharrington.net/blog/category/linux/ubuntu-linux/">Ubuntu</a>.Â  The only reasons that I boot up into OSX these days are to sync an <a title="iPhone" href="http://www.apple.com/iphone/">iPhone</a>, or more recently play some Steam Games (Go <a title="Steam Released an OSX Client!" href="http://store.steampowered.com/browse/mac">Steam for Releasing an OSX Client</a>!Â  A Linux client shouldn&#8217;t be too far behind right?).Â  Windows is now relinquished to a VM for IE testing &amp; other software that is stuck on that platform.</p>
<p>I&#8217;ve always been bothered by mice in OSX, they never felt good and didn&#8217;t handle as I had expected.Â  This is especially important when doing some intricate work with Photoshop, or in a computer game.Â  I don&#8217;t have much time to play games on the computer, but I&#8217;ve been able to get a few hours in recently and really noticed that the mouse acceleration was unusable/unreliable for fast-paced action&#8230;</p>
<p style="text-align: left;">A little googling turned up the &#8220;<a title="Mouse Acceleration Preference Pane" href="http://triq.net/mac/mouse-acceleration-preference-pane-mac-os-x" target="_blank">Mouse Acceleration Preference Pane</a>&#8221; for Mac OSX by <a title="Christian Suckschwerdt" href="http://triq.net/content/about" target="_blank">Christian Zuckschwerdt</a>.</p>
<p style="text-align: left;">I downloaded version 1.1 and then had this preference pane is my System Preferences<img class="alignleft" style="margin: 0px; border: 0pt none;" title="System Preferences Icon" src="http://www.colinharrington.net/images/SystemPreferencesIcon-small.png" alt="System Preferences Icon" width="24" height="24" />:<br />
<img class="aligncenter" title="System Preferences" src="http://www.colinharrington.net/images/mouse-acceleration-pref-pane-system-preferences.png" alt="System Preferences" width="400" height="102" /></p>
<p style="text-align: left;">Which then lets me configure the acceleration for both the mouse and trackpad.<br />
<img class="aligncenter" title="Mouse Acceleration Pref Pane" src="http://www.colinharrington.net/images/mouse-acceleration-pref-pane-400px.png" alt="Mouse Acceleration Pref Pane" width="400" height="256" /></p>
<p>Even better, I could turn off acceleration all-together!</p>
<p><img class="aligncenter" title="Enable at Login" src="http://www.colinharrington.net/images/mouse-acceleration-pref-pane-enable-at-login.png" alt="Enable at Login" width="268" height="33" />From <a href="http://triq.net/mac/mouse-acceleration-preference-pane-mac-os-x">Christian Zuckschwerdt&#8217;s site</a>:</p>
<blockquote><p><strong>Extented mouse settings</strong></p>
<p>&#8220;The Mouse Acceleration PrefPane is a GUI and startup item to <a href="http://www.knockknock.org.uk/mac/">Richard Bentley&#8217;s MouseFix</a>.Â  You can set up extended speed parameters and acceleration curves for your mouse.&#8221;</p></blockquote>
<p>Good work Christian!</p>
]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2010/07/osx-mouse-acceleration/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gnome CPU Frequency Scaling Monitor Authorization Policy</title>
		<link>http://colinharrington.net/blog/2010/03/gnome-cpu-frequency-scaling-authorization-policy/</link>
		<comments>http://colinharrington.net/blog/2010/03/gnome-cpu-frequency-scaling-authorization-policy/#comments</comments>
		<pubDate>Sun, 28 Mar 2010 03:42:13 +0000</pubDate>
		<dc:creator>Colin</dc:creator>
				<category><![CDATA[General]]></category>
		<category><![CDATA[cpufreq-applet]]></category>
		<category><![CDATA[Gnome]]></category>
		<category><![CDATA[Linux]]></category>

		<guid isPermaLink="false">http://colinharrington.net/blog/?p=163</guid>
		<description><![CDATA[After setting up a laptop with Ubuntu, one of the things that I typically like to do is add a the CPU Frequency Scaling Monitor applet (cpufreq-applet) to my main Gnome panel. I typically work running large web applications (Grails&#8230;) that typically use a lot of CPU power when running tests, launching the apps or [...]]]></description>
			<content:encoded><![CDATA[<p>After setting up a laptop with Ubuntu, one of the things that I typically like to do is add a the <a href="http://library.gnome.org/users/cpufreq-applet/stable/cpufreq-applet-introduction.html.en">CPU Frequency Scaling Monitor applet</a> (cpufreq-applet) to my main Gnome panel.</p>
<p><img class="aligncenter" title="Gnome CPU Frequency Scaling In action" src="http://www.colinharrington.net/images/gnome-cpu-frequency.png" alt="" width="390" height="296" /></p>
<p>I typically work running large web applications (Grails&#8230;) that typically use a lot of CPU power when running tests, launching the apps or refactorings within an IDE.Â  I like the ability to quickly adjust the CPU &#8216;govenor&#8217; which governs how the CPU is utilized from a power/performance perspective (see <a href="http://idebian.wordpress.com/2008/06/22/cpu-frequency-scaling-in-linux/">CPU Frequency Scaling in Linux</a> for more).</p>
<p>Ubuntu 9.10 (Karmic Koala) uses Gnome 2.28.1 which requires authorization to change the CPU Frequency (which makes sense).Â  Earlier versions did not require this authorization since it is new in Gnome 2.28.</p>
<p>With policykit-1 (also new in Ubuntu 9.10) you can grant yourself authorization for the cpufreq-applet based on a user or group by creating a policy file (at /var/lib/polkit-1/localauthority/50-local.d/org.gnome.cpufreqselector.pkla for example) that looks something like this:<br />
<code>[org.gnome.cpufreqselector]<br />
Identity=unix-user:<em><strong>YourUser</strong></em><br />
Action=org.gnome.cpufreqselector<br />
ResultAny=no<br />
ResultInactive=no<br />
ResultActive=yes</code></p>
<p>Thanks to <a href="http://bbs.archlinux.org/viewtopic.php?id=82670">this post/discussion</a> for pointing this out <img src='http://colinharrington.net/blog/wp-includes/images/smilies/icon_smile.gif' alt=':-)' class='wp-smiley' /> Â  be sure you change <em>YourUser</em> to your username or group that you wish to have authorized.</p>
<p>I don&#8217;t know of a policy GUI that works with policykit-1 yet, so let me know if you find something.</p>
<p>I also replaced the icons in the /usr/share/pixmaps/cpufreq-applet/ with something I found onÂ  <a href="http://gnome-look.org/content/show.php/CPU+Frequency+Scaling+icon+collection?content=113148">gnome-look.org</a></p>
<p style="text-align: center;"><img class="aligncenter" title="cpufreq humanity v1.6 discrete color" src="http://colinharrington.net/images/cpufreq-discrete-grey.png" alt="" width="142" height="24" /></p>
]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2010/03/gnome-cpu-frequency-scaling-authorization-policy/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Hulu Desktop for Linux! 32 &amp; 64bit versions for Ubuntu &amp; Fedora</title>
		<link>http://colinharrington.net/blog/2009/10/hulu-desktop-for-linux/</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 [...]]]></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>
]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2009/10/hulu-desktop-for-linux/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Windows Vista = Slow^3</title>
		<link>http://colinharrington.net/blog/2009/07/windows-vista-slow3/</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&#8242;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>
]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2009/07/windows-vista-slow3/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Grails Growl-like notifications in Linux (Ubuntu, 9.04)</title>
		<link>http://colinharrington.net/blog/2009/05/grails-growl-like-notifications-in-linux-ubuntu-904/</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 [...]]]></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>
]]></content:encoded>
			<wfw:commentRss>http://colinharrington.net/blog/2009/05/grails-growl-like-notifications-in-linux-ubuntu-904/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
		</item>
	</channel>
</rss>

