<?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>Organic Element Blog</title>
	<atom:link href="http://blog.organicelement.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.organicelement.com</link>
	<description>Its only natural...</description>
	<lastBuildDate>Sun, 13 Jun 2010 06:38:59 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.0</generator>
		<item>
		<title>Managing multiple Maven versions</title>
		<link>http://blog.organicelement.com/2009/11/02/managing-multiple-maven-versions/</link>
		<comments>http://blog.organicelement.com/2009/11/02/managing-multiple-maven-versions/#comments</comments>
		<pubDate>Mon, 02 Nov 2009 16:14:47 +0000</pubDate>
		<dc:creator>Chris Custine</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fusesource]]></category>

		<guid isPermaLink="false">http://blog.organicelement.com/?p=166</guid>
		<description><![CDATA[Lately I&#8217;ve been using Apache Maven 3.0 snapshots to test build compatibility on ServiceMix, Karaf and some of the other projects I work on.  I&#8217;m ]]></description>
			<content:encoded><![CDATA[<p>Lately I&#8217;ve been using Apache Maven 3.0 snapshots to test build compatibility on <a href="http://servicemix.apache.org" target="_blank">ServiceMix</a>, <a href="http://felix.apache.org/site/apache-felix-karaf.html" target="_blank">Karaf</a> and some of the other projects I work on.  I&#8217;m also using 2.0.9, 2.0.10, and 2.2.1 to replicate customer environments and build servers, so it gets to be a real pain in the ass to change these around all the time.  To make my life easier, this weekend I hacked up a Maven version of the awesome <a href="http://docs.codehaus.org/display/ninja/setjdk" target="_blank">setjdk and defaultjdk commands</a> written by David Blevins for Mac OSX (if you&#8217;re on a Mac and not using these scripts, you should be).<span id="more-166"></span></p>
<p>This script makes some assumptions about where your Maven versions are and how they are named.  First of all, it is assumed that you put all of your Maven installs in the same place.  It could be hacked to look in multiple locations, but we&#8217;re lazy developers so why the fuss?  Second assumption is that you retain the directory naming of the tar.gz or .zip distributions of Maven.  These begin with apache-maven-* and that&#8217;s how the script finds the versions.  I&#8217;m building the 3.0-SNAPSHOTs into the same common location so that I can switch between them easily as well.</p>
<p>As a bonus, if you set up your default M2_HOME to point to the symlink &#8220;apache-maven&#8221; in your $MAVEN_PARENT location, you can change the default Maven version for new terminal instances as well using defaultmvn.</p>
<p>I know there is some room for improvement, but as it is this script works well on Mac OSX as well as Linux, so hopefully someone else can find it useful.</p>
<p><strong>Installation:</strong> Click the &#8220;copy to clipboard&#8221; link in the top right corner and save this as /etc/profile.d/setmvn.sh or just source it into your terminal by some other means.  Modify the MAVEN_PARENT to your parent location such as /opt or /usr/local/share, etc.</p>
<p><strong>Usage:</strong> The command includes completions, so from your shell just &#8220;setmvn &lt;hit tab&gt;&#8221; and you should see all of your maven versions.  Partial completions work too, so if you are a tab-happy completion-abusing lazy developer like me, this will be right up your alley.</p>
<pre class="brush: bash;">
#!/bin/bash
MAVEN_PARENT=/usr/share

function defaultmvn {
    local mvndir=$MAVEN_PARENT
    local ver=${1?Usage: defaultmvn &amp;lt;version&amp;gt;}
    local mvnprefix=apache-maven-

    [ -z &amp;quot;$2&amp;quot; ] || error=&amp;quot;Too many arguments&amp;quot;
    [ -d $mvndir/$mvnprefix$ver ] || local error=&amp;quot;Unknown Maven version: $ver&amp;quot;
    [ &amp;quot;$(readlink $mvndir/apache-maven)&amp;quot; != &amp;quot;$mvndir/$mvnprefix$ver&amp;quot; ] || local error=&amp;quot;Default Maven already set to $ver&amp;quot;

    if [ -n &amp;quot;$error&amp;quot; ]; then
    echo $error
    return 1
    fi

    echo &amp;quot;Setting default Maven to $ver ... &amp;quot;

    if [ &amp;quot;$(/usr/bin/id -u)&amp;quot; != &amp;quot;0&amp;quot; ]; then
    SUDO=sudo
    fi

    $SUDO /bin/rm $mvndir/apache-maven
    $SUDO /bin/ln -s $mvndir/$mvnprefix$ver $mvndir/apache-maven

    echo Done.
}

function setmvn {
    local mvndir=$MAVEN_PARENT
    local ver=${1?Usage: setmvn &amp;lt;version&amp;gt;}
    local mvnprefix=apache-maven-

    [ -d $mvndir/$mvnprefix$ver ] || {
    echo Unknown Maven version: $ver
    return 1
    }

    echo &amp;quot;Setting current Maven version to $ver ...&amp;quot;

    export M2_HOME=$mvndir/$mvnprefix$ver
    PATH=$(echo $PATH | tr ':' '\n' | grep -v $mvndir/$mvnprefix | tr '\n' ':')
    export PATH=$M2_HOME/bin:$PATH

    mvn -v
}

function _setmvn_completion (){
    COMPREPLY=()

    local mvndir=$MAVEN_PARENT
    local cur=${COMP_WORDS[COMP_CWORD]//\\\\/}
    local options=$(cd $mvndir; ls -d -1 apache-maven-* | awk '{match($0,&amp;quot;apache-maven-.*&amp;quot;); print substr($0,14,RLENGTH-13)}' | tr '\n' ' ')

    COMPREPLY=($(compgen -W &amp;quot;${options}&amp;quot; ${cur}))
}

complete -F _setmvn_completion -o filenames setmvn
complete -F _setmvn_completion -o filenames defaultmvn
</pre>
<p>In order to get the defaultmvn part to work, I have the following in my /etc/profile.d/maven.sh file (adjust based on your OS).</p>
<pre class="brush: bash;">
M2_HOME=/usr/share/apache-maven
PATH=$M2_HOME/bin:$PATH
export M2_HOME PATH
</pre>
<p>So thanks to David Blevins for the still awesome after all these years setjdk script which I completely and unabashedly stole for the basis for the setmvn script.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.organicelement.com/2009/11/02/managing-multiple-maven-versions/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>TinyOS 2.1 on Sentilla JCreate motes</title>
		<link>http://blog.organicelement.com/2009/04/22/tinyos-21-on-sentilla-jcreate-motes/</link>
		<comments>http://blog.organicelement.com/2009/04/22/tinyos-21-on-sentilla-jcreate-motes/#comments</comments>
		<pubDate>Thu, 23 Apr 2009 00:16:20 +0000</pubDate>
		<dc:creator>Chris Custine</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fusesource]]></category>

		<guid isPermaLink="false">http://blog.organicelement.com/?p=116</guid>
		<description><![CDATA[I spent a little time last week getting TinyOS 2.1 apps to run on the cool little Sentilla JCreate motes and after I asked a ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.tinyos.net/"><img class="size-full wp-image-140 alignright" style="float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" title="tinyos" src="http://blog.organicelement.com/wp-content/uploads/2009/04/tinyos.png" alt="tinyos" width="268" height="156" /></a>I spent a little time last week getting TinyOS 2.1 apps to run on the cool little <a href="http://www.sentilla.com/perk.html" target="_blank">Sentilla JCreate motes</a> and after I asked a few questions on the TinyOS mailing list it became apparent that there were others interested in doing the same.  I received quite a few requests via private mail and on the mailing list to post the directions on how I got things working so here you go!!</p>
<p><span id="more-116"></span></p>
<p>My basic findings were that the tos-bsl bootstrap loader for the msp430 (Telos, TelosB, etc) does not work with the JCreate, but the bootloader included with the Sentilla SDK is argument compatible with the tos-bsl so if you replace tos-bsl things seem to work.  If anyone knows how to make tos-bsl from the msp430 tool chain work with JCreate please let me know.  In addition, there are some conflicts with the FTDI USB drivers and the communication method used by the Sentilla SDK, which I outline below.</p>
<p>These directions are based on Mac OSX and using the telosb target for compiling.  There are some limitations in doing this (only 3 LEDS on telos platform definition, no accelerometer, etc).  I am working on a platform definition for the JCreate which includes all 8 LEDs and hopefully I can get the accelerometer and ADCs to work as well, but I will save that for another post.</p>
<p><span style="font-weight: bold;">Step 1:  Remove FTDI VCP Drivers<br />
</span>One of the first problems was that the Sentilla code uses the <a href="http://www.ftdichip.com/Drivers/D2XX.htm" target="_blank">FTDI D2XX libraries</a> to talk directly to the USB device as opposed to the <a href="http://www.ftdichip.com/Drivers/VCP.htm" target="_blank">FTDI VCP drivers</a> which map the device to a serial port (COM or /dev/ttyXXX).  Most other software uses the VCP method which looks for the default VID/PID of the FTDI chip and maps any matching devices to the com ports.  Unfortunately the Sentilla devices use the default VID/PID as well, so when you insert them your device gets locked by the VCP driver.  So if you have the VCP drivers installed (which everyone probably does if you are using TinyOS), you need to uninstall them so that the D2XX libraries can talk to the device.  This could be specific to the Mac drivers, but I tend to think it would be a problem for other platforms as well, although FTDI has something called &#8220;Combined driver model&#8221; for Windows so that might be some kind of option if you are on Windows.</p>
<p><span style="font-weight: bold;">Step 2: Install FTDI D2XX libraries</span><br />
Go grab the <a href="http://www.ftdichip.com/Drivers/D2XX.htm" target="_blank">FTDI D2XX</a> libraries and install them according to the directions in the download.  Basically this will involve putting the dll or shared libs in a system library path.</p>
<p><span style="font-weight: bold;">Step 3: Locate tmote-bsl from Sentilla SDK<span style="font-weight: bold;"><br />
</span></span>Locate the tmote-bsl from the Sentilla SDK.  I think the Windows version was included on the CDROM in the PERK kit and the Mac and Linux versions are available <a href="http://dev.sentilla.com/forums/viewforum.php?f=9" target="_blank">here</a> if you are a registered Sentilla customer.  On my Mac, the tmote-bsl is located in /opt/SentillaWork-1.1.01/SentillaWork/plugins/com.sentilla.work_1.1.1/ but this will vary by platform.</p>
<p><span style="font-weight: bold;">Step 4: Create new target for JCreate</span><br />
Once you locate tmote-bsl, the easiest ways to use it is to create a new target for the JCreate.  Copy /tinyos-2.x/support/make/telosb.target to a new file called jcreate.target in the same directory.  Edit the jcreate.target and modify the bsl variables on lines 12-13 to look like this based on the location of tmote-bsl in step 3 (original values commented):</p>
<p><code>MSP_BSL ?= /opt/SentillaWork-1.1.01/SentillaWork/plugins/com.sentilla.work_1.1.1/tmote-bsl<br />
#MSP_BSL ?= tos-bsl<br />
MSP_BSL_FLAGS = -bsl=mini<br />
#MSP_BSL_FLAGS = --telosb<br />
</code><br />
Because the new bsl uses the D2XX libraries, there are some differences in the way you reference motes.  So before you would use something like:</p>
<p><code>make telosb install bsl,/dev/ttyUSB0</code><br />
Now you are going to use the serial number of the USB device and the jcreate target:</p>
<p><code>make jcreate install bsl,ftd/M4ASU2X7</code><br />
<span style="font-family: sans-serif;"><br />
To get the USB device serial number you can use the motelist from the same directory as tmote-bsl in the Sentilla SDK (which enumerates the FTDI USB devices by serial number vs COM port)</span>, or you can use something like device manager (Windows) or system profiler (Mac OSX).</p>
<p>Using the different device syntax above with the jcreate target, I have been able to load all of the example apps without any issues other than the mismatch in sensors and LEDs.  I will post the jcreate platform definition once I have time to work all of that out.</p>
<p><span style="font-weight: bold;">Step 5 (Optional):  Getting the Java apps to run</span><br />
Because I uninstalled the VCP drivers, the standard toscom JNI library used for the Java apps won&#8217;t be able to talk to the devices.  I suppose it is possible that installing the VCP drivers again at this point might work, but then you would have to uninstall every time you want to flash an app using the bsl.  As I said earlier, Sentilla uses the D2XX libraries in place of the VCP COM port drivers and it appears that the toscom library has been modified to use D2XX as well.  Out of curiosity, I replaced the toscom lib in my tinyos source tree with the one from the Sentilla SDK and re-ran tos-install-jni.  After trying to run some of the Java apps it was clear that the tinyos.jar file did not match the modified toscom JNI lib, so I used the tinyos.jar from Sentilla and that seemed to work up to a point.  Eventually I realized that some parts of the generated message interfaces were not working between the NesC code and Java.  I had the Sentilla tinyos.jar open in IntelliJ and from the errors I was getting it was apparent that the JNI calls has a slightly different signature than what was in TinyOS 2.1.  Once I modified net/tinyos/comm/TOSCommJNI.java to match those signatures, all of the Java apps started working perfectly.  You can download <a href="http://blog.organicelement.com/wp-content/uploads/2009/04/toscommjni.patch">TOSCommJNI.patch</a> and apply it to your local source tree.</p>
<p>At this point you should have a perfectly functioning TinyOS 2.x installation and build tools.</p>
<p>Wow that was a long post!  I know there are a lot of details here but I wanted to be specific and encourage others to offer their advice if there is a better way to do this.  If anyone has suggestions or questions feel free to leave a comment, or even better, post to the <a href="https://www.millennium.berkeley.edu/mailman/listinfo/tinyos-help" target="_blank">tinyos-help mailing list</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.organicelement.com/2009/04/22/tinyos-21-on-sentilla-jcreate-motes/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>ServiceMix and OSGi Webinars at FUSESource</title>
		<link>http://blog.organicelement.com/2009/04/09/servicemix-and-osgi-webinars-at-fusesource/</link>
		<comments>http://blog.organicelement.com/2009/04/09/servicemix-and-osgi-webinars-at-fusesource/#comments</comments>
		<pubDate>Thu, 09 Apr 2009 21:20:27 +0000</pubDate>
		<dc:creator>Chris Custine</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fusesource]]></category>

		<guid isPermaLink="false">http://blog.organicelement.com/2009/04/09/servicemix-and-osgi-webinars-at-fusesource/</guid>
		<description><![CDATA[If you are interested in ServiceMix and/or OSGi, we have some really interesting webinars coming up, brought to you by some of my coworkers at ]]></description>
			<content:encoded><![CDATA[<p>If you are interested in <a target="_blank" href="http://servicemix.apache.org">ServiceMix</a> and/or <a target="_blank" href="http://www.osgi.org">OSGi</a>, we have some really interesting <a target="_blank" href="http://fusesource.com/resources/video-archived-webinars">webinars</a> coming up, brought to you by some of my coworkers at <a target="_blank" href="http://fusesource.com">fusesource.com</a>.&nbsp; Have a look and register for one of the upcoming sessions.&nbsp; Archived webinars <a target="_blank" href="http://fusesource.com/resources/video-archived-webinars/">are also available.</a></p>
<table style="color: navy; clear: right;">
<tbody>
<tr style="background: rgb(221, 221, 221) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">
<td style="width: 28%;"><strong><em>Webinar</em></strong> </td>
<td>  <strong><em>Date</em></strong> </td>
<td> <strong><em>Register</em></strong> </td>
</tr>
<tr style="background: rgb(255, 255, 255) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">
<td> Overview of OSGi Enterprise <a href="https://progress.webex.com/progress/onstage/g.php?t=a&amp;d=718908929&amp;SourceId=website">[agenda]</a> </td>
<td> April 14th, 1:00 <span class="caps"><span class="caps">PM GMT</span></span> </td>
<td> <a href="https://progress.webex.com/progress/onstage/g.php?t=a&amp;d=718908929&amp;SourceId=website"><img src="http://fusesource.com/images/register_button.gif" alt="Register Now!" /></a> </td>
</tr>
<tr style="background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">
<td> Overview of OSGi Enterprise <a href="https://progress.webex.com/progress/onstage/g.php?t=a&amp;d=712967718&amp;SourceId=website">[agenda]</a> </td>
<td> April 14th, 1:00 <span class="caps"><span class="caps">PM EDT</span></span> </td>
<td> <a href="https://progress.webex.com/progress/onstage/g.php?t=a&amp;d=712967718&amp;SourceId=website"><img src="http://fusesource.com/images/register_button.gif" alt="Register Now!" /></a> </td>
</tr>
<tr style="background: rgb(255, 255, 255) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">
<td> Large Scale Deployments &amp; ServiceMix 4 <a href="https://progress.webex.com/progress/onstage/g.php?t=a&amp;d=712006980&amp;SourceId=webiste">[agenda]</a> </td>
<td> April 23 1:00 <span class="caps"><span class="caps">PM GMT</span></span> </td>
<td> <a href="https://progress.webex.com/progress/onstage/g.php?t=a&amp;d=712006980&amp;SourceId=webiste"><img src="http://fusesource.com/images/register_button.gif" alt="Register Now!" /></a> </td>
</tr>
<tr style="background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">
<td> Large Scale Deployments &amp; ServiceMix 4 <a href="https://progress.webex.com/progress/onstage/g.php?t=a&amp;d=715008039&amp;SourceId=website">[agenda]</a> </td>
<td> April 23 1:00 <span class="caps"><span class="caps">PM EDT</span></span> </td>
<td> <a href="https://progress.webex.com/progress/onstage/g.php?t=a&amp;d=715008039&amp;SourceId=website"><img src="http://fusesource.com/images/register_button.gif" alt="Register Now!" /></a> </td>
</tr>
<tr style="background: rgb(255, 255, 255) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">
<td> Introduction and Demo of Distributed OSGi <a href="https://progress.webex.com/progress/onstage/g.php?t=a&amp;d=715823995&amp;SourceId=website">[agenda]</a> </td>
<td> April 28 11:00 <span class="caps"><span class="caps">AM GMT</span></span> </td>
<td> <a href="https://progress.webex.com/progress/onstage/g.php?t=a&amp;d=715823995&amp;SourceId=website"><img src="http://fusesource.com/images/register_button.gif" alt="Register Now!" /></a> </td>
</tr>
<tr style="background: rgb(239, 239, 239) none repeat scroll 0% 0%; -moz-background-clip: -moz-initial; -moz-background-origin: -moz-initial; -moz-background-inline-policy: -moz-initial;">
<td> Introduction and Demo of Distributed OSGi <a href="https://progress.webex.com/progress/onstage/g.php?t=a&amp;d=712438176&amp;SourceId=website">[agenda]</a> </td>
<td> April 28 1:00 <span class="caps"><span class="caps">PM EDT</span></span> </td>
<td> <a href="https://progress.webex.com/progress/onstage/g.php?t=a&amp;d=712438176&amp;SourceId=website"><img src="http://fusesource.com/images/register_button.gif" alt="Register Now!" /></a></td>
</tr>
</tbody>
</table>
<p></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.organicelement.com/2009/04/09/servicemix-and-osgi-webinars-at-fusesource/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Gumstix Overo Fire == nerdy gadget lust</title>
		<link>http://blog.organicelement.com/2009/04/06/gumstix-overo-fire-nerdy-gadget-lust/</link>
		<comments>http://blog.organicelement.com/2009/04/06/gumstix-overo-fire-nerdy-gadget-lust/#comments</comments>
		<pubDate>Mon, 06 Apr 2009 23:28:28 +0000</pubDate>
		<dc:creator>Chris Custine</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fusesource]]></category>

		<guid isPermaLink="false">http://blog.organicelement.com/2009/04/06/gumstix-overo-fire-nerdy-gadget-lust/</guid>
		<description><![CDATA[I have been waiting a while for Gumstix to release a more powerful Overo board with the OMAP 3530 chip, and it looks like the ]]></description>
			<content:encoded><![CDATA[<p><a target="_blank" href="http://www.gumstix.com/store/catalog/product_info.php?cPath=31&amp;products_id=227"><img style="float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://blog.organicelement.com/wp-content/uploads/2009/04/overofire.png" alt="" /></a>I have been waiting a while for <a target="_blank" href="http://www.gumstix.com">Gumstix</a> to release a more powerful Overo board with the OMAP 3530 chip, and it looks like the waiting is over.&nbsp; There are three new boards, but the one making me all hot and bothered is the <a target="_blank" href="http://gumstix.com/store/catalog/product_info.php?cPath=31&amp;products_id=227">Overo Fire</a>.&nbsp; For those not aware, the OMAP 3530 is a system on chip (SoC)where the CPU, RAM, 3D video and all the other goodies sit on a single chip.&nbsp; The pics on the main web site above don&#8217;t do it justice, so here is a pic of the thing <a target="_blank" href="http://www.gumstix.net/Software/cat/Software-Overo/111.html">next to a AA battery</a>.</p>
<p>So here is my plan&#8230;&nbsp; I&#8217;m going to get Android running on this thing ASAP.&nbsp; I think most of this work has been done already because the similarly spec&#8217;d <a target="_blank" href="http://beagleboard.org/">BeagleBoard</a> already has Android running on it.&nbsp; I am hopeful that the patches are already documented somewhere but it wouldn&#8217;t be the first time I have hacked some Linux kernel and driver code.&nbsp; The end goal is to have a sort of home hub or all in one remote console device with a touch screen LCD, VOIP speakerphone, all in one IR remote, <insert your="" idea="" here="">, etc.&nbsp; Bonus points if I can get ServiceMix or ActiveMQ involved somewhere along the line.&nbsp; I think an OSGi API for the IR and home page would be rather sweet as well, don&#8217;t you?&nbsp; I will post more in the next week or two once I get my feet back on the ground.&nbsp; Too excited to think rationally right now&nbsp; <img src='http://blog.organicelement.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>The possibilities are endless, and I promise to open source everything under the Apache Software License where possible.&nbsp; Should be a fun project, if anyone is interested in helping out let me know.<br /></insert></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.organicelement.com/2009/04/06/gumstix-overo-fire-nerdy-gadget-lust/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Apache Directory Studio &#8211; Best open source Eclipse RCP app</title>
		<link>http://blog.organicelement.com/2009/03/26/apache-directory-studio-best-open-source-eclipse-rcp-app/</link>
		<comments>http://blog.organicelement.com/2009/03/26/apache-directory-studio-best-open-source-eclipse-rcp-app/#comments</comments>
		<pubDate>Thu, 26 Mar 2009 23:04:37 +0000</pubDate>
		<dc:creator>Chris Custine</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fusesource]]></category>

		<guid isPermaLink="false">http://blog.organicelement.com/2009/03/26/apache-directory-studio-best-open-source-eclipse-rcp-app/</guid>
		<description><![CDATA[I just want to say congratulations to the Apache Directory Studio guys on winning the award for Best Open Source RCP Application at EclipseCon this ]]></description>
			<content:encoded><![CDATA[<p>I just want to say congratulations to the <a target="_blank" href="http://directory.apache.org/studio">Apache Directory Studio</a> guys on winning the award for <a target="_blank" href="http://www.eclipse.org/org/foundation/eclipseawards/winners09.php">Best Open Source RCP Application</a> at EclipseCon this week.&nbsp; Apache Directory Studio is absolutely the best LDAP GUI editor there is.&nbsp; So congratulations to <a target="_blank" href="http://www.pajbam.com">Pierre-Arnaud Marcelot</a> and Stefan Seelman.&nbsp; Nice job guys!<br /><a target="_blank" href="http://directory.apache.org/studio"><img style="float: none;" src="http://blog.organicelement.com/wp-content/uploads/2009/03/moz-screenshot.jpg" alt="" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.organicelement.com/2009/03/26/apache-directory-studio-best-open-source-eclipse-rcp-app/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>G1 and Android Review</title>
		<link>http://blog.organicelement.com/2008/12/08/g1-and-android-review/</link>
		<comments>http://blog.organicelement.com/2008/12/08/g1-and-android-review/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 08:34:54 +0000</pubDate>
		<dc:creator>Chris Custine</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[fusesource]]></category>

		<guid isPermaLink="false">http://blog.organicelement.com/2008/12/08/g1-and-android-review/</guid>
		<description><![CDATA[I know that the G1 and Android has been covered extensively over the last month since the official release of the G1, but after using ]]></description>
			<content:encoded><![CDATA[<p><img style="float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://blog.organicelement.com/wp-content/uploads/2008/12/skitched-20081208-011401.png" alt="" />I know that the G1 and Android has been covered extensively over the last month since the official release of the G1, but after using mine for a few weeks I wanted to write up some of my thoughts here.</p>
<p>The first thing that comes to mind is that both the hardware and the software far exceeded my expectations.  Now I had never spent much time playing with the SDK or reading blogs before the official release of the G1 but I just didn&#8217;t expect anything extraordinary from the 1.0 release of Android and a brand new handset model.  I have used other people&#8217;s iPhones for short periods of time so I can honestly say that I was surprised at how good the quality is on the G1 handset and the Android software was fantastic for a 1.0 release.</p>
<p>From the pictures I had seen before I bought my handset, I actually thought the handset looked cheap and dorky.  In reality I was surprised at how solid and nice the thing turned out to be.  I bought the new Bronze color model and it really looks quite nice and has a great feel.  Even the flip up screen that reveals the keyboard has a solid feel to it.  I don&#8217;t exactly like the keyboard and the little &#8220;chin&#8221; at the bottom of the handset, but they hardly bother me now that I have gotten used to them.</p>
<p>I&#8217;m really looking forward to improvements and I think that although the current release is pretty solid, the opportunities for interesting new features and improvements has me excited.  I guess I am biased since I am am open source Java developer, but the Android software has a lot of potential when you consider all the people that will be able to find new ways to tweak it.  I think there are plenty of people who will be happier working in their familiar Java language than learning Objective-C.</p>
<p>So if you are reading this and have any doubts about the choice between an iPhone or a G1, I recommend playing wih the G1 and giving it a try.  You just might be surprised like me.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.organicelement.com/2008/12/08/g1-and-android-review/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>SparkFun Electronics &#8211; Surface Mount Soldering Class</title>
		<link>http://blog.organicelement.com/2008/12/04/sparkfun-electronics-surface-mount-soldering-class/</link>
		<comments>http://blog.organicelement.com/2008/12/04/sparkfun-electronics-surface-mount-soldering-class/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 06:26:48 +0000</pubDate>
		<dc:creator>Chris Custine</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[electronics]]></category>

		<guid isPermaLink="false">http://blog.organicelement.com/2008/12/04/sparkfun-electronics-surface-mount-soldering-class/</guid>
		<description><![CDATA[SparkFun Electronics hosted an SMD soldering class last night at their offices here in Boulder so I thought it would be a great geek out ]]></description>
			<content:encoded><![CDATA[<p><a href="http://www.sparkfun.com/commerce/categories.php" title="SparkFun Electronics - Home"><img style="float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://www.sparkfun.com/commerce/images/framework/logo.gif" alt="SparkFun Electronics" width="188" height="105" /></a><a target="_blank" href="http://www.sparkfun.com">SparkFun Electronics</a> hosted an <a target="_blank" href="http://www.sparkfun.com/commerce/product_info.php?products_id=8994">SMD soldering class</a> last night at their offices here in Boulder so I thought it would be a great geek out opportunity for myself and my son Billy.&nbsp; I honestly thought it would be much more difficult than it was, but it certainly did take some practice to develop a usable technique and some Jedi soldering advice from Nate and Matt didn&#8217;t hurt either.&nbsp; Billy is 13 and the benefits of youth came in handy when trying to solder a fine pitch SMD chip.&nbsp; My eyes are getting worse by the day and I really <img style="float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://blog.organicelement.com/wp-content/uploads/2008/12/dsc00917-1.png" alt="" />couldn&#8217;t focus enough to see what the hell I was doing on some of the parts, but there is an amazing amount of the technique that was purely by touch.&nbsp; Use the force Luke!</p>
<p>The outcome of the class was a Simon game with four colored LED push pads.&nbsp; The microcontroller at the center of the device is the ATmega168 which is commonly found on the Arduino boards these days.&nbsp; The software for the game is available from the Sparkfun web site and was programmed onto the chip through the Arduino IDE.&nbsp; I thin<img style="float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://blog.organicelement.com/wp-content/uploads/2008/12/dsc-0216-2.png" alt="" />k Billy and I are going to hack around with the Arduino IDE and write up some new programs on our Simon games just for shits and grins.&nbsp; We put in a special request for an Arduino/Processing class so that would be a blast if they decide to put one together.</p>
<div style="text-align: center;"><img src="http://blog.organicelement.com/wp-content/uploads/2008/12/dsc-0228.png" alt="" /></div>
<p>This picture shows just how small these solder joints are.&nbsp; The trained eye will laugh at my solder work (its quite bad when you look through a magnifying glass), but the damn thing works like a champ&#8230;&nbsp; or it did until it sat in my car for an hour at 15deg F on the way home and something shrunk up from the cold.&nbsp; But hey, if you hold it just right and give it some love, it works just fine.&nbsp; I guess I need to buy Billy and I a soldering iron for some touch up work&nbsp; <img src='http://blog.organicelement.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> &nbsp; By the way, we hand soldered *everything* onto this board, including the AT168 and all of those little tiny resistors and caps.&nbsp; Some of those who had soldering experience finished in about 1.5-2 hours while those of us with nada took up the full 3 hours and then some extra for troubleshooting bad joints, etc.</p>
<p>Matt and Nate did a great job with the class and were extremely helpful to us beginners, even staying an extra hour to help Billy and I troubleshoot a problem with one of our boards and send us home with some swag.&nbsp; They tell me that they are going to try to do a new class every month or so, so if you live in the Boulder area or you just want an excuse to come put in some slope time in Colorado, keep an eye on their front page for more classes.&nbsp; </p>
<p>More pictures of the class <a target="_blank" href="http://flickr.com/photos/ccustine/sets/72157610751780630/">here on my Flickr</a>.</p>
<p>Thanks to Nate, Matt and the SparkFun folks for a really great time.&nbsp; </p>
]]></content:encoded>
			<wfw:commentRss>http://blog.organicelement.com/2008/12/04/sparkfun-electronics-surface-mount-soldering-class/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Battery power for Cradlepoint CTR-500</title>
		<link>http://blog.organicelement.com/2008/12/04/battery-power-for-cradlepoint-ctr-500/</link>
		<comments>http://blog.organicelement.com/2008/12/04/battery-power-for-cradlepoint-ctr-500/#comments</comments>
		<pubDate>Fri, 05 Dec 2008 01:15:49 +0000</pubDate>
		<dc:creator>Chris Custine</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.organicelement.com/2008/12/04/battery-power-for-cradlepoint-ctr-500/</guid>
		<description><![CDATA[A while back I wrote about my handy little Cradlepoint CTR-500 mobile router and promised to follow up with my battery power solution.&#160; I have ]]></description>
			<content:encoded><![CDATA[<p><img style="float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://blog.organicelement.com/wp-content/uploads/2008/12/dsc-0213-0.png" alt="" />A while back I wrote about my handy little <a target="_blank" href="http://blog.organicelement.com/2008/07/08/cradlepoint-ctr-500-mobile-router-review/">Cradlepoint CTR-500 mobile router</a> and promised to follow up with my battery power solution.&nbsp; I have had 6 people poke me over the last month for more information on the battery setup (that is 5 more people than I thought would ever read this blog), so here you go.</p>
<p>I ended up going through a couple of different battery solutions before finding one that had enough current to properly boot the device AND had good battery life at the same time.&nbsp; In the end I went with the <a target="_blank" href="http://www.tekkeon.com/products-mypowerall.html">Tekkeon MP3450</a> and I have been extremely pleased with it.&nbsp; This battery is really much larger than I really needed for the CTR-500 but it has the added benefit of being able to power almost any device I use remotely except for my MacBook Pro.&nbsp; I bought mine from <a target="_blank" href="http://www.ecost.com/Detail.aspx?edp=37696890&amp;navid=155441519">eCost.com</a> for a ridiculously low price of around $80 but normally they go for over $100.&nbsp; </p>
<p>I have powered the CTR-500 for over 16 hours of average usage and used the battery for charging my phone and iPod several times over and still had at least one light on the battery meter so I guess I have never really gone far enough to find out its limits.&nbsp; This battery also has a USB port for charging/powering any USB or min-USB device and comes with a handy little retractable USB cord.&nbsp; They also supply a bag full of little adapters for almost all common DC connectors (I couldn&#8217;t find any devices that didn&#8217;t have a matching adapter, other than proprietary phone connectors).</p>
<p>One issue I have is that I can&#8217;t power on the router with the Sierra 597E Express Card already inserted.&nbsp; The router seems to cycle repeatedly in a loop which I think is because it can&#8217;t get enough surge current to power up the router AND the card.&nbsp; I haven&#8217;t tried any other cards, but I assume this will be true for others.&nbsp; Either way, it isn&#8217;t a big deal to insert the card after the router starts to boot (I barely give it 2 seconds before I pop it in and things work great after that).&nbsp; <br /><img style="float: left; margin-top: 10px; margin-bottom: 10px; margin-right: 10px;" src="http://blog.organicelement.com/wp-content/uploads/2008/12/dsc-0215-1.png" alt="" /><br />One word of caution, the MP3450 has adjustable voltage from 5v to 19v and it is easy to #@ck up and fry your nice little router.&nbsp; I know, because I did it&#8230;.. once.&nbsp; The top of the unit has a row of lights that serve several purposes.&nbsp; Normally it displays the currently selected voltage, which for the CTR-500 is the first, and default setting of 5v.&nbsp; On the side of the battery there is a switch that locks the voltage and when you press the button on top, you see battery level indicated by the number of lights.&nbsp; If you unlock this switch, a press of the button changes the voltage.&nbsp; So the moral of the story is, don&#8217;t ever leave the damn thing unlocked and throw it into your backpack where something can accidentally press the button several times as you walk down the street until the voltage goes up to where it pops, emits a faint little bit if smoke, and renders your $160 router completely useless.&nbsp; <img src='http://blog.organicelement.com/wp-includes/images/smilies/icon_wink.gif' alt=';-)' class='wp-smiley' /> </p>
<p>So now that I have that off my chest, I really love the totally mobile setup and as you can see from the pictures the battery is about the same overall form factor as the router and the express card.&nbsp; I usually have them all set up just like the picture and I wrap an elastic/velcro strap around them all to make a nice little package to throw in my backpack.&nbsp; What I would really like is to find a removable hard drive case with a little reinforcement so that I can fit it all in there perfectly and use small external antennas, but that is getting a bit overkill.&nbsp; Then again&#8230;</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.organicelement.com/2008/12/04/battery-power-for-cradlepoint-ctr-500/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Intro to OSGi &#8211; Denver Java User Group</title>
		<link>http://blog.organicelement.com/2008/11/13/intro-to-osgi-denver-java-user-group/</link>
		<comments>http://blog.organicelement.com/2008/11/13/intro-to-osgi-denver-java-user-group/#comments</comments>
		<pubDate>Thu, 13 Nov 2008 07:23:41 +0000</pubDate>
		<dc:creator>Chris Custine</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.organicelement.com/2008/11/13/intro-to-osgi-denver-java-user-group/</guid>
		<description><![CDATA[It was a great pleasure to speak for the first time at the Denver Java User Group this week.&#160; I *started* a nice little talk ]]></description>
			<content:encoded><![CDATA[<p><a target="_blank" href="http://blog.organicelement.com/wp-content/uploads/Introduction%20to%20OSGi.pdf"><img style="float: right; margin-top: 10px; margin-bottom: 10px; margin-left: 10px;" src="http://blog.organicelement.com/wp-content/uploads/2008/11/introduction-to-osgipdf-page-1-of-48.png" alt="" /></a>It was a great pleasure to speak for the first time at the <a target="_blank" href="http://www.denverjug.org">Denver Java User Group</a> this week.&nbsp; I *started* a nice little talk on the basics of OSGi and thought it was starting out pretty well.&nbsp; Unfortunately about 20 minutes into the presentation the fire alarms went off in the venue where the meetings are held so we had to bail early.&nbsp; I think things reconvened in a nearby Old Chicago&#8217;s pub but I had to head home for the night so I missed out on all the fun.</p>
<p>I promised the attendees that I would post the slides so in case any of you read my blog, <a href="http://blog.organicelement.com/wp-content/uploads/Introduction%20to%20OSGi.pdf">here you go</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.organicelement.com/2008/11/13/intro-to-osgi-denver-java-user-group/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>OSGi talk at Denver JUG November 12</title>
		<link>http://blog.organicelement.com/2008/11/02/osgi-talk-at-denver-jug-november-12/</link>
		<comments>http://blog.organicelement.com/2008/11/02/osgi-talk-at-denver-jug-november-12/#comments</comments>
		<pubDate>Mon, 03 Nov 2008 03:39:10 +0000</pubDate>
		<dc:creator>Chris Custine</dc:creator>
				<category><![CDATA[Blog]]></category>
		<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[djug]]></category>
		<category><![CDATA[fusesource]]></category>

		<guid isPermaLink="false">http://blog.organicelement.com/2008/11/02/osgi-talk-at-denver-jug-november-12/</guid>
		<description><![CDATA[In addition to ApacheCon this week, I am going to be giving a talk on OSGi at the Denver JUG right after I get back ]]></description>
			<content:encoded><![CDATA[<p>In addition to ApacheCon this week, I am going to be giving a <a href="http://www.denverjug.org/index.jsp" target="_blank">talk on OSGi at the Denver JUG</a> right after I get back from New Orleans.  This should be a fun talk because I absolutely love talking to people informally about OSGi, and this will be the first time I have gotten to officially talk about it to a group.  Matthew McCullough is going to be there as well, giving a talk about marrying iPhone apps with Java Web Services so there should be some really interesting information.  If you are in the Denver/Boulder area come join us Wednesday November 12.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.organicelement.com/2008/11/02/osgi-talk-at-denver-jug-november-12/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>
