<?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/"
	xmlns:georss="http://www.georss.org/georss" xmlns:geo="http://www.w3.org/2003/01/geo/wgs84_pos#" xmlns:media="http://search.yahoo.com/mrss/"
	>

<channel>
	<title>Hack a Day &#187; software</title>
	<atom:link href="http://hackaday.com/tag/software/feed/" rel="self" type="application/rss+xml" />
	<link>http://hackaday.com</link>
	<description>Fresh hacks every day</description>
	<lastBuildDate>Fri, 10 Feb 2012 11:18:55 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.com/</generator>
<cloud domain='hackaday.com' port='80' path='/?rsscloud=notify' registerProcedure='' protocol='http-post' />
<image>
		<url>http://1.gravatar.com/blavatar/5560f98f805877b0e332f191cb9e0af3?s=96&#038;d=http%3A%2F%2Fs2.wp.com%2Fi%2Fbuttonw-com.png</url>
		<title>Hack a Day &#187; software</title>
		<link>http://hackaday.com</link>
	</image>
	<atom:link rel="search" type="application/opensearchdescription+xml" href="http://hackaday.com/osd.xml" title="Hack a Day" />
	<atom:link rel='hub' href='http://hackaday.com/?pushpress=hub'/>
		<item>
		<title>Playing SNES with an R/C controller</title>
		<link>http://hackaday.com/2011/08/14/playing-snes-with-an-rc-controller/</link>
		<comments>http://hackaday.com/2011/08/14/playing-snes-with-an-rc-controller/#comments</comments>
		<pubDate>Sun, 14 Aug 2011 13:00:42 +0000</pubDate>
		<dc:creator>Brian Benchoff</dc:creator>
				<category><![CDATA[classic hacks]]></category>
		<category><![CDATA[nintendo hacks]]></category>
		<category><![CDATA[radio hacks]]></category>
		<category><![CDATA[fubata]]></category>
		<category><![CDATA[fubata code]]></category>
		<category><![CDATA[nintendo]]></category>
		<category><![CDATA[radio]]></category>
		<category><![CDATA[rc]]></category>
		<category><![CDATA[snes]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=52332</guid>
		<description><![CDATA[Normally when we see an R/C transmitter used in a build we&#8217;re prepared for robots, quadcopters, or UAVs. [Alex] found a new use for his Futaba radio &#8211; hooking it up to his Super Nintendo. We&#8217;ve seen a lot of builds using game controllers as interfaces to other hardware. The N64 media remote comes to [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=52332&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://hackadaycom.files.wordpress.com/2011/08/fubata.png"><img class="alignnone size-full wp-image-52378" title="fubata" src="http://hackadaycom.files.wordpress.com/2011/08/fubata.png" alt="" width="470" height="305" /></a></p>
<p>Normally when we see an R/C transmitter used in a build we&#8217;re prepared for robots, quadcopters, or UAVs. [Alex] found a new use for his Futaba radio &#8211; <a href="http://brainlubeonline.com/Futaba2SNES/RC_SNES%21.html">hooking it up to his Super Nintendo</a>.</p>
<p>We&#8217;ve seen a lot of builds using game controllers as interfaces to other hardware. The <a href="http://hackaday.com/2011/05/14/bluetooth-media-remote-in-an-n64-controller/">N64 media remote</a> comes to mind, as does the <a href="http://hackaday.com/2007/01/12/ipod-nes-controller/">NES iPod dock</a>. Outside of a few builds to <a href="http://hackaday.com/2011/02/02/automating-automatic-racing/">automatically win in-game currency for you</a>, we haven&#8217;t seen much of anything to control a video game with additional electronics. [Alex]&#8216;s build happily bucks that trend, and <em>technically</em> gives the SNES an analog controller.</p>
<p>The build uses an <a href="http://mbed.org/">mBed microcontroller</a> to capture the radio&#8217;s button and stick positions. This is sent through a two shift registers to produce the 16-bit packet required of the SNES controller protocol. [Alex] posted all the <a href="http://brainlubeonline.com/Futaba2SNES/CODE.html">software</a> for his build, and from the looks of it the code seems pretty portable. [Alex] says he&#8217;s working on getting his Sega Saturn running with his Futaba, so we can&#8217;t wait to see some <em>Panzer Dragoon</em> action. Check out [Alex] demoing his controller with Gradius III after the break.</p>
<p><span id="more-52332"></span></p>
<span style="text-align:center; display: block;"><a href="http://hackaday.com/2011/08/14/playing-snes-with-an-rc-controller/"><img src="http://img.youtube.com/vi/uMvOR4fW50Q/2.jpg" alt="" /></a></span>
<br />Filed under: <a href='http://hackaday.com/category/classic-hacks/'>classic hacks</a>, <a href='http://hackaday.com/category/nintendo-hacks/'>nintendo hacks</a>, <a href='http://hackaday.com/category/radio-hacks/'>radio hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/52332/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/52332/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/52332/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/52332/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/52332/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/52332/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/52332/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/52332/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/52332/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/52332/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/52332/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/52332/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/52332/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/52332/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=52332&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/08/14/playing-snes-with-an-rc-controller/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">brianbenchoff</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/08/fubata.png" medium="image">
			<media:title type="html">fubata</media:title>
		</media:content>
	</item>
		<item>
		<title>Body heat sensing PC security system</title>
		<link>http://hackaday.com/2011/04/08/body-heat-sensing-pc-security-system/</link>
		<comments>http://hackaday.com/2011/04/08/body-heat-sensing-pc-security-system/#comments</comments>
		<pubDate>Fri, 08 Apr 2011 11:03:58 +0000</pubDate>
		<dc:creator>Mike Nathan</dc:creator>
				<category><![CDATA[pcs hacks]]></category>
		<category><![CDATA[security hacks]]></category>
		<category><![CDATA[ir]]></category>
		<category><![CDATA[security]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[temperature monitoring]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=39744</guid>
		<description><![CDATA[[Didier Stevens] wrote in to tell us about a little piece of PC security software he put together recently. His application, LockIfNotHot, works in conjunction with your PC as well as an IR temperature sensor in order to lock your computer the moment you step away. The theory behind the system is pretty simple. Basically, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=39744&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-39745" title="lockifnothot" src="http://hackadaycom.files.wordpress.com/2011/04/lockifnothot.jpg" alt="lockifnothot" width="470" height="259" /></p>
<p>[Didier Stevens] wrote in to tell us about a little piece of PC security software he put together recently. His application, <a href="http://blog.didierstevens.com/2011/04/06/lockifnothot/" target="_blank">LockIfNotHot</a>, works in conjunction with your PC as well as an IR temperature sensor in order to lock your computer the moment you step away.</p>
<p>The theory behind the system is pretty simple. Basically, the IR temp sensor monitors when you are at your desk, sensing your presence by the heat your body gives off. As soon as you step away however, it locks the computer since the temperature of the surrounding area immediately drops. It’s pretty simple, but as you can see in the video below, it works quite well.</p>
<p>The software has configurable set points and timeout values, which make it flexible enough to adapt to your specific situation. He happens to use an off-the-shelf IR sensor, but we assume any USB temperature module will do the trick. If you happen to work with sensitive information but often forget to lock your workstation, this is the program for you!</p>
<p>Continue reading to see a quick demonstration of his software in action.</p>
<p><span id="more-39744"></span><span style="text-align:center; display: block;"><a href="http://hackaday.com/2011/04/08/body-heat-sensing-pc-security-system/"><img src="http://img.youtube.com/vi/QynGtoxpRg4/2.jpg" alt="" /></a></span></p>
<br />Filed under: <a href='http://hackaday.com/category/pcs-hacks/'>pcs hacks</a>, <a href='http://hackaday.com/category/security-hacks/'>security hacks</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/39744/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/39744/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/39744/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/39744/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/39744/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/39744/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/39744/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/39744/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/39744/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/39744/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/39744/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/39744/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/39744/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/39744/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=39744&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/04/08/body-heat-sensing-pc-security-system/feed/</wfw:commentRss>
		<slash:comments>24</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">mikenathanathackaday</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/04/lockifnothot.jpg" medium="image">
			<media:title type="html">lockifnothot</media:title>
		</media:content>
	</item>
		<item>
		<title>555 Timer circuit simulation software</title>
		<link>http://hackaday.com/2011/02/08/555-timer-circuit-simulation-software/</link>
		<comments>http://hackaday.com/2011/02/08/555-timer-circuit-simulation-software/#comments</comments>
		<pubDate>Tue, 08 Feb 2011 21:31:11 +0000</pubDate>
		<dc:creator>Mike Nathan</dc:creator>
				<category><![CDATA[contests]]></category>
		<category><![CDATA[555 timer]]></category>
		<category><![CDATA[circuits]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=34460</guid>
		<description><![CDATA[[FightCube] wrote in recommending a very helpful piece of circuit simulation software for those of you still constructing entries for the 555 design contest.   LTSpiceIV, available from Linear Technology, allows you to construct moderately complex 555 driven circuits including common components such as capacitors, resistors, diodes, FETs, and more.  Once you have constructed your [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=34460&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-34472" title="ltspiceiv_demo" src="http://hackadaycom.files.wordpress.com/2011/02/ltspiceiv_demo.jpg" alt="ltspiceiv_demo" width="470" height="330" /></p>
<p>[FightCube] wrote in recommending a <a href="http://badwolf.hackhut.com/2011/02/08/simulate-your-555-timer-circuits-with-ease/" target="_blank">very helpful piece of circuit simulation software</a> for those of you still constructing entries for the <a href="http://555contest.com/" target="_blank">555 design contest</a>.   LTSpiceIV, available from Linear Technology, allows you to construct moderately complex 555 driven circuits including common components such as capacitors, resistors, diodes, FETs, and more.  Once you have constructed your circuit, you can view the results in an easy to use visualization window, without ever having to touch your soldering iron or a breadboard.  According to [FightCube], the software is fairly easy to use, and best of all, it&#8217;s free.</p>
<p>He has shared one basic circuit he built as a demonstration of the software&#8217;s capabilities, and promises to share more in order to motivate others to enter the contest.</p>
<br />Filed under: <a href='http://hackaday.com/category/contests/'>contests</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/34460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/34460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/34460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/34460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/34460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/34460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/34460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/34460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/34460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/34460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/34460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/34460/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/34460/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/34460/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=34460&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2011/02/08/555-timer-circuit-simulation-software/feed/</wfw:commentRss>
		<slash:comments>17</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">mikenathanathackaday</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2011/02/ltspiceiv_demo.jpg" medium="image">
			<media:title type="html">ltspiceiv_demo</media:title>
		</media:content>
	</item>
		<item>
		<title>Android Development 101 &#8211; Part 6:Getting ready for Market!</title>
		<link>http://hackaday.com/2010/08/10/android-development-101-part-6getting-ready-for-market/</link>
		<comments>http://hackaday.com/2010/08/10/android-development-101-part-6getting-ready-for-market/#comments</comments>
		<pubDate>Tue, 10 Aug 2010 19:00:52 +0000</pubDate>
		<dc:creator>Greg R. Jacobs</dc:creator>
				<category><![CDATA[android hacks]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[tutorial]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=26996</guid>
		<description><![CDATA[In this tutorial we are going to cover packaging one of our applications into an .apk file and getting it ready for the Android Market.  After we have completed this tutorial you should be able to use the tools provided in the AndroidSDK to sign your application, put the application on your phone and install [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=26996&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/08/android-market-apps.jpg"><img class="alignnone size-full wp-image-27020" title="android-market-apps" src="http://hackadaycom.files.wordpress.com/2010/08/android-market-apps.jpg" alt="" width="247" height="243" /></a></div>
<div>In this tutorial we are going to cover packaging one of our applications into an .apk file and getting it ready for the Android Market.  After we have completed this tutorial you should be able to use the tools provided in the AndroidSDK to sign your application, put the application on your phone and install it or send it to the Android Market.  These will be great assets to have if you decide to develop applications that you may want to charge for.  This tutorial will also be a change from the normal ones because it will include little, if any, code.</div>
<div><span id="more-26996"></span><br />
To start off, if you have great aspirations for marketing your applications to others make sure to sign up for a <a href="http://market.android.com/publish/Home">developer account</a> and pay the one time fee of <strong>$25 USD</strong>.  This will ensure that not just anyone is publishing to the market.  If your not looking to shell out the money then you can continue with the tutorial and give anyone who wants your app the file to put on their SD card. Whether you decide to do this step or not we still need to version our application.  We are going to use the <strong>EnhancedQuotes </strong>Project for this example.  We are going to open up the <strong>Android Manifest</strong> in enhanced quotes and put some code in here so we can version our application.</p>
<p>Versioning an application means that we make the application able to accept updates if something breaks or we are adding more features.  Once the Android Manifest is open we are going to modify the line where it says</p>
<p><pre class="brush: xml;">
&lt;manifest xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; package=&quot;com.gregjacobs.enhancedquotes&quot; &gt;
</pre></p>
<p>and add in</p>
<p><pre class="brush: xml;">
&lt;android:versionCode=”1” android:versionName=”1.0” &gt;
</pre></p>
<p>so that the line should look like</p>
<p><pre class="brush: xml;">
&lt;manifest xmlns:android=&quot;http://schemas.android.com/apk/res/android&quot; package=&quot;com.gregjacobs.enhancedquotes&quot; android:versionCode=”1” android:versionName=”1.0”&gt;
</pre></p>
<p>This tells the device we run the app on that this is version one and anything that comes along that is higher will be upgraded.  We need to add in a minSDKVersion as well so the Android Market can tell which devices can use our application.  We need to add</p>
<p><pre class="brush: xml;">
&lt;uses-sdk android:minSdkVersion=&quot;3&quot; /&gt;
</pre></p>
<p>underneath the /application node that will be shown below. We also want to add a specific icon so that our application stands out from all the other ones on a persons device.  I chose <a href="http://www.iconarchive.com/icons/mysitemyway/clean-3d/48/glossy-3d-blue-shield-icon.png">this icon</a> and saved it to an easy to find place, naming it icon.png, then dragging onto the drawable folder in res/.  Eclipse will ask you if you would like to overwrite, just say yes.</p>
</div>
<p><a href="http://hackadaycom.files.wordpress.com/2010/08/manifest.png"></a></p>
<p style="text-align:center;"><img class="aligncenter size-thumbnail wp-image-27007" title="Manifest" src="http://hackadaycom.files.wordpress.com/2010/08/manifest.png?w=99&#038;h=96" alt="" width="99" height="96" /></p>
<div style="text-align:left;">We now need a private key that will allow us to sign applications by using this key in the signing process. It will have to be your, it will show its either for your work or personal development depending on how its created and have a period of time before it expires.  To make a private key we are going to use the keytool found in our <strong>C:/Program Files/Java/jre6</strong> folder.  Once inside the jre6 folder, hold <strong>shift </strong>and <strong>right click</strong> on the bin folder and choose the option that says <strong>Open command window here</strong>.  Once in the command promp we are going to run <strong>keytool </strong>with a bunch of commands that will assist us in making a private key. The command to be entered into the command window will be as follows:</div>
<div>
<p><strong>keytool -genkey -v -keystore C:/MyKeygen.keystore</strong><strong> </strong><strong>-alias MyKey -keyalg RSA -keysize 2048 -validity 10000.</strong></p>
</div>
<div>
<p>Now that we have the command entered we can step through and determine what each of these variables is doing for the keytool.</p>
<ul>
<li><strong>-genkey &#8211; </strong>Initiates the start of the making a key pair.</li>
<li><strong>-v &#8211; </strong>Enables output to be shown to the user making the keystore.</li>
<li><strong>-keystore &#8211; </strong>After this variable will contain the location and the name of the keystore we are going to make.</li>
<li><strong>-alias &#8211; </strong>Gives the keystore a shorter name or nickname if you will.</li>
<li><strong>-keyalg &#8211; </strong>This is the type of encryption used and can be either RSA or DSA encoded.</li>
<li><strong>-keysize &#8211; </strong>The size of each key that is generated.  This is recommended to be at least 2048 bits or higher as stated by Google.  The default is 1024 bits.</li>
<li><strong>-validity &#8211; </strong>The number of days the key is valid.  This should be no less than 10000 but is recommended to go higher.</li>
</ul>
</div>
<div>After pressing enter when done entering the command above you will be prompted to answer a series of questions so Google can validate this key.  The first question will be a password for the key and it will prompt you to re-enter it as well.  The password will not show up when pressing keys but it is working and it is key to remember this password because we will use this when packaging our app.  Next question will ask for your first and last name.  The thirst question asks for the unit you are in, I put development since we are programming for android.  Next is your organization, remembering if you aren’t programming for one just enter your name or whatever you wish.  Next is just the city you are located in.  Then state or province depending on your locale.  Enter the two digit country code that you are in, for example Canada would be CA and United States of America would be US.  It will then prompt us if this information is correct, if it is type n yes then press enter.  It will now prompt you for a password for mykey, press enter as we will use the same key as the keystore password.</div>
<div>
<p style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/08/keystore.png"><img class="size-thumbnail wp-image-27008    aligncenter" title="KeyStore" src="http://hackadaycom.files.wordpress.com/2010/08/keystore.png?w=105&#038;h=96" alt="" width="105" height="96" /></a></p>
<p>We are now ready to sign the application and get it ready for deployment to the Android Market.  We do this by going to eclipse and in the Package Explorer right click on EnhancedQuotes, go to <strong>Android Tools</strong> then click <strong>Export Signed Application Package&#8230;</strong>.  This will open up a dialog box asking you the project you want to export, click <strong>next </strong>as the one we want is selected.  Now we want to click the <strong>browse </strong>button on this page and locate our keystore file we created earlier, make sure to enter the password for it and click <strong>next</strong>.  Choose the alias we created for it and enter the same password as before and click <strong>next</strong>.  Now choose the destination for the <em>APK </em>file we are about to create, I am choosing the <strong>C Drive</strong>. Click Finish and the <em>APK </em>file will be created in the directory we chose.</p>
</div>
<div style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/08/devsite.png"><img class="alignnone size-thumbnail wp-image-27010" title="DevSite" src="http://hackadaycom.files.wordpress.com/2010/08/devsite.png?w=120&#038;h=96" alt="" width="120" height="96" /></a><a href="http://hackadaycom.files.wordpress.com/2010/08/devsite1.png"><img class="alignnone size-thumbnail wp-image-27011" title="DevSite1" src="http://hackadaycom.files.wordpress.com/2010/08/devsite1.png?w=120&#038;h=96" alt="" width="120" height="96" /></a><a href="http://hackadaycom.files.wordpress.com/2010/08/devsite2.png"><img class="alignnone size-thumbnail wp-image-27012" title="DevSite2" src="http://hackadaycom.files.wordpress.com/2010/08/devsite2.png?w=120&#038;h=96" alt="" width="120" height="96" /></a><a href="http://hackadaycom.files.wordpress.com/2010/08/devsite3.png"><img class="alignnone size-thumbnail wp-image-27013" title="DevSite3" src="http://hackadaycom.files.wordpress.com/2010/08/devsite3.png?w=120&#038;h=96" alt="" width="120" height="96" /></a><a href="http://hackadaycom.files.wordpress.com/2010/08/devsite4.png"><img class="alignnone size-thumbnail wp-image-27014" title="DevSite4" src="http://hackadaycom.files.wordpress.com/2010/08/devsite4.png?w=120&#038;h=96" alt="" width="120" height="96" /></a></div>
<div><a href="http://hackadaycom.files.wordpress.com/2010/08/devsite4.png"></a><br />
We now have two choices for publishing our app, the first being deploy on your android device by dropping it on the SD card and downloading an app installer like <strong>appInstaller</strong> from the marketplace or deploy to the android community via the <strong>Developer Publish</strong> site.  We are going to publish to market in this tutorial.  Navigate to the <a href="http://market.android.com/publish/Home">publisher site</a>, log in and then click on the button that says <strong>Upload Application</strong>.  We now need to find the <em>APK </em>file via the first browse button then enter some information about the application.  After filling out the<em> Title, Description, Application type and category, choosing your publishing options and filling out contact information and finally agree to the terms by checking the checkboxes</em> we can finally press <strong>Publish</strong>.  After pressing Publish the application is sent to the market and you can have millions of Android users use your application.  In the demo of this application the app I signed was actually sent to market and can be found by clicking search in the Market and entering in <strong>Quotes Viewer/Generator</strong>.  The link provided will only work on an android device, or you could scan the QR code below if you wanted to get there faster.</div>
<p style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/08/android-developer.png"><img class="size-thumbnail wp-image-27017    aligncenter" title="Android Developer" src="http://hackadaycom.files.wordpress.com/2010/08/android-developer.png?w=96&#038;h=96" alt="" width="96" height="96" /></a></p>
<p style="text-align:center;"><a href="http://gregrjacobs.com/apps/Android/EnhancedQuotes.apk" target="_self">APK File</a></p>
<p style="text-align:center;">
<div>
<p>This series of tutorials has covered the basics of development in an Android Environment to packaging up your applications and getting them ready for market.  Now that we have the basics of Android development down we can start on tutorials about more advanced subjects including but not limited to bluetooth control/chat.  I hope everyone that has read Android Development 101 has found it useful and looks forward to more. Happy Hacking until the next tutorial!</p>
</div>
<br />Filed under: <a href='http://hackaday.com/category/android-hacks/'>android hacks</a>, <a href='http://hackaday.com/category/software-development/'>Software Development</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/26996/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/26996/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/26996/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/26996/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/26996/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/26996/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/26996/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/26996/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/26996/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/26996/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/26996/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/26996/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/26996/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/26996/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=26996&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/08/10/android-development-101-part-6getting-ready-for-market/feed/</wfw:commentRss>
		<slash:comments>22</slash:comments>
		<georss:point>43.002684 -81.214990</georss:point>
		<geo:lat>43.002684</geo:lat>
		<geo:long>-81.214990</geo:long>
		<media:content url="" medium="image">
			<media:title type="html">greggers120588</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/08/android-market-apps.jpg" medium="image">
			<media:title type="html">android-market-apps</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/08/manifest.png?w=99" medium="image">
			<media:title type="html">Manifest</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/08/keystore.png?w=105" medium="image">
			<media:title type="html">KeyStore</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/08/devsite.png?w=120" medium="image">
			<media:title type="html">DevSite</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/08/devsite1.png?w=120" medium="image">
			<media:title type="html">DevSite1</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/08/devsite2.png?w=120" medium="image">
			<media:title type="html">DevSite2</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/08/devsite3.png?w=120" medium="image">
			<media:title type="html">DevSite3</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/08/devsite4.png?w=120" medium="image">
			<media:title type="html">DevSite4</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/08/android-developer.png?w=96" medium="image">
			<media:title type="html">Android Developer</media:title>
		</media:content>
	</item>
		<item>
		<title>Extra extra: Now legal to jailbreak iPhone</title>
		<link>http://hackaday.com/2010/07/28/extra-extra-now-legal-to-jailbreak-iphone/</link>
		<comments>http://hackaday.com/2010/07/28/extra-extra-now-legal-to-jailbreak-iphone/#comments</comments>
		<pubDate>Wed, 28 Jul 2010 13:10:54 +0000</pubDate>
		<dc:creator>Jakob Griffith</dc:creator>
				<category><![CDATA[news]]></category>
		<category><![CDATA[cellphone]]></category>
		<category><![CDATA[circumvention]]></category>
		<category><![CDATA[company]]></category>
		<category><![CDATA[copyright]]></category>
		<category><![CDATA[dvd]]></category>
		<category><![CDATA[exemptions]]></category>
		<category><![CDATA[fine]]></category>
		<category><![CDATA[illegal]]></category>
		<category><![CDATA[iphone]]></category>
		<category><![CDATA[jailbreak]]></category>
		<category><![CDATA[legal]]></category>
		<category><![CDATA[program]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[video]]></category>
		<category><![CDATA[warranty]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=26533</guid>
		<description><![CDATA[For those living under a rock, the latest &#8216;greatest&#8217; news to hit hacking front page is the the Copyright Office granting Six Exemptions Regarding the Circumvention of Access-Control Technologies. Of the six the one of the two regarding iPhones is as follows, &#8220;(2) Computer programs that enable wireless telephone handsets to execute software applications, where [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=26533&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-26534" title="Oh teh noes! It's the cyber police here to arrest me for jailbreaking. I can't believe they back traced it!" src="http://hackadaycom.files.wordpress.com/2010/07/iphone-3gs.jpg" alt="" width="470" height="253" /></p>
<p>For those living under a rock, the latest &#8216;greatest&#8217; news to hit hacking front page is the the Copyright Office granting <a href="http://www.loc.gov/today/pr/2010/10-169.html">Six Exemptions Regarding the Circumvention of Access-Control Technologies</a>. Of the six the one of the two regarding iPhones is as follows,</p>
<p>&#8220;(2) Computer programs that enable wireless telephone handsets to execute software applications, where circumvention is accomplished for the sole purpose of enabling interoperability of such applications, when they have been lawfully obtained, with computer programs on the telephone handset.&#8221;</p>
<p>Which (along with section 3) really just means that you can unlock and crack cellphones and companies can no longer fine you $2,500. Not that many ever <em>have</em> but the threat was there. Apple however, can and still will void your warranty if you jailbreak.</p>
<p>The 4 other areas not involving phones are the ability to circumvent DVDs for portions of video, video games in order to better the security of said game, computer programs that require dongles but dongles are no longer available, and literary works that prevent read-aloud or rendering to a specialized format.</p>
<p>One tidbit I keep hearing about in these exemptions is the ability to now break DRM on <em>music</em>, as much as I wish this were true, I can&#8217;t seem to find any sources on it, sorry pirates.</p>
<p>Regardless, now that the world is one step closer to an open framework, whats changed? For me, I&#8217;ve been jailbroken for years so sadly nothing. If you agree with the ruling, disagree, or just want to tell about your now legal jailbreaking joys, please leave a comment.</p>
<p>Additional Sources: <a href="http://www.foxnews.com/scitech/2010/07/26/apple-iphone-jailbreak-unapproved-apps/?test=latestnews">FOXNews</a> and <a href="http://money.cnn.com/2010/07/26/technology/iphone_jailbreaking/index.htm">CNNMoney</a> thanks to [Voyagerfan99], [Ryan Knight], and [Steve S.] respectively.</p>
<p>[Image credit: <a href="http://www.flickr.com/photos/fr3d/2660915827/">Fr3d.org</a>]</p>
<br />Filed under: <a href='http://hackaday.com/category/news/'>news</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/26533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/26533/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/26533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/26533/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/26533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/26533/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/26533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/26533/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/26533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/26533/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/26533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/26533/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/26533/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/26533/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=26533&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/07/28/extra-extra-now-legal-to-jailbreak-iphone/feed/</wfw:commentRss>
		<slash:comments>33</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Jakob Griffith</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/iphone-3gs.jpg" medium="image">
			<media:title type="html">Oh teh noes! It&#039;s the cyber police here to arrest me for jailbreaking. I can&#039;t believe they back traced it!</media:title>
		</media:content>
	</item>
		<item>
		<title>Android Development 101- Part 2:Graphical Elements</title>
		<link>http://hackaday.com/2010/07/19/android-development-101-part-2improved-hello-world/</link>
		<comments>http://hackaday.com/2010/07/19/android-development-101-part-2improved-hello-world/#comments</comments>
		<pubDate>Mon, 19 Jul 2010 14:27:46 +0000</pubDate>
		<dc:creator>Greg R. Jacobs</dc:creator>
				<category><![CDATA[android hacks]]></category>
		<category><![CDATA[Software Development]]></category>
		<category><![CDATA[android]]></category>
		<category><![CDATA[development]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=26212</guid>
		<description><![CDATA[In this tutorial, we will be continuing from where we left off with the “hello world” application.  This time adding a graphical user interface (GUI) and a “toast”. The GUI will consist of a button, textbox and a label. The “toast” will be issued onto the screen when the button is pressed. Some may wonder [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=26212&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<div>
<p id="internal-source-marker_0.7013613982126117" style="text-align:center;">
<div style="text-align:center;"><img src="https://lh5.googleusercontent.com/tmG03_E95y_ceOn37-e6dVhj6l-McikGPvdm80Py_NK6_3PeQRwceHlOQW-pNyktB0WlbJgautrZX87iaHLWYe0QLUHlFX84YavnF1A5JmuzadS5" alt="" width="474px;" height="296px;" /></div>
<p>In this tutorial, we will be continuing from where we left off with the “<a href="http://hackaday.com/2010/07/15/android-dev-101-%E2%80%93-part-1hello-world/">hello world</a>” application.  This time adding a graphical user interface (GUI) and a “toast”. The GUI will consist of a button, textbox and a label. The “toast” will be issued onto the screen when the button is pressed.</p>
<p>Some may wonder what a toast is.  Well, for non-programmers, a toast is a text notification that for the most part is used only to display an error on the screen (I am a big fan of using toasts instead of an alert on the screen as its less intrusive).  For this article we will use a toast to display a message on the screen that will take the text in the textbox and issue a “Hello Greg” onto the bottom of the screen.  After this article completed you will be able to successfully make toast commands, design the layout of the hello world program, and pull text from a textbox.</p>
<p><span id="more-26212"></span></p>
<p>We are going to start off by copy our <a href="http://hackaday.com/2010/07/15/android-dev-101-%E2%80%93-part-1hello-world/">existing Hello World project</a> so that we can use the original in every way but have two separate projects to show the difference and both can be used as references.  To do this we will right click on the root of our <strong>HelloWorld </strong>project in the right hand pane (Navigation Explorer), navigate to copy (<em><span style="text-decoration:underline;">not </span></em><strong>Copy Qualified Name</strong>) and click it.  Then find a blank space in the Navigation Explorer, right click again and click paste.  You will be asked to supply a new name for this project and whether to use the default location.  We will name the new project <strong>ImprovedHelloWorld </strong>and we will leave the checkbox checked that says “use default location”.  Press <strong>OK </strong>and the new project will be generated from the old one.</p>
<p style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/07/strings1.png"><img class="alignnone size-thumbnail wp-image-26238" title="Strings" src="http://hackadaycom.files.wordpress.com/2010/07/strings1.png?w=123&#038;h=96" alt="" width="123" height="96" /></a></p>
<p style="text-align:left;">The first thing we are going to accomplish is changing the <em>strings.xml</em> file to add another node under <em>app_name</em>.  We will do this by copying the node above it and pasting the copied material directly under the last <em>&lt;/string&gt;</em> element.  Then we will change the name of the string to press and in between we will write <strong>Press Me!</strong>.  Next we will alter the <strong>hello </strong>node and change the text to say <strong>Enter Your Name Here:</strong> instead of <strong>Hello Android, Hello World!</strong>. This being accomplished we now need to design the GUI (Graphical User Interface).</p>
<p style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/07/main1.png"><img class="alignnone size-thumbnail wp-image-26239" title="main" src="http://hackadaycom.files.wordpress.com/2010/07/main1.png?w=123&#038;h=96" alt="" width="123" height="96" /></a></p>
<p style="text-align:left;">To do this navigate to main.xml and we are going to go over what everything does up to this point.  We first off have a node called <strong>LinearLayout </strong>which essentially creates a space for adding objects such as textboxes, buttons and the like and will format the layout for us.  So LinearLayout will organize one thing right after the other in a one column and one row type of deal.  Next we have a <strong>TextView </strong>which in any other label we could call a label.  Now to go over what all of the parameters are in the nodes we just mentioned.  <strong>android:layout_width</strong> &amp; <strong>android:layout_height</strong> are used to determine what will happen to an object when it is used within a layout.  There are two options when using this and they are <em>fill_parent </em>or <em>wrap_content</em>.  <em>fill_parent </em>will do exactly as it states, it will size the object so that it will fill the screen either vertically or horizontally.  <em>wrap_content </em>will format the object to expand or shrink to the size of the content displayed within.  Both of these variables can be used in many different objects including but not limited to <strong>Layouts</strong>, <strong>Text Views</strong>,<strong> Text Boxes</strong>, and <strong>Buttons</strong>.  android:text is used in certain objects like TextViews and TextBoxes to display text to the user.  As of right now, we are presenting the user with text but calling it from strings.xml instead of entering the text right in the node itself.  To reference <em>strings.xml</em> all that is needed is to put <em>@string/pres</em>s, where press is the name of your variable, inside the quotations.</p>
<p style="text-align:left;">Now that we are familiar with the terms, we will need to modify this to first house a label, textbox and finally a button.  To do this we will simply add a textbox and button since we already took care of the label in the <em>string.xml</em>.  To add a Textbox we will start on a new line under ending of the <em>&lt;TextView /&gt;</em> node.  Just to be clear I will add code inline and explain why we are adding it afterwards. <strong> &lt;EditText android:id=”@+id/helloName” android:layout_width=”fill_parent” android:layout_height=”wrap_content” /&gt;</strong>.  EditText will be our textbox in this instance.  Also when giving items an ID it is best to follow these practises of adding <strong>@+id/</strong> before your variable name which makes it possible to tie into your <em>.java</em> file later.  Next we will add <strong>&lt;Button android:id=”@+id/go” android:layout_width=”fill_parent” android:layout_height=”wrap_content” android:text=”@string/press” /&gt;</strong> directly underneath the ending of our <em>EditText </em>node.  Notice we are referencing the<em> string.xml</em> and calling the node that says <strong>Press Me!</strong> which will appear on our button now.  If you were to run this project now you would be able to see the layout of the program we just made but we are unable to get it to do anything except enter text in the textbox.</p>
<p>This next section will contain a lot of code and I will provide most of the screenshots of the code to help you through.  First, it is good to realize every time you would like to reference an object in your layout we need to import it.  We will need to add imports for our button and textbox.  We can do that bu adding these lines of code to the imports section at the top:</p>
<p><pre class="brush: java;">
import android.widget.Button;
import android.widget.EditText;
</pre></p>
<p><strong> </strong><br />
After that we will need to include four more imports, the first being for event listen to add to our button, the second will be for the toast that we will call when the event handler runs, the third being the context of the application and the fourth to get the view of the application and handle the layout and interaction.  These imports can be added under the previous ones and will look like this:</p>
<p><pre class="brush: java;">
import android.view.View.OnClickListener;
import android.widget.Toast;
import android.content.Context;
import android.view.View;
</pre></p>
<p><strong> </strong><br />
After these are added to your imports we are ready to get into coding the event handler for our button and the onCreate functions, which is called when the program is started.  To make things easier and to complement the screenshot, I will post the rest of the code and explain what the important lines are doing and why we are using them.</p>
<p><pre class="brush: java;">
public class HelloMain extends Activity {
EditText helloName;
</pre></p>
<p><strong><br />
<span style="font-weight:normal;"> We are creating a reference to our textbox above any function so that it only has to be declared once but instantiated many times if need be.</span></strong></p>
<p><strong> </strong></p>
<p><pre class="brush: java;">
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
// Capture our button from layout
Button button = (Button)findViewById(R.id.go);
// Register the onClick listener with the implementation above
button.setOnClickListener(mAddListener);
}
</pre></p>
<p>Above we capture the button from the layout using a variable.  With this variable we are going to assign it an onClick Event Handler as shown on the last line above.  Below we are creating the Event Handler for it to be hooked in above.  After creating this function it will be able to pull the text from the TextBox and display it with static text.</p>
<p><pre class="brush: java;">
// Create an anonymous implementation of OnClickListener
private OnClickListener mAddListener = new OnClickListener()
{
public void onClick(View v)
{
long id = 0;
// do something when the button is clicked
try
{
helloName = (EditText)findViewById(R.id.helloName);
</pre></p>
<p>Here we instantiate the TextBox we declared earlier and capture the Textbox in the layout by finding it by the ID that we gave it.</p>
<p><pre class="brush: java;">
Context context = getApplicationContext();
CharSequence text = &quot;Hello &quot; + helloName.getText() + &quot;!&quot;;
int duration = Toast.LENGTH_LONG;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
</pre></p>
<p><strong> </strong><br />
The above code will take Context (the facet to our applications enviroment) and and add it to our Toast along with our dynamic CharSequence text and the length the Toast will appear onscreen, which in this case we want it to be longer.  It is key to note how to make a Toast as it is more efficient that popping up textboxes to the user as well as it is less distracting.</p>
<p><pre class="brush: java;">
}
catch (Exception ex)
{
Context context = getApplicationContext();
CharSequence text = ex.toString() + &quot;ID = &quot; + id;
int duration = Toast.LENGTH_LONG;
Toast toast = Toast.makeText(context, text, duration);
toast.show();
}
}
};
}
</pre></p>
<p><strong> </strong><br />
The last thing we are doing for this function is putting all the important stuff mentioned above into a try catch statement which will try our important code and if there is an error it will display a Toast letting us know there was an error and a message about that error.  For functions such as these is it crucial to have precautions in place to catch errors and not have a program force close.  It is important to put the user first in thinking about UI and any error messages that might occur.  If an error somehow sneaks into your program try catch statements will catch the error and make it “cute and fuzzy” for the user.</p>
<p style="text-align:center;">Top half of code:</p>
<p style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/07/ihw-11.png"><img class="alignnone size-thumbnail wp-image-26240" title="IHW-1" src="http://hackadaycom.files.wordpress.com/2010/07/ihw-11.png?w=123&#038;h=96" alt="" width="123" height="96" /></a><br />
Bottom half of code, elapsed by previous view of code:</p>
<p style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/07/ihw-21.png"><img class="size-thumbnail wp-image-26241 aligncenter" title="IHW-2" src="http://hackadaycom.files.wordpress.com/2010/07/ihw-21.png?w=123&#038;h=96" alt="" width="123" height="96" /></a></p>
<p style="text-align:left;">After we have coded the main content for our .java file, we can now proceed to run the application and view our completed Improved Hello World program.  Notice that when you press the button and your textbox has not text in it that the program will still function correctly.  This is a good feature to have so that you don&#8217;t start seeing Toasts containing error messages.  The completed product should look like this when the button is pressed:</p>
<p style="text-align:left;">
<p style="text-align:left;"><img class="aligncenter" src="https://lh6.googleusercontent.com/NZcd9aVHyzvrCxuC3F5zRfqwU6nPZ2fHtFwEKVOwYUtOIrboRPxQ9OLmTzAZAkz1D_DR7fHeyG4XhEIocAh4p7QtgLFa-5Uy0U4d0V84LR3lAqw3" alt="" width="470;" height="400" /><br />
This would conclude our Improved Hello World example but the learning is far from over.  Next post we will examine Databases and a look into some simple queries as well as building a database from the ground up.  As always, if you have any problems with coding this article, feel free to leave a comment and I will assist in any way possible! If you can’t wait for the next post you can read up on <a href="http://developer.android.com/guide/topics/data/data-storage.html#db">databases</a> before the next posting.  Until next time, Happy Hacking!</p>
<p style="text-align:left;">Continue on to Part3: <a href="http://hackaday.com/2010/07/21/android-development-101-part-3introduction-to-databases/">Introduction to Databases</a></p>
</div>
<p style="text-align:center;">
<br />Filed under: <a href='http://hackaday.com/category/android-hacks/'>android hacks</a>, <a href='http://hackaday.com/category/software-development/'>Software Development</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/26212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/26212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/26212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/26212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/26212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/26212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/26212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/26212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/26212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/26212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/26212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/26212/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/26212/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/26212/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=26212&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/07/19/android-development-101-part-2improved-hello-world/feed/</wfw:commentRss>
		<slash:comments>73</slash:comments>
		<georss:point>43.002684 -81.214990</georss:point>
		<geo:lat>43.002684</geo:lat>
		<geo:long>-81.214990</geo:long>
		<media:content url="" medium="image">
			<media:title type="html">greggers120588</media:title>
		</media:content>

		<media:content url="https://lh5.googleusercontent.com/tmG03_E95y_ceOn37-e6dVhj6l-McikGPvdm80Py_NK6_3PeQRwceHlOQW-pNyktB0WlbJgautrZX87iaHLWYe0QLUHlFX84YavnF1A5JmuzadS5" medium="image" />

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/strings1.png?w=123" medium="image">
			<media:title type="html">Strings</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/main1.png?w=123" medium="image">
			<media:title type="html">main</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/ihw-11.png?w=123" medium="image">
			<media:title type="html">IHW-1</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/ihw-21.png?w=123" medium="image">
			<media:title type="html">IHW-2</media:title>
		</media:content>

		<media:content url="https://lh6.googleusercontent.com/NZcd9aVHyzvrCxuC3F5zRfqwU6nPZ2fHtFwEKVOwYUtOIrboRPxQ9OLmTzAZAkz1D_DR7fHeyG4XhEIocAh4p7QtgLFa-5Uy0U4d0V84LR3lAqw3" medium="image" />
	</item>
		<item>
		<title>Get started with speech recognition</title>
		<link>http://hackaday.com/2010/07/09/get-started-with-speech-recognition/</link>
		<comments>http://hackaday.com/2010/07/09/get-started-with-speech-recognition/#comments</comments>
		<pubDate>Fri, 09 Jul 2010 15:14:24 +0000</pubDate>
		<dc:creator>Rachel Fee</dc:creator>
				<category><![CDATA[how-to]]></category>
		<category><![CDATA[handsfree]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[speech]]></category>
		<category><![CDATA[voice]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=25721</guid>
		<description><![CDATA[Speech recognition makes it easier for us to be lazy with our devices &#8211; or perhaps set up the coolest voice-controlled project around. After the voice controlled home automation post, we received a lot of emails asking &#8220;how can I make it recognize my voice?&#8221;. Whether your project involves a PC or an Android phone, [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=25721&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="aligncenter size-full wp-image-25801" title="Headset and Mic" src="http://hackadaycom.files.wordpress.com/2010/07/capture7.jpg" alt="Headset and microphone" width="356" height="244" /></p>
<p>Speech recognition makes it easier for us to be lazy with our devices &#8211; or perhaps set up the coolest voice-controlled project around. After the <a href="http://hackaday.com/2009/02/14/voice-controlled-home-automation/">voice controlled home automation</a> post, we received a lot of emails asking &#8220;how can I make it recognize my voice?&#8221;. Whether your project involves a PC or an Android phone, a high-budget, or no budget at all, there is a solution out there.  Join us after the break for a complete set of instructions on setting up speech recognition, and some of the best software options out there to meet your needs.</p>
<p><span id="more-25721"></span></p>
<p><strong>Got a Microphone?</strong></p>
<p>Using a microphone is the only way to get your voice commands to the computer for interpretation. If you’ve got a laptop, you’re probably set to go, as most laptops come with microphones already built in. Not sure? Look for a small hole around the screen or keyboard. It may be labeled, but not always. You can also try checking the list of features in your computer’s manual, or head to your control panel and select “Sound”. In this pop-up window, you’ll find a tab titled “Recording”. If you’ve got a mic installed, it will be listed here.</p>
<p><a href="http://hackadaycom.files.wordpress.com/2010/07/capture.jpg"><img class="alignnone size-full wp-image-25722" title="Built in Microphone" src="http://hackadaycom.files.wordpress.com/2010/07/capture.jpg" alt="A built in mic" width="414" height="164" /></a></p>
<p>If you’re using a desktop, you’ll likely have to buy an external microphone. Many webcams include a built-in mic – check the package to make sure. Some newer media keyboards also include a microphone. If this is the case for you, you may have to reposition your keyboard out of confined space to reduce echo. If you’re a PC or Xbox 360 gamer, you might have a headset used to communicate with other players live. This can double as a mic for voice recognition. Don’t have any of these? Head to your nearest store which sells computer accessories – try Best Buy, Future Shop, RadioShack, or your favorite locally-owned retailer. A basic, usable microphone can range from a few dollars to hundreds of dollars. While a six hundred dollar microphone is unnecessary unless you plan to record a studio album with your computer, it might be a good idea to stay away from the cheapest of the cheap – these can often have a choppy and uneven sound of which your computer can not interpret. Generally a headset mic (or gaming headset) is the best way to go, as it sits close to your mouth for minimal interference. Make sure the mic you choose is compatible with your computer’s operating system and has an input your computer uses, and buy away!</p>
<p><img class="aligncenter size-full wp-image-25723" title="Headset Mic" src="http://hackadaycom.files.wordpress.com/2010/07/capture1.jpg" alt="A headset microphone" width="265" height="243" /></p>
<p style="text-align:center;"><em>Flickr: [Yoppy] <a href="http://www.flickr.com/photos/spilt-milk/4122132638/">[Link]</a></em></p>
<p style="text-align:center;">
<p><strong>Set Up Your Voice Recognition Software</strong></p>
<p><em><strong>Window 7 or Windows Vista</strong></em></p>
<p>Voice recognition on either of these operating systems is as easy as a few clicks. With these operating systems, voice commands are thorough and simplistic, allowing you to control everything from form navigation, menu navigation, Office programs, and more. For almost anything you need to do, there is a voice command. To get started, head to the control panel and select “Speech Recognition”.</p>
<p style="text-align:left;"><img class="aligncenter size-full wp-image-25725" title="Control Panel W7" src="http://hackadaycom.files.wordpress.com/2010/07/capture2.jpg" alt="Control Panel in Windows 7" width="385" height="257" /></p>
<p>From here, you can test your microphone, train your computer to understand your individual style of speech, or view and print a reference card containing the commands your computer will understand.</p>
<p><img class="aligncenter size-full wp-image-25727" title="Speech Recognition Dashboard" src="http://hackadaycom.files.wordpress.com/2010/07/capture4.jpg" alt="Speech Recognition Dashboard in Windows 7" width="439" height="300" /></p>
<p>You can also take a tutorial which teaches you the ins and outs of speech recognition in one simple lesson. Select the “Start Speech Recognition” option when you’re ready to get started. This leads you through optimizing your computer’s sound input with positioning tips and speech tests, and guides you through the rest of the configuration in a very user-friendly manner. When you finish the wizard, you’ll be ready to go!</p>
<p><img class="aligncenter size-full wp-image-25728" title="Speech Recognition Wizard" src="http://hackadaycom.files.wordpress.com/2010/07/capture5.jpg" alt="Speech Recognition Wizard in Windows 7" width="442" height="356" /></p>
<p>You can refer back to the speech recognition reference card as often as you need to review the commands your computer will understand.</p>
<p><img class="aligncenter size-full wp-image-25729" title="Reference Card" src="http://hackadaycom.files.wordpress.com/2010/07/capture6.jpg" alt="Speech Recognition Reference Card in Windows 7" width="381" height="240" /></p>
<p><em><strong>Windows XP</strong></em></p>
<p>Voice recognition in XP is as easy to set up as it is with the newer Windows operating systems, however, it lacks the vast array of features that Vista and 7 offer. Speech recognition is supported by all Microsoft Office programs, however, only 2002 and 2003 versions are supported. With a version earlier that 2002, or with 2007 or 2010 versions in XP, you’re out of luck, as built in speech recognition is not supported. Otherwise, basic commands are not always supported, and speech recognition cannot be used with all programs. In general, you will have to enable speech recognition specifically for each program with which you wish to use it, and it will not be available in all programs.</p>
<p>Windows XP uses a speech recognition engine which comes with Office XP, though is not always installed by default. Open control panel, and from classic display, select the “speech” option. If you’re using the newer, categorical menu in XP, you’ll have to first select the “Sounds, speech, and audio devices” option.</p>
<p><img class="aligncenter size-full wp-image-25730" title="Speech Icon in XP" src="http://hackadaycom.files.wordpress.com/2010/07/capture.png" alt="Speech Recognition Icon in Windows XP" width="332" height="263" /></p>
<p style="text-align:center;"><em>Youtube: [mickmoose429992] <a href="http://www.youtube.com/watch?v=VhEGW8x5Wps">[Link]</a></em></p>
<p>If you see a “speech recognition” tab in “speech properties”, you’re ready to go, as the engine has already been installed.</p>
<p><img class="aligncenter size-full wp-image-25731" title="Speech Properties" src="http://hackadaycom.files.wordpress.com/2010/07/capture1.png" alt="Speech Properties in Windows XP" width="362" height="257" /></p>
<p style="text-align:center;"><em>Youtube: [mickmoose429992] <a href="http://www.youtube.com/watch?v=VhEGW8x5Wps">[Link]</a></em></p>
<p>If this option is missing, you’ll need to install it. From the control panel, select the “add or remove programs” option.</p>
<p><img class="aligncenter size-full wp-image-25732" title="Add or Remove Programs" src="http://hackadaycom.files.wordpress.com/2010/07/capture2.png" alt="Add or Remove Programs in Windows XP" width="400" height="221" /></p>
<p style="text-align:center;"><em>Youtube: [mickmoose429992] <a href="http://www.youtube.com/watch?v=VhEGW8x5Wps">[Link]</a></em></p>
<p>Find Microsoft Office XP, and select the “change” option. Be careful not to uninstall!</p>
<p><img class="aligncenter size-full wp-image-25733" title="Check Microsoft Office XP" src="http://hackadaycom.files.wordpress.com/2010/07/capture3.png" alt="Change Microsoft Office XP" width="425" height="252" /></p>
<p style="text-align:center;"><em>Youtube: [mickmoose429992] <a href="http://www.youtube.com/watch?v=VhEGW8x5Wps">[Link]</a></em></p>
<p>Find “features to install”, select the “alternative user input” option, followed by the “speech” option. Select “run from my computer” and click update. This automatically includes speech recognition in all Office programs, and makes the feature available to other programs.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-25734" title="Add Speech to Microsoft Office XP" src="http://hackadaycom.files.wordpress.com/2010/07/capture4.png" alt="Add Speech to Microsoft Office XP" width="360" height="341" /><em>Youtube: [mickmoose429992] <a href="http://www.youtube.com/watch?v=VhEGW8x5Wps">[Link]</a></em></p>
<p><em><strong>Mac OS X</strong></em></p>
<p>Apple was one of the first to come out with speech recognition – a crazy idea at the time. This was back in 1993. We’ve come a long way since then, from more fluid, user-friendly controls to the ability to perform almost any action without ever touching your keyboard. Setting up speech recognition in OS X is a breeze. Once you’ve got you mic ready, select “system preferences” from the Apple drop-down menu. From this menu, select the “speech” option.</p>
<p><img class="aligncenter size-full wp-image-25736" title="Mac OS X Speech Feature" src="http://hackadaycom.files.wordpress.com/2010/07/capture5.png" alt="Mac OS X Speech Feature" width="351" height="226" /></p>
<p style="text-align:center;"><em>Youtube: [fifedjdomo] <a href="http://www.youtube.com/watch?v=vi9bDfmRDt8">[Link]</a></em></p>
<p>Enabling “Speakable Items” will turn on the default commands, allowing you to perform most basic tasks.</p>
<p><img class="aligncenter size-full wp-image-25737" title="Mac Speakable Items" src="http://hackadaycom.files.wordpress.com/2010/07/capture6.png" alt="Mac Speakable Items" width="376" height="159" /></p>
<p style="text-align:center;"><em>Youtube: [fifedjdomo] <a href="http://www.youtube.com/watch?v=vi9bDfmRDt8">[Link]</a></em></p>
<p>Through available options, you can set up your microphone and further customize the use of the program. The set of commands used to control your computer is fully customizable. Pair this with VoiceOver, a program designed for the blind, and you’ll hardly need to touch your computer in order to use it.</p>
<p><em><strong>Linux Ubuntu</strong></em></p>
<p>Linux does not currently have a complete solution for speech recognition. Though several projects have been started, none have been finished. There are several pieces of software that can perform some of the speech recognition tasks that Windows or Mac can accomplish, but nowhere near as thoroughly or easily. There is also no proprietary software for speech recognition with Linux, however, there are some partially-completed open source solutions for Ubuntu. Julius Speech Recognition engine is one of these utilities – a program used to interpret and execute a set of pre-determined voice commands. Detailed instructions for installation can be found <a href="http://julius.sourceforge.jp/en_index.php">[here]</a>.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-25738" title="Julius" src="http://hackadaycom.files.wordpress.com/2010/07/capture7.png" alt="Julius Main Page" width="403" height="299" /><em>Youtube: [jgraves1141] <a href="http://www.youtube.com/watch?v=s1srNOk2ISI">[Link]</a></em></p>
<p>Documentation on the installation and use of Julius is <em>very </em>limited due to the fact that the program is not completely finished, so you may not want to attempt an install unless you are completely comfortable with the use of Linux. The Julius package available for download contains two parts – an installer, and the program. First run the installer which will take you through the installation of Julius.</p>
<p>Another great solution is to use a Windows-based program such as Dragon NatuallySpeaking in combination WineHQ, however, there are lapses in fluidity that often have to be worked-around. For example, in some cases, a basic paragraph must be narrated to Dragon’s text editor and then copy-pasted into the appropriate location rather than transcribed directly to the appropriate program.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-25739" title="WineHQ" src="http://hackadaycom.files.wordpress.com/2010/07/capture8.png" alt="WineHQ" width="335" height="177" /><em>WineHQ: <a href="http://www.winehq.org/">[Link]</a></em></p>
<p style="text-align:center;"><em><br />
</em></p>
<p><strong>Top Third Party Proprietary Software </strong></p>
<p>If you have an older operating system, or simply don’t like the speech recognition software included with your operating system, a third party program may be what you need. There are dozens of free and paid speech recognitions out there, customizable, non-customizable, open source, for business, for personal use, and more. With so many options, you’re sure to find exactly what you want at a cost you can afford. Some of the most popular:</p>
<p><em><strong>Dragon NaturallySpeaking</strong></em></p>
<p>Dragon is a name that pops up over and over when searching for speech recognition software. Made for PC, it’s highly regarded for its speed, accuracy, ease of use, and large number of commands. The basic version of Dragon for home use is around $100 US, though many versions are available with more specific features, such as packages for medical or legal offices. These packages can cost over a $1000 US, though are unnecessary for the basic user. Dragon NaturallySpeaking software packages also include a mic, so you won’t have to try and find your own.  In addition to Windows, many users have claimed great success with Dragon in combination with WineHQ for Ubuntu.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-25740" title="Dragon" src="http://hackadaycom.files.wordpress.com/2010/07/capture9.png" alt="Dragon NaturallySpeaking" width="367" height="110" /><em>Dragon NaturallySpeaking: <a href="http://www.nuance.com/naturallyspeaking/products/editions/default.asp">[Link]</a></em></p>
<p><strong> </strong></p>
<p><em><strong>MacSpeech Dictate</strong></em></p>
<p>MacSpeech is produced by the same makers as Dragon NaturallySpeaking. It was built from the ground up, rather than being ported, so it is free of the bugs that typically come with adapted software. Similar to Dragon, MacSpeech offers not only dictation recognition, but customizable speech commands as well, and includes a mic in the package. Also following the Dragon theme, medical and legal versions are available, as well as an international edition which supports Italian, French, and German in addition to English. These speech recognition tools for Mac range from $150 US to $600 US.</p>
<p style="text-align:center;"><img class="aligncenter size-full wp-image-25741" title="MacSpeech" src="http://hackadaycom.files.wordpress.com/2010/07/capture10.png" alt="MacSpeech Dictate" width="159" height="176" /><em>MacSpeech Dictate: <a href="http://www.nuance.com/naturallyspeaking/products/macintosh/for-the-mac.asp">[Link]</a></em></p>
<p><em><strong>IBM ViaVoice</strong></em></p>
<p>IBM’s ViaVoice recognition software is designed primarily for use with small mobile devices and vehicle automation systems, though it’s quite highly regarded amongst computer users as well. ViaVoice offers text-to-speech in addition to voice recognition. The command library is intuitive, and the user does not need to stick to a standard set of commands to make use of all the features – the program can interpret most commands as they are given. The speech library contains over 200 thousand words; far more than the average person’s vocabulary. Supported by IBM ViaVoice, in addition to many mobile OS’s, are standard Windows and Mac operating systems.</p>
<p><img class="aligncenter size-full wp-image-25742" title="ViaVoice" src="http://hackadaycom.files.wordpress.com/2010/07/capture11.png" alt="IBM ViaVoice" width="123" height="150" /></p>
<p><strong>Third Party Open Source and Free Software</strong></p>
<p>Open source or free voice recognition software that works well is extremely difficult to find – there is really no winner in the open source race for free voice software. In fact, there is hardly a race at all. Numerous open source Linux projects have been started, but due to the extreme scale, none have been finished. Below is a project you can contribute to in order to get the ball rolling on some great open source speech recognition software, as well as a toolkit for your own uses.</p>
<p><em><strong>VoxForge</strong></em></p>
<p>VoxForge is a project working to compile a collection of transcribed speech for use with both open source and free voice recognition engines. Upon the completion of this project, free open source speech recognition programs should be given the jumpstart to increase significantly. If you’d like to help the project, you can visit the VoxForge website <a href="http://www.voxforge.org/">[here]</a>.</p>
<p><img class="aligncenter size-full wp-image-25743" title="VoxForge" src="http://hackadaycom.files.wordpress.com/2010/07/capture12.png" alt="VoxForge" width="417" height="63" /></p>
<p style="text-align:center;"><em>VoxForge:<a href="http://www.voxforge.org/"> [link]</a></em></p>
<p><em><strong>CMUSphinx</strong></em></p>
<p>Sphinx is now on version 4 (Sphinx 4). Perhaps the most (or only) popular open source speech recognition tool, Sphinx is licensed under BSD and is written in Java. Sphinx also offers a mobile version called “PocketSphinx”. This may be more useful for developers than the average user, but it’s one of the only solutions available, not to mention a versatile and thorough one. It does not come ready to go out of the box, but rather is a tool that can be utilized by developers. It certainly needs some work before it’s ready to go.</p>
<p style="text-align:center;"><a href="http://hackadaycom.files.wordpress.com/2010/07/capture13.png"><img class="size-full wp-image-25744 aligncenter" title="Sphinx" src="http://hackadaycom.files.wordpress.com/2010/07/capture13.png" alt="CMUSphinx" width="280" height="84" /></a><em>CMUSphinx: <a href="http://cmusphinx.sourceforge.net/">[Link]</a></em></p>
<p style="text-align:center;"><em><br />
</em></p>
<p><strong>How to Install CMUSphinx</strong></p>
<p>Setting up CMUSphinx is not the easiest task, but it is likely to pay off with a great product. This install needs to be done manually.</p>
<p>Before you get started, you’ll need a few things – Perl, in order to run the scripts, and a C complier for the source code. Perl is free, and included with most Linux distributions. GCC (GNU Compiler Collection) is a good tool for the C portion of the source code. A word alignment program is also necessary – CMU suggests “Sclite”, a tool specifically used for speech recognition programs.</p>
<p>The databases you will need are available <a href="http://www.speech.cs.cmu.edu/databases">[here]</a> . You’ll need either AN4 or RM1. Next, you’ll need to set up the trainer. A trainer helps your computer interpret your commands. Set up the tutorial – this will include copying the scripts to the proper area. The decoder is next. Though you can pick any decoder you choose, CMU describes the installation with Sphinx 3, and encourages you to perform your testing with Sphinx 3. Once you have all of the appropriate files in the correct directory, it’s time to compile, and set up the tutorial. Perform a training run, and finally, perform a decode. This set-up is extremely complicated, as is likely best left to the professionals – certainly not something for most average users.</p>
<p>Full instructions can be found on the Carnegie Mellon University’s Sphinx website <a href="http://cmusphinx.sourceforge.net/html/tutorial.html">[here]</a>.</p>
<p>This demo shows Sphinx in action:</p>
<span style="text-align:center; display: block;"><a href="http://hackaday.com/2010/07/09/get-started-with-speech-recognition/"><img src="http://img.youtube.com/vi/owJS5XwXAEA/2.jpg" alt="" /></a></span>
<p><strong>You’re Ready To Go!</strong></p>
<p>Once you’ve got your mic functional and in-place, as your speech software set up and configured, you’ll be ready to get started! Sit back and get talkin’!</p>
<br />Filed under: <a href='http://hackaday.com/category/how-to/'>how-to</a>  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/25721/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/25721/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/25721/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/25721/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/25721/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/25721/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/25721/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/25721/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/25721/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/25721/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/25721/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/25721/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/25721/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/25721/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=25721&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2010/07/09/get-started-with-speech-recognition/feed/</wfw:commentRss>
		<slash:comments>42</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">rachf</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture7.jpg" medium="image">
			<media:title type="html">Headset and Mic</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture.jpg" medium="image">
			<media:title type="html">Built in Microphone</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture1.jpg" medium="image">
			<media:title type="html">Headset Mic</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture2.jpg" medium="image">
			<media:title type="html">Control Panel W7</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture4.jpg" medium="image">
			<media:title type="html">Speech Recognition Dashboard</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture5.jpg" medium="image">
			<media:title type="html">Speech Recognition Wizard</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture6.jpg" medium="image">
			<media:title type="html">Reference Card</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture.png" medium="image">
			<media:title type="html">Speech Icon in XP</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture1.png" medium="image">
			<media:title type="html">Speech Properties</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture2.png" medium="image">
			<media:title type="html">Add or Remove Programs</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture3.png" medium="image">
			<media:title type="html">Check Microsoft Office XP</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture4.png" medium="image">
			<media:title type="html">Add Speech to Microsoft Office XP</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture5.png" medium="image">
			<media:title type="html">Mac OS X Speech Feature</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture6.png" medium="image">
			<media:title type="html">Mac Speakable Items</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture7.png" medium="image">
			<media:title type="html">Julius</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture8.png" medium="image">
			<media:title type="html">WineHQ</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture9.png" medium="image">
			<media:title type="html">Dragon</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture10.png" medium="image">
			<media:title type="html">MacSpeech</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture11.png" medium="image">
			<media:title type="html">ViaVoice</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture12.png" medium="image">
			<media:title type="html">VoxForge</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2010/07/capture13.png" medium="image">
			<media:title type="html">Sphinx</media:title>
		</media:content>
	</item>
		<item>
		<title>Punching out parts</title>
		<link>http://hackaday.com/2009/12/22/punching-out-parts/</link>
		<comments>http://hackaday.com/2009/12/22/punching-out-parts/#comments</comments>
		<pubDate>Tue, 22 Dec 2009 19:11:51 +0000</pubDate>
		<dc:creator>Jacob Woj</dc:creator>
				<category><![CDATA[cnc hacks]]></category>
		<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[cad]]></category>
		<category><![CDATA[cnc]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[openscad]]></category>
		<category><![CDATA[reprap]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=19616</guid>
		<description><![CDATA[If you&#8217;re more of a code monkey than artist, it may be tough to transform your ideas into the 3D models necessary for fabbing. The folks working on openSCAD apparently feel our pain. openSCAD uses a language somewhat reminiscent of C for creating models. A preview of the model is rendered alongside your code. Fully cross-platform, it runs on Linux, OS [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=19616&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-19620" title="4746_9306_800" src="http://hackadaycom.files.wordpress.com/2009/12/4746_9306_800.jpg" alt="" width="447" height="340" /></p>
<p>If you&#8217;re more of a code monkey than artist, it may be tough to transform your ideas into the 3D models <a href="http://hackaday.com/2009/11/13/diylilcnc-do-it-yourself-cnc-mill/">necessary for fabbing</a>. The folks <a href="http://openscad.org/">working on openSCAD</a> apparently feel our pain.</p>
<p>openSCAD <a href="http://en.wikibooks.org/wiki/OpenSCAD_User_Manual/The_OpenSCAD_Language">uses a language</a> somewhat reminiscent of C for creating models. A preview of the model is rendered alongside your code. Fully cross-platform, it runs on Linux, OS X, and Windows. <a href="http://sketchup.google.com/">Much like SketchUp</a>, openSCAD can also extrude 2D outlines into models. This feature comes in very useful if one already has a set of technical drawings for a part. With no price tag, it&#8217;s pretty affordable during this costly season.</p>
<br />Posted in cnc hacks, misc hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/19616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/19616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/19616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/19616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/19616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/19616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/19616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/19616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/19616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/19616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/19616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/19616/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/19616/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/19616/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=19616&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/12/22/punching-out-parts/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">jacob woj</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/12/4746_9306_800.jpg" medium="image">
			<media:title type="html">4746_9306_800</media:title>
		</media:content>
	</item>
		<item>
		<title>Eureqa discovers equations</title>
		<link>http://hackaday.com/2009/12/04/eureqa-discovers-equations/</link>
		<comments>http://hackaday.com/2009/12/04/eureqa-discovers-equations/#comments</comments>
		<pubDate>Fri, 04 Dec 2009 18:56:13 +0000</pubDate>
		<dc:creator>Gerrit Coetzee</dc:creator>
				<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[cornell]]></category>
		<category><![CDATA[equations]]></category>
		<category><![CDATA[eureqa]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=19003</guid>
		<description><![CDATA[While &#8220;Software to discover equations and mathematical relationships in data&#8221; isn&#8217;t at the top of our christmas wish list, we have to admit that Eureqa is pretty cool. Developed at Cornell University, Eureqa uses machine learning algorithms to determine the underlying math behind data sets. It derived Newton&#8217;s second law of motion in a few hours on a [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=19003&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><a href="http://hackadaycom.files.wordpress.com/2009/12/eureqa_screenshot_solutions-img_assist_custom-786x661.jpg"><img class="alignnone size-full wp-image-19006" title="eureqa_screenshot_solutions.img_assist_custom-786x661" src="http://hackadaycom.files.wordpress.com/2009/12/eureqa_screenshot_solutions-img_assist_custom-786x661.jpg" alt="" width="490" height="411" /></a></p>
<p>While &#8220;<a href="http://ccsl.mae.cornell.edu/eureqa">Software to discover equations and mathematical relationships in data</a>&#8221; isn&#8217;t at the<a href="http://hackaday.com/2009/12/02/arduino-shield-for-arduino-no-really/"> top of our christmas wish list</a>, we have to admit that Eureqa is pretty cool. Developed at Cornell University, Eureqa uses machine learning algorithms to determine the underlying math behind data sets. It derived Newton&#8217;s second law of motion in a few hours on a standard desktop computer, which isn&#8217;t bad at all for a cold unfeeling robot mind. There probably aren&#8217;t many applications for this in most hacks, but what hacker wouldn&#8217;t want Sir Issac Newton&#8217;s brain in their toolbox? The software can be <a href="http://ccsl.mae.cornell.edu/eureqa_download">downloaded for free</a> from their website.</p>
<p>[Via <a href="http://www.wired.com/wiredscience/2009/12/download-robot-scientist/">Wired</a>]</p>
<br />Posted in misc hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/19003/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/19003/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/19003/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/19003/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/19003/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/19003/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/19003/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/19003/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/19003/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/19003/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/19003/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/19003/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/19003/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/19003/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=19003&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/12/04/eureqa-discovers-equations/feed/</wfw:commentRss>
		<slash:comments>35</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Gerrit Coetzee</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/12/eureqa_screenshot_solutions-img_assist_custom-786x661.jpg" medium="image">
			<media:title type="html">eureqa_screenshot_solutions.img_assist_custom-786x661</media:title>
		</media:content>
	</item>
		<item>
		<title>How to use Wiimotes w/ Linux</title>
		<link>http://hackaday.com/2009/11/28/how-to-use-wiimotes-w-linux/</link>
		<comments>http://hackaday.com/2009/11/28/how-to-use-wiimotes-w-linux/#comments</comments>
		<pubDate>Sat, 28 Nov 2009 15:55:09 +0000</pubDate>
		<dc:creator>Jacob Woj</dc:creator>
				<category><![CDATA[linux hacks]]></category>
		<category><![CDATA[wii hacks]]></category>
		<category><![CDATA[linux]]></category>
		<category><![CDATA[mouse]]></category>
		<category><![CDATA[nintendo]]></category>
		<category><![CDATA[pointer]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[wii]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=18774</guid>
		<description><![CDATA[[Sprite_tm] has whipped up yet another interesting tutorial &#8211; software-based this time. He basically describes how he connected his Wiimotes to an HTPC. A USB Bluetooth receiver, and a little bit of Linux scripting,  was all that was necessary to get the system up and running. To add to the fun, [Sprite_tm] configured a the controllers to work [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=18774&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-18782" title="wiitux" src="http://hackadaycom.files.wordpress.com/2009/11/wiitux.jpg" alt="" width="397" height="394" /></p>
<p>[<a href="http://hackaday.com/?s=sprite_tm">Sprite_tm</a>] has whipped up <a href="http://spritesmods.com/?art=wiimote-mamegun">yet another interesting tutorial</a> &#8211; software-based this time. He basically describes how he connected his Wiimotes to an HTPC. A USB Bluetooth receiver, and a little bit of Linux scripting,  was all that was necessary to get the system up and running. To add to the fun, [Sprite_tm] configured a the controllers to work with <a href="http://mamedev.org/">MAME (an arcade machine emulator)</a>, allowing one to <a href="http://en.wikipedia.org/wiki/Duck_Hunt">play Duck Hunt</a> on a computer <a href="http://en.wikipedia.org/wiki/NES_Zapper">in its full glory</a>!</p>
<br />Posted in linux hacks, wii hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/18774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/18774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/18774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/18774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/18774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/18774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/18774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/18774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/18774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/18774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/18774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/18774/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/18774/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/18774/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=18774&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/11/28/how-to-use-wiimotes-w-linux/feed/</wfw:commentRss>
		<slash:comments>20</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">jacob woj</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/11/wiitux.jpg" medium="image">
			<media:title type="html">wiitux</media:title>
		</media:content>
	</item>
		<item>
		<title>Software Auralization</title>
		<link>http://hackaday.com/2009/10/08/software-auralization/</link>
		<comments>http://hackaday.com/2009/10/08/software-auralization/#comments</comments>
		<pubDate>Thu, 08 Oct 2009 13:20:59 +0000</pubDate>
		<dc:creator>Phil Burgess</dc:creator>
				<category><![CDATA[digital audio hacks]]></category>
		<category><![CDATA[auralization]]></category>
		<category><![CDATA[code]]></category>
		<category><![CDATA[music]]></category>
		<category><![CDATA[programming]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=16902</guid>
		<description><![CDATA[Have you heard the latest track by gzip? Maybe it’ll end up on a “Greatest Hits” album alongside Philip Glass. Visualization techniques such as animated algorithms can help programmers better grasp the abstract theories that make software work. Could auralization, the sound equivalent of visualization, provide similar insights? Postgrad student (and J. S. Bach fan) [Cessu] developed [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=16902&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p style="text-align:center;">
<p><img class="alignnone size-full wp-image-16914" title="music" src="http://hackadaycom.files.wordpress.com/2009/10/music.gif" alt="music" width="470" height="180" /></p>
<p>Have you heard the latest track by <em>gzip?</em> Maybe it’ll end up on a “Greatest Hits” album alongside Philip Glass.</p>
<p>Visualization techniques such as <a href="http://www.sorting-algorithms.com/">animated algorithms</a> can help programmers better grasp the abstract theories that make software work. Could <em>auralization,</em> the sound equivalent of visualization, provide similar insights? Postgrad student (and J. S. Bach fan) [Cessu] <a href="http://cessu.blogspot.com/2008/09/have-you-listened-to-your-program-today.html">developed a program to do just that</a>. By carefully mapping registers to notes, and slowing the tempo to a human timescale, the result is a cacophonous machine that offers a glimpse into the operation of various programs. You might find the resulting minimalist “music” insightful, entertaining…or maybe just incredibly grating.</p>
<p>[thanks Shadikka]</p>
<br />Posted in digital audio hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/16902/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/16902/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/16902/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/16902/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/16902/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/16902/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/16902/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/16902/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/16902/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/16902/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/16902/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/16902/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/16902/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/16902/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=16902&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/10/08/software-auralization/feed/</wfw:commentRss>
		<slash:comments>13</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">philburgess</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/10/music.gif" medium="image">
			<media:title type="html">music</media:title>
		</media:content>
	</item>
		<item>
		<title>Fritzing, go from prototype to product</title>
		<link>http://hackaday.com/2009/08/25/fritzing/</link>
		<comments>http://hackaday.com/2009/08/25/fritzing/#comments</comments>
		<pubDate>Tue, 25 Aug 2009 21:15:06 +0000</pubDate>
		<dc:creator>Mike Szczys</dc:creator>
				<category><![CDATA[arduino hacks]]></category>
		<category><![CDATA[downloads hacks]]></category>
		<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[arduino]]></category>
		<category><![CDATA[design]]></category>
		<category><![CDATA[pcb]]></category>
		<category><![CDATA[schematic]]></category>
		<category><![CDATA[software]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=13782</guid>
		<description><![CDATA[Fritzing is an open source project designed to help you move from a prototype to a finished project. Aimed at those basing their projects around Arduino, you start by building your physical prototype, then recreate it with Fritzing software&#8217;s graphical editor. From there you can generate a schematic, PCB artwork, and PCB production files. [thanks [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=13782&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-13783" title="fritzing" src="http://hackadaycom.files.wordpress.com/2009/08/fritzing.jpg" alt="fritzing" width="470" height="389" /></p>
<p><a href="http://fritzing.org/">Fritzing</a> is an open source project designed to help you move from a prototype to a finished project. Aimed at those basing their projects around Arduino, you start by building your physical prototype, then recreate it with Fritzing software&#8217;s graphical editor. From there you can generate a schematic, PCB artwork, and PCB production files.</p>
<p>[thanks CH]</p>
<br />Posted in arduino hacks, downloads hacks, tool hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/13782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/13782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/13782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/13782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/13782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/13782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/13782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/13782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/13782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/13782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/13782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/13782/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/13782/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/13782/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=13782&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/08/25/fritzing/feed/</wfw:commentRss>
		<slash:comments>21</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Mike Szczys</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/08/fritzing.jpg" medium="image">
			<media:title type="html">fritzing</media:title>
		</media:content>
	</item>
		<item>
		<title>Rename files en masse in Windows</title>
		<link>http://hackaday.com/2009/08/19/rename-files-en-masse-in-windows/</link>
		<comments>http://hackaday.com/2009/08/19/rename-files-en-masse-in-windows/#comments</comments>
		<pubDate>Wed, 19 Aug 2009 20:29:19 +0000</pubDate>
		<dc:creator>Matt Schultz</dc:creator>
				<category><![CDATA[downloads hacks]]></category>
		<category><![CDATA[batch file naming]]></category>
		<category><![CDATA[download]]></category>
		<category><![CDATA[file manipulation]]></category>
		<category><![CDATA[pc]]></category>
		<category><![CDATA[regex]]></category>
		<category><![CDATA[regular expressions]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[windows]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=13445</guid>
		<description><![CDATA[Everybody hates it when they have to rename a fileset to fit a new naming scheme. Instead of doing it the hard way and writing a one-time script to go through and rename everything, check out Bulk Rename Utility from [Jim Willsher]. It provides you with a multitude of methods to take care of business [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=13445&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-13451" title="Bulk Rename Utility" src="http://hackadaycom.files.wordpress.com/2009/08/bru.png" alt="Bulk Rename Utility" width="470" height="319" /></p>
<p>Everybody hates it when they have to rename a fileset to fit a new naming scheme. Instead of doing it the hard way and writing a one-time script to go through and rename everything, check out <a href="http://www.bulkrenameutility.co.uk">Bulk Rename Utility</a> from [<span>Jim Willsher]. It provides you with a multitude of methods to take care of business and allows you do pick your favorite method, be it regular expressions, simple finding and replacing, prefix/suffix modification, or a combination of many more.</span></p>
<p><span>However, if the sheer amount of options available overwhelms you or if you just want an easier way to do things, check out <a href="http://www.fauland.com/af5.htm">A.F.5</a> from [</span>Alex Fauland]. A.F.5 offers features like adding a counter to your filenames, change file attributes, and save your rename settings out to a file for repeat use.</p>
<br />Posted in downloads hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/13445/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/13445/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/13445/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/13445/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/13445/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/13445/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/13445/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/13445/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/13445/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/13445/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/13445/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/13445/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/13445/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/13445/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=13445&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/08/19/rename-files-en-masse-in-windows/feed/</wfw:commentRss>
		<slash:comments>54</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">mattcraigschultz</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/08/bru.png" medium="image">
			<media:title type="html">Bulk Rename Utility</media:title>
		</media:content>
	</item>
		<item>
		<title>Twittering keylogger</title>
		<link>http://hackaday.com/2009/07/01/twittering-keylogger/</link>
		<comments>http://hackaday.com/2009/07/01/twittering-keylogger/#comments</comments>
		<pubDate>Wed, 01 Jul 2009 19:15:00 +0000</pubDate>
		<dc:creator>Zach Banks</dc:creator>
				<category><![CDATA[downloads hacks]]></category>
		<category><![CDATA[misc hacks]]></category>
		<category><![CDATA[c++]]></category>
		<category><![CDATA[keylogger]]></category>
		<category><![CDATA[kyle]]></category>
		<category><![CDATA[kyle mcdonald]]></category>
		<category><![CDATA[kylemcdonald]]></category>
		<category><![CDATA[openframeworks]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[twitter]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=12281</guid>
		<description><![CDATA[[Kyle McDonald] sent in his latest project, a software keylogger that twitters what you type. He wrote it using C++ and OpenFrameworks. It logs each keystroke, then it posts to twitter 140 characters at a time. To protect himself, he set up a whitelist of private strings like passwords and credit card numbers that would [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=12281&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-12282" title="3673642969_378bdec59c" src="http://hackadaycom.files.wordpress.com/2009/07/3673642969_378bdec59c.jpg" alt="3673642969_378bdec59c" width="450" height="240" /></p>
<p>[Kyle McDonald] sent in his latest project, <a href="http://www.openframeworks.cc/forum/viewtopic.php?f=12&amp;t=2227">a software keylogger that twitters what you type</a>. He wrote it using C++ and <a href="http://www.openframeworks.cc/">OpenFrameworks</a>. It logs each keystroke, then it <a href="http://twitter.com/keytweeter">posts to twitter</a> 140 characters at a time. To protect himself, he set up a whitelist of private strings like passwords and credit card numbers that would be stripped before posting. If the <a href="http://hackaday.com/2009/06/22/twypewriter/">twypewriter</a> followed him, his keystrokes could be recreated.</p>
<p>[thanks Kyle]</p>
<br />Posted in downloads hacks, misc hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/12281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/12281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/12281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/12281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/12281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/12281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/12281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/12281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/12281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/12281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/12281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/12281/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/12281/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/12281/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=12281&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/07/01/twittering-keylogger/feed/</wfw:commentRss>
		<slash:comments>16</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">zbanks</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/07/3673642969_378bdec59c.jpg" medium="image">
			<media:title type="html">3673642969_378bdec59c</media:title>
		</media:content>
	</item>
		<item>
		<title>Bus Pirate firmware update v0g</title>
		<link>http://hackaday.com/2009/06/25/bus-pirate-firmware-update-v0g/</link>
		<comments>http://hackaday.com/2009/06/25/bus-pirate-firmware-update-v0g/#comments</comments>
		<pubDate>Thu, 25 Jun 2009 17:30:39 +0000</pubDate>
		<dc:creator>Ian</dc:creator>
				<category><![CDATA[hardware]]></category>
		<category><![CDATA[news]]></category>
		<category><![CDATA[tool hacks]]></category>
		<category><![CDATA[bus pirate]]></category>
		<category><![CDATA[firmware]]></category>
		<category><![CDATA[open source]]></category>
		<category><![CDATA[software]]></category>
		<category><![CDATA[software updates]]></category>
		<category><![CDATA[updates]]></category>

		<guid isPermaLink="false">http://hackaday.com/?p=10590</guid>
		<description><![CDATA[Firmware v0g for all Bus Pirate revisions is now available. Updates in this release include a bootloader, frequency generator/pulse-width modulator, SPI bus sniffer, MIDI library, configuration reports, improved user interface, and bug fixes. v0g is also the first firmware to fully support the v2 hardware branch. We&#8217;re really proud of this release as it brings [...]<img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=10590&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></description>
			<content:encoded><![CDATA[<p><img class="alignnone size-full wp-image-11069" title="buspiratefirmwarev0g" src="http://hackadaycom.files.wordpress.com/2009/05/buspiratefirmwarev0g.png" alt="buspiratefirmwarev0g" width="450" height="256" /></p>
<p><a href="http://code.google.com/p/the-bus-pirate/downloads/list">Firmware v0g</a> for all <a href="http://www.buspirate.com">Bus Pirate</a> revisions is now available. Updates in this release include a bootloader, frequency generator/pulse-width modulator, SPI bus sniffer, MIDI library, configuration reports, improved user interface, and bug fixes. v0g is also the first firmware to fully support the v2 hardware branch.</p>
<p>We&#8217;re really proud of this release as it brings a much more consistent structure to the internal operation of the Bus Pirate. It lays the foundation for future CAN, LIN, and OBDII libraries, and  it supports localization and translations.  Install and upgrade instructions are included with the firmware. Report bugs on the project <a href="http://code.google.com/p/the-bus-pirate/issues/list">issue tracker</a>.</p>
<p>We document the new features after the break.</p>
<p><span id="more-10590"></span></p>
<p><strong>Bootloader</strong></p>
<p>Firmware v0g includes a <a href="http://code.google.com/p/the-bus-pirate/source/browse/#svn/trunk/bootloader">bootloader</a>. After the bootloader is installed,  firmware updates can be done over the serial or USB connection, instead of using a proper ICSP programmer. <a href="http://code.google.com/p/the-bus-pirate/source/browse/v0g/firmware/v0g/README.TXT">Install and update instructions</a> are included in the firmware archive.</p>
<p><strong>Frequency generator/pulse-width modulator<br />
</strong></p>
<blockquote><p>1-WIRE&gt;g <strong>&lt;&#8211;frequency generator/PWM setup command</strong><br />
1KHz-4,000KHz frequency generator/PWM (beta)<br />
FREQUENCY in KHz (50) &gt;50 <strong>&lt;&#8211;enter frequency in KHz</strong><br />
PRESCALE:8 <strong>&lt;&#8211;calculated prescaler</strong><br />
PR2:39 <strong>&lt;&#8211;calculated PR2 value</strong><br />
DUTY CYCLE in % (50) &gt;50 <strong>&lt;&#8211;enter percent duty cycle</strong><br />
PWM ACTIVE<br />
1-WIRE&gt;f <strong>&lt;&#8211;frequency measurement command</strong><br />
PWM ACTIVE: DISABLE PWM <strong>&lt;&#8211;not available when PWM is active</strong><br />
1-WIRE&gt;g <strong>&lt;&#8211;g again to disable PWM</strong><br />
PWM DISABLED<br />
1-WIRE&gt;</p></blockquote>
<p>A 1Hz-4MHz <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/AUXpin.c#34">frequency generator</a>/pulse-width modulator function is available on the auxiliary pin using menu option &#8216;g&#8217;. This feature is still in development, but v0g has the essential functionality.  The frequency generator and frequency measurement features can not be used at the same time. We also squashed a small bug in the <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/AUXpin.c#113">frequency measurement</a> code for hardware v1+.</p>
<p><strong>SPI bus sniffer</strong></p>
<blockquote><p>SPI&gt;(1) <strong>&lt;&#8211;sniffer macro</strong><br />
Sniff when:<br />
1. CS low<br />
2. CS high<br />
3. All traffic<br />
(1) &gt;3 <strong>&lt;&#8211;when to sniff bus</strong><br />
SPI BUS SNIFFER, PRESS ANY KEY TO EXIT<br />
0&#215;10(0&#215;00) 0xC6(0&#215;00) <strong>&lt;&#8211;displays data as MOSI(MISO)</strong><br />
SPI&gt;</p></blockquote>
<p>The PIC24F&#8217;s SPI  slave mode  made it easy to add an <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/SPI.c#167">SPI bus sniffer</a>. It works fine on slow or intermittent data transmissions, but it needs additional output buffering for better performance at high speeds. For the best performance, change the Bus Pirate display mode to &#8216;raw output&#8217;.</p>
<p><strong>MIDI library</strong></p>
<p>MIDI, a popular interface for musical instruments, is simply a 33.2K baud/8/N/1 UART. The <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/midi.c">MIDI</a> library has the same functions as the asynchronous serial port library, with the settings fixed for MIDI communications. MIDI devices require an isolated transceiver, we&#8217;re<a href="http://code.google.com/p/the-bus-pirate/source/browse/#svn/trunk/hardware/adapters/MIDI"> working on one</a> but need a <a href="http://code.google.com/p/the-bus-pirate/issues/detail?id=21">MIDI connector footprint and part number</a>.</p>
<p><strong>Bus Pirate status report</strong></p>
<blockquote><p>RAW3WIRE&gt;i <strong>&lt;&#8211; status report command</strong><br />
Hack a Day Bus Pirate v2g0</p>
<p>http://www.buspirate.com</p>
<p>Firmware v0g<br />
*&#8212;&#8212;&#8212;-*<br />
POWER SUPPLIES ON<br />
VOLTAGE MONITOR: 5V: 5.0 | 3.3V: 3.3 | VPULLUP: 5.0 |<br />
AUX: DEFAULT SETTING (AUX PIN)<br />
High-Z outputs (H=input, L=GND)<br />
PULLUP RESISTORS OFF<br />
MSB SET: MOST SIG BIT FIRST<br />
*&#8212;&#8212;&#8212;-*<br />
RAW3WIRE&gt;</p></blockquote>
<p>A new <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/procMenu.c#120">in-terminal status report</a> lists the features available in the active protocol library, and the current settings.</p>
<p><strong>User prompts with defaults</strong></p>
<blockquote><p>HiZ&gt;m<br />
1. HiZ<br />
2. 1-WIRE<br />
3. UART<br />
4. I2C<br />
5. SPI<br />
6. JTAG<br />
7. RAW2WIRE<br />
8. RAW3WIRE<br />
9. PC KEYBOARD<br />
10. MIDI<br />
(1) &gt; <strong>&lt;&#8211;press enter for default option (1/HiZ)</strong><br />
MODE SET<br />
HiZ&gt;</p></blockquote>
<p>The <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/baseIO.c#20">user prompt</a> has been updated to accept multiple-digit values. Enter without any input selects the default value shown in parentheses before the prompt. All user input is now handled by this single user prompt function.</p>
<p><strong>User value input format</strong></p>
<blockquote><p>SPI&gt;r:0&#215;02 <strong>&lt;&#8211;repeat in hex format</strong><br />
BULK READ 0&#215;02 BYTES:<br />
0&#215;00 0&#215;00<br />
SPI&gt;(0b0) <strong>&lt;&#8211;macro command in binary format</strong><br />
0.Macro menu<br />
1.SPI bus sniffer<br />
SPI&gt;</p></blockquote>
<p>All user prompts now <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/baseIO.c#81">support input values</a> in binary, hexadecimal, or decimal. Previously, menu and macro prompts only supported decimal formatted input.</p>
<p><strong>Localization, translations</strong></p>
<p>A lot of the text used in the program has been moved to a <a href="http://code.google.com/p/the-bus-pirate/source/browse/#svn/trunk/source/translations">translation file</a>, which is defined in <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/base.h#54">base.h</a>.</p>
<p>If you make a translation, please share it with us. We&#8217;ll host the translation in SVN and compile a localized firmware for anyone that might be interested.</p>
<p><strong>Test the v0h beta</strong></p>
<p>If you like to live on the edge, try the <a href="http://code.google.com/p/the-bus-pirate/source/browse/#svn/trunk/firmware">v0h nightlies</a>. These features are already implemented in v0h nightlies:</p>
<ul>
<li><a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/I2C.c#139">I2C sniffer</a>,</li>
<li>HD44780 character LCD <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/HD44780.c">test library</a>.</li>
<li><a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/pc_at_keyboard.c#316">Keyboard library I/O timeout</a>.</li>
<li>Improved <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/procSyntax.c#44">syntax parser</a>.</li>
<li>Software <a href="http://code.google.com/p/the-bus-pirate/source/browse/trunk/source/procMenu.c#93">reset command</a>.</li>
</ul>
<p>Check the <a href="http://code.google.com/p/the-bus-pirate/issues/list">issue tracker</a> for future features, or to make feature requests.</p>
<br />Posted in hardware, news, tool hacks  <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gocomments/hackadaycom.wordpress.com/10590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/comments/hackadaycom.wordpress.com/10590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godelicious/hackadaycom.wordpress.com/10590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/delicious/hackadaycom.wordpress.com/10590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gofacebook/hackadaycom.wordpress.com/10590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/facebook/hackadaycom.wordpress.com/10590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gotwitter/hackadaycom.wordpress.com/10590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/twitter/hackadaycom.wordpress.com/10590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/gostumble/hackadaycom.wordpress.com/10590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/stumble/hackadaycom.wordpress.com/10590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/godigg/hackadaycom.wordpress.com/10590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/digg/hackadaycom.wordpress.com/10590/" /></a> <a rel="nofollow" href="http://feeds.wordpress.com/1.0/goreddit/hackadaycom.wordpress.com/10590/"><img alt="" border="0" src="http://feeds.wordpress.com/1.0/reddit/hackadaycom.wordpress.com/10590/" /></a> <img alt="" border="0" src="http://stats.wordpress.com/b.gif?host=hackaday.com&amp;blog=4779443&amp;post=10590&amp;subd=hackadaycom&amp;ref=&amp;feed=1" width="1" height="1" />]]></content:encoded>
			<wfw:commentRss>http://hackaday.com/2009/06/25/bus-pirate-firmware-update-v0g/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
	
		<media:content url="" medium="image">
			<media:title type="html">Ian</media:title>
		</media:content>

		<media:content url="http://hackadaycom.files.wordpress.com/2009/05/buspiratefirmwarev0g.png" medium="image">
			<media:title type="html">buspiratefirmwarev0g</media:title>
		</media:content>
	</item>
	</channel>
</rss>
