<?xml version='1.0' encoding='UTF-8'?><?xml-stylesheet href="http://www.blogger.com/styles/atom.css" type="text/css"?><feed xmlns='http://www.w3.org/2005/Atom' xmlns:openSearch='http://a9.com/-/spec/opensearchrss/1.0/' xmlns:georss='http://www.georss.org/georss' xmlns:gd='http://schemas.google.com/g/2005' xmlns:thr='http://purl.org/syndication/thread/1.0'><id>tag:blogger.com,1999:blog-1746449287900499622</id><updated>2012-01-23T21:44:02.274-08:00</updated><category term='improve'/><category term='technology'/><category term='baby giggles'/><category term='apple'/><category term='app market'/><category term='new'/><category term='Tiny computer gumstix gumstick small processor Overo earth summit board prototype HDMI'/><category term='open source'/><category term='overo'/><category term='IPhone'/><category term='futuristic'/><category term='overobuntu'/><category term='applications'/><category term='Linux netbook app future Windows7 Windows Desktop KDE Gnome'/><category term='newbies'/><category term='Technology open source software hardware waste idea box'/><category term='ubuntu linux internet fast speed download'/><category term='internet'/><category term='Ubuntu linux branding good open source pro con comparison'/><category term='debian'/><category term='Software'/><category term='app'/><category term='shop'/><category term='andi'/><category term='lakewood long beach longbeach forum discussion board community online website'/><category term='gumstix'/><category term='hardware'/><category term='future'/><category term='next big thing'/><category term='northrop grumman lasers airplanes Airborne laser program defense weapons'/><category term='ubiquitous'/><category term='gumstick'/><category term='store'/><category term='sci-fi'/><category term='apt'/><category term='laugh'/><category term='shoplist'/><category term='depressed'/><category term='force close'/><category term='ATM dick cheese mazzarella prank joke programming easter egg'/><category term='ITunes'/><category term='source'/><category term='Palm pre development code'/><category term='free software'/><category term='military weapons sci-fi science future'/><category term='android'/><category term='IPod'/><category term='brighten'/><category term='Linux'/><category term='market'/><category term='babygiggles'/><category term='marketing'/><category term='Update'/><category term='compiling'/><category term='Ubuntu linux default software programs media installing iPod attaching media device'/><category term='Ubuntu'/><category term='RAD'/><category term='2020'/><title type='text'>Short and Sweet</title><subtitle type='html'>The best things are open and free</subtitle><link rel='http://schemas.google.com/g/2005#feed' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/posts/default'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default?max-results=100'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/'/><link rel='hub' href='http://pubsubhubbub.appspot.com/'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><generator version='7.00' uri='http://www.blogger.com'>Blogger</generator><openSearch:totalResults>34</openSearch:totalResults><openSearch:startIndex>1</openSearch:startIndex><openSearch:itemsPerPage>100</openSearch:itemsPerPage><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-2631242327859700000</id><published>2010-04-02T23:06:00.000-07:00</published><updated>2010-04-02T23:12:27.005-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='baby giggles'/><category scheme='http://www.blogger.com/atom/ns#' term='depressed'/><category scheme='http://www.blogger.com/atom/ns#' term='brighten'/><category scheme='http://www.blogger.com/atom/ns#' term='babygiggles'/><category scheme='http://www.blogger.com/atom/ns#' term='laugh'/><category scheme='http://www.blogger.com/atom/ns#' term='applications'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><category scheme='http://www.blogger.com/atom/ns#' term='improve'/><title type='text'>Baby Giggles</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_aEQpPA3uOfo/S7bcRVqbj3I/AAAAAAAAAII/nl7X6pTEZGQ/s1600/babyface250.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 250px; height: 250px;" src="http://1.bp.blogspot.com/_aEQpPA3uOfo/S7bcRVqbj3I/AAAAAAAAAII/nl7X6pTEZGQ/s320/babyface250.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5455790189036932978" /&gt;&lt;/a&gt;&lt;br /&gt;If you're having a bad day, there are few things more helpful than a good laugh.  Our new Android app, Baby Giggles, is designed to brighten your mood by doing just that.  The recordings of infections baby giggles are guaranteed to make you smile and laugh.&lt;br /&gt;&lt;br /&gt;Download it for free from the Android market by searching for "Baby Giggles".  The package name is com.radsoftwaresys.babygiggles.&lt;br /&gt;&lt;br /&gt;We hope you like it, and stay tuned for more interesting and fun apps.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-2631242327859700000?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/2631242327859700000/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=2631242327859700000' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/2631242327859700000'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/2631242327859700000'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2010/04/baby-giggles.html' title='Baby Giggles'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_aEQpPA3uOfo/S7bcRVqbj3I/AAAAAAAAAII/nl7X6pTEZGQ/s72-c/babyface250.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-8331631830872078491</id><published>2010-03-28T21:45:00.000-07:00</published><updated>2010-03-28T22:01:43.779-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='app'/><category scheme='http://www.blogger.com/atom/ns#' term='force close'/><category scheme='http://www.blogger.com/atom/ns#' term='app market'/><category scheme='http://www.blogger.com/atom/ns#' term='applications'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Tips for Getting Android Apps Fixed</title><content type='html'>If you're an Android user, you've no doubt encountered the famous "force close" screen.  For those that aren't familiar with this, it's caused by an unhandled exception in an Android program, causing it to "crash".  This pops up a dialog with one option: Force Close.&lt;br /&gt;&lt;br /&gt;Unfortunately, "Force Close"'s on the Android platform are inevitable.&lt;br /&gt;&lt;br /&gt;From a developer's perspective, there's nothing more annoying than a 1-start rating, with the comment "Force close".  It tells us nothing about what happened, and only serves to lower our credibility as developers rather than helping us build better apps.&lt;br /&gt;&lt;br /&gt;So, to help us out, here are a few tips for getting your app fixed.&lt;br /&gt;&lt;br /&gt;1) Send us an email&lt;br /&gt;&lt;br /&gt;Make sure to include the following information: Phone Model (ie:Motorola Droid), Version Number (if applicable), and a brief description of what happened when the program force closed.  This can go a long way in helping us figure out what happened.&lt;br /&gt;&lt;br /&gt;2) Use the Log Collector app to send us a copy of the stack trace&lt;br /&gt;&lt;br /&gt;The "Log Collector" is an open source program available through the Android market, and running this after a crash is probably the most helpful thing you can do.  By sending us a copy of the stack trace, you're sending us a snapshot of the events that lead up to the crash, as well as detailed data about the crash itself.  &lt;br /&gt;&lt;br /&gt;To use the Log Collector effectively, make sure you run our app first, then run the log collector immediately after the "force close".  This ensures that we get the data for our app, and not someone else's.  Then, just fill in our email address, and that's it.&lt;br /&gt;&lt;br /&gt;3) Download and run the Advanced Task Manager (ATM) application&lt;br /&gt;&lt;br /&gt;The ability to run multiple processes at once is both a blessing and a curse in Android.  To make sure that the problem really is with our app and not another backgrounded one, download and run the Advanced Task Manager (ATM)&lt;br /&gt;&lt;br /&gt;ATM is available through the Android market for free, and allows you to close multiple tasks.  I recommend killing only the tasks that you personally opened, just to make sure you don't kill off anything important.  Kill all unnecessary apps except for the one you want to debug.  Then, run the app again to make sure it still force closes.  If it does, see number 2.&lt;br /&gt;&lt;br /&gt;Thanks to everyone for all of your support.  We look forward to improving our own apps, and hope that by promoting these steps we can improve the entire Android market experience.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-8331631830872078491?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/8331631830872078491/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=8331631830872078491' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/8331631830872078491'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/8331631830872078491'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2010/03/tips-for-getting-android-apps-fixed.html' title='Tips for Getting Android Apps Fixed'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-7800103444899270184</id><published>2010-03-15T22:02:00.000-07:00</published><updated>2010-03-15T22:07:57.684-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='andi'/><category scheme='http://www.blogger.com/atom/ns#' term='store'/><category scheme='http://www.blogger.com/atom/ns#' term='shop'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><title type='text'>Andi Wear</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_aEQpPA3uOfo/S58SBXWL-VI/AAAAAAAAAIA/eF-IsPhL6mI/s1600-h/hiandi.png"&gt;&lt;img style="float:right; margin:0 0 10px 10px;cursor:pointer; cursor:hand;width: 233px; height: 320px;" src="http://2.bp.blogspot.com/_aEQpPA3uOfo/S58SBXWL-VI/AAAAAAAAAIA/eF-IsPhL6mI/s320/hiandi.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5449093888797833554" /&gt;&lt;/a&gt;&lt;br /&gt;I'd like to introduce you all to Andi.  Andi is officially the logo for the Android platform, but more importantly, is our little buddy.  Andi is our name for the character, and we're trying to get it to catch on.&lt;br /&gt;&lt;br /&gt;We like it because it appeals to all in a gender-neutral way.  While an Android is specifically a male robot, Andi is androgynous.  You'll hear us refer to him/her with either sex, totally randomly.&lt;br /&gt;&lt;br /&gt;Check out the cafepress store (http://www.cafepress.com/AndiWear) to support Andi's cause.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-7800103444899270184?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/7800103444899270184/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=7800103444899270184' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/7800103444899270184'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/7800103444899270184'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2010/03/andi-wear.html' title='Andi Wear'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_aEQpPA3uOfo/S58SBXWL-VI/AAAAAAAAAIA/eF-IsPhL6mI/s72-c/hiandi.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-5498074675287525204</id><published>2010-03-15T21:47:00.000-07:00</published><updated>2010-03-15T22:02:40.462-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='app'/><category scheme='http://www.blogger.com/atom/ns#' term='shoplist'/><category scheme='http://www.blogger.com/atom/ns#' term='market'/><category scheme='http://www.blogger.com/atom/ns#' term='store'/><category scheme='http://www.blogger.com/atom/ns#' term='android'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>4 Reasons We Develop for Android</title><content type='html'>So, for the past 2 months, Jeff and I have shifted gears a little.  We've transitioned away from doing only Gumstix development, and moved toward Android Application development.&lt;br /&gt;&lt;br /&gt;I'm happy to report that our first product, the Shopping List, is becoming a success.  The free version just jumped to over 5,000 downloads (within the first month), and the paid version is over 100.&lt;br /&gt;&lt;br /&gt;So, why did we decide to move to Android?&lt;br /&gt;&lt;br /&gt;First, according to many sources, Android is poised to take control of the Smart Phone market.  Noticing the many benefits to handset manufacturers in switching to Open Source Android, and noticing the few pitfalls, we're inclined to believe it.&lt;br /&gt;&lt;br /&gt;Second, Android apps are super simple to develop.  We hashed out the first version of the ShoppingList in less than 10 hours, and that included learning the SDK.  It uses Eclipse and a built-in virtual machine that makes testing a snap.  As a bonus, you can connect your phone to your computer and automatically run your software in the phone.&lt;br /&gt;&lt;br /&gt;Third, the Android platform runs on Gumstix (see www.gizmoforyou.com). Since many of the Android handsets use similar processors to those used on the Gumstix (in particular, the Nexus One uses the TI OMAP3430), support will be provided by the manufacturers and built into the kernel.  Major bonus.&lt;br /&gt;&lt;br /&gt;Finally, being on Android means we can make the software we want and release it to a wide audience, without worrying about spending time and effort on a program that may never get approved.  Android apps can be downloaded from anywhere, and the market is available as a convenience rather than a burden.  This creates a true freedom not found in other similar platforms.&lt;br /&gt;&lt;br /&gt;What do you think?  Are you hip with Android?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-5498074675287525204?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/5498074675287525204/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=5498074675287525204' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/5498074675287525204'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/5498074675287525204'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2010/03/4-reasons-we-develop-for-android.html' title='4 Reasons We Develop for Android'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-9126687498635668223</id><published>2010-01-17T14:57:00.000-08:00</published><updated>2010-01-17T15:08:25.329-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='debian'/><category scheme='http://www.blogger.com/atom/ns#' term='apt'/><category scheme='http://www.blogger.com/atom/ns#' term='source'/><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='compiling'/><title type='text'>Compiling from Source Using APT</title><content type='html'>Most of us Ubuntu fans are pretty proficient with apt-get for installing binary packages.  However, not that many of us use apt to download the source code for our favorite programs and compile them ourselves.&lt;br /&gt;&lt;br /&gt;Using apt to download source code is pretty easy, and makes the problem of missing-dependencies all but disappear.&lt;br /&gt;&lt;br /&gt;You can use the following to download the source code for any package (note: the source flag to apt will download the source code to your current working directory):&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;mkdir packagename&lt;br /&gt;cd packagename&lt;br /&gt;apt-get source packagename&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;While this downloads the source code for the package, it does not automatically download the libraries required to compile the source.  To do that, use the following command:&lt;br /&gt;&lt;pre&gt;apt-get build-dep packagename&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Finally, you can do the standard configure/make/make install procedure inside of the packagename directory.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;./configure&lt;br /&gt;make&lt;br /&gt;make install&lt;br /&gt;&lt;/pre&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-9126687498635668223?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/9126687498635668223/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=9126687498635668223' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/9126687498635668223'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/9126687498635668223'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2010/01/compiling-from-source-using-apt.html' title='Compiling from Source Using APT'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-8805265266886267702</id><published>2009-12-20T20:51:00.000-08:00</published><updated>2009-12-20T21:06:13.908-08:00</updated><title type='text'>Creating SD Card Images</title><content type='html'>This short tutorial shows you how to dump an SD card image (this one, in particular, is for the overobuntu SD cards).  This tutorial assumes you are using some form of *nix (Unix, Linux, etc) and have access to the &lt;code&gt;dd&lt;/code&gt; command line tool.&lt;br /&gt;&lt;br /&gt;First, in order to use the dd tool properly, we need to set the block size and number of bytes that you want to copy. For this tutorial, we're going to make blocks 512 bytes.  &lt;br /&gt;&lt;br /&gt;If you want to copy 1GB, using 512 byte blocks, then we need 1073741824 / 512 = 2097152 blocks.  NOTE: When you're figuring out how many bytes you need, make sure you calculate in bytes (ie: 1GB is not 1 billion bytes, but 2^30 = 1073741724 bytes).&lt;br /&gt;&lt;br /&gt;The command to do this copy from your SD card (assuming your SD card is mounted at /dev/mmcblk0) is the following:&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;dd if=/dev/mmcblk0 of=card.image bs=512 blocks=2097152&lt;/pre&gt;&lt;br /&gt;if = the input source device&lt;br /&gt;of = the image where the data is going to be dumped&lt;br /&gt;bs = the block size (512 is a sensible default)&lt;br /&gt;blocks = the number of blocks you wish to copy (number of bytes / block size).&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-8805265266886267702?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/8805265266886267702/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=8805265266886267702' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/8805265266886267702'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/8805265266886267702'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/12/creating-sd-card-images.html' title='Creating SD Card Images'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-2964348263569760831</id><published>2009-11-29T18:32:00.000-08:00</published><updated>2009-11-29T19:02:45.734-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='RAD'/><category scheme='http://www.blogger.com/atom/ns#' term='overo'/><category scheme='http://www.blogger.com/atom/ns#' term='gumstix'/><category scheme='http://www.blogger.com/atom/ns#' term='Software'/><category scheme='http://www.blogger.com/atom/ns#' term='overobuntu'/><category scheme='http://www.blogger.com/atom/ns#' term='hardware'/><category scheme='http://www.blogger.com/atom/ns#' term='Update'/><category scheme='http://www.blogger.com/atom/ns#' term='gumstick'/><title type='text'>New Updates, and Exciting Happenings</title><content type='html'>It's been a long time since my last real post, and my sincere apologies for this!  With the new baby, a tight work schedule, and dealing with shady characters making fraudulent copyright claims, I've had very little time to post to my blog.&lt;br /&gt;&lt;br /&gt;I return today with some exciting news, and a roadmap for the near future.&lt;br /&gt;&lt;br /&gt;First, I'm in the process of formalizing a new company called RAD Software Systems.  The company leverages my personal expertise and experience in agile software development, along with that of my network of software developer and engineer friends, to provide high-quality software development services at a low cost.  You can check us out at &lt;a href="http://www.radsoftwaresys.com"&gt;http://www.radsoftwaresys.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Secondly, I'm working on a new series of blog postings that will show you to add an accelerometer, Lithium-Polymer Battery power, and eventually a Large-format LVDS LCD screen (Laptop screens) to your Gumstix projects.  I will provide detailed tutorials on how to accomplish these, and will be selling some of the hardware on the RAD Software Systems products page (&lt;a href="http://www.radsoftwaresys.com/content/products"&gt;http://www.radsoftwaresys.com/content/products&lt;/a&gt;)&lt;br /&gt;&lt;br /&gt;Finally, I'll be updating the Gumstix Overo Ubuntu distribution, Overobuntu, to Ubuntu 9.10 (Karmic Koala). RAD Software Systems will be formally supporting Overobuntu, which means more active development, bug reporting and ticket handling, and more rapid updating to new distributions. We'll be releasing Overobuntu 9.10 by the middle of next week, and from now on will keep Overobuntu updated with the latest versions of Ubuntu.&lt;br /&gt;&lt;br /&gt;Keep your eyes out in the near future for more updates!  I'll be moving this week into a new house, with a new office and new workshop, so expect the updates to start sometime next week. Thanks for your patience, and all of your support!&lt;br /&gt;&lt;br /&gt;Happy holidays to everyone, and I hope this last month of 2009 marks the start of an excellent 2010.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-2964348263569760831?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/2964348263569760831/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=2964348263569760831' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/2964348263569760831'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/2964348263569760831'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/11/new-updates-and-exciting-happenings.html' title='New Updates, and Exciting Happenings'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-3891178258901048750</id><published>2009-09-27T15:40:00.000-07:00</published><updated>2009-09-27T15:45:33.382-07:00</updated><title type='text'>Overobuntu now hosted on Gitorious</title><content type='html'>I've been using git lately for local version control because my programming style doesn't seem to fit too well with subversion's folder structure.  I tend to prefer a bit more free-flow.&lt;br /&gt;&lt;br /&gt;So, seeing as how I've been using git for versioning anyhow, I've moved overobuntu over to gitorious.  You can get your copy of overobuntu by issuing the following command in your terminal:&lt;br /&gt;&lt;br /&gt;&lt;code&gt;git clone git://gitorious.org/overobuntu/overobuntu_builder.git&lt;/code&gt;&lt;br /&gt;&lt;br /&gt;This contains the latest version of Overobuntu, 0.91.1, which has some neat new features including:&lt;br /&gt;* proper Partition backup&lt;br /&gt;* Automatic card formatting&lt;br /&gt;* Several bug fixes.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-3891178258901048750?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/3891178258901048750/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=3891178258901048750' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/3891178258901048750'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/3891178258901048750'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/09/overobuntu-now-hosted-on-gitorious.html' title='Overobuntu now hosted on Gitorious'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-8741508359864642035</id><published>2009-07-30T17:47:00.000-07:00</published><updated>2009-07-30T17:49:40.592-07:00</updated><title type='text'>How to crash your netgear router</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_aEQpPA3uOfo/SnI_mhX1q4I/AAAAAAAAAGo/-yGMb3tUK5Q/s1600-h/routerbug.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 59px;" src="http://4.bp.blogspot.com/_aEQpPA3uOfo/SnI_mhX1q4I/AAAAAAAAAGo/-yGMb3tUK5Q/s320/routerbug.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5364420037177617282" /&gt;&lt;/a&gt;&lt;br /&gt;Why you should never question Netgear's authority:&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-8741508359864642035?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/8741508359864642035/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=8741508359864642035' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/8741508359864642035'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/8741508359864642035'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/07/how-to-crash-your-netgear-router.html' title='How to crash your netgear router'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_aEQpPA3uOfo/SnI_mhX1q4I/AAAAAAAAAGo/-yGMb3tUK5Q/s72-c/routerbug.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-347324657148880088</id><published>2009-07-29T23:06:00.001-07:00</published><updated>2009-07-29T23:07:58.859-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Palm pre development code'/><title type='text'>Palm just scored some mega cool nerd points with me</title><content type='html'>&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_aEQpPA3uOfo/SnE4oEn5noI/AAAAAAAAAGg/2qzyOzTfZd0/s1600-h/develmode.png"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 134px;" src="http://1.bp.blogspot.com/_aEQpPA3uOfo/SnE4oEn5noI/AAAAAAAAAGg/2qzyOzTfZd0/s320/develmode.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5364130892261990018" /&gt;&lt;/a&gt;&lt;br /&gt;Check out the code to enter developers mode on a Palm Pre.  Awesome.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-347324657148880088?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/347324657148880088/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=347324657148880088' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/347324657148880088'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/347324657148880088'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/07/palm-just-scored-some-mega-cool-nerd.html' title='Palm just scored some mega cool nerd points with me'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://1.bp.blogspot.com/_aEQpPA3uOfo/SnE4oEn5noI/AAAAAAAAAGg/2qzyOzTfZd0/s72-c/develmode.png' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-803143473975860718</id><published>2009-06-15T21:56:00.000-07:00</published><updated>2010-09-23T11:05:01.184-07:00</updated><title type='text'>Grab your Overobuntu SD card.</title><content type='html'>Now, you can get Ubuntu running on your Gumstix Overo quickly and easily.  Grab your Overobuntu SD Card, and get back to business.&lt;br /&gt;&lt;br /&gt;The card is formatted properly and should boot on any of the Gumstix Overo COM devices, with the proper kernel modules.  Ubuntu with the &lt;a href="http://www.lxde.org/"&gt;LXDE packages &lt;/a&gt;are pre-installed.&lt;br /&gt;&lt;br /&gt;UPDATE: You can now purchase the cards through my online store at &lt;a href="https://sites.google.com/a/catalyzingconcepts.com/catalyzing-concepts/portfolio/overobuntu"&gt;https://sites.google.com/a/catalyzingconcepts.com/catalyzing-concepts/portfolio/overobuntu&lt;/a&gt;.  Thanks!&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-803143473975860718?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/803143473975860718/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=803143473975860718' title='16 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/803143473975860718'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/803143473975860718'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/06/overobuntu-sd-card-for-sale.html' title='Grab your Overobuntu SD card.'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>16</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-8481126504675050962</id><published>2009-06-14T16:45:00.000-07:00</published><updated>2009-06-14T16:50:53.400-07:00</updated><title type='text'>Gumstix Development Resources</title><content type='html'>I've been working on the Okapi Generic Computing Device, and have found some cool documentation that is hard to find.&lt;br /&gt;&lt;br /&gt;1: The datasheet for the &lt;a href="http://www.kyocera-elco.com/prdct/pdf/5602.pdf"&gt;AVX connectors&lt;/a&gt; that go on your custom board can be found on the kyocera website.&lt;br /&gt;&lt;br /&gt;2: A &lt;a href="http://www.pixhawk.ethz.ch/wiki/electronics/overo"&gt;robotics website&lt;/a&gt; that has some interesting specs on the gumstix overo, including some extra datasheets.&lt;br /&gt;&lt;br /&gt;These websites are especially useful for those of you designing your own custom expansion boards for the gumstix overo.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-8481126504675050962?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/8481126504675050962/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=8481126504675050962' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/8481126504675050962'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/8481126504675050962'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/06/gumstix-development-resources.html' title='Gumstix Development Resources'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-2493510924590590296</id><published>2009-06-04T15:14:00.001-07:00</published><updated>2009-06-04T15:15:06.138-07:00</updated><title type='text'>Using MySQL with Amazon Elastic Block Store (EBS)</title><content type='html'>&lt;span style="font-size:85%;"&gt;To use the Elastic Block Store to make the Mysql data persistent, change the location of the MySQL datadir to be the place where the persistent volume is mounted.&lt;br /&gt;&lt;br /&gt;To do this, change the &lt;code&gt;datadir&lt;/code&gt; section of your /etc/mysql/my.cnf file to point to your Elastic Block Store mount (and folder on the mount).&lt;br /&gt;&lt;br /&gt;eg: &lt;br /&gt;&lt;pre&gt;&lt;br /&gt;&lt;code&gt;datadir = /home/persistent/mysql&lt;/code&gt;&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Assuming /home/persistent is where you mounted your EBS volume.&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-2493510924590590296?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/2493510924590590296/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=2493510924590590296' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/2493510924590590296'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/2493510924590590296'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/06/using-mysql-with-amazon-elastic-block.html' title='Using MySQL with Amazon Elastic Block Store (EBS)'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-2806220171490380031</id><published>2009-06-04T14:27:00.000-07:00</published><updated>2009-06-04T15:02:47.425-07:00</updated><title type='text'>Automatic Volume Snapshots using Amazon EC2 and EBS</title><content type='html'>The server that I've been using to host my other site, oc-technology.com, has been hosted on an Amazon Web Services EC2 server since October of 2008.  This tutorial / software assumes you have an Amazon Web Services (AWS) account, and are running a debian-like EC2 server, mounting an Elastic Block Store (EBS).  If any of this sounds like martian to you, check out http://aws.amazon.com for an overview.&lt;br /&gt;&lt;br /&gt;I've wrote a small script (two files, volsnapshot.ksh and volsnapshot.pl) that automatically takes snapshots of my Elastic Block Store (EBS).  This script runs as a cron job and does makes nightly snapshots of my Elastic Block Store.  I did this so that, in the event of a catastrophic problem, I could restore my EBS to a previous state.&lt;br /&gt;&lt;br /&gt;This script also keeps any number of previous backups, deleting "expired" snapshots (ones that are too old).  This allows one to automate backups without having to worry about massive Amazon S3 usage.&lt;br /&gt;&lt;br /&gt;This backup requires 2 files: vol-snapshot.ksh and vol-snapshot.pl.&lt;br /&gt;&lt;br /&gt;Finally, you'll need to create a cron job at the end.&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#!/bin/bash&lt;br /&gt;#&lt;br /&gt;# File: vol-snapshot.ksh&lt;br /&gt;# Author: John O'Connor&lt;br /&gt;# Copyright (C) 2009, John O'Connor&lt;br /&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; version 2 of the License.&lt;br /&gt;#&lt;br /&gt;# This program is distributed in the hope that it will be useful,&lt;br /&gt;# but WITHOUT ANY WARARANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTIBILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;# GNU General Public License for more details.&lt;br /&gt;&lt;br /&gt;export EC2_HOME='&amp;lt;path_to_amazon_API_tools&amp;gt;'  # Make sure you use the API tools, not the AMI tools&lt;br /&gt;&lt;br /&gt;export EC2_BIN=$EC2_HOME/bin&lt;br /&gt;export EC2_PRIVATE_KEY=&amp;lt;path_to_key_directory&amp;gt;/pk-&amp;lt;privateKey&amp;gt;.pem&lt;br /&gt;export EC2_CERT=&amp;lt;path_to_certificate_directory&amp;gt;/cert-&amp;lt;certificate&amp;gt;.pem&lt;br /&gt;export PATH=$PATH:$EC2_BIN&lt;br /&gt;#&lt;br /&gt;# To find the current location of JAVA_HOME, try env | grep JAVA_HOME&lt;br /&gt;# It's necessary to put this environment variable in here because&lt;br /&gt;# cron will not have access to your standard environment variables.&lt;br /&gt;export JAVA_HOME=&amp;lt;path_to_your_java_runtime&amp;gt;&lt;br /&gt;&lt;br /&gt;./vol-snapshot.pl &amp;gt; logs/snapshot_`date +%Y%m%d_%H%M%S`.log&lt;br /&gt;# You can also do the following if you don't wish to keep the logs&lt;br /&gt;# ./vol-snapshot.pl&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;And for the perl file, make sure you keep it in the same directory as the shell script, or otherwise change the paths above to point to the correct location.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;#!/usr/bin/perl&lt;br /&gt;#&lt;br /&gt;# File: vol-snapshot.pl&lt;br /&gt;# Author: John O'Connor&lt;br /&gt;# Copyright (C) 2009, John O'Connor&lt;br /&gt;# This program is free software; you can redistribute it and/or modify&lt;br /&gt;# it under the terms of the GNU General Public License as published by&lt;br /&gt;# the Free Software Foundation; version 2 of the License.&lt;br /&gt;#&lt;br /&gt;# This program is distributed in the hope that it will be useful,&lt;br /&gt;# but WITHOUT ANY WARARANTY; without even the implied warranty of&lt;br /&gt;# MERCHANTIBILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the&lt;br /&gt;# GNU General Public License for more details.&lt;br /&gt;#!/usr/bin/perl -w&lt;br /&gt;&lt;br /&gt;##############################&lt;br /&gt;# Global Variables&lt;br /&gt;##############################&lt;br /&gt;EC2_HOME='&amp;lt;path_to_amazon_API_tools&amp;gt;'  # Make sure you use the API tools, not the AMI tools&lt;br /&gt;&lt;br /&gt;my $EC2_HOME = '&amp;lt;path_to_amazon_API_tools&amp;gt;';&lt;br /&gt;my $EC2_BIN = "$EC2_HOME/bin";&lt;br /&gt;my $EC2_PRIVATE_KEY = '&amp;lt;path_to_key_directory&amp;gt;/pk-&amp;lt;privateKey&amp;gt;.pem';&lt;br /&gt;my $EC2_CERT = '&amp;lt;path_to_certificate_directory&amp;gt;/cert-&amp;lt;certificate&amp;gt;.pem';&lt;br /&gt;my @volumes = ();&lt;br /&gt;my @snapshots = ();&lt;br /&gt;my $SNAPSIZE_MAX = 2; # This is the number of snapshots to save.&lt;br /&gt;my $DEBUG = 1; # Set this to 0 to get less output.  I recommend leaving this alone.&lt;br /&gt;&lt;br /&gt;##############################&lt;br /&gt;# Subroutine Prototypes&lt;br /&gt;##############################&lt;br /&gt;sub getVolumes();&lt;br /&gt;sub getSnapshots();&lt;br /&gt;&lt;br /&gt;##############################&lt;br /&gt;# Main&lt;br /&gt;##############################&lt;br /&gt;if (@ARGV)&lt;br /&gt;  {&lt;br /&gt;    @volumes = @ARGV;&lt;br /&gt;  }&lt;br /&gt;else&lt;br /&gt;  {&lt;br /&gt;    @volumes = getVolumes();&lt;br /&gt;  }&lt;br /&gt;my $volsize = @volumes;&lt;br /&gt;foreach (@volumes)&lt;br /&gt;  {&lt;br /&gt;    print "$_\n" if $DEBUG;&lt;br /&gt;    `$EC2_BIN/ec2-create-snapshot $_`;&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;$volsize == 0 ? print "No volumes found.\n" : $volsize == 1 ? print "$volsize volume found.\n" : print "$volsize volumes found.\n";&lt;br /&gt;&lt;br /&gt;@snapshots = getSnapshots();&lt;br /&gt;my $snapsize = @snapshots;&lt;br /&gt;print "$snapsize number of snapshots\n" if $DEBUG;&lt;br /&gt;if ($snapsize &amp;gt; $SNAPSIZE_MAX)&lt;br /&gt;  {&lt;br /&gt;    print "$snapsize, $SNAPSIZE_MAX\n" if $DEBUG;&lt;br /&gt;    for (my $i = 0; $i &amp;lt; $SNAPSIZE_MAX; $i++)&lt;br /&gt;      {&lt;br /&gt;    my $snapshot = $snapshots[$i];&lt;br /&gt;    print "$_\n" if $DEBUG;&lt;br /&gt;    print "$snapsize snapshots left\n" if $DEBUG;&lt;br /&gt;    `$EC2_BIN/ec2-delete-snapshot $snapshot`;&lt;br /&gt;      }&lt;br /&gt;  }&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;##############################&lt;br /&gt;# Subroutines&lt;br /&gt;##############################&lt;br /&gt;sub getVolumes()&lt;br /&gt;{&lt;br /&gt;    my $volstring = `$EC2_BIN/ec2-describe-volumes`;&lt;br /&gt;    my @volumes = split(/\n/, $volstring);&lt;br /&gt;    my @vol = ();&lt;br /&gt;    my $volcount = 0;&lt;br /&gt;    foreach my $volume (@volumes)&lt;br /&gt;    {&lt;br /&gt;      if ($volume =~ /VOLUME\s+(vol-(?:\S+))/)&lt;br /&gt;    {&lt;br /&gt;      ($vol[$volcount]) = $volume =~ /VOLUME\s+(vol-(?:\S+))/;&lt;br /&gt;      $volcount++;&lt;br /&gt;    }&lt;br /&gt;    }&lt;br /&gt;    return @vol;&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;sub getSnapshots()&lt;br /&gt;  {&lt;br /&gt;    my $snapstring = `$EC2_BIN/ec2-describe-snapshots`;&lt;br /&gt;    my @snapshots = split(/\n/, $snapstring);&lt;br /&gt;    my @snap = ();&lt;br /&gt;    my $snapcount = 0;&lt;br /&gt;    foreach my $snapshot (@snapshots)&lt;br /&gt;      {&lt;br /&gt;    if ($snapshot =~ /SNAPSHOT\s+(snap-(?:\S+))/)&lt;br /&gt;      {&lt;br /&gt;        ($snap[$snapcount]) = $snapshot =~ /SNAPSHOT\s+(snap-(?:\S+))/;&lt;br /&gt;        $snapcount++;&lt;br /&gt;      }&lt;br /&gt;      }&lt;br /&gt;    return @snap&lt;br /&gt;  }&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;Ok -- I know what you're thinking: You put the paths in both files.  Why don't you just snag the environment variables you just set in the .ksh file?&lt;br /&gt;&lt;br /&gt;I don't remember -- it didn't work last time I tried it, and I'm too lazy to figure out why.  If someone else out there tries it and gets it to work, please do post it here!  I'll change it in the code.&lt;br /&gt;&lt;br /&gt;Finally, you need to create a cron job that runs the Vol-snapshot.ksh file.&lt;br /&gt;&lt;br /&gt;In your terminal, type:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;crontab -e&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;Then, add the following line:&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;30 0 * * * &amp;lt;your_scripts_dir&amp;gt;/vol-snapshot.ksh&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;This runs the cron job at 12:30am every day.  For more information on how to use crontab, (including how to change when the cron job is run), check out http://www.adminschoice.com/docs/crontab.htm&lt;br /&gt;&lt;br /&gt;It's not perfect, but it's worked fine for me so far, and has definitely saved me more than a few headaches.&lt;br /&gt;&lt;br /&gt;Good luck, and let me know how this works out for you.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-2806220171490380031?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/2806220171490380031/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=2806220171490380031' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/2806220171490380031'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/2806220171490380031'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/06/automatic-volume-snapshots-using-amazon.html' title='Automatic Volume Snapshots using Amazon EC2 and EBS'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-1531652951430512559</id><published>2009-04-27T21:23:00.000-07:00</published><updated>2009-04-30T00:23:01.645-07:00</updated><title type='text'>Never lose a terminal with Screen</title><content type='html'>SSH is a fantastic tool for working on computers remotely.  However, I've often run into the following problem:  I'll be doing something in the terminal, like downloading a new release of Ubuntu, and been forced to shut down due to battery depletion on my laptop.&lt;br /&gt;&lt;br /&gt;Fortunately, there's a utility that allows you to run a terminal as a separate process.  You can detach from that terminal, disconnect from your remote machine, and re-connect when you feel like it.&lt;br /&gt;&lt;br /&gt;Screen is a GNU/Linux program that allows you to run a terminal without the headache of staying logged in via SSH.  I've used it to begin a download at school, detach from the session, drive home, and then reattach to see the progress.  It's very handy for situations that require multiple tty's.&lt;br /&gt;&lt;br /&gt;To use it, just type the following command into the terminal of the remote machine:&lt;span style="font-style: italic;"&gt;&lt;br /&gt;&lt;br /&gt;screen&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;This will bring you to a new, separate tty.  Begin your process, then hit &lt;span style="font-style: italic;"&gt;Ctrl-A+D&lt;/span&gt; (that is, hit Ctrl-A, then D for detach).  This will take you out of the screen tty, leaving it running as a separate process.  You can reattach to a screen later by typing &lt;span style="font-style: italic;"&gt;screen -r&lt;/span&gt;.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-1531652951430512559?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/1531652951430512559/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=1531652951430512559' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/1531652951430512559'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/1531652951430512559'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/04/never-lose-terminal-with-screen.html' title='Never lose a terminal with Screen'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-2733006403125985100</id><published>2009-04-24T22:23:00.000-07:00</published><updated>2009-04-27T21:22:45.964-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='futuristic'/><category scheme='http://www.blogger.com/atom/ns#' term='technology'/><category scheme='http://www.blogger.com/atom/ns#' term='next big thing'/><category scheme='http://www.blogger.com/atom/ns#' term='internet'/><category scheme='http://www.blogger.com/atom/ns#' term='2020'/><category scheme='http://www.blogger.com/atom/ns#' term='sci-fi'/><category scheme='http://www.blogger.com/atom/ns#' term='future'/><category scheme='http://www.blogger.com/atom/ns#' term='ubiquitous'/><title type='text'>The Next Big Thing: Part 1: Ubiquitous Internet</title><content type='html'>Lately I've been marveling at the technology of the last 20 years.  20 years ago, the Internet didn't exist in the form we know it today.  I've gotten so used to paying my bills online, it's hard to fathom a day when it couldn't be done like that.&lt;br /&gt;&lt;br /&gt;This inevitably gets me thinking about what the world will look like in the future.   Being an engineer, and getting a chance to work on cutting-edge technology, I have the privilege of getting paid to wonder what the next decade bring.  What new technologies will shape our world?&lt;br /&gt;&lt;br /&gt;This begins a series of what I'm calling "The next big thing".  I'll do weekly posts about technology that I think will become popular in the next 10 years.  If anything, it'll give me a chance to look back 10-years from now and laugh at my own optimism.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-weight: bold;"&gt;Ubiquitous Internet&lt;/span&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Tech:&lt;/span&gt;&lt;br /&gt;The word Ubiquitous has become a buzzword in computer science communities -- it generally means that everpresent existence of something.  Computers are ubiquitous in our modern society -- most people don't go a whole day without interacting with some sort of computer, whether it be the micro-controller in your microwave or the real-time embedded computers in your car.&lt;br /&gt;&lt;br /&gt;The next step in the evolution of the Internet is ubiquity.  Eventually these many computers will interconnect and communicate without our awareness of it.  The ubiquitous internet will allow our refrigerators to send our grocery lists to our cellular phones (or wearable computers) automatically.  Our cars will communicate with their manufacturers, providing real-life data for future engineering efforts.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Evidence:&lt;/span&gt;&lt;br /&gt;The Internet is already available on most cellular phones in the United States.  Already, this technology is producing internet phenomena such as Twitter.  While the cellular network is improving constantly, the bandwidth for ubiquitous Internet is not there . . . yet.&lt;br /&gt;&lt;br /&gt;The major enabling technology for the ubiquitous internet could be the reallocation of the 800MHz spectrum from analog television to the Internet.  In the very near future, the internet will be available anywhere that a television signal could be received.&lt;br /&gt;&lt;br /&gt;As these muni systems become more common, devices that take advantage of the availability of the Internet become more feasible.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;Conclusion:&lt;br /&gt;&lt;br /&gt;&lt;/span&gt;I hope you've enjoyed this first installment of The Next Big Thing.  Check back again next week for more dreaming and musings on what the future holds.&lt;span style="font-weight: bold;"&gt;&lt;br /&gt;&lt;/span&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-2733006403125985100?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/2733006403125985100/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=2733006403125985100' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/2733006403125985100'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/2733006403125985100'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/04/next-big-thing-part-1-ubiquitous.html' title='The Next Big Thing: Part 1: Ubiquitous Internet'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-9124411705244330925</id><published>2009-04-10T20:23:00.000-07:00</published><updated>2010-03-20T20:59:29.481-07:00</updated><title type='text'>Installing Ubuntu on the Gumstix Overo</title><content type='html'>&lt;h3 xmlns="http://www.w3.org/1999/xhtml" id="goog-ws-page-title-header" class="goog-ws-page-title" style=""&gt;&lt;span id="goog-ws-page-title"&gt;Installing Ubuntu on the Gumstix Overo&lt;/span&gt;&lt;/h3&gt;                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                                      &lt;br /&gt;To get your own Overobuntu card pre-installed, without the headache or hassle of making your own, buy one from my website: &lt;a href="http://www.radsoftwaresys.com/content/products"&gt;www.radsoftwaresys.com/content/products&lt;/a&gt;.  You'll be getting a well-tested card, and the proceeds will be used to develop awesome new products for the Gumstix Overo.  Thanks!  Please note: this card will NOT work with the Chestnut43 board.&lt;br /&gt;&lt;br /&gt;This tutorial will walk you through the steps of installing Ubuntu on a Bootable SD card, and booting to Ubuntu on the Gumstix Overo.  These instructions assume that you are running from Ubuntu Linux, although any similar Linux distro will suffice.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight: bold;"&gt;&lt;/span&gt;&lt;/span&gt;This tutorial references the following websites.  Portion of this tutorial have been assembled from them, sometimes paraphrased and sometimes copied verbatim.  Please visit the respective sites for more information:&lt;br /&gt;&lt;a href="http://elinux.org/BeagleBoardUbuntu"&gt;http://elinux.org/BeagleBoardUbuntu&lt;/a&gt;&lt;br /&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;code&gt;&lt;/code&gt;&lt;/i&gt;&lt;/span&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;a href="http://www.google.com/url?q=http%3A%2F%2Fwww.gumstix.net%2FSoftware%2Fview%2FSoftware-Overo%2FCreating-a-bootable-microSD-card%2F111.html&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFrqEzd8NNg0pJzItufBa44dZDa_v4kKFw"&gt;http://www.gumstix.net/Software/view/Software-Overo/Creating-a-bootable-microSD-card/111.html&lt;/a&gt;&lt;/i&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;&lt;span style="font-size:130%;"&gt;&lt;span style="font-family: arial,sans-serif;"&gt;Required Materials:&lt;/span&gt;&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;The following materials are required to complete this tutorial:&lt;br /&gt;&lt;ul&gt;&lt;li&gt;Gumstix Overo&lt;/li&gt;&lt;li&gt;Summit Board&lt;/li&gt;&lt;li&gt;Power Supply&lt;/li&gt;&lt;li&gt;USB Mini-B to Standard-A (computer host to overo device) cable&lt;/li&gt;&lt;li&gt;2GB (or larger) microSD Card (and standard card adapter to plug it into your development PC).&lt;/li&gt;&lt;/ul&gt; Ensure you have the correct packages installed:&lt;br /&gt;&lt;br /&gt;&lt;div style="margin-left: 40px;"&gt;&lt;code&gt;sudo apt-get install ckermit qemu&lt;/code&gt;&lt;br /&gt;&lt;code&gt; ...installs software...&lt;/code&gt;&lt;br /&gt;&lt;code&gt; wget &lt;a href="http://www.google.com/url?q=http%3A%2F%2Fports.ubuntu.com%2Fpool%2Fmain%2Fd%2Fdebootstrap%2Fdebootstrap_1.0.12_all.deb&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFrqEzfB0v072dkq380g6ZiEPYXn37j88A"&gt;http://ports.ubuntu.com/pool/main/d/debootstrap/debootstrap_1.0.12_all.deb&lt;/a&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; sudo dpkg -i debootstrap_1.0.12_all.deb&lt;/code&gt;&lt;br /&gt;&lt;code&gt; wget &lt;a href="http://www.google.com/url?q=http%3A%2F%2Fpeople.ubuntu.com%2F%257Eogra%2Farm%2Fbuild-arm-rootfs&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFrqEzeOxSZZ3GBHgj3P9YqzbZHmBnaFcg"&gt;http://people.ubuntu.com/~ogra/arm/build-arm-rootfs&lt;/a&gt;&lt;/code&gt;&lt;br /&gt;&lt;code&gt; sudo chmod u+x build-arm-rootfs&lt;/code&gt;&lt;br /&gt;&lt;/div&gt;&lt;div style="margin-left: 40px;"&gt;&lt;code&gt;&lt;/code&gt;&lt;/div&gt;&lt;code&gt;&lt;br /&gt;&lt;b style="font-family: arial,sans-serif;"&gt;&lt;span style="font-size:130%;"&gt;Building the root file system&lt;/span&gt;&lt;/b&gt;&lt;br /&gt;&lt;/code&gt; &lt;p&gt;Next, we'll need to build the Ubuntu arm root file system.  This command will place the compressed image in your current working directory, so make sure you cd to the directory in which you want your image.&lt;br /&gt;&lt;/p&gt;&lt;p&gt;You can use any one of the following commands to build a root file system, depending on your desired seed (NOTE: &lt;code&gt;I highly recommend you use the LXDE image. The standard Ubuntu GNOME desktop is unbearably slow on the Overo)&lt;/code&gt;:&lt;/p&gt; &lt;p style="margin-left: 40px;"&gt; &lt;b&gt;General:&lt;/b&gt; sudo ./build-arm-rootfs --fqdn &lt;hostname&gt; --login &lt;rootuser&gt; --password &lt;rootuserpasswd&gt; --imagesize &lt;qemu&gt; --seed &lt;packages&gt;&lt;br /&gt;&lt;/p&gt;&lt;p style="margin-left: 40px;"&gt; &lt;/p&gt; &lt;p style="margin-left: 40px;"&gt; &lt;b&gt;lxde Desktop:&lt;/b&gt; &lt;code&gt;sudo ./build-arm-rootfs --fqdn overo --login ubuntu --password temppwd --imagesize 2G --seed lxde,gdm &lt;/code&gt; &lt;/p&gt; &lt;p style="margin-left: 40px;"&gt; &lt;b&gt;Xubuntu Desktop&lt;/b&gt; &lt;code&gt; sudo ./build-arm-rootfs --fqdn overo --login ubuntu --password temppwd --imagesize 2G --seed xubuntu-desktop &lt;/code&gt; &lt;/p&gt; &lt;p style="margin-left: 40px;"&gt; &lt;b&gt;Ubuntu Desktop&lt;/b&gt; &lt;code&gt; sudo ./build-arm-rootfs --fqdn overo --login ubuntu --password temppwd --imagesize 3G --seed ubuntu-desktop&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;Set the computer aside, as it will take a long time to build the entire root filesystem.&lt;br /&gt;&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;Once it's done, you'll see two files: &lt;b&gt;&lt;i&gt;build-arm-rootfs-YYYYMMDDhhmm.log&lt;/i&gt;&lt;/b&gt; and &lt;b&gt;&lt;i&gt;armel-rootfs-YYYYMMDDhhmm.tgz&lt;/i&gt;&lt;/b&gt;.&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;The first file contains the build log (if you have have any errors, this is the best place to start).  The second contains your compressed root file system.&lt;/code&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;&lt;b style="font-family: arial,sans-serif;"&gt;&lt;span style="font-size:130%;"&gt;Formatting and Creating a Bootable SD Card&lt;/span&gt;&lt;/b&gt;&lt;/code&gt;&lt;/p&gt;&lt;p style="font-family: arial,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;code&gt;These instructions were copied from the following documentation on the gumstix.net website with some minor modifications. &lt;/code&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;p style="font-family: arial,sans-serif;"&gt;&lt;span style="font-size:85%;"&gt;&lt;i&gt;&lt;code&gt;Reference: &lt;a href="http://www.google.com/url?q=http%3A%2F%2Fwww.gumstix.net%2FSoftware%2Fview%2FSoftware-Overo%2FCreating-a-bootable-microSD-card%2F111.html&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFrqEzd8NNg0pJzItufBa44dZDa_v4kKFw"&gt;http://www.gumstix.net/Software/view/Software-Overo/Creating-a-bootable-microSD-card/111.html&lt;/a&gt;&lt;/code&gt;&lt;/i&gt;&lt;/span&gt;&lt;/p&gt;&lt;p&gt;&lt;code&gt;     &lt;/code&gt;&lt;/p&gt;&lt;div style="float: right;"&gt;&lt;a href="http://www.google.com/url?q=http%3A%2F%2Fwww.gumstix.net%2Findex2.php%3Foption%3Dcom_easyfaq%26task%3Dview%26id%3D114%26pop%3D1%26Itemid%3D111&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFrqEzfnSLZ9YaOAHb1dYNwq64hEGoZ94Q" rel="nofollow" target="_blank" title="Print"&gt;&lt;img alt="Print" name="Print" src="http://www.gumstix.net/templates/ja_pollux/images/printButton.png" align="middle" border="0" /&gt;&lt;/a&gt; &lt;/div&gt;The Overo will boot directly from a properly prepared microSD card. This section will outline how to partition and format a bootable microSD card.&lt;p&gt;In order to create a bootable microSD compatible with the &lt;a href="http://www.google.com/url?q=http%3A%2F%2Fwiki.davincidsp.com%2Findex.php%3Ftitle%3DOMAP3_Overview&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFrqEzdBAk-uQGbSoAh0qrnO2I2Zqdiu0g" title="OMAP3 Overview"&gt;OMAP3&lt;/a&gt; boot ROM you must set a special geometry using the &lt;a href="http://www.google.com/url?q=http%3A%2F%2Flinux.die.net%2Fman%2F8%2Ffdisk&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFrqEzccHDVnCBoBpibjFxqP7DEC3_KWhg" rel="nofollow" title="http://linux.die.net/man/8/fdisk"&gt;fdisk&lt;/a&gt; "Expert mode".&lt;/p&gt; &lt;p&gt;This example will show the steps for setting up a brand new 2Gb microSD card.&lt;/p&gt; &lt;p&gt;First insert your card into your development machine's flash card slot. You may need to use a microSD to SD card adaptor to fit your slot.&lt;/p&gt; &lt;p&gt;On my Ubuntu 8.10 machine, the newly inserted card shows up as /dev/&lt;span style="background-color: rgb(255, 255, 0);"&gt;mmcblk0&lt;/span&gt; and that is the device name that will be used through this example. You should substitute the proper device name for your machine. You can use 'mount' or 'df' to see where the card mounts on your machine.&lt;/p&gt; &lt;p&gt;Let's unmount the device's existing file system before we get started with fdisk:&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;$ sudo umount /dev/&lt;span style="background-color: rgb(255, 255, 0);"&gt;mmcblk0&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt; &lt;h4&gt;&lt;a name="TOC-Partitioning-the-card"&gt;&lt;/a&gt;Partitioning the card&lt;/h4&gt; &lt;p&gt;Now launch fdisk and create an empty partition table. Note that the argument for fdisk is the entire device (/dev/&lt;span style="background-color: rgb(255, 255, 0);"&gt;mmcblk0&lt;/span&gt;) not just a single partition (i.e. /dev/&lt;span style="background-color: rgb(255, 255, 0);"&gt;mmcblk0p1&lt;/span&gt;):&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;&lt;i&gt;# sudo fdisk /dev/&lt;span style="background-color: rgb(255, 255, 0);"&gt;mmcblk0&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;Command (m for help): &lt;/i&gt;&lt;i&gt;o&lt;/i&gt;&lt;br /&gt;Building a new DOS disklabel. Changes will remain in memory only,&lt;br /&gt;until you decide to write them. After that, of course, the previous&lt;br /&gt;content won't be recoverable.&lt;br /&gt;&lt;br /&gt;Warning: invalid flag 0x0000 of partition table 4 will be corrected by w(rite)&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Let's first look at the current card information.  Note: Your information may be slightly different:&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;Command (m for help): p&lt;br /&gt;&lt;br /&gt;Disk /dev/sde: 2032 MB, 2032664576 bytes&lt;br /&gt;64 heads, 63 sectors/track, 984 cylinders&lt;br /&gt;Units = cylinders of 4032 * 512 = 2064384 bytes&lt;br /&gt;Disk identifier: 0x00aa8e5c&lt;br /&gt;&lt;br /&gt;  Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Note the card size in bytes. We will needed it later in the process.&lt;/p&gt; &lt;p&gt;Now go into "Expert" mode:&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;Command (m for help): x&lt;/pre&gt; &lt;p&gt;Next we will set the geometry to 255 heads, 63 sectors and a calculated value for the number of cylinders required for the particular microSD card.&lt;/p&gt; &lt;p&gt;To calculate the number of cylinders, we take the 2032664576 bytes reported above by fdisk (use the number you saw from above) divided by 255 heads, 63 sectors and 512 bytes per sector:&lt;/p&gt; &lt;p&gt;2032664576 / 255 / 63 / 512 = 247.12 which we  round &lt;b&gt;down&lt;/b&gt; to &lt;span style="background-color: rgb(255, 255, 0);"&gt;247&lt;/span&gt; cylinders.&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;Expert command (m for help): &lt;i&gt;h&lt;/i&gt;&lt;br /&gt;Number of heads (1-256, default 4): &lt;i&gt;255&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Expert command (m for help): &lt;i&gt;s&lt;/i&gt;&lt;br /&gt;Number of sectors (1-63, default 62): &lt;i&gt;63&lt;/i&gt;&lt;br /&gt;Warning: setting sector offset for DOS compatiblity&lt;br /&gt;&lt;br /&gt;Expert command (m for help): &lt;i&gt;c&lt;/i&gt;&lt;br /&gt;Number of cylinders (1-1048576, default 984): &lt;i&gt;&lt;span style="background-color: rgb(255, 255, 0);"&gt;247&lt;/span&gt;&lt;/i&gt;&lt;/pre&gt; &lt;p&gt;Return to fdisk's main mode and create a new partition 32 MB FAT partition:&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;Expert command (m for help): &lt;i&gt;r&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Command (m for help): &lt;i&gt;n&lt;/i&gt;&lt;br /&gt;Command action&lt;br /&gt;  e   extended&lt;br /&gt;  p   primary partition (1-4)&lt;br /&gt;&lt;i&gt;p&lt;/i&gt;&lt;br /&gt;Partition number (1-4): &lt;i&gt;1&lt;/i&gt;&lt;br /&gt;First cylinder (1-247, default 1): &lt;i&gt;1&lt;/i&gt;&lt;br /&gt;Last cylinder or +size or +sizeM or +sizeK (1-247, default 15): +32M&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Change the partition type to FAT32:&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;Command (m for help): &lt;i&gt;t&lt;/i&gt;&lt;br /&gt;Selected partition 1&lt;br /&gt;Hex code (type L to list codes): &lt;i&gt;c&lt;/i&gt;&lt;br /&gt;Changed system type of partition 1 to c (W95 FAT32 (LBA))&lt;/pre&gt; &lt;p&gt;And mark it bootable:&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;Command (m for help): &lt;i&gt;a&lt;/i&gt;&lt;br /&gt;Partition number (1-4): 1&lt;/pre&gt; &lt;p style="margin-left: 40px;"&gt;Next we create an ext3 partition for the rootfs:&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;Command (m for help): n&lt;br /&gt;Command action&lt;br /&gt;  e   extended&lt;br /&gt;  p   primary partition (1-4)&lt;br /&gt;p&lt;br /&gt;Partition number (1-4): 2&lt;br /&gt;First cylinder (6-247, default 6): 6&lt;br /&gt;Last cylinder or +size or +sizeM or +sizeK (6-247, default 247): &lt;span style="background-color: rgb(255, 255, 0);"&gt;247&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;To verify our work, lets print the partition info:&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;Command (m for help): p&lt;br /&gt;&lt;br /&gt;Disk /dev/sde: 2032 MB, 2032664576 bytes&lt;br /&gt;255 heads, 63 sectors/track, 247 cylinders&lt;br /&gt;Units = cylinders of 16065 * 512 = 8225280 bytes&lt;br /&gt;Disk identifier: 0x00aa8e5c&lt;br /&gt;&lt;br /&gt;  Device Boot      Start         End      Blocks   Id  System&lt;br /&gt;/dev/mmcblk0p1   *           1           5       40131    c  W95 FAT32 (LBA)&lt;br /&gt;/dev/mmcblk0p2               6         247     1943865   83  Linux&lt;/pre&gt; &lt;p&gt;Up to this point no changes have been made to the card itself, so our final step is to write the new partition table to the card and then exit:&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;Command (m for help): &lt;i&gt;w&lt;/i&gt;&lt;br /&gt;The partition table has been altered!&lt;br /&gt;&lt;br /&gt;Calling ioctl() to re-read partition table.&lt;br /&gt;&lt;br /&gt;WARNING: If you have created or modified any DOS 6.x&lt;br /&gt;partitions, please see the fdisk manual page for additional&lt;br /&gt;information.&lt;br /&gt;Syncing disks.&lt;br /&gt;&lt;/pre&gt; &lt;h4&gt;&lt;a name="TOC-Formatting-the-new-partitions"&gt;&lt;/a&gt;Formatting the new partitions&lt;/h4&gt; &lt;p&gt;We format the first partition as a FAT file system (the -n parameter gives it a label of FAT, you can change or omit this if you like):&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;#  sudo mkfs.vfat -F 32 /dev/mmcblk0p1 -n FAT&lt;br /&gt;mkfs.vfat 2.11 (12 Mar 2005)&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;We format the second partition as an ext3 file system:&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;$ sudo mkfs.ext3 /dev/mmcblk0p2&lt;br /&gt;mke2fs 1.40.8 (13-Mar-2008)&lt;br /&gt;Filesystem label=&lt;br /&gt;OS type: Linux&lt;br /&gt;Block size=4096 (log=2)&lt;br /&gt;Fragment size=4096 (log=2)&lt;br /&gt;121920 inodes, 485966 blocks&lt;br /&gt;24298 blocks (5.00%) reserved for the super user&lt;br /&gt;First data block=0&lt;br /&gt;Maximum filesystem blocks=499122176&lt;br /&gt;15 block groups&lt;br /&gt;32768 blocks per group, 32768 fragments per group&lt;br /&gt;8128 inodes per group&lt;br /&gt;Superblock backups stored on blocks:&lt;br /&gt; 32768, 98304, 163840, 229376, 294912&lt;br /&gt;&lt;br /&gt;Writing inode tables: done                           &lt;br /&gt;Creating journal (8192 blocks): done&lt;br /&gt;Writing superblocks and filesystem accounting information: ^[done&lt;br /&gt;&lt;br /&gt;This filesystem will be automatically checked every 36 mounts or&lt;br /&gt;180 days, whichever comes first.  Use tune2fs -c or -i to override.&lt;br /&gt;&lt;/pre&gt; &lt;h4&gt;&lt;a name="TOC-Installing-the-boot-files"&gt;&lt;/a&gt;Installing the boot files&lt;/h4&gt; &lt;p&gt;There are three files required on the first (FAT) partition to boot your Overo:&lt;/p&gt; &lt;ol&gt;&lt;li&gt;MLO: the boot-loader loader - this small program is loaded into the OMAP3 processor's static RAM. It does some minimal configuration of system memory and io pins and then loads the second file.&lt;/li&gt;&lt;li&gt;u-boot.bin: the boot loader&lt;/li&gt;&lt;li&gt;uImage: the linux kernel&lt;/li&gt;&lt;/ol&gt; &lt;p&gt;You can build these yourself or download pre-built images. It is important that these three files have precisely these names on the card.&lt;/p&gt;&lt;p&gt;For build instructions, check out &lt;a href="http://www.google.com/url?q=http%3A%2F%2Fwww.gumstix.net%2FSoftware%2Fcat%2FSoftware-Overo%2F111.html&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFrqEzeKAnrcfIR3enQiF75M89nBV0r46w"&gt;http://www.gumstix.net/Software/cat/Software-Overo/111.html&lt;/a&gt;, particularly the section on &lt;a href="http://www.gumstix.net/Setup-and-Programming/view/Overo-Setup-and-Programming/Setting-up-a-build-environment/111.html"&gt;Setting up a build environment&lt;/a&gt;.  You can download pre-built images from the following places:&lt;/p&gt;&lt;ol&gt;&lt;li&gt;MLO: &lt;a href="http://www.google.com/url?q=http%3A%2F%2Fwww.gumstix.net%2Fovero-gm-images%2Fv0.91%2FMLO-overo-v0.91&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFrqEzew_vx9Gp-eQehR4sKwfUhbIdMOdA"&gt;http://www.gumstix.net/overo-gm-images/v0.91/MLO-overo-v0.91&lt;/a&gt;&lt;/li&gt;&lt;li&gt;u-boot.bin: &lt;a href="http://www.google.com/url?q=http%3A%2F%2Fwww.gumstix.net%2Fovero-gm-images%2Fv0.91%2Fu-boot-overo-v0.91.bin&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFrqEzctrlhKcJ9OiQxv0KfjBnbIKABPtg"&gt;http://www.gumstix.net/overo-gm-images/v0.91/u-boot-overo-v0.91.bin&lt;/a&gt;&lt;/li&gt;&lt;li&gt;uImage.bin: &lt;a href="http://www.google.com/url?q=http%3A%2F%2Fwww.gumstix.net%2Fovero-gm-images%2Fv0.91%2FuImage-overo-v0.91.bin&amp;amp;sa=D&amp;amp;sntz=1&amp;amp;usg=AFrqEzdhA7BK3msQUz8eH1sGWoMm9hft4A"&gt;http://www.gumstix.net/overo-gm-images/v0.91/uImage-overo-v0.91.bin&lt;/a&gt;&lt;/li&gt;&lt;/ol&gt;&lt;p&gt;Once you have completed building or downloading these files, mount the FAT partition of your microSD card. This example will assume that you have mounted it at /media/card:&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;sudo mount /dev/&lt;span style="background-color: rgb(255, 255, 0);"&gt;mmcblk0p1&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);"&gt; &lt;/span&gt;/media/card&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Due to constraints of the mask boot ROM in the OMAP processor, MLO should be written first:&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;$ sudo cp MLO-overo-v0.91 /media/card/MLO&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Then copy u-boot and the linux kernel to the card:&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;$ sudo cp u-boot-overo-v0.91.bin /media/card/u-boot.bin&lt;br /&gt;$ sudo cp uImage-overo-v0.91.bin /media/card/uImage&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;You can now unmount the FAT partition:&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;$ sudo umount /dev/&lt;span style="background-color: rgb(255, 255, 0);"&gt;mmcblk0p1&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;At this point you have a bootable FAT partition.&lt;/p&gt; &lt;p&gt;The final step is to untar your desired rootfs onto the ext3 partition that you created above.&lt;/p&gt; &lt;p&gt;Note that this step can be &lt;u&gt;&lt;i&gt;&lt;b&gt;dangerous&lt;/b&gt;&lt;/i&gt;&lt;/u&gt;.  You do not want to untar your Overo rootfs onto your development machine - &lt;b&gt;be careful!&lt;/b&gt;&lt;/p&gt; &lt;p&gt;This example will assume that you have mounted it at /media/card:&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;$ sudo mount /dev/&lt;span style="background-color: rgb(255, 255, 0);"&gt;mmcblk0p2&lt;/span&gt;&lt;span style="background-color: rgb(255, 255, 255);"&gt; &lt;/span&gt;/media/card&lt;br /&gt;&lt;/pre&gt; &lt;p&gt;Now untar your desired rootfs (note: The first step is important!):&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;$ cd /media/card&lt;br /&gt;$ sudo tar -zxvf armel-rootfs-YYYYMMDDhhmm.tgz&lt;/pre&gt; &lt;p&gt;You can now unmount the ext3 partition:&lt;/p&gt; &lt;pre style="margin-left: 40px;"&gt;$ sudo umount /dev/&lt;span style="background-color: rgb(255, 255, 0);"&gt;mmcblk0p2&lt;/span&gt;&lt;br /&gt;&lt;/pre&gt;&lt;pre&gt;&lt;span style="font-family: arial,sans-serif;font-size:130%;" &gt;&lt;b&gt;&lt;span style="font-family: arial,sans-serif;"&gt;Finishing Up&lt;/span&gt;&lt;/b&gt;&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;The last step is to remove your bootable SD card, and insert it into the MMC slot on the Overo.  Before you insert the card, make sure the Overo is off.&lt;br /&gt;&lt;br /&gt;Once you've inserted the card, boot the Overo.  It should boot into your new Ubuntu environment.&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;UPDATE Nov. 27, 2009:&lt;br /&gt;&lt;br /&gt;HOW TO INSTALL MODULES:&lt;br /&gt;This section will detail how to install the kernel modules from the Angstrom distribution into&lt;br /&gt;the Overobuntu image.  Also, please note the lack of tutorial style. I will be updating this section to be more of a tutorial shortly, but I figured it is useful enough to put this version up now.&lt;br /&gt;&lt;br /&gt;First, bitbake the U-boot, x-load, and kernel.  See http://www.gumstix.net/Software/view/Software-Overo/Setting-up-a-build-environment/111.html if you're unsure what this means, or don't have your build environment set up.&lt;br /&gt;&lt;br /&gt;&lt;pre&gt;&lt;br /&gt;bitbake u-boot x-load linux-omap3&lt;br /&gt;&lt;/pre&gt;&lt;br /&gt;&lt;br /&gt;In gumstix/gumstix-oe/tmp/deploy/glibc/images, you will find&lt;br /&gt;files like:&lt;br /&gt;MLO-*&lt;br /&gt;u-boot-*&lt;br /&gt;uImage-*&lt;br /&gt;modules-*-.tar.gz&lt;br /&gt;&lt;br /&gt;The first three are used in building the bootable SD card. See&lt;br /&gt;http://www.gumstix.net/Software/view/Software-Overo/Creating-a-bootable-microSD-card/111.html&lt;br /&gt;&lt;br /&gt;Once you have the FAT partition set up with MLO, u-boot.bin and uImage,&lt;br /&gt;untar the ubuntu arm-rootfs to the ext3 partition.&lt;br /&gt;&lt;br /&gt;Next, untar the modules-*-.tar.gz from the build to the ext3 boot partition.&lt;br /&gt;This will "install" the modules and firmware.&lt;br /&gt;&lt;br /&gt;One last step, boot from the SD card. There will be some errors regarding&lt;br /&gt;a missing modules.dep file. NOTE the path in the error. Sign in as the&lt;br /&gt;user specified when you built the ubuntu arm-rootfs. CD to the location&lt;br /&gt;noted in the error and type the following command:&lt;br /&gt;sudo depmod&lt;br /&gt;and enter the password.&lt;br /&gt;&lt;br /&gt;Finally, reboot:&lt;br /&gt;sudo shutdown -r now&lt;br /&gt;&lt;br /&gt;Hopefully, this will get Ubuntu running for you with the required drivers.&lt;br /&gt;&lt;br /&gt;UPDATE: November 28, 2009 -- from "http://www.gumstix.net/wiki/index.php?title=Installing_Ubuntu_9.04_on_Gumstix_Overo"&lt;br /&gt;&lt;br /&gt;If you're interfacing with your Overo with the USB serial terminal, keep in mind that you won't see the 'login:' prompt after booting Ubuntu unless you configure getty to listen on /dev/ttyS2. You'll need to do this while your MicroSD card is still mounted on another host.&lt;br /&gt;&lt;br /&gt;# cd /path/to/rootfs&lt;br /&gt;# cat &gt; etc/event.d/ttyS2 &lt;&lt;EOF&lt;br /&gt;start on runlevel 2&lt;br /&gt;start on runlevel 3&lt;br /&gt;start on runlevel 4&lt;br /&gt;start on runlevel 5&lt;br /&gt;&lt;br /&gt;stop on runlevel 0&lt;br /&gt;&lt;br /&gt;respawn&lt;br /&gt;exec /sbin/getty 115200 ttyS2&lt;br /&gt;EOF&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;You will also need to add ttyS2 to /etc/securetty to allow root logins there:&lt;br /&gt;&lt;br /&gt;# echo "ttyS2" &gt;&gt; etc/securetty&lt;br /&gt;&lt;br /&gt;"&lt;br /&gt;&lt;br /&gt;Cards purchased from me will now have this capability.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-9124411705244330925?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/9124411705244330925/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=9124411705244330925' title='61 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/9124411705244330925'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/9124411705244330925'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/04/installing-ubuntu-on-gumstix-overo.html' title='Installing Ubuntu on the Gumstix Overo'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>61</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-3346822568278263809</id><published>2009-04-06T22:58:00.001-07:00</published><updated>2010-01-02T19:53:29.109-08:00</updated><title type='text'>Ubuntu 9.04 on a Gumstick</title><content type='html'>This week, Jeff and I finally brought Ubuntu to the &lt;a href="http://www.gumstix.com/"&gt;Gumstix Overo&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;To get your own Overobuntu card pre-installed, without the headache or hassle of making your own, buy one from my website: &lt;a href="http://www.radsoftwaresys.com/content/products"&gt;www.radsoftwaresys.com/content/products&lt;/a&gt;.  You'll be getting a well-tested card, and the proceeds will be used to develop awesome new products for the Gumstix Overo.  Thanks!&lt;br /&gt;&lt;br /&gt;The timing couldn't be any better, as gumstix just announced last week the addition of the Overo Wind, Fire, and Water to their Computer-on-module (COM) lineup.  These use the OMAP3530 processor, which supports openGL-ES, which means as soon as we can get our hands on one, we'll be toying with &lt;a href="http://www.compiz.org/"&gt;Compiz&lt;/a&gt; and Gumstix!!&lt;br /&gt;&lt;br /&gt;For those that are still in the dark about the gumstix, check out my &lt;a href="http://johnwoconnor.blogspot.com/2009/03/linux-on-gumstick-tour-of-gumstix-overo.html"&gt;previous post&lt;/a&gt; about the Overo Earth.&lt;br /&gt;&lt;br /&gt;We've written a step-by-step tutorial on how to get this working, and if there's interest I'll post it on &lt;a href="http://blog.myokapi.net"&gt;blog.myokapi.net&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Of course, since it didn't happen without pix . . .&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_aEQpPA3uOfo/Sdrwv8UjxaI/AAAAAAAAAFw/EetS4zJXTPE/s1600-h/bootsplash.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_aEQpPA3uOfo/Sdrwv8UjxaI/AAAAAAAAAFw/EetS4zJXTPE/s320/bootsplash.JPG" alt="" id="BLOGGER_PHOTO_ID_5321830616128538018" border="0" /&gt;The Gumstix Linux bootsplash - I like the gumstix on his tummy.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_aEQpPA3uOfo/Sdrwwlp70JI/AAAAAAAAAGQ/0piG9aA7qqw/s1600-h/loginwindow.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_aEQpPA3uOfo/Sdrwwlp70JI/AAAAAAAAAGQ/0piG9aA7qqw/s320/loginwindow.JPG" alt="" id="BLOGGER_PHOTO_ID_5321830627224047762" border="0" /&gt;It doesn't have a USplash screen (yet), but the Jaunty login window loads up pretty quickly.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_aEQpPA3uOfo/SdrwwD3AZEI/AAAAAAAAAF4/9VAbaxgEcaw/s1600-h/desktop.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://1.bp.blogspot.com/_aEQpPA3uOfo/SdrwwD3AZEI/AAAAAAAAAF4/9VAbaxgEcaw/s320/desktop.JPG" alt="" id="BLOGGER_PHOTO_ID_5321830618152068162" border="0" /&gt;We used the LXDE desktop since it takes up less system resources than GNOME.&lt;/a&gt;  If there's interest, I can post screenshots of GNOME as well.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_aEQpPA3uOfo/Sdrw6Ip6oeI/AAAAAAAAAGY/AOobSOonBwY/s1600-h/terminal.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_aEQpPA3uOfo/Sdrw6Ip6oeI/AAAAAAAAAGY/AOobSOonBwY/s320/terminal.JPG" alt="" id="BLOGGER_PHOTO_ID_5321830791238033890" border="0" /&gt;The Terminal window shows the output of /proc/cpuinfo. It's the overo, alright.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_aEQpPA3uOfo/SdrwwoYMMGI/AAAAAAAAAGI/0iPQMRl4LJ4/s1600-h/jeff_login.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://3.bp.blogspot.com/_aEQpPA3uOfo/SdrwwoYMMGI/AAAAAAAAAGI/0iPQMRl4LJ4/s320/jeff_login.JPG" alt="" id="BLOGGER_PHOTO_ID_5321830627954929762" border="0" /&gt;The Jaunty login screen on Jeff's TV.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_aEQpPA3uOfo/SdrwwW_MVvI/AAAAAAAAAGA/J_9q8DIc_2Q/s1600-h/jeff_error.JPG"&gt;&lt;img style="margin: 0px auto 10px; display: block; text-align: center; cursor: pointer; width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_aEQpPA3uOfo/SdrwwW_MVvI/AAAAAAAAAGA/J_9q8DIc_2Q/s320/jeff_error.JPG" alt="" id="BLOGGER_PHOTO_ID_5321830623286679282" border="0" /&gt;Jeff got errors at first, but I think he has them solved now . . .&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-3346822568278263809?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/3346822568278263809/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=3346822568278263809' title='5 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/3346822568278263809'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/3346822568278263809'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/04/ubuntu-904-on-gumstick.html' title='Ubuntu 9.04 on a Gumstick'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_aEQpPA3uOfo/Sdrwv8UjxaI/AAAAAAAAAFw/EetS4zJXTPE/s72-c/bootsplash.JPG' height='72' width='72'/><thr:total>5</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-751519992837751536</id><published>2009-03-21T18:11:00.001-07:00</published><updated>2009-03-23T08:02:44.746-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='military weapons sci-fi science future'/><title type='text'>5 Sci-fi Weapons That Are Closer Than You Think</title><content type='html'>The announcement this week of a weapons grade LASER being successfully tested adds yet another sci-fi weapon to the sci-fact side of the board.  Here are 5 sci-fi weapons that are being developed as we speak.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;1) Giant Death LASERs&lt;/strong&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_aEQpPA3uOfo/ScZbYRGkKDI/AAAAAAAAAEo/gDdNIp9_oFA/s1600-h/898484_37602556.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 133px;" src="http://2.bp.blogspot.com/_aEQpPA3uOfo/ScZbYRGkKDI/AAAAAAAAAEo/gDdNIp9_oFA/s200/898484_37602556.jpg" alt="" id="BLOGGER_PHOTO_ID_5316036882623375410" border="0" /&gt;&lt;/a&gt;Sci-Fi writers love writing about death lasers -- powerful beams of light that instantaneously zap their victims with pinpoint accuracy.  Ever since the invention of the LASER, it has been a favorite theme of Sci-Fi writers.&lt;br /&gt;&lt;br /&gt;This week the first ever test &lt;a href="http://johnwoconnor.blogspot.com/2009/03/lasers-on-plane.html"&gt;firing of a weapons grade LASER&lt;/a&gt; was carried out successfully.  Eventually, this LASER will be small enough to fit on a tank or a plane, although the prototype unit is a little big for that.  However, it may not be too long before they're mounted on the front of aircraft in place of machine guns, or turned into LASER pistols a'la Star Wars (then there's the Death Star, since we're on the topic of Star Wars).&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;2) &lt;a href="http://en.wikipedia.org/wiki/Sonic_weaponry"&gt;Sonic Bullets and Sound Guns&lt;/a&gt;&lt;/strong&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_aEQpPA3uOfo/ScZcJ9vjF0I/AAAAAAAAAEw/epoQ8a7optQ/s1600-h/977051_47952656.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 150px;" src="http://3.bp.blogspot.com/_aEQpPA3uOfo/ScZcJ9vjF0I/AAAAAAAAAEw/epoQ8a7optQ/s200/977051_47952656.jpg" alt="" id="BLOGGER_PHOTO_ID_5316037736420022082" border="0" /&gt;&lt;/a&gt;Acoustic weapons use the power of sound to bring ones enemies to their knees.  Weapons like these have graced the likes of many sci-fi tales, including Star Wars.  Could sound be used to create "Mars Attacks!" style head implosion?&lt;br /&gt;&lt;br /&gt;It turns out -- maybe.  For now, these weapons are relegated to the "irritant, Non-lethal" category, often relying on parabolic dish reflectors and high-powered amplifiers to force the victim to their knees in pain (like walking under those listening dishes at Fry's and hearing a Yoko Ono CD).&lt;br /&gt;&lt;br /&gt;However, the potential for these weapons is pretty enormous.  Acoustic weapons of the future can attack enemies through walls, kill them under water, or even dissolve their tissue.  These are all current applications of ultrasonic technology, whether &lt;a href="http://en.wikipedia.org/wiki/Anti-frogman_techniques#Sound"&gt;intentional or inadvertant&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;3) Weapons that leave no trace&lt;/strong&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_aEQpPA3uOfo/ScZ8Q8umuPI/AAAAAAAAAFQ/3tSKnQKIfRo/s1600-h/828198_12239451.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 194px;" src="http://2.bp.blogspot.com/_aEQpPA3uOfo/ScZ8Q8umuPI/AAAAAAAAAFQ/3tSKnQKIfRo/s200/828198_12239451.jpg" alt="" id="BLOGGER_PHOTO_ID_5316073040778803442" border="0" /&gt;&lt;/a&gt;It's the perfect murder weapon -- a bullet that leaves no trace of itself.  Believe it or not, something very similar already exists today!  In fact, Isreal has been accused of using it in the recent Gaza strip fighting.&lt;br /&gt;&lt;br /&gt;The weapon used today is called DIME - Dense Inert Metal Explosive.  The official reason for using DIME weapons is that they have a very short kill radius due to the fast burning metals used.  It is this limited but devastating kill radius that can be effective in limiting collateral damage. While the use of the weapon can be determined by the types of injuries it inflicts, it is almost entirely untraceable except for the tiny shrapnel-sized burns in its victims.&lt;br /&gt;&lt;br /&gt;It's being touted as the ultimate urban warfare grenade, as enemies in densely populated areas to be targed with minimal risk to bystanders.  Since the metal burns out so quickly, people that are just outside of the kill zone you can remain uninjured.&lt;br /&gt;&lt;br /&gt;This technology may also be used in small arms for close-range combat to prevent friendly fire incidents by limiting the range of a bullet.  Bullets could be created that have a very specific range, allowing soldiers to shoot without worrying about what's behind their target.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;4) Missiles that can shoot down other missiles&lt;/strong&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_aEQpPA3uOfo/ScZcK9ArZHI/AAAAAAAAAFA/P1puXFKx_Rs/s1600-h/visitank.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 178px;" src="http://3.bp.blogspot.com/_aEQpPA3uOfo/ScZcK9ArZHI/AAAAAAAAAFA/P1puXFKx_Rs/s200/visitank.jpg" alt="" id="BLOGGER_PHOTO_ID_5316037753403303026" border="0" /&gt;&lt;/a&gt;This is like trying to stop a bullet by shooting it with another bullet.  While it may work in the "curve the bullet" world of Wanted, in reality it's a much more difficult task.  Yet today we're very much on our way to having it -- the program is called the Kinetic Energy Interceptor (KEI).&lt;br /&gt;&lt;br /&gt;The KEI program aims to prevent missiles from hitting their intended targets by stopping them in mid-air with other missiles.  The technology required to do this is state-of-the-art -- they can geolocate and track missiles from anywhere in the world, creating an intercept path, and launching at the appropriate time for intercept.  Weapons systems like this could eventually diffuse inbound weapons in the sky, before they ever have a chance to do damage to their targets.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;5) Active Camouflage&lt;/strong&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_aEQpPA3uOfo/ScZcLb75EGI/AAAAAAAAAFI/aRG28rc7JYI/s1600-h/invisitank.jpg"&gt;&lt;img style="margin: 0pt 10px 10px 0pt; float: left; cursor: pointer; width: 200px; height: 133px;" src="http://3.bp.blogspot.com/_aEQpPA3uOfo/ScZcLb75EGI/AAAAAAAAAFI/aRG28rc7JYI/s200/invisitank.jpg" alt="" id="BLOGGER_PHOTO_ID_5316037761704726626" border="0" /&gt;&lt;/a&gt;The predator had it.  The Master Chief has it.  Pretty soon, we may have it as well.  Active camouflage is any number of techniques that allow one to appear as logically invisible.  Many of these technologies involve taking a video of one side of something, and projecting that image on the other side.&lt;br /&gt;&lt;br /&gt;However, some recent research has turned up a &lt;a href="http://dsc.discovery.com/news/2008/08/11/invisibility-cloak.html"&gt;new material that has a negative index of refraction&lt;/a&gt; -- basically, rather than reflecting light at a certain angle and refracting it at others, this material effectively refracts at all angles, "bending" the light around itself.   For now, this only seems to work with Microwave radiation.  However, there is research being undertaken to change this, and someday soon we could be coating our tanks with a paint that makes them invisible.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-751519992837751536?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/751519992837751536/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=751519992837751536' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/751519992837751536'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/751519992837751536'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/03/5-sci-fi-weapons-that-are-closer-than.html' title='5 Sci-fi Weapons That Are Closer Than You Think'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_aEQpPA3uOfo/ScZbYRGkKDI/AAAAAAAAAEo/gDdNIp9_oFA/s72-c/898484_37602556.jpg' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-4192904878580460373</id><published>2009-03-20T12:14:00.000-07:00</published><updated>2009-03-20T12:32:24.114-07:00</updated><title type='text'>AIG Bonuses taxed at 90%</title><content type='html'>&lt;a href="http://news.yahoo.com/s/ap/20090319/ap_on_go_co/aig_outrage"&gt;This is probably the best story&lt;/a&gt; I've read so far regaring the bailout. Today, the house passed HR-1586, which taxes bonuses paid to executives at AIG at 90%. Hopefully this will deincentivize this sort of activity in other government-supported entities (are you listenting &lt;a href="http://www.foxnews.com/politics/2009/03/18/fannie-mae-pay-bonuses-g-execs/"&gt;Fannie and Freddie&lt;/a&gt;?) Personally, I think it should've been 95% -- but then again, there may have been a better solution.&lt;br /&gt;&lt;br /&gt;The U.S. government is now 80% owner of AIG. It could very easily put it's foot down, as owner, and demand that the bonuses not be paid. Every time I've heard this argument made, it's been shot down with a "you'd need to talk to a contract lawyer about that", being that the bonuses were in the contracts of these individuals. However, the recent case in which the UAW (United Auto Workers) had to give up major terms of their contracts or face massive layoffs has raised doubts for me as to the "sanctity of the contract".&lt;br /&gt;&lt;br /&gt;My first reaction, as I'm sure was yours as well, when I heard about the issuance of bonuses was that the higher-ups in AIG were "raiding the couffers". I'm glad to see the government is representing the outrage of the people and not taking this lying down. There's no reason that we should be paying taxes to support bonuses for these corrupt individuals, while simultaneosly suffering the ill effects from their bad decisions.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-4192904878580460373?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/4192904878580460373/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=4192904878580460373' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/4192904878580460373'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/4192904878580460373'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/03/aig-bonuses-taxed-at-90.html' title='AIG Bonuses taxed at 90%'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-1150911599479110442</id><published>2009-03-20T11:27:00.000-07:00</published><updated>2009-03-20T11:48:58.496-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='northrop grumman lasers airplanes Airborne laser program defense weapons'/><title type='text'>"Lasers on a Plane"</title><content type='html'>&lt;a href="http://4.bp.blogspot.com/_aEQpPA3uOfo/ScPi4SqBDRI/AAAAAAAAAEQ/EdXu73XAyQQ/s1600-h/abl_AC_unstow_NO_F16_375x300.jpg"&gt;&lt;img id="BLOGGER_PHOTO_ID_5315341441935936786" style="FLOAT: left; MARGIN: 0px 10px 10px 0px; WIDTH: 200px; CURSOR: hand; HEIGHT: 160px" alt="" src="http://4.bp.blogspot.com/_aEQpPA3uOfo/ScPi4SqBDRI/AAAAAAAAAEQ/EdXu73XAyQQ/s200/abl_AC_unstow_NO_F16_375x300.jpg" border="0" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;div&gt;With the &lt;a href="http://www.irconnect.com/noc/press/pages/news_releases.html?d=161575"&gt;announcement yesterday of Northrop Grumman's weapons-grade laser firing&lt;/a&gt;, weaponized lasers have crossed the silent line between science fiction and fact. So, what exactly do you do with a super cool laser weapon? You put it in the nose of a &lt;a href="http://www.boeing.com/defense-space/military/abl/index.html"&gt;Boeing 747 and blow up missles&lt;/a&gt;, of course.&lt;br /&gt;&lt;br /&gt;Northrop Grumman, along with Boeing Company, have been working together to create the &lt;a href="http://www.irconnect.com/noc/press/pages/news_releases.html?d=159909"&gt;Airborne Laser (ABL) program&lt;/a&gt;. The goal of this program is to put lasers on planes with the purpose of blowing up missles during the launch phase. &lt;a href="http://www.msnbc.msn.com/id/29753505/"&gt;With the test firing of a &gt;100Kw laser&lt;/a&gt;, they've brought this sci-fi weapon of the future one step closer to reality.&lt;br /&gt;&lt;br /&gt;The implications of this new technology are enormous. A terrorist could be instantaneously zapped from high in the sky. Dogfights could start to resemble a scene from Star Wars. What if you're firing the weapon and miss your target?&lt;/div&gt;&lt;div&gt; &lt;/div&gt;&lt;div&gt;While there are many questions regarding the use of these laser weapons, there's undoubtedly a cool factor to their development.  One can't help but wonder what are the contents of the pandoras box before us.&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-1150911599479110442?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/1150911599479110442/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=1150911599479110442' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/1150911599479110442'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/1150911599479110442'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/03/lasers-on-plane.html' title='&quot;Lasers on a Plane&quot;'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://4.bp.blogspot.com/_aEQpPA3uOfo/ScPi4SqBDRI/AAAAAAAAAEQ/EdXu73XAyQQ/s72-c/abl_AC_unstow_NO_F16_375x300.jpg' height='72' width='72'/><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-8829833655462798645</id><published>2009-03-19T08:15:00.000-07:00</published><updated>2009-03-19T14:02:23.322-07:00</updated><title type='text'>Image Editing in your Web Browser</title><content type='html'>&lt;a href="http://aviary.com/artists/mpeutz/images/3_toad_sloth"&gt;&lt;img style="float: left;" height="150" alt="3 toad sloth.egg by mpeutz on Aviary" src="http://rookery3.viary.com/storagev12/1256000/1256388_69ea_625x625.jpg" width="150" /&gt;&lt;/a&gt;&lt;/p&gt;&lt;br /&gt;&lt;br /&gt;Avi Muchnick, creator of &lt;a href="http://www.worth1000.com/"&gt;Worth1000.com&lt;/a&gt;, has announced today the release of &lt;a href="http://aviary.com/home"&gt;Aviary&lt;/a&gt;, a suite of &lt;a href="http://aviary.com/tools"&gt;web-based image editing tools&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;Aviary is a suite of 4 web-based image editing tools: Raven for Vector Editing, Phoenix for Image Editing, Peacock for creating programmatic visual effects, and Toucan for creating color schemes and swatches. These tools work in your web browser, without requiring download or installation.&lt;br /&gt;&lt;br /&gt;These tools are designed offer in-browser alternatives to desktop applications commonly used for image editing, such as the Adobe Photoshop and Adobe Illustrator.&lt;br /&gt;&lt;br /&gt;Worth1000.com is a graphic design and image editing competition website. If you've never heard of them before, you've at least seen the results of their "photoshop" contests. They've been circulated in countless emails as amazing natural phenomena, or as unbelieveable situations.&lt;br /&gt;&lt;br /&gt;More Images:&lt;br /&gt;&lt;a href="http://aviary.com/artists/anderlohr/images/status"&gt;&lt;img alt="Status.egg by anderlohr on Aviary" src="http://rookery3.viary.com/storagev12/1255500/1255524_67e2_625x625.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://aviary.com/artists/mpeutz/images/radioactive_amÅ“ba"&gt;&lt;img alt="Radioactive amœba.egg by mpeutz on Aviary" src="http://rookery1.viary.com/storagev12/532500/532996_d008_550x900.jpg" /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href="http://aviary.com/artists/mpeutz/images/under_water_tutorial"&gt;&lt;img alt="Under water tutorial.egg by mpeutz on Aviary" src="http://rookery1.viary.com/storagev12/513500/513530_972e_550x900.jpg" /&gt;&lt;/a&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-8829833655462798645?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/8829833655462798645/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=8829833655462798645' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/8829833655462798645'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/8829833655462798645'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/03/image-editing-in-your-web-browser.html' title='Image Editing in your Web Browser'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-4103870892821860988</id><published>2009-03-18T22:03:00.000-07:00</published><updated>2009-03-18T22:46:54.270-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Linux netbook app future Windows7 Windows Desktop KDE Gnome'/><title type='text'>Linux Desktop Will Be the Netbook's "Killer App"</title><content type='html'>Netbooks are looking for their "killer app".  Netbooks are set to explode on the scene within the next few years, and many major companies such as Arcos, Asus, and even HP are focusing their efforts on this new class of computer.  With their large-enough-to-watch-Hi-Def screens, and their small-enough-to-go-anywhere sizes, netbooks are poised to take a large chunk of the gadgets market -- and Linux is ready to make it happen.&lt;br /&gt;&lt;br /&gt;Linux is already being installed exclusively in the &lt;a href="http://johnwoconnor.blogspot.com/2009/03/linux-on-gumstick-tour-of-gumstix-overo.html"&gt;super small computers&lt;/a&gt; which will be used in the netbooks of the &lt;a href="http://www.archos.com/"&gt;near future&lt;/a&gt;.  From the Asus eeePC and eeeBox, to the Beagle Board, Linux is popping up on small devices all over the place.  In the past, Linux was relegated to the Server or Embedded devices market (think routers and switches) because of it's light footprint, customizability, and user &lt;span style="font-style: italic;"&gt;un&lt;/span&gt;friendliness.  Now, with Linux finally reaching maturity as a desktop operating system, it seems to be the ideal candidate for the next generation of user-friendly embedded devices.&lt;br /&gt;&lt;br /&gt;Why will netbooks choose Linux over other offerings (such as the much anticipated release of Windows 7)?  Simply put, there's nothing that compares with Linux in size and customizability.  Linux can be pared down to less than 10MB, it can run on resource-limited platforms, and provides a large number of out-of-the-box capabilities through large repositories of free software.&lt;br /&gt;&lt;br /&gt;Check out the latest in &lt;a href="http://www.gumstix.com/"&gt;bleeding edge technology&lt;/a&gt;, and prepare yourself for the netbook future by installing Linux on your computer today.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-4103870892821860988?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/4103870892821860988/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=4103870892821860988' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/4103870892821860988'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/4103870892821860988'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/03/linux-desktop-will-be-netbooks-killer.html' title='Linux Desktop Will Be the Netbook&apos;s &quot;Killer App&quot;'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-710783786655139810</id><published>2009-03-17T22:19:00.000-07:00</published><updated>2009-03-17T22:49:35.131-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu linux default software programs media installing iPod attaching media device'/><title type='text'>Changing the Default Program in Ubuntu</title><content type='html'>When I first attached my iPod to my Linux laptop, I was greeted with a friendly message asking me in which program I wanted to open my iPod.  I asked it to use Banshee, and clicked the check box that indicated to use that program in the future.&lt;br /&gt;&lt;br /&gt;However, after a short while I found that I preferred RhythmBox (nothing wrong with Banshee, I just preferred RBox for personal reasons).  I decided that I wanted to open the iPod in Rhythmbox instead of Banshee.&lt;br /&gt;&lt;br /&gt;This, unfortunately, was much harder to figure out than I had anticipated.  I reproduce these simple but unintuitive instructions the help out those that may have a similar problem.  NOTE: I have reported this as a bug to Ubuntu, and it has been accepted -- hopefully the future will yield a more intuitive interface.&lt;br /&gt;&lt;br /&gt;1) From your desktop, open a nautilus window.  You can do this by opening a folder, such as your "home" folder.&lt;br /&gt;2) From the "Edit" menu, click on "Preferences".&lt;br /&gt;3) Choose the tab that says "Media".&lt;br /&gt;4) From here, you can set the options for automatically opening media.  Click on the tab for music player, and you're on your way.&lt;br /&gt;&lt;br /&gt;This applies to those looking to change the default action / program for the following:&lt;br /&gt;&lt;ul&gt;&lt;br /&gt;&lt;li&gt;Playing and Audio CD&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Playing a DVD (Movie)&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Attaching a Music Player&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Viewing photos&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Auto-running software&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Defining default actions for other types of media, such as the following: &lt;br /&gt;&lt;ul&gt;&lt;li&gt;Audio DVD's&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Blank CD / DVD / HD-DVD&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Blu-ray DVD&lt;/li&gt;&lt;br /&gt;&lt;li&gt;HD-DVD&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Picture CD&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Video CD&lt;/li&gt;&lt;br /&gt;&lt;li&gt;Super Video CD&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;br /&gt;&lt;/li&gt;&lt;br /&gt;&lt;/ul&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-710783786655139810?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/710783786655139810/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=710783786655139810' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/710783786655139810'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/710783786655139810'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/03/changing-default-program-in-ubuntu.html' title='Changing the Default Program in Ubuntu'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-2560544443554807579</id><published>2009-03-16T23:10:00.000-07:00</published><updated>2009-03-18T00:48:29.693-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Ubuntu linux branding good open source pro con comparison'/><title type='text'>Is Ubuntu good for Linux?</title><content type='html'>Ubuntu is the face of GNU/Linux for many non-techies.&lt;br /&gt;&lt;br /&gt;While there is no question that Ubuntu has brought some high-powered marketing to the table for GNU/Linux, I've heard many discussions recently about Ubuntu actually hurting Linux and the Linux community.&lt;br /&gt;&lt;br /&gt;I ask the question, "Is Ubuntu good for Linux?"  Of course, this depends largely on your definition of what being "good" for Linux means.&lt;br /&gt;&lt;br /&gt;I'll define "good" as having a list of benefits that are larger than the list of detriments.  This is not meant to be an exhaustive study of this subject, but merely my observations of the current relationship of Ubuntu to Linux.  In particular, there are five main areas in which we can compare the pros and cons of Ubuntu.&lt;br /&gt;&lt;h3&gt;Marketing&lt;/h3&gt;&lt;h4&gt;Pro&lt;/h4&gt;For many people, the term "Linux" has a bad connotation.  Some have tried a Linux distro in the past, and had trouble with unsupported hardware.  Others have heard horror stories about "bricked" computers and loss of precious data due to partitioning problems.&lt;br /&gt;&lt;br /&gt;Ubuntu provides a new name and face for Linux.  Much like large companies re-brand (ie: change their name) to escape bad P.R., so does Ubuntu provide somewhat of a re-branding.  The goal of Ubuntu has been to make Linux trivially easy to install and use, and by consistently supporting this image they've created a brand that's friendly to users, both experienced and novice alike.&lt;br /&gt;&lt;h4&gt;Con&lt;/h4&gt;Many new users give Ubuntu the credit for all of the GNU/Linux software, and hides the hard work countless open source contributors.  In a world where credit and bragging rights may be the only reward, Ubuntu may be taking some of the motivation away from open source developers.&lt;br /&gt;&lt;h4&gt;My opinion&lt;/h4&gt;While Ubuntu may be getting much of the credit from certain users, it makes up for it by increasing the base of users that can access the software.  A larger user base can elevate some developers to celebrity status (eg: "Wow, YOU created GNOME!").  For others, it provides visibility, as their software is exposed to more users and perfected.&lt;br /&gt;&lt;h3&gt;Code contribution&lt;/h3&gt;&lt;h4&gt;Pro&lt;/h4&gt;&lt;a href="http://blog.phunnypharm.org/2008/07/canonical-and-linux-kernel.html"&gt;Ubuntu does contribute to the Linux Kernel&lt;/a&gt;, and has full-time developers on its staff for this purpose.  Even with a small team, they've still managed to fix some &lt;a href="http://www.neowin.net/news/main/08/08/26/ubuntu-issues-patch-for-linux-kernel-flaw"&gt;major kernel bugs&lt;/a&gt;.  In addition, Ubuntu is known for including as many hardware drivers as possible, and even supplies proprietary drivers to improve it's own interactions with hardware.&lt;br /&gt;&lt;h4&gt;Con&lt;/h4&gt;Ubuntu / Canonical is not as major a contributor to the Linux Kernel as &lt;a href="http://www.kroah.com/log/linux/lpc_2008_keynote.html"&gt;other commercial distributions&lt;/a&gt;. It is not in &lt;a href="http://www.linuxfoundation.org/publications/linuxkerneldevelopment.php"&gt;the top 31&lt;/a&gt; kernel developing companies, and a search through the Linux source code shows that only ~100 commits were made by authors with canonical.com or ubuntu.com email addresses.  While the value of any contributions can never be under-appreciated by this author, Ubuntu could stand to contribute a little more to the upstream.&lt;br /&gt;&lt;h3&gt;User Experience&lt;/h3&gt;&lt;h4&gt;Pro&lt;/h4&gt;This is where Ubuntu really shines.  It's not a distro for the latest and greatest features (unless, of course, you want them), but Ubuntu focuses on providing the most up-to-date experience while remaining stable.  The 6-month release cycle ensures that, even when the bleeding-edge version of a package isn't included, it will only be about 6-months away.&lt;br /&gt;&lt;br /&gt;Ubuntu's motto of "Linux for Human Beings" is a testament to their focus on the user experience.  The look and feel of Ubuntu is designed with the explicit intent of making the user experience as easy as possible.  They provide graphical administration tools as often as possible for those not comfortable with command line utilities, while still providing Debian-based command line utilities for the gurus.&lt;br /&gt;&lt;h4&gt;Con&lt;/h4&gt;Many MS Windows and Apple Mac users will complain that Ubuntu's GUI tools still feel clunky.  While it's a definite improvement of tools from the past, there are still some interfaces that don't feel quite right yet.  Case in point, &lt;a href="http://johnwoconnor.blogspot.com/2009/03/changing-default-program-in-ubuntu.html"&gt;my experience trying to change a default program&lt;/a&gt;.&lt;br /&gt;&lt;h3&gt;Availability&lt;/h3&gt;&lt;h4&gt;Pro&lt;/h4&gt;Ubuntu has offered a novel way of providing users with a copy of their operating system: They ship a free "stamped" CD that can be ordered from &lt;a href="http://shipit.ubuntu.com/"&gt;their shipit! page&lt;/a&gt;.  This provides an avenue for non-technical users, or those with a slow internet connection, to receive a copy of the O.S. free of charge.&lt;br /&gt;&lt;h4&gt;Con&lt;/h4&gt;Ubuntu can be purchased in a limited number of places, and the distribution channels are not as obvious as Macintosh or Windows.  There are currently few &lt;a href="http://linux.slashdot.org/article.pl?sid=08/07/09/026208&amp;amp;from=rss"&gt;retail stores in which Ubuntu can be purchased&lt;/a&gt;, and those that do provide Ubuntu are supplied the boxed Operating System by a third-party company.  There are no "Ubuntu" stores, and not all computer repair shops work on Linux machines.&lt;br /&gt;&lt;h3&gt;Usability&lt;/h3&gt;&lt;h4&gt;Pro&lt;/h4&gt;The Live CD concept allows new users to familiarize themselves with Ubuntu before they commit to installing it on their computer.  This, coupled with the large number of graphical utilities and vastly improved out-of-the-box hardware support contributes greatly to the usability of Linux.&lt;br /&gt;&lt;h4&gt;Con&lt;/h4&gt;Ubuntu has had some catastrophic bugs, including the original 8.04 release that did not boot at all without disabling graphical startup, and the hard-drive parking problem.  These bugs, attributed mostly to the time-based release schedule of Ubuntu, have sometimes severely hampered the perceived usability of Linux, especially for new users.&lt;br /&gt;&lt;h3&gt;Conclusion&lt;/h3&gt;Hopefully this provides some insight into the issues surrounding Ubuntu and it's relationship to the Linux community.  I personally use Ubuntu exclusively, and have enjoyed the perks and suffered through the failures.  I enjoy using the distribution, and will continue to advocate its use in converting the masses to Linux.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-2560544443554807579?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/2560544443554807579/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=2560544443554807579' title='3 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/2560544443554807579'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/2560544443554807579'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/03/is-ubuntu-good-for-linux.html' title='Is Ubuntu good for Linux?'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>3</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-3082191697221721903</id><published>2009-03-12T22:25:00.001-07:00</published><updated>2010-01-02T19:51:38.513-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Tiny computer gumstix gumstick small processor Overo earth summit board prototype HDMI'/><title type='text'>Linux on a Gumstick -- A Tour of the Gumstix Overo</title><content type='html'>NOTE: To get your own Overobuntu card pre-installed, without the headache or hassle of making your own, buy one from my website: &lt;a href="http://www.radsoftwaresys.com/content/products"&gt;www.radsoftwaresys.com/content/products&lt;/a&gt;.  You'll be getting a well-tested card, and the proceeds will be used to develop awesome new products for the Gumstix Overo.  Thanks! &amp;lt;/NOTE&amp;gt;&lt;br /&gt;&lt;br /&gt;When I first came across &lt;a href="http://www.gumstix.net"&gt;Gumstix&lt;/a&gt;, my jaw dropped.  Gumstix are fully functional computer motherboards, the size of a gumstick or smaller, that run Linux.  The latest in the Gumstix line, the Overo Earth, pushes the boundaries of ultra small computers -- and kicks some serious butt doing it.&lt;br /&gt;&lt;br /&gt;The Overo is based on the Texas Instruments OMAP3503 ARM-based processor, similar to that used in the &lt;a href="http://beagleboard.org/"&gt;beagle board&lt;/a&gt;.  It runs at an impressive 600MHz, and while this version does not yet have 3D acceleration, it's on the &lt;a href="http://www.gumstix.net/Hardware/view/Hardware/Product-Roadmap-Overo/112.html"&gt;product roadmap&lt;/a&gt; for first Quarter of 2009.&lt;br /&gt;&lt;br /&gt;When Jeff (one of my co-workers) and I began working the latest project, he picked one up for our prototype.  I knew it was small, but I was amazed at how minuscule (and amazing) this device really is.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_aEQpPA3uOfo/SbtJLDMARNI/AAAAAAAAADo/TAr9mE3pSuY/s1600-h/smallsizecomparison.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 240px;" src="http://2.bp.blogspot.com/_aEQpPA3uOfo/SbtJLDMARNI/AAAAAAAAADo/TAr9mE3pSuY/s320/smallsizecomparison.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5312920639596676306" /&gt;Grab a stick of gum, and you get an idea of the real size of this thing.  The left side is the Overo Earth Motherboard, the right side is the Summit expansion board.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;To keep the Overo small, it doesn't have many ways to connect to it.  The standard way is by purchasing the Summit board, an add-on that includes audio, power, USB, and, of all things, an HDMI (DVI-D) connector for High Definition Video!!!&lt;br /&gt;&lt;br /&gt;The Overo runs a custom Linux distribution, and comes with the &lt;a href="http://www.enlightenment.org/"&gt;Elightenment Window Manager&lt;/a&gt; installed on the default image.  Since it uses USB On-the-go, it doesn't have much power -- we added a USB hub to it in this picture so we could connect a keyboard and mouse.&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_aEQpPA3uOfo/SbtJLPW1orI/AAAAAAAAAD4/r93ITpD17zo/s1600-h/summitandhub.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 213px;" src="http://3.bp.blogspot.com/_aEQpPA3uOfo/SbtJLPW1orI/AAAAAAAAAD4/r93ITpD17zo/s320/summitandhub.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5312920642863342258" /&gt;The Overo and Summit board, connected via HDMI to my television, and to a powered USB hub (left).&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_aEQpPA3uOfo/SbtJLcwvWtI/AAAAAAAAAEI/0PALIowmgIo/s1600-h/bootshot.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 194px;" src="http://2.bp.blogspot.com/_aEQpPA3uOfo/SbtJLcwvWtI/AAAAAAAAAEI/0PALIowmgIo/s320/bootshot.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5312920646461643474" /&gt;Booting into Linux on an HDTV&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://1.bp.blogspot.com/_aEQpPA3uOfo/SbtJLIQLxlI/AAAAAAAAADw/QiacMkaXZmA/s1600-h/overoscreenshot1.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 205px;" src="http://1.bp.blogspot.com/_aEQpPA3uOfo/SbtJLIQLxlI/AAAAAAAAADw/QiacMkaXZmA/s320/overoscreenshot1.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5312920640956384850" /&gt;The Overo USplash screen.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://2.bp.blogspot.com/_aEQpPA3uOfo/SbtJLMrQiQI/AAAAAAAAAEA/1zuIEyRilco/s1600-h/desktopshot.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;width: 320px; height: 204px;" src="http://2.bp.blogspot.com/_aEQpPA3uOfo/SbtJLMrQiQI/AAAAAAAAAEA/1zuIEyRilco/s320/desktopshot.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5312920642143684866" /&gt;The Overo comes with the Enlightenment Window Manager.  Attach a mouse, and you now have a Linux box for your TV.&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Thanks to Jeff Potter for letting me borrow the Overo this week, and giving me a chance to play around with it.&lt;br /&gt;&lt;br /&gt;&lt;h3&gt;UPDATED&lt;/h3&gt;&lt;br /&gt;The overo booting in real-time (~1 min.)&lt;br /&gt;&lt;object width="425" height="344"&gt;&lt;param name="movie" value="http://www.youtube.com/v/Xcs0aBbbudo&amp;hl=en&amp;fs=1"&gt;&lt;/param&gt;&lt;param name="allowFullScreen" value="true"&gt;&lt;/param&gt;&lt;param name="allowscriptaccess" value="always"&gt;&lt;/param&gt;&lt;embed src="http://www.youtube.com/v/Xcs0aBbbudo&amp;hl=en&amp;fs=1" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="425" height="344"&gt;&lt;/embed&gt;&lt;/object&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-3082191697221721903?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/3082191697221721903/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=3082191697221721903' title='6 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/3082191697221721903'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/3082191697221721903'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/03/linux-on-gumstick-tour-of-gumstix-overo.html' title='Linux on a Gumstick -- A Tour of the Gumstix Overo'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_aEQpPA3uOfo/SbtJLDMARNI/AAAAAAAAADo/TAr9mE3pSuY/s72-c/smallsizecomparison.JPG' height='72' width='72'/><thr:total>6</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-3287952329475053596</id><published>2009-03-12T22:02:00.000-07:00</published><updated>2009-03-13T13:37:42.303-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ubuntu linux internet fast speed download'/><title type='text'>Downloading Ubuntu 9.04 in about a minute</title><content type='html'>&lt;a href="http://2.bp.blogspot.com/_aEQpPA3uOfo/SbrEEf6s2PI/AAAAAAAAADY/MJMDnWKCoko/s1600-h/Screenshot-Transmission.png"&gt;&lt;img style="float:left; margin:0 10px 10px 0;cursor:pointer; cursor:hand;width: 320px; height: 184px;" src="http://2.bp.blogspot.com/_aEQpPA3uOfo/SbrEEf6s2PI/AAAAAAAAADY/MJMDnWKCoko/s320/Screenshot-Transmission.png" border="0" alt=""id="BLOGGER_PHOTO_ID_5312774292003150066" /&gt;&lt;/a&gt;&lt;br /&gt;David decided to do some gloating a few months ago, being that I don't have Internet access at work, and send me a screenshot of his computer downloading from sourceforge at 4.5MB/s.  Mohan sent us this 1-up from school.  Damn.  Just...damn.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-3287952329475053596?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/3287952329475053596/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=3287952329475053596' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/3287952329475053596'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/3287952329475053596'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/03/ubuntu-904-in-under-minute.html' title='Downloading Ubuntu 9.04 in about a minute'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://2.bp.blogspot.com/_aEQpPA3uOfo/SbrEEf6s2PI/AAAAAAAAADY/MJMDnWKCoko/s72-c/Screenshot-Transmission.png' height='72' width='72'/><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-3222312901234725468</id><published>2009-03-11T23:49:00.000-07:00</published><updated>2009-03-12T00:00:55.091-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='lakewood long beach longbeach forum discussion board community online website'/><title type='text'>Long Beach and Lakewood Community Forum</title><content type='html'>I started up an online discussion board, much like I used to work on in the high desert.  The URL for this new community forum is &lt;a href="http://www.lakewoodlongbeach.com"&gt;www.lakewoodlongbeach.com&lt;/a&gt;.&lt;br /&gt;&lt;br /&gt;The Lakewood / Long Beach forum is an online community gathering place for residents (both past, present, and future?) of these cities and the surrounding areas, to discuss issues such as local news, politics, pets, the economy, and many other topics.  The forum is open to anyone -- Membership is not limited to residents of these areas, but the forum is targeted at this audience.&lt;br /&gt;&lt;br /&gt;Membership is completely free.  Help make Lakewood and Long Beach just a little smaller, and join in the discussion today.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-3222312901234725468?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/3222312901234725468/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=3222312901234725468' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/3222312901234725468'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/3222312901234725468'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/03/long-beach-and-lakewood-community-forum.html' title='Long Beach and Lakewood Community Forum'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-8699798129105936574</id><published>2009-02-14T23:07:00.000-08:00</published><updated>2009-03-12T00:20:35.917-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='open source'/><category scheme='http://www.blogger.com/atom/ns#' term='ITunes'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><category scheme='http://www.blogger.com/atom/ns#' term='IPhone'/><category scheme='http://www.blogger.com/atom/ns#' term='IPod'/><category scheme='http://www.blogger.com/atom/ns#' term='free software'/><category scheme='http://www.blogger.com/atom/ns#' term='apple'/><title type='text'>Apple is Bad for Open Source</title><content type='html'>I recently had a conversation with an avid Mac enthusiast that swore up-and-down to me that Apple was a knight in shining armor for the Open Source movement.  &lt;br /&gt;&lt;br /&gt;While his arguments were very weak, it got me thinking:  What is the impact of Apple and the Mac OSX on the adoption of Open Source software?  More specifically, is Apple a supporter of open source, a staunch opponent, or somewhere in-between?&lt;br /&gt;&lt;br /&gt;It turns out, the answer was much simpler than I thought it would be.  Apple is decidedly an opponent of open source.&lt;br /&gt;&lt;br /&gt;Before the flame wars begin, please allow me to walk you through my logic.  I will present to you all of the evidence that I found -- decide afterward if you agree with me.  Also, I'm not an anti-mac guy -- I think they've created a fantastic operating system with a well-thought-out marketing campaign.  I just wanted to set the record straight for those that think Apple is beneficial to Open Source operating systems.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Point 1: Apple does not make ITunes available to open source operating systems.&lt;/span&gt;&lt;br /&gt;Normally, this wouldn't be a big deal.  However, the use of some of Apple's other products, namely the IPod, require the use of the of ITunes.  I ran into this problem when my wife bought me an engraved IPod Nano for Christmas.  The iPod requires ITunes to sync music, photos, and videos to the device, but when I went to find ITunes on Linux, there was nothing to be had.  Apple is, in effect, forcing me to use a commercial operating system if I want to use the device I purchased from them.&lt;br /&gt;&lt;br /&gt;Why doesn't Apple provide a version of ITunes for free operating systems?  The argument from Apple is that there is not a demand for the Apple IPod among Linux users, however a recent online petition requesting that Apple port ITunes to Linux has gotten over 17,000 signatures at the time of this writing (&lt;a href="http://www.petitiononline.com/mod_perl/signed.cgi?itmslin"&gt;http://www.petitiononline.com/mod_perl/signed.cgi?itmslin&lt;/a&gt;). &lt;br /&gt;&lt;br /&gt;Others (&lt;a href="http://www.psychocats.net/ubuntucat/wake-up-call-apple-wont-port-itunes-to-linux-2/"&gt;http://www.psychocats.net/ubuntucat/wake-up-call-apple-wont-port-itunes-to-linux-2/&lt;/a&gt;) have made the argument that there would be no benefit to Apple porting ITunes to Linux in any respect.  The main argument is that most Linux users are moving away from IPods anyway, since they are so limited in functionality (no radio, microphone, etc).  &lt;br /&gt;&lt;br /&gt;However, from a personal standpoint, the limitation in features is precisely the reason I chose the IPod to begin with.  I work in a restricted area where devices with radio or recording capabilities are illegal, and the IPod fits the bill nicely.  Additionally, the argument that Linux users are switching to other devices because of the lack of support (really, the lack of ITunes) emphasizes the need for an ITunes port.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Point 2: Apple IPhone development requires you to use a MAC&lt;/span&gt;&lt;br /&gt;The IPhone SDK is only available on the MAC platform.  Many people use IPhones, including open source enthusiasts and developers.  Apple is removing people's operating system choices by forcing its developers to purchase a MAC if they want to do any development for the IPhone.&lt;br /&gt;&lt;br /&gt;I can understand that Open Source operating systems compete with Apple's MAC OSX, and I can understand not wanting to make their software available to the open source community.  However, limiting development of applications for the IPhone to only those that can afford (or want to use) to use MAC OSX (which requires them to purchase a new computer entirely) stifles the open source development of IPhone applications.&lt;br /&gt;&lt;br /&gt;&lt;span style="font-weight:bold;"&gt;Closing Statement&lt;/span&gt;&lt;br /&gt;&lt;br /&gt;I argue that these practices are in place with the explicit purpose of alienating the Free Software community, not supporting it.  Supporters of Apple can sometimes reach cult status, often defending their beloved operating system beyond logic.&lt;br /&gt;&lt;br /&gt;Can any of my readers think of an instance in which Apple has been beneficial to Open Source software, or the development of it?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-8699798129105936574?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/8699798129105936574/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=8699798129105936574' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/8699798129105936574'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/8699798129105936574'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/02/apple-is-bad-for-open-source.html' title='Apple is Bad for Open Source'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-888001658509837841</id><published>2009-01-19T21:08:00.000-08:00</published><updated>2009-01-27T08:43:33.583-08:00</updated><title type='text'>Technology Retarded</title><content type='html'>Technology is a beautiful thing -- our cellular phones have capabilities that surpass our desktop computers from just 10 years ago.  It is both a source of wonder for me, and eternal frustration -- but not how you think.&lt;br /&gt;&lt;br /&gt;This rant focuses on two specific companies who, for the sake of litigation, will remain anonymous.&lt;br /&gt;&lt;br /&gt;These companies have taken great strides to advance technology, and many more to retard it.  These companies purposely remove functionality in their products for the sole purpose of improving sales of other products.  &lt;br /&gt;&lt;br /&gt;One device, a cellular phone, has at its core the ability to play music, either from a memory card or downloaded.  The device's bluetooth functionality is purposely disabled whenever an external memory card is present, as it allows the owner of the phone to transfer music directly from their computer to the device.  The company has a download service for music, and the ability to transfer information from the computer to the phone would directly compete with this service. &lt;br /&gt;&lt;br /&gt;The other device is a Digital Video Recorder.  The company that makes this device has gone to great lengths to "secure" the data on the drive, creating their own device instead of using more common and less buggy commercial offerings.  This leaves the consumer with an inadequate amount of hard drive space to store their videos, and no method for retrieving or expanding their recording capability.  This was done at the behest of movie and television studios, to prevent people from backing up their recorded programs to DVD or some other form (and to keep charging them for seeing the same content).&lt;br /&gt;&lt;br /&gt;As we approach the year 2010, the technology we have is, in some ways, almost science-fiction.  And yet, the politics that has plagued our societies since its inception has made its way into our sci-fi society.  I wonder if this is what &lt;a href="http://en.wikipedia.org/wiki/Arthur_C._Clarke"&gt;Arthur C. Clarke&lt;/a&gt; had in mind.&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-888001658509837841?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/888001658509837841/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=888001658509837841' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/888001658509837841'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/888001658509837841'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2009/01/technology-retarded.html' title='Technology Retarded'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-1105541314493878233</id><published>2008-12-07T23:51:00.000-08:00</published><updated>2008-12-08T00:24:05.900-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='Technology open source software hardware waste idea box'/><title type='text'>Impact</title><content type='html'>Lately, I've been pondering my purpose here.  I just turned 25, and was thinking back to when I was younger.  I used to fantasize about being this age, wondering what great things I would have accomplished by now.&lt;br /&gt;&lt;br /&gt;Of course, when your young, 25 seems like a dinosaur, closer to 80 than to you at age 10.  I was a driven young man, and spent a lot of my time teaching myself the finer points of geekery.  I didn't have the internet, so I did what I could -- learning QBasic through the help section, etc.&lt;br /&gt;&lt;br /&gt;Looking back, I feel somewhat accomplished -- but not in the way I thought I would be.  I was convinced that, by this time, I'd be a multi-billionaire like Bill Gates, making the world safer for democracy, etc... &lt;br /&gt;&lt;br /&gt;All kidding aside, I've decided that, at least once in my lifetime, I would like to make a real impact -- not something trivial, but something enormous.  I would like to, dare I say it, Change the world (credit to Bill Nye).  This new charge will take a great deal of effort, and more time than I think I have.  But then, everything worth doing is hard.&lt;br /&gt;&lt;br /&gt;When I was first introduced to Open Source software, it seemed like a new world had opened to me.  The true power and utility of modern computers can only be realized by the powerful and diverse software available to the community.  One of the main features of this software is its ability to run so well on older hardware.  It was this realization that generated an "a ha" moment for me.&lt;br /&gt;&lt;br /&gt;Computers are a toxic waste -- they contain mercury, lead, and many other harmful metals.  And, with the rapid advancement of technology, this waste is building up exponentially.  The majority of the time, these are computers that still function, and are merely being thrown away because they are no longer needed.&lt;br /&gt;&lt;br /&gt;What if, instead of throwing this computers away, we were to recycle them -- to give them new life, through open source software?!  Most of these computers can handle a relatively modern Linux distro.  We could donate them to community centers, underprivileged families, schools, and anyone else that can benefit from it.  Eventually, we could even begin bringing this technology to children that have never seen it before, in 3rd world countries and impoverished nations.&lt;br /&gt;&lt;br /&gt;Some interesting links I found were the &lt;a href="http://www.cristina.org/"&gt;National Christina Foundation &lt;/a&gt; and the &lt;a href="http://www.dell.com/content/topics/global.aspx/services/asset_recycling/donation?c=us&amp;cs=19&amp;l=en&amp;s=dhs"&gt;dell computer recycling site&lt;/a&gt;.  However, neither of these offer O.S. installation.  The new organization would take the time to install an open source Linux operating system on these machines, before sending them back for donation.&lt;br /&gt;&lt;br /&gt;Any thoughts?&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-1105541314493878233?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/1105541314493878233/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=1105541314493878233' title='2 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/1105541314493878233'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/1105541314493878233'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2008/12/impact.html' title='Impact'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>2</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-6798642108439445146</id><published>2008-04-11T17:22:00.000-07:00</published><updated>2008-12-11T00:30:22.636-08:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='ATM dick cheese mazzarella prank joke programming easter egg'/><title type='text'>The ATM Easter Egg</title><content type='html'>On display -- A perfectly innocent-looking ATM.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_aEQpPA3uOfo/SAACoQrjY3I/AAAAAAAAABg/xzmDcVx_QRY/s1600-h/atm.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_aEQpPA3uOfo/SAACoQrjY3I/AAAAAAAAABg/xzmDcVx_QRY/s320/atm.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5188149661426475890" /&gt;&lt;/a&gt;&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;Or is it?  On closer inspection, we find that this particular ATM is hiding something.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://4.bp.blogspot.com/_aEQpPA3uOfo/SAACogrjY5I/AAAAAAAAABw/DHhR374PjzE/s1600-h/fullscreen.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://4.bp.blogspot.com/_aEQpPA3uOfo/SAACogrjY5I/AAAAAAAAABw/DHhR374PjzE/s320/fullscreen.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5188149665721443218" /&gt;&lt;/a&gt;&lt;br /&gt;Don't see it yet?  Try clicking on the picture.  I'll wait...&lt;br /&gt;Ok -- still can't see it?  How about if we zoom in just a little bit more. . .&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;.&lt;br /&gt;&lt;a onblur="try {parent.deselectBloggerImageGracefully();} catch(e) {}" href="http://3.bp.blogspot.com/_aEQpPA3uOfo/SAACoQrjY4I/AAAAAAAAABo/RISNOGCjjMA/s1600-h/closeup.JPG"&gt;&lt;img style="display:block; margin:0px auto 10px; text-align:center;cursor:pointer; cursor:hand;" src="http://3.bp.blogspot.com/_aEQpPA3uOfo/SAACoQrjY4I/AAAAAAAAABo/RISNOGCjjMA/s320/closeup.JPG" border="0" alt=""id="BLOGGER_PHOTO_ID_5188149661426475906" /&gt;&lt;/a&gt;&lt;br /&gt;Apparently the designer of this machine thought that "John Q. Sample" was a boring generic name.  He decided Dick Cheese would be funnier.  I agree.&lt;br /&gt;&lt;br /&gt;Location: The Santos Manuel Student Union -- California State University, San Bernardino.&lt;br /&gt;Photographer: John O'Connor&lt;br /&gt;&lt;iframe src="http://g33k203.com/diggstories/atm-machine-easter-egg.html" frameborder="0" height="115" width="100"&gt;&amp;amp;amp;lt;br&amp;amp;gt;&lt;/iframe&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-6798642108439445146?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/6798642108439445146/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=6798642108439445146' title='1 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/6798642108439445146'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/6798642108439445146'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2008/04/atm-machine-easter-egg.html' title='The ATM Easter Egg'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><media:thumbnail xmlns:media='http://search.yahoo.com/mrss/' url='http://3.bp.blogspot.com/_aEQpPA3uOfo/SAACoQrjY3I/AAAAAAAAABg/xzmDcVx_QRY/s72-c/atm.JPG' height='72' width='72'/><thr:total>1</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-8282963677346070006</id><published>2008-04-01T20:10:00.000-07:00</published><updated>2008-04-02T22:18:55.184-07:00</updated><category scheme='http://www.blogger.com/atom/ns#' term='newbies'/><category scheme='http://www.blogger.com/atom/ns#' term='new'/><category scheme='http://www.blogger.com/atom/ns#' term='marketing'/><category scheme='http://www.blogger.com/atom/ns#' term='Linux'/><title type='text'>5 sins of Linux Marketing</title><content type='html'>&lt;div style="text-decoration: none;"&gt;&lt;br /&gt;I've read many articles Online recently advocating the use of Linux for the non-technical non-geek audience.  Reading these articles, and the many responses they get on various social news sites, it has become clear that most, if not all, of these articles are ineffective.&lt;br /&gt;&lt;br /&gt;It occurred to me that one of the major barriers to the acceptance of Linux as an alternative operating system is bad marketing.  As evidenced by these many articles, there is no lack of enthusiasm in the Linux world.  However, it seems that the geek crowd have trouble translating the desire to spread their enthusiasm into effective marketing.&lt;br /&gt;&lt;br /&gt;With this in mind, I've created a list of 5 "sins" of Linux marketing, along with some suggestions about what to do instead of the "sin".&lt;br /&gt;&lt;div style="text-decoration: italic;"&gt;&lt;br /&gt;&lt;p id="sin1"&gt;&lt;strong&gt;1) The sin of Evangelizing.&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;strong&gt;What does this mean?&lt;/strong&gt;&lt;br /&gt;There is no need to tell people that Linux is great, or that it's the best operating system ever, or that there is no other choice except Linux.  This is the biggest "don't" that gets broken by those attempting to write articles about the use of Linux.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Why is this a sin?&lt;/strong&gt;&lt;br /&gt;Because when you evangelize, you're giving people your opinion, and unless you're a celebrity or someone influential, your opinion really doesn't matter -- at least not in the marketing sense.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What should I do instead?&lt;/strong&gt;&lt;br /&gt;Stick to the facts! There are plenty of good reasons to use Linux, so make sure you mention them!  When in doubt, do your best to appeal to the logical or practical side of people, rather than the emotional.&lt;br /&gt;&lt;p id="sin2"&gt;&lt;strong&gt;2) The use of useless adjectives.&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;strong&gt;What does that mean?&lt;/strong&gt;&lt;br /&gt;It means, don't describe Linux with adjectives that are not completely factual.  Linux may be "beautiful" or "remarkable" to you, but these are very subjective words.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Why is this a sin?&lt;/strong&gt;&lt;br /&gt;Because useless adjectives reek of opinion, and end up being very unconvincing.  Once again, it doesn't matter to people what Linux is to you.  What really matters is what Linux can do for them.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What should I do instead?&lt;/strong&gt;&lt;br /&gt;Focus on what Linux can do for people.  Think up specific cases where Linux can make life easier.  People want to know what benefit they can get from Linux, and how it will affect them.&lt;br /&gt;&lt;p id="sin3"&gt;&lt;strong&gt;3) The bashing of other operating systems&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;strong&gt;What does that mean?!&lt;/strong&gt;&lt;br /&gt;Just that -- don't bash other operating systems. It's OK to compare the specific features of one operating system to another. However, many Linux enthusiasts name-calling and "straw-man" attacks to get their point across.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Why is this a sin?&lt;/strong&gt;&lt;br /&gt;There are many reasons this is a sin.  First, it is not convincing to people.  Most people notice insults when they see them, and they usually tend to respond by defending the operating system being attacked. It makes the Linux community seem like a big bully.&lt;br /&gt;&lt;br /&gt;Second, it insults the users of the operating system being bashed especially if the insults make it seem like a foolish choice to use that operating system.&lt;br /&gt;&lt;br /&gt;Unfortunately, this does twice the damage because, not only is it unconvincing, but it actually causes people to defend their operating system, even if it may be inferior in some way.  Not to mention it makes the Linux community seem like an unfriendly group of antisocial geeks.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What should I do instead?&lt;/strong&gt;&lt;br /&gt;Emphasize the good features of Linux.  There are plenty of them.  If you feel that you must, you can compare the features of linux to the offerings of other operating systems.  A table is a good tool for expressing the differences in a compact and easy form.&lt;br /&gt;&lt;p id="sin4"&gt;&lt;strong&gt;4) Telling people they "must" use, or "need to" use Linux.&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;strong&gt;What does this mean?&lt;/strong&gt;&lt;br /&gt;Exactly what it says: it's when a Linux marketer tells the reader what operating system to use.  They use the word "must" or "need" to make it sound urgent.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Why is this a sin?&lt;/strong&gt;&lt;br /&gt;Because people don't like being told what to do.  People should be in control of their own operating system.  Not to mention, the entire idea behind Linux is having the freedom to choose.  Telling someone they "must" use Linux undermines the basic principles of the FSF and GNU, which is the cornerstone of the Open Source movement and most Linux advocates.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What should I do instead?&lt;/strong&gt;&lt;br /&gt;Emphasize that Linux is an ALTERNATIVE and that people have the right to choose.  Give them good information about why and how GNU/Linux can be useful to them, and then introduce them to the culture by emphasizing that it's there if they want it.  This is the cornerstone of the free software culture, and is one of the reasons that RMS (That's Richard Stallman, the founder of the Free Software Foundation) is such a revered figure.  Keep that spirit alive and keep true to the culture by emphasizing the freedom to choose.&lt;br /&gt;&lt;p id="sin5"&gt;&lt;strong&gt;5) The sin of the geek (getting too technical).&lt;/strong&gt;&lt;/p&gt;&lt;br /&gt;&lt;strong&gt;What does this mean?&lt;/strong&gt;&lt;br /&gt;Remember your audience!  Don't get too technical or delve into the mundane aspects of an Operating System's history if you're attempting to appeal to the general public.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;Why is this a sin?&lt;/strong&gt;&lt;br /&gt;Because it's the best way to "lose" your non-technical audience.  Most people don't care that Linux was created by Linus Torvalds, or that it is based on Unix.  What they care about is what features it has, and why they should change.  Remember: people don't like change, so you're already fighting an uphill battle.&lt;br /&gt;&lt;br /&gt;&lt;strong&gt;What should I do instead?&lt;/strong&gt;&lt;br /&gt;Focus on what is important to your audience.  Put yourself in their shoes, and try to imagine what would be convincing to you.  What features would you want if you used your computer only for the internet or writing the occasional email or document?  One of the keys to good writing in general is to always keep your audience in mind.&lt;br /&gt;&lt;/div&gt;&lt;br /&gt;I hope this has offered some insight into some of the pitfalls of linux marketing.  Now go out there and do your stuff!!!&lt;br /&gt;&lt;/div&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-8282963677346070006?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/8282963677346070006/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=8282963677346070006' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/8282963677346070006'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/8282963677346070006'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2008/04/5-sins-on-linux-marketing.html' title='5 sins of Linux Marketing'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry><entry><id>tag:blogger.com,1999:blog-1746449287900499622.post-7082826911373763612</id><published>2007-09-19T14:54:00.001-07:00</published><updated>2007-09-19T15:03:12.421-07:00</updated><title type='text'>Been a while, and it's all good news!</title><content type='html'>It's been a few months since my last post.  And a LOT has changed.&lt;br /&gt;&lt;br /&gt;First and foremost, I landed an interview with Google -- The giant that everyone would love to work for.  I will be describing my experience in the next post.  However, I did not get that job.   I also had a job interview with defense giant Northrop Grumman.  That job I DID get, and I'll be moving close to work (and really close to the beach)!&lt;br /&gt;&lt;br /&gt;I'm starting my final quarter at &lt;abbr="california state university san bernardino"&gt;CSUSB and taking mostly easy classes!  I'm feeling great, and the world seems bright.&lt;br /&gt;&lt;br /&gt;I've also decided to join the VVC Master Arts Chorale for a final time before I move from the High Desert (a place I've called home for the past 12 years).  I enjoy singing with Dr. Miller, and am hoping to get my baby sister (who's now 19 -- damn time flies!) into the group as well.&lt;br /&gt;&lt;br /&gt;Finally, I'm singing and acting in a dinner murder-mystery theater show.  I get to play a "French Playboy" who has luck with the ladies until. . . well, you'll have to check it out.&lt;br /&gt;&lt;br /&gt;Anyway, many changes and fun stuff!  Looking forward to the next few posts where I'll be discussing the interview process for the different companies for which I've worked.&lt;br /&gt;&lt;/abbr="california&gt;&lt;div class="blogger-post-footer"&gt;&lt;img width='1' height='1' src='https://blogger.googleusercontent.com/tracker/1746449287900499622-7082826911373763612?l=johnwoconnor.blogspot.com' alt='' /&gt;&lt;/div&gt;</content><link rel='replies' type='application/atom+xml' href='http://johnwoconnor.blogspot.com/feeds/7082826911373763612/comments/default' title='Post Comments'/><link rel='replies' type='text/html' href='http://www.blogger.com/comment.g?blogID=1746449287900499622&amp;postID=7082826911373763612' title='0 Comments'/><link rel='edit' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/7082826911373763612'/><link rel='self' type='application/atom+xml' href='http://www.blogger.com/feeds/1746449287900499622/posts/default/7082826911373763612'/><link rel='alternate' type='text/html' href='http://johnwoconnor.blogspot.com/2007/09/been-while-and-its-all-good-news.html' title='Been a while, and it&apos;s all good news!'/><author><name>John</name><uri>http://www.blogger.com/profile/03094484382957997693</uri><email>noreply@blogger.com</email><gd:image rel='http://schemas.google.com/g/2005#thumbnail' width='16' height='16' src='http://img2.blogblog.com/img/b16-rounded.gif'/></author><thr:total>0</thr:total></entry></feed>
