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

<channel>
	<title>phy5ics</title>
	<atom:link href="http://blog.phy5ics.com/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.phy5ics.com</link>
	<description></description>
	<pubDate>Sun, 30 May 2010 22:57:54 +0000</pubDate>
	<generator>http://wordpress.org/?v=2.6.3</generator>
	<language>en</language>
			<item>
		<title>Cannes Lions Touchwall Wins Media Post Award</title>
		<link>http://blog.phy5ics.com/2010/05/30/cannes-lions-touchwall-wins-media-post-award/</link>
		<comments>http://blog.phy5ics.com/2010/05/30/cannes-lions-touchwall-wins-media-post-award/#comments</comments>
		<pubDate>Sun, 30 May 2010 21:56:14 +0000</pubDate>
		<dc:creator>Barton</dc:creator>
		
		<category><![CDATA[General Technology]]></category>

		<category><![CDATA[Physical Computing]]></category>

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

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

		<guid isPermaLink="false">http://blog.phy5ics.com/?p=84</guid>
		<description><![CDATA[I am pleased to announce that the Cannes Lions Touchwall 2009 captured the &#8220;Best integration with experiential/activity&#8221; award given out by MediaPost&#8217;s Digital Out of Home division.  This is a satisfying validation of an experience that takes a technology for which very few practical applications exist (touchwalls) and augmented it with an unobtrusive form of [...]]]></description>
			<content:encoded><![CDATA[<p>I am pleased to announce that the Cannes Lions Touchwall 2009 captured the &#8220;Best integration with experiential/activity&#8221; award given out by MediaPost&#8217;s Digital Out of Home division.  This is a satisfying validation of an experience that takes a technology for which very few practical applications exist (touchwalls) and augmented it with an unobtrusive form of authentication via RFID to provide a compelling, personalized informational and social experience for Cannes Lions Festival delegates.</p>
<p><img alt="" src="http://phy5ics.com/gfx/projects/cannes-interior.png" title="Cannes Lions 2009 Entrance" class="alignnone" width="440" height="293" /></p>
<p>For more details and the other winners, see <a href="http://www.mediapost.com/events/?/showID/DigitalOutofHomeAwards.10.NYC/type/Content/itemID/1233/DigitalOut-of-HomeAwards-WINNER.html" target="_blank">MediaPost Digital Out-of-Home Awards</a><br/><a href="http://phy5ics.com/projects/cannes-lions-touchwall">View project details</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.phy5ics.com/2010/05/30/cannes-lions-touchwall-wins-media-post-award/feed/</wfw:commentRss>
		</item>
		<item>
		<title>FreshDirect iPhone App Featured in App Store Staff Pics</title>
		<link>http://blog.phy5ics.com/2010/04/22/freshdirect-iphone-app-featured-in-app-store-staff-pics/</link>
		<comments>http://blog.phy5ics.com/2010/04/22/freshdirect-iphone-app-featured-in-app-store-staff-pics/#comments</comments>
		<pubDate>Thu, 22 Apr 2010 22:39:28 +0000</pubDate>
		<dc:creator>Barton</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.phy5ics.com/?p=87</guid>
		<description><![CDATA[A week after being a featured iPhone app in the Apple App Store, continued interest in what is arguably the most complex and robust e-commerce application in the App Store picks up another acknowledgement.  It has now been featured as a Staff Pick, standing alongside some other amazing apps such as Tweetie 2, FlightTrack [...]]]></description>
			<content:encoded><![CDATA[<p>A week after being a featured iPhone app in the Apple App Store, continued interest in what is arguably the most complex and robust e-commerce application in the App Store picks up another acknowledgement.  It has now been featured as a Staff Pick, standing alongside some other amazing apps such as Tweetie 2, FlightTrack Pro, Brightkite and Moviefone.</p>
<p><img src="http://phy5ics.com/gfx/projects/freshdirect-iphone-staff-picks.png" width="700"/></p>
<p><a href="http://itunes.apple.com/us/app/freshdirect/id346631494?mt=8" target="_blank">Download the free FreshDirect iPhone app</a><br/><a href="http://phy5ics.com/projects/freshdirect-iphone-app">View project details</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.phy5ics.com/2010/04/22/freshdirect-iphone-app-featured-in-app-store-staff-pics/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Installing MongoDB on MediaTemple (dv)</title>
		<link>http://blog.phy5ics.com/2010/03/27/installing-mongodb-on-mediatemple-dv/</link>
		<comments>http://blog.phy5ics.com/2010/03/27/installing-mongodb-on-mediatemple-dv/#comments</comments>
		<pubDate>Sun, 28 Mar 2010 00:43:42 +0000</pubDate>
		<dc:creator>Barton</dc:creator>
		
		<category><![CDATA[mongodb]]></category>

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

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

		<guid isPermaLink="false">http://blog.phy5ics.com/?p=73</guid>
		<description><![CDATA[Due to a project that  I&#8217;ve been working on that has some very specific software requirements  I consolidated several separate boxes (from Joyent and MediaTemple&#8217;s Grid Service) to a new (dv) from  MediaTemple for more flexibility.  As part of that migration, I needed to get MongoDB setup on CentOS.  The only RPM [...]]]></description>
			<content:encoded><![CDATA[<p>Due to a project that  I&#8217;ve been working on that has some very specific software requirements  I consolidated several separate boxes (from Joyent and MediaTemple&#8217;s Grid Service) to a new (dv) from  MediaTemple for more flexibility.  As part of that migration, I needed to get MongoDB setup on CentOS.  The only RPM out there is for MongoDB is 1.2.2, (available here: http://chrislea.com/2010/02/07/mongodb-1-2-2-for-centos-5/).  However, I quickly found out that with MT&#8217;s (dv), there are all sorts of depsolving issues with the Plesk psa packages and boost.  So after all sorts of hell with yum, I decided to give the pre-compiled binaries a shot, and much to my dismay, they worked a treat with no fussing. I ran into further issues with installing the MongoDB PHP extension via pecl, but figured out how to work around those as well.  In an effort to help out those that might run into this as well, here are instructions on how to get it running on an MT (dv).</p>
<p style="font-size: 19.5px; line-height: 28.5px;"><span id="more-73"></span></p>
<p><strong>Here is the dependency hell that I ran into after adding the repository:</strong></p>
<pre># yum install --enablerepo=chl mongo-server mongo
Loaded plugins: fastestmirror, protectbase
Loading mirror speeds from cached hostfile
 * addons: mirror.trouble-free.net
 * atomic: www4.atomicorp.com
 * base: mirror.rackspace.com
 * epel: serverbeach1.fedoraproject.org
 * extras: mirrors.unbornmedia.com
 * rpmforge: apt.sw.be
 * updates: updates.interworx.info
0 packages excluded due to repository protections
Setting up Install Process
Resolving Dependencies
--> Running transaction check
---> Package mongo.i386 0:1.2.2-mongodb_2 set to be updated
--> Processing Dependency: boost >= 1.35 for package: mongo
--> Processing Dependency: libboost_program_options-mt.so.4 for package: mongo
--> Processing Dependency: libboost_filesystem-mt.so.4 for package: mongo
--> Processing Dependency: libjs.so.1 for package: mongo
--> Processing Dependency: libboost_thread-mt.so.4 for package: mongo
--> Processing Dependency: libboost_system-mt.so.4 for package: mongo
---> Package mongo-server.i386 0:1.2.2-mongodb_2 set to be updated
--> Running transaction check
--> Processing Dependency: libboost_date_time.so.2 for package: psa
--> Processing Dependency: libboost_filesystem.so.2 for package: psa
---> Package boost.i386 0:1.37.0-6 set to be updated
---> Package js.i386 1:1.7.0-1.el5.rf set to be updated
--> Finished Dependency Resolution
psa-8.6.0-cos5.build86080722.00.i586 from installed has depsolving problems
  --> Missing Dependency: libboost_filesystem.so.2 is needed by package
psa-8.6.0-cos5.build86080722.00.i586 (installed)
psa-8.6.0-cos5.build86080722.00.i586 from installed has depsolving problems
  --> Missing Dependency: libboost_date_time.so.2 is needed by package
psa-8.6.0-cos5.build86080722.00.i586 (installed)
Error: Missing Dependency: libboost_date_time.so.2 is needed by package
psa-8.6.0-cos5.build86080722.00.i586 (installed)
Error: Missing Dependency: libboost_filesystem.so.2 is needed by package
psa-8.6.0-cos5.build86080722.00.i586 (installed)
 You could try using --skip-broken to work around the problem
 You could try running: package-cleanup --problems
                        package-cleanup --dupes
                        rpm -Va --nofiles --nodigest
The program package-cleanup is found in the yum-utils package.</pre>
<p><strong>Installing MongoDB from Pre-Compiled Binaries</strong></p>
<p>Log in to your (dv) and su to root and get to work:</p>
<pre>
[user@hostname]# su root
[root@hostname]# cd /var/lib
[root@hostname]# wget http://downloads.mongodb.org/linux/mongodb-linux-i686-1.4.0.tgz
[root@hostname]# tar -xvf mongodb-linux-i686-1.4.0.tgz
</pre>
<p>From there, you&#8217;ll want to create the directories for the database:</p>
<pre>
[root@hostname]# mkdir /data
[root@hostname]# mkdir /data/db
</pre>
<p>That&#8217;s all there is to it.  You can test your install by doing the following:</p>
<pre>
[root@hostname]# ./mongod
./mongod --help for help and startup options
Sat Mar 27 09:59:16 Mongo DB : starting : pid = 24197 port = 27017 dbpath = /data/db/ master = 0 slave = 0  32-bit 

** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
**       see http://blog.mongodb.org/post/137788967/32-bit-limitations for more

Sat Mar 27 09:59:16 db version v1.4.0, pdfile version 4.5
Sat Mar 27 09:59:16 git version: 514f8bbab657c1dc110d45eea6ea33de296dbb26
Sat Mar 27 09:59:16 sys info: Linux domU-12-31-39-01-70-B4 2.6.21.7-2.fc8xen #1 SMP Fri Feb 15 12:39:36 EST 2008 i686 BOOST_LIB_VERSION=1_37
Sat Mar 27 09:59:16 waiting for connections on port 27017
Sat Mar 27 09:59:16 web admin interface listening on port 28017
</pre>
<p><strong>Installing MongoDB Driver for PHP</strong></p>
<p>Here is what I ran into at first:</p>
<pre>
[root@hostname]# cd /var/tmp
[root@hostname]# pecl install mongo
downloading mongo-1.0.6.tgz ...
Starting to download mongo-1.0.6.tgz (53,175 bytes)
.............done: 53,175 bytes
16 source files, building
running: phpize
Configuring for:
PHP Api Version:         20041225
Zend Module Api No:      20060613
Zend Extension Api No:   220060519
building in /var/tmp/pear-build-phy5ics/mongo-1.0.6
running: /var/cache/php-pear/mongo-1.0.6/configure
checking for egrep... grep -E
checking for a sed that does not truncate output... //bin/sed
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... configure: error: cannot run C compiled programs.
If you meant to cross compile, use `--host'.
See `config.log' for more details.
ERROR: `/var/cache/php-pear/mongo-1.0.6/configure' failed
</pre>
<p>Looking at this, I realized that /var/tmp wasn&#8217;t mounted to allow execution.  That was easy enough to fix after figuring out what it was.  The key is to remount /var/tmp to allow execution:</p>
<pre>
mount -o,remount,rw,exec /var/tmp
</pre>
<p>Once you do that, then you can just run the pecl install command and everything works fine:</p>
<pre>[root@hostname]# pecl install mongo</pre>
<p><i>Important:</i> Don&#8217;t forget to change it back once you&#8217;ve done your business:</p>
<pre>
mount -o,remount,rw,noexec /var/tmp
</pre>
]]></content:encoded>
			<wfw:commentRss>http://blog.phy5ics.com/2010/03/27/installing-mongodb-on-mediatemple-dv/feed/</wfw:commentRss>
		</item>
		<item>
		<title>KnifeandPork.com Launches</title>
		<link>http://blog.phy5ics.com/2010/01/01/knifeandporkcom-launches/</link>
		<comments>http://blog.phy5ics.com/2010/01/01/knifeandporkcom-launches/#comments</comments>
		<pubDate>Fri, 01 Jan 2010 22:45:59 +0000</pubDate>
		<dc:creator>Barton</dc:creator>
		
		<category><![CDATA[Announcements]]></category>

		<guid isPermaLink="false">http://blog.phy5ics.com/?p=90</guid>
		<description><![CDATA[I am excited to announce that my new project for 2010 and beyond has launched.  While not technology related, it represents the other passions that I hold near-and-dear: cooking and photography.  The new year starts off properly with Black-Eyed Peas with Smoked Ham Hocks served alonside Collard Greens with Bacon and Red Onion. [...]]]></description>
			<content:encoded><![CDATA[<p>I am excited to announce that my new project for 2010 and beyond has launched.  While not technology related, it represents the other passions that I hold near-and-dear: cooking and photography.  The new year starts off properly with Black-Eyed Peas with Smoked Ham Hocks served alonside Collard Greens with Bacon and Red Onion.  Be sure to check back often, as I cook nearly every night.</p>
<p><a href="http://www.flickr.com/photos/phy5ics/4236177532/" title="Collard Greens by phy5ics, on Flickr"><img src="http://farm3.static.flickr.com/2764/4236177532_1950d87f2a.jpg" width="500" height="336" alt="Collard Greens" /></a></p>
<p><a href="http://knifeandpork.com/" target="_blank">Visit knifeandpork.com</a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.phy5ics.com/2010/01/01/knifeandporkcom-launches/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Holiday Infographics</title>
		<link>http://blog.phy5ics.com/2009/12/25/holiday-infographics/</link>
		<comments>http://blog.phy5ics.com/2009/12/25/holiday-infographics/#comments</comments>
		<pubDate>Fri, 25 Dec 2009 20:19:32 +0000</pubDate>
		<dc:creator>Barton</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://blog.phy5ics.com/?p=68</guid>
		<description><![CDATA[
Happy Holidays from phy5ics!
]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.phy5ics.com/wp-content/uploads/2009/12/happy_holidays.jpg"><img class="alignnone size-full wp-image-69" title="happy_holidays" src="http://blog.phy5ics.com/wp-content/uploads/2009/12/happy_holidays.jpg" width="700" /></a></p>
<p>Happy Holidays from phy5ics!</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.phy5ics.com/2009/12/25/holiday-infographics/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Bluetooth + GPS + Python + ActionScript - Part 2 - Hooking Up</title>
		<link>http://blog.phy5ics.com/2008/11/06/bluetooth-gps-python-actionscript-part-2-hooking-up/</link>
		<comments>http://blog.phy5ics.com/2008/11/06/bluetooth-gps-python-actionscript-part-2-hooking-up/#comments</comments>
		<pubDate>Fri, 07 Nov 2008 05:10:42 +0000</pubDate>
		<dc:creator>Barton</dc:creator>
		
		<category><![CDATA[AS3]]></category>

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

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

		<category><![CDATA[Physical Computing]]></category>

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

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

		<guid isPermaLink="false">http://phy5ics.com/blog/?p=58</guid>
		<description><![CDATA[Overview
After having built the hardware in Part 1, it is fairly useless without a way to get the GPS data from the device somewhere else in order to do something useful with it.  For this project, the end result will be a visualization of the GPS data in Flash Player on a Mac.  There are [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Overview</strong></p>
<p>After having built the hardware in Part 1, it is fairly useless without a way to get the GPS data from the device somewhere else in order to do something useful with it.  For this project, the end result will be a visualization of the GPS data in Flash Player on a Mac.  There are myriad ways to accomplish this, however very few approaches can easily encapsulate all of these steps in a single language.  This is because both low-level system access (to read the serial data) and some sort of server (to serve the data to Flash Player) are required.  While it is definitely possible to use any number of other languages such as Java, Processing, C++, etc., performing all of these tasks with those languages would require significant amounts of code.</p>
<p>With that said, I opted for Python not only because I love it, but also because it is quite straightforward to use it to read from a serial port using the <a href="http://pyserial.wiki.sourceforge.net/pySerial" target="_blank">pyserial module</a> and also to establish any number of different types of servers including standard HTTP and socket servers.  While there are built-in libraries for creating and managing servers, I ultimately decided on creating a socket server using <a href="http://twistedmatrix.com/trac/" target="_blank">Twisted</a>.  Twisted is an enormously powerful networking framework that simplifies the creation of all sorts of servers.</p>
<p>Why add another framework when a standard HTTP server would suffice for serving up data to the Flash Player?  The implementation of a standard HTTP server would require Flash Player polling the service to determine if data had been updated.  So, rather than rely on that sub-par solution, Twisted makes the creation of socket servers very easy, which then allows the Flash Player to receive data in real-time via an XMLSocket connection.  Not only that, but one of the coolest aspects of Twisted is that it makes it fairly easy to write multi-user socket servers, which will be a nice addition for future enhancements</p>
<p>Here is what the overall system architecture ends up looking like when all of that is considered:</p>
<p><a href="http://phy5ics.com/blog/wp-content/uploads/2008/11/gps_bt_sys_arch.jpg"><img class="alignnone size-full wp-image-62" title="gps_bt_sys_arch" src="http://phy5ics.com/blog/wp-content/uploads/2008/11/gps_bt_sys_arch.jpg" /></a></p>
<p>However, before diving into these details, the first step is to hook up the device to the Mac via a serial Bluetooth connection and verifying that everything is working so far.</p>
<p><span id="more-58"></span></p>
<p><strong>Bluetooth Pairing</strong><br />
Obviously, the first step is to power up the board.  After that, pairing the BlueSMiRF with the Mac.  This is a very straightforward process.  From the Bluetooth preference pane in System Preferences, click the &#8220;+&#8221; icon to add a new Bluetooth device.  Advance through the dialog boxes, configuring the device that shows up as <strong><em>SparkFun-BT</em></strong>.  The passkey for BlueSMiRF module is <strong><em>default</em></strong>, so type that in when prompted.</p>
<p><a href="http://phy5ics.com/blog/wp-content/uploads/2008/11/bt_pairing.jpg"><img class="alignnone size-full wp-image-59" title="bt_pairing" src="http://phy5ics.com/blog/wp-content/uploads/2008/11/bt_pairing.jpg" /></a><br />
Once that&#8217;s been done, by checking the serial interfaces in <strong><em>/dev</em></strong>, it can be verified that it is now active as a serial device.  That is done by opening a terminal window and typing <strong><em>ls /dev/tty.*</em></strong>.  That will list out all available serial interfaces.  The BlueSMiRF should show up as something like <strong><em>tty.SparkFun-BT-COM0-1</em></strong>.</p>
<p><a href="http://phy5ics.com/blog/wp-content/uploads/2008/11/ls_tty.jpg"><img class="alignnone size-full wp-image-60" title="ls_tty" src="http://phy5ics.com/blog/wp-content/uploads/2008/11/ls_tty.jpg" /></a></p>
<p><strong></strong></p>
<p><strong>Screen</strong><br />
Screen is a Unix application that allows one to attach a terminal session to a particular process.  To view the serial communication that is happening on the serial port that the BlueSMiRF is attached to, this is a good option.  This can be done by typing the following command into the terminal to view the serial communication on that port in realtime:</p>
<p><strong><em>screen /dev/tty.SparkFun-BT-COM0-1 9600</em></strong></p>
<p>Note that the <strong><em>9600</em></strong> at the end of that command is the baud rate.  That command should yield some cryptic messages being printed in Terminal like the following if everything else is wired up properly:</p>
<p><a href="http://phy5ics.com/blog/wp-content/uploads/2008/11/nmea.jpg"><img class="alignnone size-full wp-image-61" title="nmea" src="http://phy5ics.com/blog/wp-content/uploads/2008/11/nmea.jpg" /></a></p>
<p>To exit screen, hit <strong><em>control-a</em></strong>, then <strong><em>control-\</em></strong>.</p>
<p>The strings that are seen here are NMEA strings, which are derived from a specification that standardizes the way that marine electronics communicate with each other.  For additional information on this, check out <a href="http://www.gpsinformation.org/dale/nmea.htm">http://www.gpsinformation.org/dale/nmea.htm</a>.  If the GPS has a location fix, then numerous lines beginning with $GPGGA will be displayed, which precedes messages that contain the location fix data.  Otherwise, there will be mostly $GPGSV, which represents data regarding the GPS satellites themselves.</p>
<p><strong>OK, Now What?</strong></p>
<p>Now that there is data coming in over a virtual serial port, the next step is writing the software.  The next article in this series will examine the Twisted socket server and Flash XMLSocket connection along with providing the source code for those systems.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.phy5ics.com/2008/11/06/bluetooth-gps-python-actionscript-part-2-hooking-up/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Thanks for all the Fish</title>
		<link>http://blog.phy5ics.com/2008/07/24/thanks-for-all-the-fish/</link>
		<comments>http://blog.phy5ics.com/2008/07/24/thanks-for-all-the-fish/#comments</comments>
		<pubDate>Fri, 25 Jul 2008 02:16:37 +0000</pubDate>
		<dc:creator>Barton</dc:creator>
		
		<category><![CDATA[Uncategorized]]></category>

		<guid isPermaLink="false">http://phy5ics.com/blog/2008/07/24/thanks-for-all-the-fish/</guid>
		<description><![CDATA[I greatly appreciate everyone&#8217;s comments and input on my article on Bluetooth and GPS 
.  It is quite nice to have the exposure from Make and also to have one&#8217;s efforts peer reviewed as it leads to productive introspection around one&#8217;s work.
Allow me to respond to those who took the time to comment on my [...]]]></description>
			<content:encoded><![CDATA[<p>I greatly appreciate everyone&#8217;s comments and input on my article on <a href="http://phy5ics.com/blog/2008/03/16/bluetooth-gps-actionscript-part-1-hardware/">Bluetooth and GPS </a><br />
.  It is quite nice to have the exposure from Make and also to have one&#8217;s efforts peer reviewed as it leads to productive introspection around one&#8217;s work.</p>
<p>Allow me to respond to those who took the time to comment on my little project:</p>
<p><strong>To Tam, David and Snoopy:</strong><br />
No, I didn&#8217;t actually short out the entire board by connecting VCC+ and GND.  That is a mistake in my first attempt to draw out a schematic in Illustrator.  So to those that are copying this project word-for-word - please don&#8217;t follow the diagram exactly.  I&#8217;ll update it in the next couple of days when I have a chance.  As an aside, I&#8217;d be curious to hear from others about what they use for drawing circuit diagrams.  I just use Illustrator because that&#8217;s what I know from my days long past as a designer.</p>
<p><strong>To Siftah and Arto:</strong><br />
What I&#8217;ve done is most definitely available as a commercial product and most likely for less than I invested in the various components.  However, I just happen to be a nerd and am quite interested in learning from products and devices that may exist for an equal or greater price.</p>
<p>Because I cobbled my project together from off-the-shelf components, I can continually break down and re-combine any of the components I utilized into more-and-more interesting and complicated projects.  With a consumer product, I would be beholden to whatever the particular manufacturer of that consumer product dictated the functionality of a given device to be.</p>
<p>Additionally, while I&#8217;m not entirely familiar with what is on the market with regards to Bluetooth GPS devices, it&#8217;s much cooler, in my opinion, to be able to do whatever I want with the IMEA codes that I ingest and store from a piece of hardware via my own drivers and software as compared with what a GPS hardware/software vendor happens to expose via a crippled API in response to what their marketing team thinks that I might be interested in doing with said data that I collected via blood, sweat and tears on the trail.  Isn&#8217;t that why we all read and love Make?</p>
<p>Birds have dominated the sky since the day that they evolved to become flying creatures.  However, since man has gazed upon them, we have looked to them for  inspiration and in envy, often (unsuccessfully) invoking their form in an attempt to share the currents and soar above.  So, while I could theoretically transmute into a bird (or purchase one) to create an exact replica of something that already exists, by creating a reasonable facsimile I can learn how exactly it works, improve upon it and have fun doing it.</p>
<p><!-- ~ --><!-- ~ --></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.phy5ics.com/2008/07/24/thanks-for-all-the-fish/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Bluetooth + GPS + ActionScript - Part 1 - Hardware</title>
		<link>http://blog.phy5ics.com/2008/03/16/bluetooth-gps-actionscript-part-1-hardware/</link>
		<comments>http://blog.phy5ics.com/2008/03/16/bluetooth-gps-actionscript-part-1-hardware/#comments</comments>
		<pubDate>Sun, 16 Mar 2008 17:37:19 +0000</pubDate>
		<dc:creator>Barton</dc:creator>
		
		<category><![CDATA[AS3]]></category>

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

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

		<category><![CDATA[Physical Computing]]></category>
<category>as3</category><category>bluetooth</category><category>gps</category><category>physical computing</category>
		<guid isPermaLink="false">http://phy5ics.com/blog/2008/03/16/bluetooth-gps-actionscript-part-1-hardware/</guid>
		<description><![CDATA[Overview
For this project, my goal was to get GPS data into my Mac for some visualization experiments with ActionScript.  After some initial prototypes that worked well using an RS232-to-USB converter, I decided that wasn&#8217;t slick enough and had it too many wires.  I like things nice and clean around my desk, so I [...]]]></description>
			<content:encoded><![CDATA[<p><strong>Overview</strong><br />
For this project, my goal was to get GPS data into my Mac for some visualization experiments with ActionScript.  After some initial prototypes that worked well using an RS232-to-USB converter, I decided that wasn&#8217;t slick enough and had it too many wires.  I like things nice and clean around my desk, so I opted for adding Bluetooth in place of a USB converter.</p>
<p>After experimenting with some different methods, some using microprocessors and some not, I opted for the simpler route, eliminating the microprocessor.  A microprocessor doesn&#8217;t add anything other than cost for the basic purpose of this project.  Although stay tuned for another posting about integrating a similar configuration with the Make Controller and Arduino microprocessors.</p>
<p><span id="more-43"></span><br />
<strong>Parts List</strong></p>
<ul>
<li> <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=114" target="_blank">5V regulated power supply</a></li>
<li> <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=158" target="_blank">BlueSMiRF Bluetooth Module</a></li>
<li> <a href="http://www.sparkfun.com/commerce/product_info.php?products_id=465" target="_blank">EM406A GPS Module</a></li>
<li> Extra 6-pin interface cable</li>
<li> 9V battery holder</li>
<li> Headers</li>
<li> Breadboard</li>
<li> Solid 22-gauge wire</li>
<li> Soldering iron</li>
</ul>
<p><strong>5v Power Supply</strong><br />
Select a 5V power supply to use.  In this case, I&#8217;m using a switchable 3.3V/5V power supply kit that I picked up from SparkFun.  I made a slight modification to it and soldered a 9V battery adaptor to it to make it a bit more flexible and truly wireless rather than using the standard 9V DC wall adaptor.  This is just my preference for prototyping.  When I get down to a final design, I generally switch it up in favor of a simple voltage regulator to save space and weight.</p>
<p><strong>BlueSMiRF Embedded Bluetooth Serial RF Link</strong><br />
The BlueSMiRF module is sweet little device, providing an easy way to link any project using a serial interface to a computer (or another BlueSMiRF module).  Simply connect the TX, RX to another serial device along with vcc (4.5V-5.5V) and ground and it is ready to pair.</p>
<p><strong>EM406A GPS Board</strong><br />
This small board uses the SiRF Star III chipset, which is a nice chipset that is relatively stingy on power supply and can fix its position - known as TTFF (Time To First Fix), even in indoor environments, in a matter of 30 seconds or so.  Just keep in mind that the odd peach-colored ceramic part is the antenna and should point towards the sky.   Many other chipsets offer significantly less in terms of performance and most are unable to fix a position unless outside.  I was sold on it since happens to be the same chipset that I have in my Garmin CS60x, a considerably more expensive device.</p>
<p>Besides all that, the EM406A is a perfect candidate for integration with physical computing projects because it&#8217;s output is serial.  It starts outputting NMEA strings at 4800 baud once its position is fixed.  NMEA 0183 is a standard with which GPS data is transmitted from a device using comma-delimited strings.  For more information on NMEA, consult <a href="http://www.gpsinformation.org/dale/nmea.htm" target="_blank">this resource</a>.</p>
<p>The documentation for the board itself is well done.  In addition to the NMEA strings that are broadcast from the board itself, the EM406A can have commands sent to it via its serial interface to get specific NMEA data back.  The only catch is be sure to get an 6-pin extra interface cable along with the board itself.  I cut the interface cable in half and then soldered the wires some headers to make prototyping easier.  Otherwise it&#8217;s going to be impossible to do anything useful with it.</p>
<p><strong>Schematic</strong><br />
Now that we have all that down, here&#8217;s a little schematic of how everything is hooked up together:</p>
<p><a href="http://phy5ics.com/blog/wp-content/uploads/2008/11/gps_bt_schematic_rev1.jpg"><img class="alignnone size-full wp-image-54" title="gps_bt_schematic_rev1" src="http://phy5ics.com/blog/wp-content/uploads/2008/11/gps_bt_schematic_rev1.jpg" /></a></p>
<p><strong>Photograph</strong></p>
<p><a href="http://phy5ics.com/blog/wp-content/uploads/2008/11/gps_bt_2.jpg"><img class="alignnone size-full wp-image-56" title="gps_bt_2" src="http://phy5ics.com/blog/wp-content/uploads/2008/11/gps_bt_2.jpg" /></a><br />
<strong>Next Article</strong><br />
In the next post, I&#8217;ll be working through the software aspects of this project.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.phy5ics.com/2008/03/16/bluetooth-gps-actionscript-part-1-hardware/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Remount an External Hard Drive in Leopard</title>
		<link>http://blog.phy5ics.com/2008/03/14/remount-an-external-hard-drive-in-leopard/</link>
		<comments>http://blog.phy5ics.com/2008/03/14/remount-an-external-hard-drive-in-leopard/#comments</comments>
		<pubDate>Sat, 15 Mar 2008 01:27:14 +0000</pubDate>
		<dc:creator>Barton</dc:creator>
		
		<category><![CDATA[General Technology]]></category>

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

		<guid isPermaLink="false">http://phy5ics.com/blog/2008/03/14/remount-an-external-hard-drive-in-leopard/</guid>
		<description><![CDATA[This may seem like a fairly outlandish edge case for external hard drives, but it&#8217;s one that I&#8217;ve run recently.  Suppose you have an external Firewire drive connected to your MacBook Pro and then daisy-chained via Firewire to that, you have several more Firewire drives.  Then suppose you&#8217;ve accidentally ejected that first drive [...]]]></description>
			<content:encoded><![CDATA[<p>This may seem like a fairly outlandish edge case for external hard drives, but it&#8217;s one that I&#8217;ve run recently.  Suppose you have an external Firewire drive connected to your MacBook Pro and then daisy-chained via Firewire to that, you have several more Firewire drives.  Then suppose you&#8217;ve accidentally ejected that first drive that everything else is daisy-chained to.  Then suppose that you&#8217;re currently in the middle of a render to one of the other down-stream drives and really need some files off of the drive that was unmounted.  That removes the possibility of physically disconnecting the first drive to then reconnecting it to remount it, since the act of disconnecting would fubar the render.</p>
<p><span id="more-42"></span> I know that you&#8217;re now agreeing that this is a tedious edge case and probably clicking the close button on your browser, but for those that haven&#8217;t yet, there&#8217;s an easy answer.  Open up Disk Utility from /Applications/Utilities and select the drive that you unmounted and click &#8220;Mount&#8221; from the menu.  Problem solved, render complete (hours later).</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.phy5ics.com/2008/03/14/remount-an-external-hard-drive-in-leopard/feed/</wfw:commentRss>
		</item>
		<item>
		<title>Arithmetik Garden</title>
		<link>http://blog.phy5ics.com/2007/10/29/arithmetik-garden/</link>
		<comments>http://blog.phy5ics.com/2007/10/29/arithmetik-garden/#comments</comments>
		<pubDate>Mon, 29 Oct 2007 21:57:07 +0000</pubDate>
		<dc:creator>Barton</dc:creator>
		
		<category><![CDATA[RFID]]></category>
<category>physical computing</category><category>rfid</category>
		<guid isPermaLink="false">http://phy5ics.com/blog/2007/10/29/arithmetik-garden/</guid>
		<description><![CDATA[I just returned from a trip to Japan and while in Tokyo I attended an exhibition at the Mori Art Museum that was simply amazing.  The show was called Roppongi Crossing 2007: Future Beats in Japanese Contemporary Art and overall the artists that participated were fantastic, with most of them creating pieces specifically for [...]]]></description>
			<content:encoded><![CDATA[<p>I just returned from a trip to Japan and while in Tokyo I attended an exhibition at the <a href="http://www.mori.art.museum/eng/index.html" target="_blank">Mori Art Museum</a> that was simply amazing.  The show was called Roppongi Crossing 2007: Future Beats in Japanese Contemporary Art and overall the artists that participated were fantastic, with most of them creating pieces specifically for the show.   However, the exhibition included one piece in particular that stands out as the best artistic use of RFID that I have seen.</p>
<p><span id="more-37"></span> Created by Sato Masahiko and Kiriyama Takashi the piece was called Arithmetik Garden.  The premise of which is a space that one enters after picking up a card with a number on it.  This card also contains an embedded RFID chip.  One then wanders through a series of gates that contain RFID readers and are marked with mathematic operators combined with numbers (e.g. + 3, -8, / 2, * 7, etc.).  The end goal is attaining a value of 73 by walking through the various gates to perform those operations on the current number before exiting the piece.</p>
<p>What is especially nice about this piece is that the technology is completely transparent, as the card is on a string which is placed around one&#8217;s neck.  This leaves a participant to focus on the math operations required and the freedom to enjoy the experience of walking through an interface rather than passively interacting with it.  There is, however, a computer in the corner of the exhibit that will display the original number as well as all of the mathematical operations performed throughout the experience.  It also displays the current number for those that are less mathematically-inclined.</p>
<p>Photos were not allowed in the exhibition, so here are a few that I found:</p>
<p><a href="http://phy5ics.com/blog/wp-content/uploads/2007/10/arithmetikgarden-zentai05_s.jpg" title="Arithmetik Garden 2"><img src="http://phy5ics.com/blog/wp-content/uploads/2007/10/arithmetikgarden-zentai05_s.jpg" alt="Arithmetik Garden 2" /></a></p>
<p><a href="http://phy5ics.com/blog/wp-content/uploads/2007/10/arithmetikgarden-zentai04_s2.jpg" title="Arithmetik Garden 1"><img src="http://phy5ics.com/blog/wp-content/uploads/2007/10/arithmetikgarden-zentai04_s2.jpg" alt="Arithmetik Garden 1" /></a></p>
]]></content:encoded>
			<wfw:commentRss>http://blog.phy5ics.com/2007/10/29/arithmetik-garden/feed/</wfw:commentRss>
		</item>
	</channel>
</rss>
 

