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

<channel>
	<title>Breo Media Labs</title>
	<atom:link href="http://labs.breomedia.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://labs.breomedia.com</link>
	<description>Researching a better way.</description>
	<pubDate>Mon, 29 Dec 2008 01:55:53 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.7</generator>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
			<item>
		<title>2009 Technical Resolutions</title>
		<link>http://labs.breomedia.com/2008/12/28/2009-technical-resolutions/</link>
		<comments>http://labs.breomedia.com/2008/12/28/2009-technical-resolutions/#comments</comments>
		<pubDate>Mon, 29 Dec 2008 01:52:28 +0000</pubDate>
		<dc:creator>eric</dc:creator>
		
		<category><![CDATA[Mac]]></category>

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

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

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

		<category><![CDATA[open-source]]></category>

		<category><![CDATA[.NET]]></category>

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

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

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

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

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

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

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

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

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

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

		<guid isPermaLink="false">http://labs.breomedia.com/?p=40</guid>
		<description><![CDATA[I began putting my personal 2009 Resolutions/Goals to paper today and by the time I was done found out that a good chunk (&#62; 50%) were technology related.  I figure that I should make them public so that if nothing else, I feel just a little more pressure to not sluff them off.
The main focus [...]]]></description>
			<content:encoded><![CDATA[<p>I began putting my personal 2009 Resolutions/Goals to paper today and by the time I was done found out that a good chunk (&gt; 50%) were technology related.  I figure that I should make them public so that if nothing else, I feel just a little more pressure to not sluff them off.</p>
<p>The main focus for 2009 is learning new languages.  It&#8217;s all the action that I&#8217;ve seen develop over the past 2-3 years, but haven&#8217;t made a priority to learn given that at work I&#8217;ve moved out of <em>being</em> a developer and now <em>manage</em> developers (boo&#8230;hiss&#8230;).  So here they are, in order (with completion* dates for each):</p>
<ul>
<li>Groovy and Grails - March 2009 - Have a pretty good start on this, so feel pretty confident about hitting this one.</li>
<li>iPhone Development - June 2009 - Books I&#8217;m eyeing: <a href="http://apress.com/book/view/1430218150">Learn Obj-C on the Mac</a> and <a href="http://apress.com/book/view/1430216263">Beginning iPhone Dev</a></li>
<li>Game development in Java - 2nd-Half 2009 - Books currently sitting on my shelf, gathering dust: <a href="http://www.amazon.com/Killer-Game-Programming-Andrew-Davison/dp/0596007302">Killer Game Dev in Java</a> and <a href="http://www.amazon.com/Pro-Java-3D-Game-Development/dp/1590598172/">Pro Java 6 3D Game Development</a>.</li>
<li>.NET/<a href="http://www.mono-project.com/Main_Page">Mono</a> - 2nd-Half 2009</li>
<li>Functional Language X - 2nd-Half 2009 - Not sure which one yet&#8230;<a href="http://www.scala-lang.org/">Scala</a>, <a href="http://haskell.org/">Haskell</a>, <a href="http://caml.inria.fr/ocaml/index.en.html">OCaml</a>, <a href="http://clojure.org">Clojure</a>.  Maybe a presentation at <a href="http://lambdalounge.org">Lambda Lounge</a> will push me in a certain direction&#8230;time will tell.</li>
<li>*BONUS* <a href="http://jruby.codehaus.org/">JRuby</a></li>
<li>*BONUS* <a href="http://www.jython.org/Project/">Jython</a> (or maybe just straight <a href="http://python.org/">Python</a>)</li>
<li>*BONUS* <a href="http://code.google.com/android/">Android</a> Development</li>
</ul>
<p>* - I&#8217;m defining &#8220;complete&#8221; in that I should be able to do all of the following:</p>
<ul>
<li>Give a 15-30 minute presentation on it</li>
<li>Write a small-ish app</li>
<li>Be comfortable enough with the language that if I needed to start a project, I would be able to hit the ground running in the language</li>
<li>Be able to intelligently decide where/if a certain technology/language could fit in our current exclusively Java environment.</li>
</ul>
<p>If anyone has good book, site, newsgroup, etc recommendation, please let me know.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Flabs.breomedia.com%2F2008%2F12%2F28%2F2009-technical-resolutions%2F';
  addthis_title  = '2009+Technical+Resolutions';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://labs.breomedia.com/2008/12/28/2009-technical-resolutions/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Getting Started with Textmate (and Groovy)</title>
		<link>http://labs.breomedia.com/2008/12/07/getting-started-with-textmate/</link>
		<comments>http://labs.breomedia.com/2008/12/07/getting-started-with-textmate/#comments</comments>
		<pubDate>Mon, 08 Dec 2008 03:53:06 +0000</pubDate>
		<dc:creator>eric</dc:creator>
		
		<category><![CDATA[Mac]]></category>

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

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

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

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

		<guid isPermaLink="false">http://labs.breomedia.com/?p=36</guid>
		<description><![CDATA[After attending last week&#8217;s inaugural Lambda Lounge meeting, I&#8217;ve had a renewed determination to get my Groovy/Grails learning on.
I had previously bought Scott Davis&#8217; Groovy Recipes, and while that book is pretty awesome, I often felt like I didn&#8217;t have a good enough base in the Groovy language to realize the full potential of the [...]]]></description>
			<content:encoded><![CDATA[<p>After attending last week&#8217;s inaugural <a href="http://lambdalounge.org">Lambda Lounge</a> meeting, I&#8217;ve had a renewed determination to get my Groovy/Grails learning on.</p>
<p>I had previously bought Scott Davis&#8217; <a href="http://www.pragprog.com/titles/sdgrvr/groovy-recipes"><em>Groovy Recipes</em></a>, and while that book is pretty awesome, I often felt like I didn&#8217;t have a good enough base in the Groovy language to realize the full potential of the material presented.</p>
<p>So this weekend, I went back to the Pragmatic Programmers website and picked up (in PDF form) Venkat Subramaniam&#8217;s <a href="http://www.pragprog.com/titles/vslg/programming-groovy"><em>Programming Groovy</em></a>.  I&#8217;m not too terribly far into it, but so far it feels like I&#8217;m getting eased into the language quite well.  The table of contents also gives me comfort that a solid treatment of the language is to be had.</p>
<p>One of the first topics covered after installation of the Groovy binaries is choice of text editor or IDE.  For OS X users, TextMate is mentioned, along with the optional <a href="http://groovy.codehaus.org/TextMate">TextMate Groovy Bundle</a>, created by Graeme Rocher (Grails Lead).  I also happen to be fairly new to OS X and therefore TextMate&#8230;but it seems like everybody who&#8217;s anybody uses it, so it must be good.</p>
<p>I was told very early in my career to pick a editor and stick with it.  The amount of mental energy that must be expended to keep all the different keybindings/macros/shortcuts in your head will detract you from the job at hand.  So I try to pick a side and just stick with it (sorry emacs).  This is most likely the reason I won&#8217;t move off of Eclipse anytime soon.  Back in the day, I could cruise around Eclipse pretty well&#8230;not as good as <a href="http://blog.muddyhorse.com/">this guy</a>, but pretty well.</p>
<p>Now that I&#8217;m exclusively Mac at Danker HQ, I feel pretty confident immersing myself in TextMate.  So with my new direction charted, I set out to put my Groovy learnin&#8217; on the back burner for the afternoon and get my feet wet with TextMate.</p>
<p>After downloading the Groovy Bundle, I was a bit confused by the directions on the site, so I took a look at a <a href="http://jasonrudolph.com/blog/2006/11/02/getting-groovy-with-textmate/">blog posting</a> by Jason Rudolph (check out his <a href="http://www.infoq.com/minibooks/grails">excellent tutorial</a> on beginning Grails development).  His take was pretty much the same&#8230;so I ended up just double-clicking the 2 bundle files and TextMate automagically installed them into the proper directory.</p>
<p>Next up was a <a href="http://is.gd/aCnY">small tweak</a> that Venkat mentioned on his blog.  This allows the output of your program to be shown as a tooltip instead of a pop-up.  Nothing big&#8230;but a nice tweak nonetheless.</p>
<p>I&#8217;ve probably got the most mileage out of <a href="http://projects.serenity.de/textmate/tutorials/basics/">this article</a>.  Does a nice job explaining what makes TextMate special.  For reference, I assume the <a href="http://manual.macromates.com/en/">TextMate manual</a> will come in handy.</p>
<p>The one area I haven&#8217;t explored yet is the <a href="http://www.pragprog.com/titles/textmate/textmate">TextMate book</a> on the Pragmatic Programmers website.  If anyone has bought this book and found that it offered value above what&#8217;s freely available, please let me know.</p>
<p>Now that I&#8217;ve got my head wrapped around this new editor and have expanded my text editing bag-of-tricks, hopefully I&#8217;ll be able to keep my mind focused on the new goal of grokking Groovy.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Flabs.breomedia.com%2F2008%2F12%2F07%2Fgetting-started-with-textmate%2F';
  addthis_title  = 'Getting+Started+with+Textmate+%28and+Groovy%29';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://labs.breomedia.com/2008/12/07/getting-started-with-textmate/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Cheap backups with Dreamhost + rsync</title>
		<link>http://labs.breomedia.com/2008/11/05/cheap-backups-with-dreamhost-rsync/</link>
		<comments>http://labs.breomedia.com/2008/11/05/cheap-backups-with-dreamhost-rsync/#comments</comments>
		<pubDate>Thu, 06 Nov 2008 03:45:39 +0000</pubDate>
		<dc:creator>eric</dc:creator>
		
		<category><![CDATA[Mac]]></category>

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

		<category><![CDATA[open-source]]></category>

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

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

		<guid isPermaLink="false">http://labs.breomedia.com/?p=30</guid>
		<description><![CDATA[In my last post (I know, it&#8217;s been a while), I was gushing about how my hosting provider (dreamhost.com) was allowing 50GB of disk space for personal backups included with basic hosting plans.
The excitement was a bit premature at the time, because they only allowed backups via FTP.  It instantly became problematic to regularly [...]]]></description>
			<content:encoded><![CDATA[<p>In my <a href="/2008/09/13/os-x-cron-coolness/">last post</a> (I know, it&#8217;s been a while), I was gushing about how my hosting provider (dreamhost.com) was allowing 50GB of disk space for personal backups included with basic hosting plans.</p>
<p>The excitement was a bit premature at the time, because they only allowed backups via FTP.  It instantly became problematic to regularly backup anything of significant size (i.e. 30 GB of MP3s) due to my lack of knowledge of doing incremental backups over FTP.  If only they would allow rsync over ssh.</p>
<p>Apparently I was not the only person thinking this because the dorks of the internet united, Dreamhost listened, and today I got the monthly newsletter letting me know that rsync, scp and sftp were enabled&#8230;.Sweet!</p>
<p>So I got crackin&#8217; tonight on my new solution, which is thus:</p>
<p>1. Super-simple backup script (offsiteRsync.sh)</p>
<pre>
#!/bin/bash

# Sync the local directory to the remote server, limiting the
# upload bandwidth to 10KBps
# Sync via ssh and compress the files over the wire
rsync -avz -e ssh --delete --bwlimit=10 /Users/eric b159xxx@backup.dreamhost.com:~
</pre>
<p>2. Setup ssh keys so I can run the above script via cron..</p>
<pre>
lenny:~ eric$ ssh-keygen -t rsa
</pre>
<p>After typing the above in, I hit enter twice to accept the default directory for the keys and to choose a password-less key</p>
<p>Then I just copied the last (or possibly only) line from .ssh/id_rsa.pub on my local machine (lenny) to the .ssh/authorized_keys file on the remote machine (backup.dreamhost.com)</p>
<p>3. Test!</p>
<p>4. Setup the whole mess via cron, as noted in my <a href="/2008/09/13/os-x-cron-coolness/">previous post</a>.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Flabs.breomedia.com%2F2008%2F11%2F05%2Fcheap-backups-with-dreamhost-rsync%2F';
  addthis_title  = 'Cheap+backups+with+Dreamhost+%2B+rsync';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://labs.breomedia.com/2008/11/05/cheap-backups-with-dreamhost-rsync/feed/</wfw:commentRss>
		</item>
		<item>
		<title>OS X Cron Coolness</title>
		<link>http://labs.breomedia.com/2008/09/13/os-x-cron-coolness/</link>
		<comments>http://labs.breomedia.com/2008/09/13/os-x-cron-coolness/#comments</comments>
		<pubDate>Sun, 14 Sep 2008 02:20:06 +0000</pubDate>
		<dc:creator>eric</dc:creator>
		
		<category><![CDATA[Mac]]></category>

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

		<category><![CDATA[Mac OSX]]></category>

		<guid isPermaLink="false">http://labs.breomedia.com/?p=26</guid>
		<description><![CDATA[I just found out today that my webhosting provider, Dreamhost, is now officially adding 50GB of storage to each hosting account to be used as offsite backup for free (well, technically included with the cost of hosting)!
I figured that was a sign that I should get off my butt and setup a cron job that [...]]]></description>
			<content:encoded><![CDATA[<p>I just found out today that my webhosting provider, Dreamhost, is now officially adding 50GB of storage to each hosting account to be used as offsite backup for free (well, technically included with the cost of hosting)!</p>
<p>I figured that was a sign that I should get off my butt and setup a cron job that would tar/gz files on my home server (where the important stuff resides) and send it over to my Dreamhost acct on a monthly basis.</p>
<p>Cruising through the OS X cron man page, I saw this little gem:</p>
<pre>
Instead of the first five fields, one of eight special strings may appear:

           string          meaning
           ------          -------------------------
           @reboot         Run once, at startup.
           @yearly         Run once a year, "0 0 1 1 *".
           @annually       (same as @yearly)
           @monthly        Run once a month, "0 0 1 * *".
           @weekly         Run once a week, "0 0 * * 0".
           @daily          Run once a day, "0 0 * * *".
           @midnight       (same as @daily)
           @hourly         Run once an hour, "0 * * * *".
</pre>
<p>So my cron command ends up looking (mostly) like the following:</p>
<pre>
@monthly $HOME/scripts/createbackup.sh
</pre>
<p>How easy is that?  I know that most modern linux distros have /etc/cron.monthly, /etc/cron.daily, etc&#8230;but the OS X way just seemed really nice.</p>
<p>Anyone know if this exact same shorthand is available on other systems?</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Flabs.breomedia.com%2F2008%2F09%2F13%2Fos-x-cron-coolness%2F';
  addthis_title  = 'OS+X+Cron+Coolness';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://labs.breomedia.com/2008/09/13/os-x-cron-coolness/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Testdrive: OpenSolaris on OS X with VirtualBox</title>
		<link>http://labs.breomedia.com/2008/07/30/testdrive-opensolaris-osx-virtualbox/</link>
		<comments>http://labs.breomedia.com/2008/07/30/testdrive-opensolaris-osx-virtualbox/#comments</comments>
		<pubDate>Thu, 31 Jul 2008 02:32:50 +0000</pubDate>
		<dc:creator>eric</dc:creator>
		
		<category><![CDATA[Mac]]></category>

		<category><![CDATA[open-source]]></category>

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

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

		<category><![CDATA[OS X]]></category>

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

		<guid isPermaLink="false">http://labs.breomedia.com/?p=12</guid>
		<description><![CDATA[I finally got around to installing VirtualBox (read more about it here and here) on my Mac earlier this week.  Last night I installed the OpenSolaris (2008.5) disc that I picked up at the Sun booth at OSCON last week.
So far, everything has been going swimmingly.  I could walk you through the installation, but this [...]]]></description>
			<content:encoded><![CDATA[<p>I finally got around to installing VirtualBox (read more about it <a href="http://tech.slashdot.org/article.pl?sid=08/07/30/2126217">here</a> and <a href="http://www.virtualbox.org">here</a>) on my Mac earlier this week.  Last night I installed the OpenSolaris (2008.5) disc that I picked up at the Sun booth at OSCON last week.</p>
<p>So far, everything has been going swimmingly.  I could walk you through the installation, but <a href="http://www.macworld.com/article/134584/2008/07/mwvodcast59.html">this dude at MacWorld</a> did a much better job than I could.</p>
<p>The only trouble I&#8217;ve had thus far was learning some Solaris-specific commands (pkgadd, btw) to install the &#8220;VirtualBox Additions&#8221;.  The VirtualBox Additions are a small selections of add-ons that you install within the guest OS to ease integration with the host OS (mouse control, shared folders, etc).  While I&#8217;m not familiar with Parallels, I can say that VMWare (Workstation/Player) has a very similar guest additions installation procedure.</p>
<p>I&#8217;ve been using VirtualBox on my Vista desktop for a few months to virtualize a Xubuntu server (sshd, apache, mysqld, etc) with great success.  Typically, the VM is utilizing less memory than iTunes, which I find utterly ridiculous.  I decided to give it a spin on my MacBook Pro because the latest update of VirtualBox has brought the Intel Mac version out of beta.</p>
<p>While I don&#8217;t think that VMWare has much to fear from VirtualBox in the enterprise arena, for the average developer/desktop user, VirtualBox should suit you well.  I&#8217;ll be interested to see if Parallels and VMWare will be able to continue charging $80 for their consumer versions with such a capable free competitor (backed by Sun, no less) available.</p>
<p><strong>OpenSolaris Impressions</strong></p>
<p>Playing with OpenSolaris has generally gone well.  It helps that the UI is Gnome and the default shell is BASH, two things that most Linux folks should be comfortable with.  Cruising around the filesystem answered one of my main questions, which was that JDK6 (not OpenJDK, mind you) is installed by default.  I still haven&#8217;t figuresd out what mechanism, if any, OpenSolaris uses for automatic updates.  If anyone has some good &#8220;OpenSolaris for a Linux Guy&#8221; articles&#8230;please pass them my way.</p>
<div id="attachment_13" class="wp-caption aligncenter" style="width: 310px"><a href="http://labs.breomedia.com/wp-content/uploads/2008/07/opensolarisvm.png" class="lightview" rel="gallery[12]"><img src="http://labs.breomedia.com/wp-content/uploads/2008/07/opensolarisvm-300x187.png" alt="OpenSolaris guest running on OS X host." title="opensolarisvm" width="300" height="187" class="size-medium wp-image-13" /></a><p class="wp-caption-text">OpenSolaris guest running on OS X host.</p></div>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Flabs.breomedia.com%2F2008%2F07%2F30%2Ftestdrive-opensolaris-osx-virtualbox%2F';
  addthis_title  = 'Testdrive%3A+OpenSolaris+on+OS+X+with+VirtualBox';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://labs.breomedia.com/2008/07/30/testdrive-opensolaris-osx-virtualbox/feed/</wfw:commentRss>
		</item>
		<item>
		<title>OSCON 2008 - Day 3</title>
		<link>http://labs.breomedia.com/2008/07/25/oscon-2008-day-3/</link>
		<comments>http://labs.breomedia.com/2008/07/25/oscon-2008-day-3/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 05:46:21 +0000</pubDate>
		<dc:creator>eric</dc:creator>
		
		<category><![CDATA[open-source]]></category>

		<category><![CDATA[cloud computing]]></category>

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

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

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

		<guid isPermaLink="false">http://labs.breomedia.com/?p=11</guid>
		<description><![CDATA[I&#8217;ll spare the reader the session-by-session account ala yesterday&#8217;s post, but will lean more toward the general theme that seems to have run through the majority of the session&#8217;s I&#8217;ve attended the last three days.
There seems to be a huge buzz around all things cloud and mobile.  I won&#8217;t be as bold to say that [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;ll spare the reader the session-by-session account ala <a href="http://labs.breomedia.com/2008/07/24/oscon-2008-day-2/">yesterday&#8217;s post</a>, but will lean more toward the general theme that seems to have run through the majority of the session&#8217;s I&#8217;ve attended the last three days.</p>
<p>There seems to be a huge buzz around all things cloud and mobile.  I won&#8217;t be as bold to say that the desktop is dead, but it sure doesn&#8217;t seem nearly as sexy as it once was.  It kinda feels like back in the late 90&#8217;s when everybody said that the internet would kill newspapers&#8230;but then it didn&#8217;t happen&#8230;.but now fast-forward 10 years and that truly is the case.  It has become apparent to me that the days of a desktop being most user&#8217;s <em>primary</em> computing device are numbered.</p>
<p>It appears that as we get closer to network ubiquity, devices like the iPhone and EEE PC start to make a ton of sense.  It&#8217;s not that far-fetched that for a good segment of users, that a netbook will become their primary computing device.  With a flood of new devices now coming online, someone is going to have to deal with the issue of managable scaling&#8230;thus the cloud computing push.</p>
<p>There was a large contigent of cloud computing vendors/providers pushing their wares.  I had some interesting discussions with folks from the following services:</p>
<ul>
<li><a href="http://www.amazon.com/AWS-home-page-Money/b?ie=UTF8&amp;node=3435361">Amazon Web Services</a></li>
<li><a href="http://code.google.com/appengine/">Google App Engine</a></li>
<li><a href="http://engineyard.com/">Engine Yard</a></li>
<li><a href="http://www.rightscale.com/m/">RightScale</a></li>
</ul>
<p>Personally, I&#8217;m going to try to spend some time with RightScale/AWS.  Currently Google App Engine only supports python (perl stuff in the works possibly?) and Engine Yard is Ruby/Rails focused.  RightScale+AWS lets me do whatever I want because they&#8217;re just running a <a href="http://www.xen.org/">XEN</a> virtual machine image.</p>
<p>I have to wonder if folks care anymore about Microsoft&#8217;s dominance on the desktop.  It feels like most people have moved on.  Microsoft has virtually no presence in the MID and Netbook (yes, I know that the EEE PC can have XP installed on it) segment.  It feels like the mobile phone segment is about the same.  Please do not try to make an argument that WindowsMobile is in any way a serviceable mobile/phone OS.  With a billion mobiles being sold a year, that&#8217;s a damn big market that Microsoft doesn&#8217;t dominate.</p>
<p>One more thing&#8230;</p>
<p>I would be remiss to not mention another topic that has kept popping up throughout the week.  That is Open Data ( or Data Portability).  So far, it&#8217;s not been a straightforward process to share all this data that users are creating by Digg&#8217;ing, Flickr&#8217;ing, etc, etc.  RSS feeds can only get us so far.  The <a href="http://openwebfoundation.org/">Open Web Foundation</a> was announced today to help move down that path.  Some other items that have been discussed in a similar vein have been: <a href="http://openid.net/">OpenID</a> and <a href="http://oauth.net/">OAuth</a>.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Flabs.breomedia.com%2F2008%2F07%2F25%2Foscon-2008-day-3%2F';
  addthis_title  = 'OSCON+2008+-+Day+3';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://labs.breomedia.com/2008/07/25/oscon-2008-day-3/feed/</wfw:commentRss>
		</item>
		<item>
		<title>OSCON 2008 - Day 2</title>
		<link>http://labs.breomedia.com/2008/07/24/oscon-2008-day-2/</link>
		<comments>http://labs.breomedia.com/2008/07/24/oscon-2008-day-2/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 04:56:09 +0000</pubDate>
		<dc:creator>eric</dc:creator>
		
		<category><![CDATA[groovy]]></category>

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

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

		<category><![CDATA[open-source]]></category>

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

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

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

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

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

		<guid isPermaLink="false">http://labs.breomedia.com/?p=10</guid>
		<description><![CDATA[Morning Keynotes
Two of the presenters (Tim O&#8217;Reilly and some dude from Intel) talked alot about Linux on mobile devices and cloud computing.  A couple of terms that I think we&#8217;ll be hearing more soon are: MID&#8217;s = Mobile Internet Devices (think iPod Touch) and Netbooks = small-ish laptops like the Asus EEE PC.
Sessions
OpenJDK
Pretty much just [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Morning Keynotes</strong></p>
<p>Two of the presenters (Tim O&#8217;Reilly and some dude from Intel) talked alot about Linux on mobile devices and cloud computing.  A couple of terms that I think we&#8217;ll be hearing more soon are: MID&#8217;s = Mobile Internet Devices (think iPod Touch) and Netbooks = small-ish laptops like the Asus EEE PC.</p>
<p><strong>Sessions</strong></p>
<p><strong>OpenJDK</strong><br />
Pretty much just talked about the timeline of pushing for an opensource version of Java and how it all started back with <a href="http://www.gnu.org/software/classpath/">GNU Classpath</a> and <a href="http://gcc.gnu.org/java/">gjc</a>.  The OpenJDK is still currently running a bit behind Sun&#8217;s commercial releases, but hopefully they can catch-up around Java 7.</p>
<p>One nice effect of OpenJDK is now Java is started to be included by default on many Linux distro&#8217;s (Debian, Fedora, etc).</p>
<p><strong>Leveraging XMPP for Cloud Computing</strong><br />
Wish I could tell you more, but the talk was at capacity and they wouldn&#8217;t let anyone else in.  Reminded me of Thursday nights at Harpo&#8217;s in Columbia, MO during college and their &#8220;1 in, 1 out&#8221; policy.</p>
<p><strong>Groovy -vs- JRuby&#8230;which one should you use?</strong><br />
I basically took away from the talk that it&#8217;s pretty much a wash as far as features go.  Groovy is going to be a bit easier for normal Java dudes.  Supposedly Sun has put a lot of nice features in Netbeans for JRuby support&#8230;so I might have to give it a spin.</p>
<p><strong>JavaFX</strong><br />
There was a lot to like about this talk&#8230;especially since my group at work is heavily invested in JavaFX.  I&#8217;ll list out some of the new goodness in bullet form:</p>
<ul>
<li>Java 6 update 10 is due out late summer, is a consumer-focused release focusing on improving the Java user-experience</li>
<li>Applets will now run out-of-process.  This means a couple of things: A hung applet will not crash the browser and now you can have &#8220;draggable&#8221; applets that you can pull onto the desktop.</li>
<li>Applets will now share a lot of the same features as Java WebStart apps.</li>
<li>crossdomain.xml files will be available to allow for &#8220;mashups&#8221;</li>
<li>Hardware graphics acceleration is now on by default.</li>
<li>Moving toward a more modular JRE (Java Kernel)</li>
<li>Working on video support.  Java will just wrap whatever video codecs are present on the local system.  Sun is also working on a native Java video codec.</li>
<li>Check out more about 6u10 <a href="https://jdk6.dev.java.net/6u10faq.html">here</a>.</li>
</ul>
<p>New JavaFX Stuff:</p>
<ul>
<li>JavaFX Script meant to resemble Javascript (more comfortable for web designers)&#8230;but you can still call normal Java code.</li>
<li>New &#8220;javadocs&#8221; format for JavaFX</li>
<li>Netbeans plugin for JavaFX - syntax highlighting, code completion, preview</li>
<li>Photoshop and Illustrator plugins that can export to &#8220;FXD&#8221; files.  Also a tool that will convert SVG&#8217;s to FXD&#8217;s</li>
</ul>
<p><strong>XMPP for Cloud Services</strong><br />
Yet another cloud computing session that was completely jam-packed.  People seem to be bonkers about anything and everything &#8220;cloud&#8221;.</p>
<p>Talked mostly about how the REST polling method used in most web2.0 apps today scales horribly.  Using a PubSub methodolgy scales much better.  XMPP is built from the ground up for this type of scenario.  I&#8217;m still trying to figure out how in the Java world this would be better than just using a JMS provider like ActiveMQ.  Sounds like this might be problem that is being solved by <a href="http://gnipcentral.com/">these guys</a>.</p>
<p><strong>BONUS</strong></p>
<p>Unbeknownst to me, I sat down for lunch at a table with <a href="http://stevesouders.com/">Steve Souders</a>.  He literally <a href="http://www.amazon.com/dp/0596529309?tag=stevsoud-20&amp;camp=14573&amp;creative=327641&amp;linkCode=as1&amp;creativeASIN=0596529309&amp;adid=1S1KP4EV129EN37422C0&amp;">wrote the book</a> on high performance web sites and is the creator of the YSlow! plugin for Firefox/Firebug.  He was an unbelievably nice guy and we had a good conversation about all things web, Yahoo! and Google (his current employer).</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Flabs.breomedia.com%2F2008%2F07%2F24%2Foscon-2008-day-2%2F';
  addthis_title  = 'OSCON+2008+-+Day+2';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://labs.breomedia.com/2008/07/24/oscon-2008-day-2/feed/</wfw:commentRss>
		</item>
		<item>
		<title>OSCON 2008 - Day 1</title>
		<link>http://labs.breomedia.com/2008/07/23/oscon-2008-day-1/</link>
		<comments>http://labs.breomedia.com/2008/07/23/oscon-2008-day-1/#comments</comments>
		<pubDate>Wed, 23 Jul 2008 05:36:57 +0000</pubDate>
		<dc:creator>eric</dc:creator>
		
		<category><![CDATA[java]]></category>

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

		<category><![CDATA[open-source]]></category>

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

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

		<guid isPermaLink="false">http://labs.breomedia.com/?p=9</guid>
		<description><![CDATA[Technically, it&#8217;s day 2&#8230;but it&#8217;s day 1-ish for me.
I got into Portland around 2PM local time.  Checked-in to the hotel, then ran over to the convention center to check-in for the conference.  Probably the worst conference bag I&#8217;ve ever got.  That said, I think I have 5 computer backpacks lying around by now&#8230;so I&#8217;m definitely [...]]]></description>
			<content:encoded><![CDATA[<p>Technically, it&#8217;s day 2&#8230;but it&#8217;s day 1-ish for me.</p>
<p>I got into Portland around 2PM local time.  Checked-in to the hotel, then ran over to the convention center to check-in for the conference.  Probably the worst conference bag I&#8217;ve ever got.  That said, I think I have 5 computer backpacks lying around by now&#8230;so I&#8217;m definitely on overload.  Tech conferences need to move on to something else.</p>
<p>Not being familiar with the area and having not eaten in about 10 hrs, I went the path of least resistance and stopped by the mexican restuarant in the hotel (come to find out later it&#8217;s named &#8220;Eduardo&#8217;s Cantina&#8221;&#8230;if I&#8217;d known that, I probably would have just moved along).  I ended up chatting for a good long while with <a href="http://weblogs.java.net/blog/joshy/">Josh Marinacci</a> from the <a href="http://www.javafx.com/">JavaFX</a> team at Sun&#8230;which was cool because we&#8217;ve been working with JavaFX for well over a year now at work (I don&#8217;t think many people can say that&#8230;and even less could say they have an app in production using JavaFX).</p>
<p>Later in the night, they had an &#8220;Extravaganza&#8221; back over at the convention center.  There where 3 main parts (that I stayed for):</p>
<p>Mark Shuttleworth: Founder of the <a href="http://www.ubuntu.com">Ubuntu</a> project, as well as the commercial company supporting Ubuntu, <a href="http://www.canonical.com/">Canonical</a>.</p>
<p>He spoke about the economics of open source, software development methodologies (specifically Agile/Scrum/XP) and building software that encourages others to extend.  I&#8217;m sure my synopsis doesn&#8217;t do it justice, but overall a good talk.</p>
<p>Next, O&#8217;Reilly/Google gave out some Open Source awards.  I&#8217;m sure you can check out <a href="http://en.oreilly.com/oscon2008">their site</a> for the low-down</p>
<p>Finally (for me), <span class="description">Robert Lefkowitz gave a talk about software development methodologies.  The theme of Agile/XP came up yet again.  It definitely feels like (at least from attending conventions) that we&#8217;re at a tipping point on Agile methodoligy acceptance.  One thought I hadn&#8217;t had until tonite is that this is closely tied to the rise of open source.  In most open source projects, there aren&#8217;t a lot of requirements made up front..people either use (and by extension, like) what you&#8217;ve built, or they don&#8217;t and go elsewhere.  If they do like your product, instead of creating &#8220;requirements&#8221; for new features, they just submit bug reports&#8230;which get triaged appropriately.  Sounds pretty efficient.<br />
</span></p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Flabs.breomedia.com%2F2008%2F07%2F23%2Foscon-2008-day-1%2F';
  addthis_title  = 'OSCON+2008+-+Day+1';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://labs.breomedia.com/2008/07/23/oscon-2008-day-1/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Simplicity in Software</title>
		<link>http://labs.breomedia.com/2008/07/16/simplicity-in-software/</link>
		<comments>http://labs.breomedia.com/2008/07/16/simplicity-in-software/#comments</comments>
		<pubDate>Thu, 17 Jul 2008 03:13:31 +0000</pubDate>
		<dc:creator>eric</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

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

		<guid isPermaLink="false">http://labs.breomedia.com/?p=8</guid>
		<description><![CDATA[Saw this pretty sweet tweet come across my FriendFeed tonite:
Simplicity is hard to build, easy to use, and hard to charge for. Complexity is easy to build, hard to use, and easy to charge for.
Original &#8220;tweet&#8221; can be found here.

  addthis_url    = 'http%3A%2F%2Flabs.breomedia.com%2F2008%2F07%2F16%2Fsimplicity-in-software%2F';
  addthis_title  = 'Simplicity+in+Software';
  addthis_pub  [...]]]></description>
			<content:encoded><![CDATA[<p>Saw this pretty sweet tweet come across my <a href="http://friendfeed.com/danker">FriendFeed</a> tonite:</p>
<blockquote><p>Simplicity is hard to build, easy to use, and hard to charge for. Complexity is easy to build, hard to use, and easy to charge for.</p></blockquote>
<p>Original &#8220;tweet&#8221; can be found <a href="http://twitter.com/sacca/statuses/860432283">here</a>.</p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Flabs.breomedia.com%2F2008%2F07%2F16%2Fsimplicity-in-software%2F';
  addthis_title  = 'Simplicity+in+Software';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://labs.breomedia.com/2008/07/16/simplicity-in-software/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Groovy FriendFeed API</title>
		<link>http://labs.breomedia.com/2008/07/14/groovy-friendfeed-api/</link>
		<comments>http://labs.breomedia.com/2008/07/14/groovy-friendfeed-api/#comments</comments>
		<pubDate>Tue, 15 Jul 2008 03:33:29 +0000</pubDate>
		<dc:creator>eric</dc:creator>
		
		<category><![CDATA[groovy]]></category>

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

		<category><![CDATA[open-source]]></category>

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

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

		<guid isPermaLink="false">http://labs.breomedia.com/?p=7</guid>
		<description><![CDATA[I&#8217;m starting to get my feet wet with Groovy these days, so I decided a small project would expedite the learning process.  The past few weeks, I&#8217;ve become more enamored with FriendFeed&#8230;so I decided a Groovy wrapper around their RESTful Webservice API would be a pretty good choice.
I&#8217;m hosting the work up on Google Code [...]]]></description>
			<content:encoded><![CDATA[<p>I&#8217;m starting to get my feet wet with <a href="http://groovy.codehaus.org/">Groovy</a> these days, so I decided a small project would expedite the learning process.  The past few weeks, I&#8217;ve become more enamored with FriendFeed&#8230;so I decided a Groovy wrapper around their RESTful Webservice API would be a pretty good choice.</p>
<p>I&#8217;m hosting the work up on Google Code currently.  Any feedback (especially from Groovy veterans) is appreciated!</p>
<p><a href="http://code.google.com/p/groovy-friendfeed/">Groovy FriendFeed API</a></p>
<script type="text/javascript">
  addthis_url    = 'http%3A%2F%2Flabs.breomedia.com%2F2008%2F07%2F14%2Fgroovy-friendfeed-api%2F';
  addthis_title  = 'Groovy+FriendFeed+API';
  addthis_pub    = '';
</script><script type="text/javascript" src="http://s7.addthis.com/js/addthis_widget.php?v=12" ></script>
]]></content:encoded>
			<wfw:commentRss>http://labs.breomedia.com/2008/07/14/groovy-friendfeed-api/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
