<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Submerged Spaceman</title>
	<atom:link href="http://www.submergedspaceman.com/blog/?feed=rss2" rel="self" type="application/rss+xml" />
	<link>http://www.submergedspaceman.com/blog</link>
	<description>Android, scripts, code, and random projects</description>
	<lastBuildDate>Thu, 31 Mar 2011 17:07:36 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5</generator>
		<item>
		<title>Date Picker in Android &#8211; Month 0?</title>
		<link>http://www.submergedspaceman.com/blog/?p=193</link>
		<comments>http://www.submergedspaceman.com/blog/?p=193#comments</comments>
		<pubDate>Thu, 31 Mar 2011 17:07:36 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[android]]></category>

		<guid isPermaLink="false">http://www.submergedspaceman.com/blog/?p=193</guid>
		<description><![CDATA[So I&#8217;m working on a new Android app and was having a small problem with the Date Picker widget. My datepicker.getMonth() kept returning incorrectly. What was the problem? The month is zero-based. http://developer.android.com/reference/android/widget/DatePicker.html#getMonth() &#8220;year &#8212; The initial year. monthOfYear &#8212; &#8230; <a href="http://www.submergedspaceman.com/blog/?p=193">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>So I&#8217;m working on a new Android app and was having a small problem with the Date Picker widget. My datepicker.getMonth() kept returning incorrectly. What was the problem? The month is zero-based.</p>
<p><a href="http://developer.android.com/reference/android/widget/DatePicker.html#getMonth()">http://developer.android.com/reference/android/widget/DatePicker.html#getMonth()</a></p>
<p>&#8220;year	&#8212;                The initial year.<br />
monthOfYear &#8212;	The initial month starting from zero.<br />
dayOfMonth &#8212;	The initial day of the month.&#8221;</p>
<p>So for my application, I have to call getMonth()+1 every time. I thought this was odd, but I found a comment on Stack Overflow that pointed out that if you had an array of months, you&#8217;d want the array value to match up with the month. Interesting</p>
<p>http://stackoverflow.com/questions/4467816/datepicker-shows-wrong-value-of-month</p>
]]></content:encoded>
			<wfw:commentRss>http://www.submergedspaceman.com/blog/?feed=rss2&#038;p=193</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android Python Timelapse</title>
		<link>http://www.submergedspaceman.com/blog/?p=154</link>
		<comments>http://www.submergedspaceman.com/blog/?p=154#comments</comments>
		<pubDate>Wed, 06 Oct 2010 05:38:03 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[android scripting environment]]></category>
		<category><![CDATA[ASE]]></category>
		<category><![CDATA[droid]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[scripting layer for android]]></category>
		<category><![CDATA[SL4A]]></category>

		<guid isPermaLink="false">http://www.submergedspaceman.com/blog/?p=154</guid>
		<description><![CDATA[So It&#8217;s been a little while since I messed around with android scripting, but I just finished a fun script that someone may find useful. I created a small timelapse script that allows the user to choose the interval and &#8230; <a href="http://www.submergedspaceman.com/blog/?p=154">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p style="text-align: left;"><a href="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/10/pythonTimelapse1.png"><img class="size-medium wp-image-155 alignnone" title="pythonTimelapse1" src="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/10/pythonTimelapse1-300x168.png" alt="" width="300" height="168" /></a></p>
<p style="text-align: left;">So It&#8217;s been a little while since I messed around with android scripting, but I just finished a fun script that someone may find useful.  I created a small timelapse script that allows the user to choose the interval and the folder where it will save the pictures (on the sdcard).</p>
<p style="text-align: left;">Choose the interval to take pictures, in minutes. Default choices are 1, 5, 10, 30, 60 minute intervals, or choose custom and enter your own value</p>
<div class="mceTemp" style="text-align: left;"><a href="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/10/pythonTimelapse2.png"><img class="size-medium wp-image-156  " title="pythonTimelapse2" src="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/10/pythonTimelapse2-300x168.png" alt="" width="300" height="168" /></a></div>
<p style="text-align: left;"><a href="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/10/pythonTimelapse3.png"><img class="size-medium wp-image-157 alignnone" title="pythonTimelapse3" src="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/10/pythonTimelapse3-300x168.png" alt="" width="300" height="168" /></a></p>
<p style="text-align: left;">Choose the folder in which to save the pictures</p>
<div class="mceTemp" style="text-align: left;"><a href="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/10/pythonTimelapse4.png"><img class="size-medium wp-image-158 " title="pythonTimelapse4" src="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/10/pythonTimelapse4-300x168.png" alt="" width="300" height="168" /></a></div>
<p>Let it do its thing!</p>
<div class="mceTemp" style="text-align: left;"><a href="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/10/pythonTimelapse5.png"><img class="size-medium wp-image-159 " title="pythonTimelapse5" src="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/10/pythonTimelapse5-300x168.png" alt="" width="300" height="168" /></a></div>
<p style="text-align: left;">You can grab the file here: <a href="http://dl.dropbox.com/u/1010815/timelapse.py">timelapse.py</a> or copy and paste the code below:</p>
<p><code lang="python"><br />
import android, time, os</p>
<p>droid = android.Android()</p>
<p>def titleAlert():<br />
  title = 'Android Python Timelapse'<br />
  message = 'Welcome to Android Python Timelapse.  In the following dialogs, you will be asked to choose your interval and the location where you would like your pictures saved.  Enjoy! Questions or comments? Please send to Support@SubmergedSpaceman.com'<br />
  droid.dialogCreateAlert(title, message)<br />
  droid.dialogSetPositiveButtonText('Continue')<br />
  droid.dialogShow()<br />
  response = droid.dialogGetResponse().result<br />
  return response['which'] == 'positive'  </p>
<p>def chooseInterval():<br />
  title = 'Please choose your picture interval in minutes.  To use a different value, choose Custom'<br />
  droid.dialogCreateAlert(title)<br />
  droid.dialogSetItems(['1', '5', '10','30','60','Custom'])<br />
  droid.dialogShow()<br />
  response = droid.dialogGetResponse().result['item']</p>
<p>  if response == 0:<br />
    timer = 1<br />
  elif response == 1:<br />
    timer = 5<br />
  elif response == 2:<br />
    timer = 10<br />
  elif response == 3:<br />
    timer = 30<br />
  elif response == 4:<br />
    timer = 60<br />
  elif response == 5:<br />
    timer = droid.dialogGetInput("please enter your interval in minutes").result<br />
    timer = float(timer)<br />
  print "interval is: "+str(timer) +" minutes"<br />
  return timer</p>
<p>def chooseFolder():<br />
  title = 'Please choose where you would like to store your pictures'<br />
  captureTime = time.strftime("%Y-%m-%d--%H-%M-%S", time.localtime())<br />
  droid.dialogCreateAlert(title)<br />
  droid.dialogSetItems(['/sdcard/YYYY-MM-DD', '/sdcard/timelapse', 'Custom'])<br />
  droid.dialogShow()<br />
  response = droid.dialogGetResponse().result['item']</p>
<p>  if response == 0:<br />
    folderStr = captureTime<br />
  elif response == 1:<br />
    folderStr = "timelapse"<br />
  elif response == 2:<br />
    folderStr = droid.dialogGetInput("please enter the name of the folder you would like to create:   /sdcard/").result</p>
<p>  print "folder set to: /sdcard/"+folderStr<br />
  return folderStr</p>
<p>def takePics(picfolder="timelapse", lapse=30):<br />
  loopvar = 'true'</p>
<p>  while loopvar == 'true':<br />
    captureTime = time.strftime("%Y-%m-%d--%H-%M-%S", time.localtime())<br />
    captureLocation = '/sdcard/'+picFolder+"/"+str(captureTime)+'.jpg'<br />
    print "picture taken: "+captureLocation<br />
    droid.cameraCapturePicture(captureLocation,True)<br />
    interval = lapse * 60<br />
    time.sleep(interval)</p>
<p>titleAlert()<br />
lapse = chooseInterval()<br />
picFolder = chooseFolder()<br />
os.system("mkdir /sdcard/"+picFolder)<br />
takePics(picFolder,lapse)<br />
</code></p>
<p>And here is the video I made after letting the script run for about 4 days.  There was some sort of opening ceremony happening by our apartment, but we were out of town for the weekend.  Glad I got it all on film!  (It&#8217;s pretty slow going at the start, skip to about 1:40 where things start to get going)</p>
<p><object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/3X7-KGAGzBw?fs=1&amp;hl=en_US&amp;color1=0x2b405b&amp;color2=0x6b8ab6"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/3X7-KGAGzBw?fs=1&amp;hl=en_US&amp;color1=0x2b405b&amp;color2=0x6b8ab6" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>check out my other SL4A script:<br />
 <a href="http://www.submergedspaceman.com/blog/2010/02/16/android-scripting-environment-is-incredible-part-i/">http://www.submergedspaceman.com/blog/2010/02/16/android-scripting-environment-is-incredible-part-i/</a></p>
<p> And my new cell stand in the shop!<br />
 <a href="http://www.submergedspaceman.com/blog/2010/09/25/universal-cellphone-stand/">http://www.submergedspaceman.com/blog/2010/09/25/universal-cellphone-stand/</a><br />
(you can get it from Ponoko or Etsy from that link as well)</p>
]]></content:encoded>
			<wfw:commentRss>http://www.submergedspaceman.com/blog/?feed=rss2&#038;p=154</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Universal Cellphone Stand</title>
		<link>http://www.submergedspaceman.com/blog/?p=148</link>
		<comments>http://www.submergedspaceman.com/blog/?p=148#comments</comments>
		<pubDate>Sat, 25 Sep 2010 22:38:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[accessory]]></category>
		<category><![CDATA[bb]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[phone]]></category>
		<category><![CDATA[stand]]></category>

		<guid isPermaLink="false">http://www.submergedspaceman.com/blog/?p=148</guid>
		<description><![CDATA[Hello! I&#8217;ve just added a new page on my site; the shop! My first product is one I recently created using the great laser cutting website Ponoko.com. It&#8217;s a stand for phones. I thought about it a while ago and &#8230; <a href="http://www.submergedspaceman.com/blog/?p=148">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/09/good51.jpg"><img src="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/09/good51-300x225.jpg" alt="stand with phone" title="good5" width="300" height="225" class="alignleft size-medium wp-image-149" /></a><br />
Hello! I&#8217;ve just added a new page on my site; <a href="http://www.submergedspaceman.com/blog/shop/">the shop!</a>  My first product is one I recently created using the great laser cutting website <a href="http://Ponoko.com">Ponoko.com</a>.  It&#8217;s a stand for phones.  I thought about it a while ago and decided to try out the Ponoko service.  everything worked great!  Check it out <a href="http://www.ponoko.com/showroom/SubmergedSpaceman/universal-cell-phone-stand-4758">here </a>at Ponoko.com or on Etsy.com <a href="http://www.etsy.com/listing/57221839/universal-cellphone-stand">here</a> You can purchase it right at my shop or either of those websites (they all use paypal, so it&#8217;s the same to me) Go get one!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.submergedspaceman.com/blog/?feed=rss2&#038;p=148</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>GeekDad-Ponoko-Sparkfun Competition</title>
		<link>http://www.submergedspaceman.com/blog/?p=129</link>
		<comments>http://www.submergedspaceman.com/blog/?p=129#comments</comments>
		<pubDate>Wed, 18 Aug 2010 04:23:12 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.submergedspaceman.com/blog/?p=129</guid>
		<description><![CDATA[Hey Everyone! I&#8217;m a finalist in a competition on Wired&#8217;s GeekDad! The contest was to make something that could be laser printed at Ponoko (I highly recommend their service, by the way) and uses electronics from Sparkfun (also awesome). My &#8230; <a href="http://www.submergedspaceman.com/blog/?p=129">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/08/4836820686_db6520b0fd_b.jpg"><img src="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/08/4836820686_db6520b0fd_b-300x282.jpg" alt="bart Display" title="Bart Display" width="300" height="282" class="alignleft size-medium wp-image-133" /></a>Hey Everyone! I&#8217;m a finalist in a competition on <a href="http://www.wired.com/geekdad/2010/08/ponokosparkfun-competition-vote-for-the-winner-now/">Wired&#8217;s GeekDad</a>! The contest was to make something that could be laser printed at Ponoko (I highly recommend their service, by the way) and uses electronics from Sparkfun (also awesome).  My entry is for a BART Display to show when the next trains are coming.</p>
<p> Check it out <a href="http://www.flickr.com/photos/brettsarahtops/4836820686/">here</a> and vote for me! <a href="http://www.wired.com/geekdad/2010/08/ponokosparkfun-competition-vote-for-the-winner-now/">GeekDad contest</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.submergedspaceman.com/blog/?feed=rss2&#038;p=129</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>30 Days of Creativity â€“ Day3</title>
		<link>http://www.submergedspaceman.com/blog/?p=122</link>
		<comments>http://www.submergedspaceman.com/blog/?p=122#comments</comments>
		<pubDate>Fri, 04 Jun 2010 03:27:53 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[android]]></category>
		<category><![CDATA[Design]]></category>
		<category><![CDATA[#30daysofcreativity]]></category>
		<category><![CDATA[android wallpaper]]></category>
		<category><![CDATA[creativity]]></category>
		<category><![CDATA[droid]]></category>

		<guid isPermaLink="false">http://www.submergedspaceman.com/blog/?p=122</guid>
		<description><![CDATA[Ok, the last post was from yesterday&#8217;s project. Today&#8217;s tiny project was to make the wallpaper into one for my Droid. I&#8217;ve never made one before. The first mistake was making it 480&#215;854 pixel resolution, since that&#8217;s the size of &#8230; <a href="http://www.submergedspaceman.com/blog/?p=122">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Ok, the last post was from yesterday&#8217;s project.  Today&#8217;s tiny project was to make the wallpaper into one for my Droid.  I&#8217;ve never made one before.  The first mistake was making it 480&#215;854 pixel resolution, since that&#8217;s the size of the display.  For Android phones, the wallpaper scrolls horizontally, so the actual dimensions needed to make a wallpaper for the Droid is 960&#215;854.  Got it!  Screenshot of the wallpaper in action:<br />
<a href="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/06/30days_droid_green.png"><img src="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/06/30days_droid_green-168x300.png" alt="screen shot" title="30days_droid_green" width="168" height="300" class="alignnone size-medium wp-image-123" /></a></p>
<p>Here&#8217;s the file if anyone wants it:<br />
<a href="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/06/30days_green_android.png"><img src="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/06/30days_green_android-300x266.png" alt="source file" title="30days_green_android" width="300" height="266" class="alignnone size-medium wp-image-124" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.submergedspaceman.com/blog/?feed=rss2&#038;p=122</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>30 Days of Creativity &#8211; Day2</title>
		<link>http://www.submergedspaceman.com/blog/?p=118</link>
		<comments>http://www.submergedspaceman.com/blog/?p=118#comments</comments>
		<pubDate>Fri, 04 Jun 2010 02:33:30 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Design]]></category>
		<category><![CDATA[#30daysofcreativity]]></category>
		<category><![CDATA[creativity]]></category>
		<category><![CDATA[desktop background]]></category>

		<guid isPermaLink="false">http://www.submergedspaceman.com/blog/?p=118</guid>
		<description><![CDATA[So I ran across the site http://30daysofcreativity.com/ just one day late! Basically, its a challenge to be creative everyday in the month of June. Unfortunately, this is also the same month we are moving! So I&#8217;ll be creative, but in &#8230; <a href="http://www.submergedspaceman.com/blog/?p=118">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>So I ran across the site <a href="http://30daysofcreativity.com/">http://30daysofcreativity.com/</a> just one day late! Basically, its a challenge to be creative everyday in the month of June.  Unfortunately, this is also the same month we are moving! So I&#8217;ll be creative, but in <em>small</em> ways.  To start things off, I&#8217;ve created a background for inspiration:</p>
<p><a href="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/06/30days_green.jpg"><img src="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/06/30days_green-300x168.jpg" alt="30daysofcreativity background" title="30days_green" width="300" height="168" class="alignnone size-medium wp-image-119" /></a></p>
<p>its 1920&#215;1080 and please use it if you&#8217;d like! Let me know if you want a different size or color.</p>
<p>go CREATE!</p>
]]></content:encoded>
			<wfw:commentRss>http://www.submergedspaceman.com/blog/?feed=rss2&#038;p=118</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Creating the Dashboard Part I: Concept</title>
		<link>http://www.submergedspaceman.com/blog/?p=91</link>
		<comments>http://www.submergedspaceman.com/blog/?p=91#comments</comments>
		<pubDate>Mon, 05 Apr 2010 17:31:57 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.submergedspaceman.com/blog/?p=91</guid>
		<description><![CDATA[This is part one of my series of posts describing the Nokia N900 Contest I entered in the spring of 2010. Way back in September I heard about the Nokia PUSH N900 global competition. I had been drooling over pictures &#8230; <a href="http://www.submergedspaceman.com/blog/?p=91">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>This is part one of my series of posts describing the Nokia N900 Contest I entered in the spring of 2010.<br />
<span id="more-91"></span></p>
<p>Way back in September I heard about the <a href="http://blogs.nokia.com/pushn900/">Nokia PUSH N900 global competition</a>.  I had been drooling over pictures and all the info I could find about the phone and thought, &#8220;Finally! This is my chance to get one!&#8221; I started brainstorming ideas.</p>
<p>I had recently built a fixie bike from a frame I found on craigslist (It&#8217;s awesome &#8211; green Japanese roadbike with some sort of Phoenix on one of the tubes), and various parts I bought from local bike shops.  I really loved riding my bike everywhere I could!  My wife Sarah and I would bike to the farmer&#8217;s market, out to eat, etc.  I decided it would be awesome to have a kind of dashboard for my bike with info about the ride.</p>
<p>The way I approached this was to think of everything that I wanted in a dashboard, and then figure out what I thought was actually feasible.  First, I knew I wanted some data.  Speed and distance were a must; Cadence would be cool, but as a casual bike rider, not critical.  I wanted a map showing the route we took.  I wanted to have lights that I could control from the phone, a horn to honk back at cars that cut us off.  I wanted to integrate the camera to quickly take pictures and maybe even have a video of the ride.</p>
<p>I started to sketch everything up in my Maker Notebook.  I love this thing &#8211; graph paper is by far my favorite of the lined varieties and this has a great grid layout.  Here&#8217;s my first design:</p>
<p><a href="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/04/20100331_001.jpg"><img src="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/04/20100331_001-225x300.jpg" alt="First design in notebook" title="First design" width="225" height="300" class="alignnone size-medium wp-image-93" /></a></p>
<p>I&#8217;m not the best artist, I know, but the idea was sound.  I then had to create a mockup to send to the judges.  Here&#8217;s how that turned out:<br />
<a href="http://www.submergedspaceman.com/n900/Nokia-N900-front-mockup1c.png"><img alt="Mockup of Dashboard" src="http://www.submergedspaceman.com/n900/Nokia-N900-front-mockup1c.png" title="Mockup" class="alignnone" width="600" height="350" /></a></p>
<p>I didn&#8217;t hear back from Nokia about that first competition, but at the begining of this year, Nokia announced that they would hold a second competition for the US.  I immediately submitted my application again, and this time I was chosen!</p>
<p><a href="http://www.submergedspaceman.com/blog/?p=57">This post</a> has all the info on us at the competition and has links to the videos and articles written about it.  You can see in the following photo that the final version turned out pretty similar to the mockup. note: the camera was not on for this shot, but it did work <img src='http://www.submergedspaceman.com/blog/wp-includes/images/smilies/icon_smile.gif' alt=':)' class='wp-smiley' /> </p>
<p><a href="http://blog.laptopmag.com/wpress/wp-content/uploads/2010/03/N900_contest_5.jpg"><img alt="Dashboard Final UI" src="http://blog.laptopmag.com/wpress/wp-content/uploads/2010/03/N900_contest_5.jpg" title="Dashboard Final UI" class="alignnone" width="600" height="398" /></a></p>
<p>I&#8217;m going to be writing up my experience here and I&#8217;ll be diving into the more technical aspects of everything I learned/did.  Next up in the series: Planning</p>
]]></content:encoded>
			<wfw:commentRss>http://www.submergedspaceman.com/blog/?feed=rss2&#038;p=91</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>PUSH N900 competition winners</title>
		<link>http://www.submergedspaceman.com/blog/?p=57</link>
		<comments>http://www.submergedspaceman.com/blog/?p=57#comments</comments>
		<pubDate>Sun, 28 Mar 2010 03:10:34 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.submergedspaceman.com/blog/?p=57</guid>
		<description><![CDATA[Hey Everyone, Sarah and I flew to Las Vegas this past Sunday night (March 21) to prepare for the CTIA conference and the PUSH N900 competition. We spent Monday setting up for the conference. Tuesday morning, we got up really &#8230; <a href="http://www.submergedspaceman.com/blog/?p=57">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><span id="more-57"></span><br />
Hey Everyone,</p>
<p>Sarah and I flew to Las Vegas this past Sunday night (March 21) to prepare for the CTIA conference and the PUSH N900 competition. We spent Monday setting up for the conference. <a href="http://www.flickr.com/photos/brettsarahtops-bike-dashboard/4467614550/"><img src="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/03/IMG_6032-300x225.jpg" alt="" title="Setting up" width="300" height="225" class="alignnone size-medium wp-image-58" /></a></p>
<p>Tuesday morning, we got up really early to meet with the judges and to present the Bike Dashboard. Here are the finalists:<br />
<a href="http://www.flickr.com/photos/brettsarahtops-bike-dashboard/4467617084/"><img src="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/03/IMG_6054-300x225.jpg" alt="" title="PUSH N900 finalists: Eric, Sarah, Brett, Walter, Paul" width="300" height="225" class="alignnone size-medium wp-image-59" /></a></p>
<p>We had a lot of fun presenting to the judges. One of the judges, Chris Ziegler, a writer for Engadget, taped our presentation. You can find the video <a href="http://www.engadget.com/2010/03/24/nokias-push-n900-finalists-in-action-meet-bike-dashboard-niko/">here</a>. The only part he didn&#8217;t tape was the video we made showing how the GPS works. Here is that video:<br />
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/thAKyR2tVe0&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/thAKyR2tVe0&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>Sarah taped me demonstrating how the Bike Dashboard worked on the Nokia floor. Here&#8217;s that video:<br />
<object width="480" height="385"><param name="movie" value="http://www.youtube.com/v/6un2mnsg96U&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/6un2mnsg96U&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="385"></embed></object></p>
<p>Here&#8217;s a video of the award presentation:<br />
<object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/-slNdtV4Oss&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/-slNdtV4Oss&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object></p>
<p>To our happy surprise, we won first place!<br />
<a href="http://www.flickr.com/photos/brettsarahtops-bike-dashboard/4466843815/"><img src="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/03/IMG_6063-300x225.jpg" alt="" title="First place!" width="300" height="225" class="alignnone size-medium wp-image-61" /></a></p>
<p>People were really interested in our design and we had so much fun telling them all about it. We had a lot of interviews throughout the day, which was a new experience for us. It&#8217;s been so fun to find articles about us online, though. Here is what we&#8217;ve found so far:</p>
<p><object width="480" height="295"><param name="movie" value="http://www.youtube.com/v/l8B4ZPB4QJE&#038;hl=en_US&#038;fs=1&#038;"></param><param name="allowFullScreen" value="true"></param><param name="allowscriptaccess" value="always"></param><embed src="http://www.youtube.com/v/l8B4ZPB4QJE&#038;hl=en_US&#038;fs=1&#038;" type="application/x-shockwave-flash" allowscriptaccess="always" allowfullscreen="true" width="480" height="295"></embed></object></p>
<p><a href="http://www.engadget.com/2010/03/24/nokias-push-n900-finalists-in-action-meet-bike-dashboard-niko/">engadget </a>article including a video of our presentation</p>
<p>official<a href="http://blogs.nokia.com/pushn900/usa/category/bike-dashboard/"> Nokia PUSH N900 blog</a></p>
<p>Another <a href="http://lovemynokia.com/push-n900-mod-usa-winners-announced-congrats-to-all-teams">Nokia </a>website</p>
<p><a href="http://blogs.nokia.com/pushn900/usa/">Nokia</a></p>
<p><a href="http://bikehugger.com/2010/03/nokia-n900-bike-dashboard.html">Bike Hugger</a></p>
<p><a href="http://knowyourcell.com/news/447326/nokia_push_n900_mod_competition_awards_ceremony_video.html">Know Your Cell</a></p>
<p><a href="http://phonearea.net/top-three-finalists-selected-for-nokia-%E2%80%9Cpush-n900-mod-in-the-usa%E2%80%9D-contest/">Phone Area</a></p>
<p><a href="http://www.daylife.com/photo/06nPb1G2SR0lE?q=nokia">Daylife</a></p>
<p><a href="http://www.pcworld.com/article/192347/a_wireless_bike.html">PC World</a></p>
<p><a href="http://blog.laptopmag.com/nokia-n900-push-contest-winners-shown-off-at-ctia">laptop magazine</a></p>
<p><a href="http://www.pcmag.com/slideshow_viewer/0,1205,l%253D0%2526a%253D249475%2526po%253D5,00.asp?p=y">PC Magazine</a> photo&#8217;s</p>
<p><a href="http://www.maemo-nokian900.com/bike-dashboard-wins-10000-for-hacking-the-nokia-n900/">Maemo</a></p>
<p><a href="http://maemo-freak.com/index.php/hacks/1396-nokia-honors-consumer-innovation-at-ctia-push-n900-mod-in-the-usa-winner">Maemo freak</a></p>
<p><a href="http://www.prnewswire.com/news-releases/nokia-honors-consumer-innovation-at-ctia-88940812.html">PR Newswire</a></p>
<p><a href="http://news.softpedia.com/news/Nokia-Announces-PUSH-N900-MOD-IN-THE-USA-Winners-138270.shtml">Softpedia</a></p>
<p><a href="http://www.thegearcaster.com/the_gearcaster/2010/03/bike-dashboard-turns-nokia-n900-into-cycling-computer.html">The Gear Caster</a></p>
<p><strong>EDIT:</strong> We&#8217;ve been featured on Make Magazine&#8217;s website!  Wow, this is a dream come true for me to be featured on all these blogs I read daily! Thanks everyone!</p>
<p><a href="http://blog.makezine.com/archive/2010/04/brett_and_sarah_petersons_bike_dash.html">Make Magazine</a></p>
<p><a href="http://www.mobilediner.com/?p=458">Mobile Diner</a></p>
<p><a href="http://thetabletblog.com/video-s-pobeditelem-konkursa-nokia-push-n900-bike-dashboard.html">This one</a> is in Russian, and the google tranlated page is <a href="http://translate.google.com/translate?hl=en&#038;sl=ru&#038;tl=en&#038;u=http%3A%2F%2Fthetabletblog.com%2Fvideo-s-pobeditelem-konkursa-nokia-push-n900-bike-dashboard.html">here </a></p>
<p>These are just the ones we&#8217;ve found. If you find one I haven&#8217;t mentioned here, please leave a link in the comments. Going through this whole process-from the time I found the competition, to being accepted as a finalist, to creating the Bike Dashboard in a little over 3 weeks, and being chosen as the winners-has been an unbelievable experience. I&#8217;ll be writing all the details soon. I just wanted to get a post out about the competition. If you want to see more pictures or videos, you can check out these links:</p>
<p><a href="http://www.facebook.com/photos.php?id=325433978603#!/pages/San-Jose-CA/BrettSarahTops-Bike-Dashboard/325433978603">Facebook</a><br />
<a href="http://www.flickr.com/photos/brettsarahtops-bike-dashboard/">Flickr</a><br />
<a href="http://twitter.com/brettsarahtops">Twitter</a><br />
<a href="http://www.youtube.com/user/BrettSarahtops">Youtube</a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.submergedspaceman.com/blog/?feed=rss2&#038;p=57</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>PUSH N900 Competition</title>
		<link>http://www.submergedspaceman.com/blog/?p=52</link>
		<comments>http://www.submergedspaceman.com/blog/?p=52#comments</comments>
		<pubDate>Thu, 18 Mar 2010 18:26:19 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://www.submergedspaceman.com/blog/?p=52</guid>
		<description><![CDATA[Links and info about our participation in the Nokia PUSH N900 Competition Wow. I&#8217;ve been so busy working on this competition that I&#8217;ve been missing out on the opportunity to write about it here! Here&#8217;s a link to the competition &#8230; <a href="http://www.submergedspaceman.com/blog/?p=52">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p>Links and info about our participation in the Nokia PUSH N900 Competition<br />
<span id="more-52"></span><br />
<a href="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/03/bike_db.jpg"><img src="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/03/bike_db-300x225.jpg" alt="bike dashboard on bike" title="bike_db" width="300" height="225" class="alignnone size-medium wp-image-54" /></a></p>
<p>Wow.  I&#8217;ve been so busy working on this competition that I&#8217;ve been missing out on the opportunity to write about it here!</p>
<p>Here&#8217;s a link to the competition page:</p>
<p><a href="http://blogs.nokia.com/pushn900/usa/">http://blogs.nokia.com/pushn900/usa/</a></p>
<p>We&#8217;re creating a bike Dashboard to monitor speed, distance, turn lights on and off, map your route with GPS, etc.  It&#8217;s been a DEMANDING few weeks (we had only three total!) but we&#8217;ve learned a ton.  We&#8217;ve posted lots of pictures and info in these places:</p>
<p><a href="http://www.facebook.com/pages/San-Jose-CA/BrettSarahTops-Bike-Dashboard/325433978603?v=wall&#038;ref=search#!/pages/San-Jose-CA/BrettSarahTops-Bike-Dashboard/325433978603?v=wall&#038;ref=search">Facebook</a></p>
<p><a href="http://twitter.com/brettsarahtops">Twitter</a></p>
<p><a href="http://www.flickr.com/photos/brettsarahtops-bike-dashboard/">Flickr</a></p>
<p>and our PUSH N900 team blog:</p>
<p><a href="http://blogs.nokia.com/pushn900/usa/category/bike-dashboard/">http://blogs.nokia.com/pushn900/usa/category/bike-dashboard/</a></p>
<p>So check it out!  I&#8217;m going to continue developing the system after the competition, so any ideas or suggestions would be great.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.submergedspaceman.com/blog/?feed=rss2&#038;p=52</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Android Scripting Environment is Incredible: part I</title>
		<link>http://www.submergedspaceman.com/blog/?p=29</link>
		<comments>http://www.submergedspaceman.com/blog/?p=29#comments</comments>
		<pubDate>Wed, 17 Feb 2010 05:06:48 +0000</pubDate>
		<dc:creator>admin</dc:creator>
				<category><![CDATA[Uncategorized]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[android scripting environment]]></category>
		<category><![CDATA[ASE]]></category>
		<category><![CDATA[droid]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[TTS]]></category>

		<guid isPermaLink="false">http://www.submergedspaceman.com/blog/?p=29</guid>
		<description><![CDATA[Update As Edward Pain pointed out, the latest version of ASE (soon to be SL4A) changed the TTS and the way that dictionaries are called. I&#8217;ve updated this script to take these into account. Thanks Ed! So I&#8217;ve been loving &#8230; <a href="http://www.submergedspaceman.com/blog/?p=29">Continue reading <span class="meta-nav">&#8594;</span></a>]]></description>
				<content:encoded><![CDATA[<p><a href="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/02/what_to-say.png"><img class="alignleft size-medium wp-image-36" title="what_to-say" src="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/02/what_to-say-300x168.png" alt="what_to-say" width="300" height="168" /></a></p>
<p><strong>Update</strong> As Edward Pain pointed out, the latest version of ASE (soon to be SL4A) changed the TTS and the way that dictionaries are called.  I&#8217;ve updated this script to take these into account.  Thanks Ed!</p>
<p>So I&#8217;ve been loving having the DROID around.Â  I don&#8217;t even mind carrying a phone in each pocket because it&#8217;s totally worth it.Â  My most recent obsession is the <a href="http://code.google.com/p/android-scripting/" target="_blank">Android Scripting Environment (ASE)</a></p>
<p>Basically, it allows you to write code in high-level languages like python, bash, perl, etc, right on the device.Â  This is when a physical keyboard is really handy.Â  So I downloaded the app and started messing around with the included python scripts.Â  I&#8217;ve never coded anything in python before, but I have programmed in a bunch of other languages, so it really wasn&#8217;t hard at all.Â  By far the coolest pre-installed script was the Text-To-Speech (TTS) example.Â  I&#8217;m not sure what it is about making computers/devices say funny stuff that makes me laugh so much, but its really fun.</p>
<p>I soon noticed as I was cracking myself up over making the DROID say things like &#8220;Then I put my hands up, they&#8217;re playing my song&#8221; that I&#8217;d really like the option to repeat what it just said.Â  So I decided to code it.Â  Please be gentle on me; I do not profess to be an expert coder, I just hack stuff together till it works.Â  Any suggestions would be appreciated.</p>
<p>First thing I did was take the original code and wrap it in a while loop.Â  This will repeat the phrase as many times as I like, as long as the condition remains true:</p>
<p>[python]</p>
<p>&quot;&quot;&quot;Speak user generated text.&quot;&quot;&quot;</p>
<p>__author__ = &#8216; Brett Peterson &lt;brettjpeterson@gmail.com&gt;&#8217;</p>
<p>import android</p>
<p>droid = android.Android()</p>
<p>message = droid.getInput(&#8216;TTS&#8217;, &#8216;What would you like to say?&#8217;).result<br />
droid.ttsSpeak(message)</p>
<p>repeat = droid.getInput(&#8216;repeat&#8217;, &#8216;Repeat? Y/N&#8217;).result<br />
while repeat == &quot;y&quot;:<br />
  droid.ttsSpeak(message)<br />
  repeat = droid.getInput(&#8216;repeat&#8217;, &#8216;Repeat? Y/N&#8217;).result</p>
<p>[/python]</p>
<p><span id="more-29"></span></p>
<p><a href="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/02/repeat.png"><img class="alignnone size-medium wp-image-37" title="repeat" src="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/02/repeat-300x168.png" alt="repeat" width="300" height="168" /></a></p>
<p>That while loop repeats the phrase as long as the user types &#8220;y&#8221;, anything else will have it move on.Â  So just like that, with no previous python experience and a couple google searches later, I tailored the script to fit my specific need.Â  I could have stopped there, but another thing that I didn&#8217;t like about the tiny original script was the fact that I would have to reset it every time I wanted to do a new one.Â  I decided it would be better if after I chose not to repeat the previous phrase, I could choose to do another one:</p>
<p>[python]</p>
<p>&quot;&quot;&quot;Speak user generated text.&quot;&quot;&quot;</p>
<p>__author__ = &#8216;Damon Kohler &lt;damonkohler@gmail.com&gt; modified by Brett Peterson &lt;brettjpeterson@gmail.com&gt;&#8217;<br />
__copyright__ = &#8216;Copyright (c) 2009, Google Inc.&#8217;<br />
__license__ = &#8216;Apache License, Version 2.0&#8242;</p>
<p>import android</p>
<p>droid = android.Android()<br />
newOne = &quot;y&quot;<br />
while newOne == &quot;y&quot;:<br />
 message = droid.getInput(&#8216;TTS&#8217;, &#8216;What would you like to say?&#8217;).result<br />
 droid.ttsSpeak(message)</p>
<p> repeat = droid.getInput(&#8216;repeat&#8217;, &#8216;Repeat? Y/N&#8217;).result<br />
 while repeat == &quot;y&quot;:<br />
  droid.ttsSpeak(message)<br />
  repeat = droid.getInput(&#8216;repeat&#8217;, &#8216;Repeat? Y/N&#8217;).result</p>
<p> newOne = droid.getInput(&#8216;Have another go?&#8217;, &#8216;y/n&#8217;).result</p>
<p>[/python]</p>
<p><a href="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/02/again.png"><img class="alignnone size-medium wp-image-38" title="again" src="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/02/again-300x168.png" alt="again" width="300" height="168" /></a></p>
<p>So I put a while loop around the whole thing and at the end just asked the user if they would like to have another go.Â  That&#8217;s it!Â  Try writing it yourself, or open up ASE and click Menu &gt; Add &gt; Scan barcode and scan the below file.Â  Enjoy</p>
<p><a href="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/02/qrCode_talk_mod.png"><img src="http://www.submergedspaceman.com/blog/wp-content/uploads/2010/02/qrCode_talk_mod-300x300.png" alt="" title="qrCode_talk_mod" width="300" height="300" class="alignnone size-medium wp-image-127" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://www.submergedspaceman.com/blog/?feed=rss2&#038;p=29</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
	</channel>
</rss>
