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

<channel>
	<title>bbum&#039;s weblog-o-mat</title>
	<atom:link href="http://www.friday.com/bbum/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.friday.com/bbum</link>
	<description>...so google can index my head.</description>
	<lastBuildDate>Mon, 15 Apr 2013 06:20:20 +0000</lastBuildDate>
	<language>en-US</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.5.1</generator>
		<item>
		<title>OS X Client Software for Owon SDS7102 Digital Storage Oscilloscope</title>
		<link>http://www.friday.com/bbum/2013/04/15/os-x-client-software-for-owon-sds7102-digital-storage-oscilloscope/</link>
		<comments>http://www.friday.com/bbum/2013/04/15/os-x-client-software-for-owon-sds7102-digital-storage-oscilloscope/#comments</comments>
		<pubDate>Mon, 15 Apr 2013 06:14:43 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[Make]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/?p=2201</guid>
		<description><![CDATA[Ever since using my first Oscilloscope in the &#8217;80s, I&#8217;ve wanted one. Though I&#8217;m a software person by trade, my hobbies have long included electronics in many forms. Heck, I&#8217;ll take a well tuned, clean, pinball game over a video game any day (and if it isn&#8217;t well tuned and clean, I&#8217;ll do that, too). [...]]]></description>
				<content:encoded><![CDATA[<div class="imgLeft"><iframe src="http://rcm.amazon.com/e/cm?lt1=_blank&#038;bc1=000000&#038;IS2=1&#038;nou=1&#038;bg1=FFFFFF&#038;fc1=000000&#038;lc1=0000FF&#038;t=billbumgarner-20&#038;o=1&#038;p=8&#038;l=as4&#038;m=amazon&#038;f=ifr&#038;ref=ss_til&#038;asins=B006G54K3G" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</div>
<p>Ever since using my first Oscilloscope in the &#8217;80s, I&#8217;ve wanted one.  Though I&#8217;m a software person by trade, my hobbies have long included electronics in many forms.  Heck, I&#8217;ll take a well tuned, clean, pinball game over a video game any day (and if it isn&#8217;t well tuned and clean, I&#8217;ll do that, too).   An oscilloscope has long been the ultra-expensive super tool that my hobbyist pursuits just couldn&#8217;t justify the expense.</p>
<p>Not any more.</p>
<p>Recently, I picked up a cheap treadmill to turn into a &#8220;walking desk&#8221;.  It works fine, save for the annoyance that it turns off ever 30 minutes and the control box is this big, ugly, clunky thing that clearly is a whole lot dumber than the LED display indicates.   In adding some extra length to the control box&#8217;s cable, I noted there were only three wires; power, ground, and a signal wire.</p>
<p>Clearly, given price point and lack of real communication between control box and treadmill, the &#8220;protocol&#8221; between the two is likely nothing more than a PWM signal.</p>
<p>Which, given that the treadmill (<a href="http://www.amazon.com/gp/product/B004TGWUPE/ref=as_li_ss_tl?ie=UTF8&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B004TGWUPE&#038;linkCode=as2&#038;tag=billbumgarner-20">Confidence Treadmill</a><img src="http://www.assoc-amazon.com/e/ir?t=billbumgarner-20&#038;l=as2&#038;o=1&#038;a=B004TGWUPE" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />)  is for my health, health is vital, and the best way to explore that signal deeper, I investigated picking up an oscilloscope for the first time in 15 years.</p>
<p>Boy howdy.  What a difference those 15 years made!   I was used to seeing depressing 4 digit numbers on scopes that were somewhat slow, very bulky and had little to no means of exporting data save for snapping a picture.   Now?  Less than $500 gets you a multi-input &#8216;scope capable of handling up to 100MHz signals with lots of analysis features and the ability to dump it all to USB or, in some cases, the network.</p>
<p>A bit of research revealed that the <a href="http://www.amazon.com/gp/product/B001VKCJ0M/ref=as_li_ss_tl?ie=UTF8&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B001VKCJ0M&#038;linkCode=as2&#038;tag=billbumgarner-20">Rigol DS1102E</a><img src="http://www.assoc-amazon.com/e/ir?t=billbumgarner-20&#038;l=as2&#038;o=1&#038;a=B001VKCJ0M" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> is the most popular of the sort of entry level digital scopes.</p>
<p>However, the Owon scope pictured at left was only $50 more, has a much larger screen, and a LAN port.   Rigol&#8217;s ds2072 is similar, but nearly $400 more and is backordered pretty much everywhere.   While the Owon has had some negative reviews, the latest version seems to have addressed almost all of the criticisms.   That, combined with the realization that I&#8217;m not exactly going to be pushing it (and a bit of a desire for immediate gratification) and I went with the Owon.</p>
<p>Couldn&#8217;t be happier.   The <a href="http://www.amazon.com/gp/product/B006G54K3G/ref=as_li_ss_tl?ie=UTF8&#038;camp=1789&#038;creative=390957&#038;creativeASIN=B006G54K3G&#038;linkCode=as2&#038;tag=billbumgarner-20">Owon SDS7102</a><img src="http://www.assoc-amazon.com/e/ir?t=billbumgarner-20&#038;l=as2&#038;o=1&#038;a=B006G54K3G" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> seems to work just fine;  more than enough for my needs.  The user interface is pretty mediocre, but passable.</p>
<p>I&#8217;ll let people <a href="https://www.google.com/search?client=safari&#038;rls=en&#038;q=owon+sds7102+reivew&#038;ie=UTF-8&#038;oe=UTF-8">far more competent than me properly review the scope</a>.</p>
<p><br clear="left"/><span id="more-2201"></span>
<div class="imgRight"><img src="http://www.friday.com/bbum/wp-content/uploads/2013/04/1khz5vCalibration.png" alt="1khz5vCalibration" title="1khz5vCalibration.png" border="0" width="400" height="300" style="float:left;" /></div>
<p>While saving data to a USB stick was straightforward, the LAN port is pretty much completely undocumented.   The <a href="http://owon.co.uk">Owon site</a> provides documentation for communicating with the Owon Oscilloscope via USB, but nothing about the LAN.  I did find one cryptic message that said &#8220;The LAN port works just like USB&#8221;.    Mmmmm…. k.</p>
<p>Turns out that it sorta-kinda-does.  Whereas the USB port requires all the various USB shenanigans to set up a connection and communicate, the LAN port simply listens on a particular IP and port until something connects.   In both cases, you send &#8220;STARTBMP&#8221; or &#8220;STARTBIN&#8221; to start the download of a screenshot or binary data dump respectively.</p>
<p>Clearly, this called for a little bit of software.   I wrote a command line tool named <strong>ow</strong> that has subcommands (<strong>bin</strong> and <strong>net</strong>) for analyzing Owon binary files or grabbing screenshots/data off an Owon oscilloscope on the LAN.   </p>
<p>The code has been <a href="https://github.com/bbum/ow">pushed to github</a>.  Hopefully, someone else will find it useful enough to fill in some of the todo list!</p>
<p>The screenshot at right was captured over the LAN using the command <code>ow net screen /tmp/screen.bmp</code>.  The signal was from the scope itself as it includes a built in 1KHz 5v peak-to-peak square wave generator that can be used for calibration and practice purposes.  Quite handy.</p>
<pre>
ow --help
ow: Usage [OPTIONS] <sub -command> [...]

--verbose       Turn on verbose logging.
--help          Show this help message.

Subcommands:
... bin [options] file1 [file2 ...]
	Parses and summarizes Owon bin files.
     --csv      Convert file to CSV (writes new in same directory as .bin)

... net {screen,data} filename
   Downloads screenshot or binary data from Owon oscilloscope over the LAN.
   Host / port can be specified with options or will be read from database ('host','port').
     defaults write com.friday.ow host 10.0.1.230
     defaults write com.friday.ow port 3000
     --host HOST   IP address of Owon oscilloscope.
     --port PORT#  Port #.
     --write       Write values to defaults database.
</sub></pre>
<p>(The part about writing a CSV is a total lie. Doesn&#8217;t do that yet.)</p>
<p>I have since confirmed that the treadmill does indeed simply spew a PWM signal from the control box to the treadmill to control the speed.  There is no back communications.   Now I just have to figure out how to program an Arduino to spew the same PWM (easy) and add whatever discrete components are necessary to amplify the signal as needed (baffled by this part).</p>
<p><br clear="right"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2013/04/15/os-x-client-software-for-owon-sds7102-digital-storage-oscilloscope/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Ratchet &amp; Clank Infinite Bolt Hack (and Much Much More)</title>
		<link>http://www.friday.com/bbum/2012/12/29/ratchet-clank-infinite-bolt-hack-and-much-much-more/</link>
		<comments>http://www.friday.com/bbum/2012/12/29/ratchet-clank-infinite-bolt-hack-and-much-much-more/#comments</comments>
		<pubDate>Sat, 29 Dec 2012 20:19:04 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/?p=2199</guid>
		<description><![CDATA[The whole Ratchet &#038; Clank series of games is just fantastic (save for the last one or two that kinda lost the plot). This year, the first 3 games were remastered for the PS3; 1080p and a bunch of new content. If you like 3D platformers and haven&#8217;t played R&#038;C, I highly encourage you to [...]]]></description>
				<content:encoded><![CDATA[<div class="imgLeft"><iframe src="http://rcm.amazon.com/e/cm?lt1=_blank&#038;bc1=000000&#038;IS2=1&#038;nou=1&#038;bg1=FFFFFF&#038;fc1=000000&#038;lc1=0000FF&#038;t=billbumgarner-20&#038;o=1&#038;p=8&#038;l=as4&#038;m=amazon&#038;f=ifr&#038;ref=ss_til&#038;asins=B0050SXI6K" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</div>
<p> The whole Ratchet &#038; Clank series of games is just fantastic (save for the last one or two that kinda lost the plot).   This year, the first 3 games were remastered for the PS3;  1080p and a bunch of new content.  If you like 3D platformers and haven&#8217;t played R&#038;C, I highly encourage you to do so.</p>
<p>R&#038;C features a whole slew of upgradeable weapons.  You collect bolts &#8212; the in-game currency &#8212; and use those to buy new weapons (and ammo).   There is one incredibly powerful black market weapon available called the R.Y.N.O. (the &#8220;Rip Ya A New One&#8221; gun).  Priced at 150,000 bolts, it would take many, many hours of repetitive game play to harvest enough bolts (until you beat the final boss once and start over in challenge mode where bolt collection is 2x to 3x faster).</p>
<div class="imgRight"><img src="http://www.friday.com/bbum/wp-content/uploads/2012/12/InfiniteBolts.jpg" alt="Photo" title="InfiniteBolts.JPG" border="0" width="300" height="259" style="float:left;" /><br /><img src="http://www.friday.com/bbum/wp-content/uploads/2012/12/InfiniteTaunts.jpg" alt="Photo 1" title="InfiniteTaunts.JPG" border="0" width="300" height="358" style="float:left;" /></div>
<p>There aren&#8217;t any cheat codes that&#8217;ll get bolts any faster, but there are bugs that can be exploited.    Specifically, you can exploit a flaw in the geometry engine to go through a wall, fly through a roof and then fly to a race track where the game engine rules are tuned to you being on a hoverboard.  In particular, you can use &#8220;the taunter&#8221; to break boxes of bolts in a way that the boxes keep breaking for as long as you hold down the &#8220;taunt&#8221; button.</p>
<p>It takes about 3 or 4 hours of taunting boxes to generate the 150,000 bolts to grab the R.Y.N.O.</p>
<p>Now, of course, this hack &#8212; &#8220;cheat&#8221; implies a Konami-Kode, this is much more of an exploit than a purposeful feature &#8212; is well documented online.  This is a <a href="http://www.youtube.com/watch?v=488oePcVC6w">pretty typical example video</a>.</p>
<p>It, however, is <em>the hard way</em>.   A much easier way to do this is to go to the room containing the two health globes (screenshot(s) forthcoming) that said video shows you flying to.   Once in the room, stand in the corner behind the globes and knock yourself through the wall using the decoys.  Once through the wall, walk to the left along the narrow ledge until you are between the building and a really tall wall that goes over the race track.  Wall jump up to the top of the building and fly to the race track as the video shows.</p>
<p>Much, much easier than the video for several reasons.  First, going through a right-angle corner is a lot easier than that nuttiness in the raceway plaza.  Secondly, no need to fly nearly blind from way up high through the roof of the building.</p>
<p>Of course, the hacker in me immediately asked &#8220;Why does this happen and can we exploit this further?&#8221;</p>
<p>Turns out that the answer is a resounding yes.   It is really easy to find flaws in the game geometry that can be exploited.   Look for sharp corners and aim your decoy gun (or any gun with a target) into them.   If the gun&#8217;s target jumps between planes rapidly &#8212; better yet, if there are places where it will steadily oscillate between two planes &#8212; you can almost assuredly use the Decoy trick to knock yourself through that spot into whatever is beyond.</p>
<p>The glitches that result can be pretty mind bending.  I have yet to see the game crash, but &#8220;divide-by-zero&#8221; would be an apt description of some of the results.</p>
<p>I&#8217;ve now used this in a few places in the game to complete a mission without doing any of the intervening bits or to get into a secret room without bothering to find the oft-well-hidden entrance.</p>
<p>Roger &#038; I now have quite a few worlds to explore!<br />
<br clear="right"/><br />
<br clear="left"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2012/12/29/ratchet-clank-infinite-bolt-hack-and-much-much-more/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Xcode: Sometimes a return is not a return (emacs brain damage)</title>
		<link>http://www.friday.com/bbum/2012/12/23/xcode-sometimes-a-return-is-not-a-return-emacs-brain-damage/</link>
		<comments>http://www.friday.com/bbum/2012/12/23/xcode-sometimes-a-return-is-not-a-return-emacs-brain-damage/#comments</comments>
		<pubDate>Sun, 23 Dec 2012 22:26:54 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/?p=2192</guid>
		<description><![CDATA[Every now and then, I&#8217;ll be coding along merrily in Xcode and I&#8217;ll get an error much like the one at left. Or &#8220;expected identifier or &#8216;(&#8216;&#8221; is another variant. Huh? That code is fine. Maybe it is an invisible character? Nope. Nothing shown. Took a bit, but I figured out the cause; 25 years [...]]]></description>
				<content:encoded><![CDATA[<div class="imgLeft"><img src="http://www.friday.com/bbum/wp-content/uploads/2012/12/ExpectedExpression.png" alt="ExpectedExpression" title="ExpectedExpression.png" border="0" width="600" height="314" style="float:left;" /><br /><img src="http://www.friday.com/bbum/wp-content/uploads/2012/12/IndentionInsertionPrefs.png" alt="Indention and Insertion Prefs" title="IndentionInsertionPrefs.png" border="0" width="600" height="459" style="float:left;" /></div>
<p>Every now and then, I&#8217;ll be coding along merrily in Xcode and I&#8217;ll get an error much like the one at left.   Or &#8220;expected identifier or &#8216;(&#8216;&#8221; is another variant.</p>
<p>Huh?   That code is fine.   Maybe it is an invisible character?   Nope.  Nothing shown.</p>
<p>Took a bit, but I figured out the cause;  25 years of using emacs as my command line editor of choice, along with the folks at NeXT that implemented the AppKit&#8217;s text editor.</p>
<p>In emacs, you quite commonly navigate about by holding down the ctrl- key and banging on various keys to go to the beginning/end of lines, etc.   Many of these control sequences are honored by Cocoa&#8217;s text editing system and quite a few more are supported in Xcode&#8217;s editor.</p>
<p>Seemingly unrelated, <i>ctrl-return</i> is mapped to <strong>Insert Line Break</strong>.</p>
<p>Thus, if you are an emacs head and you commonly hit <em>ctrl-e&lt;return></em> to start a new line of code and you happen to hold down the return key just a tad too long, it causes the error shown (or a variant depending on where the insert happens).</p>
<p>The easiest way to tell if this is the case is to go to the line of code <em>after</em> the line reporting the error and hit <em>ctrl-a</em>.  If the cursor ends up at the beginning of the <em>previous</em> line, that line is ended by a line break and not a true newline.   (<em>ctrl-n &#8211; backspace &#8211; return</em> to quickly fix).</p>
<p>While it is easy enough to fix once you know the <em>ctrl-a</em> trick, a better fix is one that makes it such that it&#8217;ll never happen again.</p>
<p>To do that, go to Xcode&#8217;s Key Bindings Preferences, click on &#8220;Text&#8221;, and scroll down to <em>Insertions and Indetions</em>.    On <em>Insert Line Break</em>, delete the ctrl-return (hat + u-turn arrow) key sequence.   For convenience add the same to <em>Insert Newline</em>.</p>
<p>Problem solved.<br />
<br clear="left"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2012/12/23/xcode-sometimes-a-return-is-not-a-return-emacs-brain-damage/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>3D Printing: A Tour of Stuff</title>
		<link>http://www.friday.com/bbum/2012/12/15/3d-printing-a-tour-of-stuff/</link>
		<comments>http://www.friday.com/bbum/2012/12/15/3d-printing-a-tour-of-stuff/#comments</comments>
		<pubDate>Sat, 15 Dec 2012 18:07:18 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[3D Printer]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Make]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/?p=2181</guid>
		<description><![CDATA[Since picking up an Ultimaker nearly a year ago, I&#8217;ve printed many things (and wrote a very well received article for Make: Ultimate Guide to 3D Printing). These are many of them and some lessons learned from each. Koch Snowflake Tree Ornament Baubles This is Thingiverse Object #35561. Every year, we have an annual ornament [...]]]></description>
				<content:encoded><![CDATA[<p>Since picking up an Ultimaker nearly a year ago, I&#8217;ve printed many things (and wrote a very well received article for <a href="http://blog.makezine.com/volume/make-ultimate-guide-to-3d-printing/">Make: Ultimate Guide to 3D Printing</a>).</p>
<p>These are many of them and some lessons learned from each.</p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/8275500266" title="View 'Printed Ornaments' on Flickr.com"><img height="375" style="float:left;" border="0" src="http://farm9.staticflickr.com/8480/8275500266_0caa7ed0de.jpg" alt="Printed Ornaments" title="Printed Ornaments" width="500"/></a></div>
<h3>Koch Snowflake Tree Ornament Baubles</h3>
<p>This is <a href="http://www.thingiverse.com/thing:35561">Thingiverse Object #35561</a>.</p>
<p>Every year, we have an annual ornament exchange in our neighborhood.   Last year, I used <a href="http://shop.evilmadscientist.com/productsmenu/tinykitlist/171-egg-bot">EMSL&#8217;s Egg-Bot</a> to create an <a href="http://www.friday.com/bbum/2011/12/17/eichler-ornament/">Eichler themed ornament</a>.</p>
<p>This year, I started down the path of custom designing an ornament for printing, but grabbed the Koch snowflake baubles from Thingiverse.</p>
<p><i>Lesson Learned:</i> Design software is hard to use.  3D design software is harder.  You&#8217;d think a simple circle with some stars and words extruded in 3-space would be easy to do.   Still, people totally dig the unique texture and shapes of these.   In hindsight, I probably should have used <a href="http://inkscape.org">Inkscape</a> (awful, but works and is what is used for the egg-bot) to do a 2D design and then extrude that.<br />
<br clear="left"/><span id="more-2181"></span>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/8235865259" title="View 'Wii Sensor Bar Mount (For Panasonic Plasma TV)' on Flickr.com"><img height="180" style="float:left;" border="0" src="http://farm9.staticflickr.com/8062/8235865259_e624307512_n.jpg" alt="Wii Sensor Bar Mount (For Panasonic Plasma TV)" title="Wii Sensor Bar Mount (For Panasonic Plasma TV)" width="320"/></a><br /><a href="http://www.flickr.com/photos/49503114554@N01/8236935712" title="View 'Wii Sensor Bar Mount Draft Prints' on Flickr.com"><img height="240" style="float:left;" border="0" src="http://farm9.staticflickr.com/8069/8236935712_2fbe337d9b_n.jpg" alt="Wii Sensor Bar Mount Draft Prints" title="Wii Sensor Bar Mount Draft Prints" width="320"/></a></div>
<h3>Custom Wii Sensor Bar Mounts for Panasonic Viera Plasma TV</h3>
<p>This was one of my early DIY projects and can be downloaded from <a href="http://www.thingiverse.com/thing:17834">Thingiverse as Object #17834</a>.</p>
<p>The Wii has a sensor bar that, ideally, needs to go on top of or under your TV.  In the middle.   Tape is often used.   Or the bar is balanced precariously somewhere.  Annoying and often ugly.</p>
<p>It would have been preferable if the sensor bar came with some means of mounting on the TV that didn&#8217;t involve adhesives, but doing so would have required some kind of clamping mechanism because TVs have become really thin and there are 10s of thousands of different cross sections.</p>
<p>With calipers in hand, I was able to quickly draw a cross-section of our TV&#8217;s profile along with a cross-section of the sensor bar to create a set of clips that exactly fits our TV while providing a sturdy and attractive solution.</p>
<p><em>Lesson Learned:</em>  This was an <strong>a-ha!</strong> moment.  Yes, with a reasonably amount of effort and minimal clue as to how to use the design software (<a href="http://www.sketchup.com">SketchUp</a>, in this case, which is OK for simple 2D -> 3D extrusions, but the learning curve is pretty vicious after that), it is possible to turn out a custom solution for a problem unique to your household in a relatively short amount of time (a little over an hour in this case).</p>
<p>The bottom image shows the evolution of the design (and evolution of my understanding how to design such things).</p>
<p><br clear="all"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/8236932872" title="View 'Aerogarden Pods &#038; Covers' on Flickr.com"><img height="240" style="float:left;" border="0" src="http://farm9.staticflickr.com/8482/8236932872_22e90dc190_n.jpg" alt="Aerogarden Pods &#038; Covers" title="Aerogarden Pods &#038; Covers" width="320"/></a><br /><a href="http://www.flickr.com/photos/49503114554@N01/8235865441" title="View 'Aerogarden Custom Pod w/Grow Medium (Rockwool)' on Flickr.com"><img height="316" style="float:left;" border="0" src="http://farm9.staticflickr.com/8482/8235865441_da4b1732cf_n.jpg" alt="Aerogarden Custom Pod w/Grow Medium (Rockwool)" title="Aerogarden Custom Pod w/Grow Medium (Rockwool)" width="320"/></a></div>
<h3>Aerogarden Compatible Grow Pods</h3>
<p>Probably the last thing I designed with <a href="http://www.punchcad.com/p-9-viacad-2d3d-v8.aspx">ViaCAD</a> (a mediocre 3D design program) and it is available on <a href="http://www.thingiverse.com/thing:32613">Thingiverse as Object #32613</a>.</p>
<p>I found a 7 hole Aerogarden at a garage sale for $5.   I&#8217;ve always wanted to experiment with hydroponics and this seemed like a great (cheap) way to start.   As Aerogarden&#8217;s business model is definitely razor vs. blades, the grow lamps and consumables for the Aerogarden are quite expensive. </p>
<p>After an initial run with &#8220;official components&#8221;, I took what I learned and designed printable grow pod inserts.   These are a much better design than the ones that Aerogarden sells in that they are roomier, giving the plant a solidly rooted foundation, and, quite frankly, they fit much better in that these snap into place and don&#8217;t have a long tail that bottoms out on the unit&#8217;s internal support structures.</p>
<p>They work great, too.</p>
<p><em>Lesson Learned:</em>  3D printing can also be used to replace consumables in various kits, etc, thus disrupting the razor vs. blades business model.  I don&#8217;t fault Aerogarden for their business model at all, but I do hold them accountable for the awful design of their &#8220;universal&#8221; grow pods.    My design &#8212; while the mechanics of it are horrible &#8212; works much better and is fully reusable.</p>
<p>And it is awfully nice to have fresh parsley, basil, and other herbs all winter long.<br />
<br clear="left"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/8235868449" title="View 'Bird Cage Feeder' on Flickr.com"><img height="500" style="float:left;" border="0" src="http://farm9.staticflickr.com/8345/8235868449_640897c5d4.jpg" alt="Bird Cage Feeder" title="Bird Cage Feeder" width="375"/></a></div>
<h3>Bird Cage Feeder</h3>
<p>Son: &#8220;I can&#8217;t feed Steve [our accidental parakeet] because his feeder is broken.&#8221;<br />
Me: &#8220;OK.  How did it break?&#8221;<br />
Son: &#8220;I stepped on it.&#8221;<br />
Me: &#8220;….&#8221;</p>
<p>Sometimes, there is no point in investigating further.   Chaos surrounds an 11 year old.   Embrace it or lose your sanity trying to fathom it.</p>
<p>Now, I could have easily hopped in the car and gone out to buy a new one.  But what is the fun in that?   Besides, this was, by far, the most complex piece of 3D modeling I had faced and I welcome a challenge.</p>
<p>It took me a while, but I came up with a design that seemed workable and, then, the first test print totally failed because I neglected to think through how the overhangs would be supported during the print.   This was prior to my Ultimaker&#8217;s extruder upgrade and, thus, printing with support fluff wasn&#8217;t possible without the extruder jamming.   Thus, I had to change the design a bit to include some cut-off tabs that would provide support during the print.</p>
<p>Took a while, but the end result has been working well enough for more than 6 months now.   Steve seems happy enough with it.</p>
<p><em>Lesson Learned:</em>  Designing an object for 3D printing is more than just object design.  You have to also consider how the object will be printed.   An additive printer, like the Ultimaker, builds objects layer by layer.  If the layer currently being printed has an overhang more than a few 1/10ths of a mm over the previous layer, it will sag.  Bridges will work if the printer is properly calibrated.   Slicing with support material can be another solution, but cleanup can leave a mess behind and wastes material.</p>
<p><br clear="left"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/8235869289" title="View 'Shower Pole End Cap (so glass door could pass)' on Flickr.com"><img height="460" style="float:left;" border="0" src="http://farm9.staticflickr.com/8060/8235869289_9a408a52a6_n.jpg" alt="Shower Pole End Cap (so glass door could pass)" title="Shower Pole End Cap (so glass door could pass)" width="320"/></a><br /><a href="http://www.flickr.com/photos/49503114554@N01/8235866843" title="View 'Custom Washcloth Hooks &#038; Toothpaste Tube Squisher' on Flickr.com"><img height="189" style="float:left;" border="0" src="http://farm9.staticflickr.com/8197/8235866843_096c2b2a74_n.jpg" alt="Custom Washcloth Hooks &#038; Toothpaste Tube Squisher" title="Custom Washcloth Hooks &#038; Toothpaste Tube Squisher" width="320"/></a></div>
<h3>Upgrading the Bathroom</h3>
<p>When we remodeled our bathroom, we overlooked two things.   First, the need for a glass door between the shower area and the rest of the room to keep the water contained.  Secondly, there were no washcloth hooks nor any place convenient to drape them!</p>
<p>Unfortunately, upon installing the door, it didn&#8217;t clear the shower head pole when swung inwards.</p>
<p>Thus, I spent some time with the calipers and designed a new end cap for the pole that had a flat side that the door would clear (as pictured).   I also created some slide-on washcloth hooks that nicely fit the slate shelf inset in the shower wall.</p>
<p>Bonus picture;  a printed <a href="http://www.thingiverse.com/thing:12132">toothpaste tube squisher (Thingiverse Object #12132</a>.</p>
<p><em>Lesson Learned:</em> When creating anything that friction fits with something else, you generally want to design the piece to be 0.2mm smaller than whatever it is sliding into (or 0.2mm larger, if sliding over).   That seems to be a good starting point to create something that will fit tightly, but not too tight.   Likely, you&#8217;ll need to experiment a bit to ensure the fit is correct and, to this end, learning to print only part of a model is quite useful (in whatever design software you use, you can typically create a big cube that obscures all but the fit-test portion of the print and subtract that from the overall object).</p>
<p><br clear="left"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/8235868189" title="View 'Bottom to a Soap Dispenser (to keep rust off the counter)' on Flickr.com"><img height="320" style="float:left;" border="0" src="http://farm9.staticflickr.com/8201/8235868189_94dddf9c80_n.jpg" alt="Bottom to a Soap Dispenser (to keep rust off the counter)" title="Bottom to a Soap Dispenser (to keep rust off the counter)" width="240"/></a></div>
<h3>Fixing Random Dispensers</h3>
<p>The problem with cheap metal soap dispensers is that the bottoms tend to rust out over time  in wet environments (like, you know, the average bathroom or kitchen counter).</p>
<p>Fixing it is just a matter of keeping the thing off the counter far enough to keep it out of the water.</p>
<p>This is also another situation where press-fit works extremely well.   </p>
<p>Just measure the diameter of the bottom of the object and create a disk in your 3D modeler that is about 3mm to 4mm bigger in diameter than the object.   Cut out the middle of the disk (no need to waste the plastic) and extrude it into 3-space by about 3mm or 4mm.   Then inset the outside edge and extrude above that ring such that you have a raised ring the same diameter as the bottom of your dispenser.   Print and snap on.  Done.</p>
<p><em>Lessons Learned:</em> A 3D printer can be used to easily and greatly extend the livespan of objects used around the house.    When printing, though, try to print in the final color you want.   That orange ring fit so well, I couldn&#8217;t really get it off without potentially destroying it or the fragile (from rust) bottom of the dispenser.   Should have printed it in clear or black in the first place.  Oops.</p>
<p><br clear="left"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/8236932264" title="View 'Replacement Lock Handle' on Flickr.com"><img height="320" style="float:left;" border="0" src="http://farm9.staticflickr.com/8483/8236932264_3f323450ea_n.jpg" alt="Replacement Lock Handle" title="Replacement Lock Handle" width="280"/></a><br /><a href="http://www.flickr.com/photos/49503114554@N01/8236932086" title="View 'Dimmer Switch Knob' on Flickr.com"><img height="320" style="float:left;" border="0" src="http://farm9.staticflickr.com/8065/8236932086_c3c0194969_n.jpg" alt="Dimmer Switch Knob" title="Dimmer Switch Knob" width="280"/></a></div>
<h3>Repairing Old Stuff Around the House</h3>
<p>Our neighborhood is full of houses &#8212; of Eichlers &#8212; that were all built in the early &#8217;60s.  They generally been remodeled at least once, often in the &#8217;80s.   </p>
<p>As such, there are lots of old bits in the house and, because they are Eichlers, replacing the old bits is often either difficult or expensive because of lack of availability.</p>
<p>Our neighbor&#8217;s sliding glass door had the locking mechanism&#8217;s handle break off.   That little bit of plastic would have cost $40 to replace.   15 minutes with the calipers and I was able to produce a replacement that has been in use for many months.</p>
<p>Similarly, he had a dimmer switch whose knob crumbled (as old plastic is want to do).  Trivial to print.</p>
<p>Not pictured, I&#8217;ve also printed a replacement microwave coupler as the old one split and wouldn&#8217;t turn the plate anymore.   As well, a custom designed coupler between a squirrel cage fan and 4&#8243; tubing for a solar heating solution.</p>
<p><i>Lessons Learned:</i> I&#8217;m good at breaking old plastic things and a caliper + 3D Printer can fix my destruction cheaply!</p>
<p><br clear="left"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/8235867795" title="View 'Maglite Wall Mount' on Flickr.com"><img height="320" style="float:left;" border="0" src="http://farm9.staticflickr.com/8482/8235867795_8c1955b1bd_n.jpg" alt="Maglite Wall Mount" title="Maglite Wall Mount" width="250"/></a>
</div>
<h3>Mag-lite Flashlight Wall Mounts</h3>
<p>This is <a href="http://www.thingiverse.com/thing:19767">Thingiverse Object #19767.</a></p>
<p>Printed two of these.  One hangs in the garage, one hangs by the side of the bed.</p>
<p>Surprisingly strong.</p>
<p><i>Lessons Learned:</i>  When printing something that will support weight like this, a 40%  in-fill with a hexagonal in-fill will produce an incredible strong part.  Surprisingly strong.</p>
<p><br clear="left"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/8119345460" title="View 'Shuttle' on Flickr.com"><img height="500" style="float:left;" border="0" src="http://farm9.staticflickr.com/8326/8119345460_c77d373a62.jpg" alt="Shuttle" title="Shuttle" width="375"/></a></div>
<h3>The Space Shuttle</h3>
<p>A little while ago, <a href="http://www.nasa.gov/multimedia/3d_resources/models.html">NASA dropped a treasure trove of 3D models on the Internet for free download</a>.</p>
<p>So, of course, I had to print <em>something</em>.   Looking through the models, the Shuttle seemed to be about the most straightforward (the small struts on the various other spacecraft would not print well at all).   Thus I <a href="http://www.friday.com/bbum/2012/10/23/printing-the-nasa-3d-models/">printed one</a>.</p>
<p>Coincidentally, my wife had run into some NASA engineers at Tommy&#8217;s Mexican Restaurant.  They were in town doing some work (normally based out East) and I extended an invitation to for lunch at Apple.</p>
<p>They were surprised and delighted to receive a printed Space Shuttle and have apparently put it on display in one of the NASA command centers!</p>
<p><em>Lesson Learned:</em> You&#8217;d think printing the shuttle in landing position would make sense.  But it doesn&#8217;t because those wings curve gently upward;  do not sit flat on the print bed.    Printing support material just makes it worse.   </p>
<p>Instead, I printed the shuttle in launch position, with support material turned on and the quality came out quite a bit better.   What you can&#8217;t see from the final model, but is apparent in some of the other pictures in my Flickr photo stream, is that the shuttle&#8217;s cargo bay is actually empty (but the cargo doors are more solid than reality).</p>
<p>Ultimately, it also drove home that there is a <em>huge</em> difference between a 3D model used to render something and a 3D model used to print something.</p>
<p><br clear="left"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/8235868015" title="View 'Multiple Ultimaker Upgrades' on Flickr.com"><img height="500" style="float:left;" border="0" src="http://farm9.staticflickr.com/8069/8235868015_02fd828657.jpg" alt="Multiple Ultimaker Upgrades" title="Multiple Ultimaker Upgrades" width="375"/></a><br /><a href="http://www.flickr.com/photos/49503114554@N01/8236933280" title="View 'Razor Blade, Ultimaker Feet, Custom Tool Holder' on Flickr.com"><img height="500" style="float:left;" border="0" src="http://farm9.staticflickr.com/8487/8236933280_c49f276273.jpg" alt="Razor Blade, Ultimaker Feet, Custom Tool Holder" title="Razor Blade, Ultimaker Feet, Custom Tool Holder" width="375"/></a><br /><a href="http://www.flickr.com/photos/49503114554@N01/8235866663" title="View 'Custom Fan Duct Spacer (and Fan Duct)' on Flickr.com"><img height="250" style="float:left;" border="0" src="http://farm9.staticflickr.com/8485/8235866663_d23e2f5aa2.jpg" alt="Custom Fan Duct Spacer (and Fan Duct)" title="Custom Fan Duct Spacer (and Fan Duct)" width="375"/></a></div>
<h3>Printer Upgrades &#038; Various Tools</h3>
<p>If you purchase a 3D printer, the <em>very first thing you should do is calibrate it</em>.  The very next thing is to print <em>all possible replacement parts that can be printed</em>.   For the Ultimaker, most of the frame and body is wood.  However, for <a href="http://reprap.org/wiki/How_to_Print_RepRapPro_Huxley">RepRap (Huxley, in this case)</a> and <a href="http://reprap.org/wiki/Rostock">Rostock</a> printers, there are many printed plastic parts that you should ensure that you have extras on hand <em>just in case</em>.</p>
<p>For the Ultimaker, I have printed filament holders (<a href="http://www.thingiverse.com/thing:10682">Thingiverse Object #10682</a>), a nut knob (white thing on the extruder cap nut &#8212; <a href="http://www.thingiverse.com/thing:8903">Thingiverse Object #8903</a>), a drive gear (<a href="http://www.thingiverse.com/thing:29260">Thingiverse Object #29260</a>), a wedge to lock the extruder in place (<a href="http://www.thingiverse.com/thing:25436">Thingiverse Object #25436</a>), a tool holder that I designed (<a href="http://www.thingiverse.com/thing:18098">Thingiverse Object #18098</a>), feet (<a href="http://www.thingiverse.com/thing:16687">Thingiverse Object #16687</a>), a razor blade holder (incredibly useful &#8212; have printed many &#8212; <a href="http://www.thingiverse.com/thing:13045">Thingiverse Object #13045</a>), bits to manage the Bowden cable (<a href="http://www.thingiverse.com/thing:11864">Thingiverse Object #11864</a> and <a href="http://www.thingiverse.com/thing:24363">Object #24363</a>), two different kinds of belt tensioners (<a href="http://www.thingiverse.com/thing:17058">Thingiverse Object #17058</a> and <a href="http://www.thingiverse.com/thing:12513">Object #12513</a>) a fan shroud (<a href="http://www.thingiverse.com/thing:20459">Thingiverse Object #20459</a>), I designed a spacer for the fan shroud to make it hot-end v2 compatible (<a href="http://www.thingiverse.com/thing:32612">Thingiverse Object #32612</a>), and all the parts to make a new pressure driven extruder driver that is a significant upgrade over the friction gap one I use now (<a href="http://www.thingiverse.com/thing:26094">Thingiverse Object #26094</a>).</p>
<p><em>Lessons Learned:</em>  Many.   Owning a 3D printer in the hobbyist vein is akin to owning a classic British roadster.   You&#8217;re guaranteed that there is always something in the electrical or mechanical that either needs to be fixed or could be upgraded.   There is a library of parts you should always keep on hand and a set of tools that will always be nearby.</p>
<p>The community for the Ultimaker is fantastic.  I&#8217;ve met some really neat people through the community and everyone is incredibly helpful.    As far as I can tell, the same holds true for the other printers in the sort of Maker vein, too.<br />
<br clear="left"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/8235869587" title="View 'Custom Project Case' on Flickr.com"><img height="320" style="float:left;" border="0" src="http://farm9.staticflickr.com/8486/8235869587_56dc217b79_n.jpg" alt="Custom Project Case" title="Custom Project Case" width="240"/></a><br /><a href="http://www.flickr.com/photos/49503114554@N01/8236933034" title="View 'Raspberry Pi Case' on Flickr.com"><img height="320" style="float:left;" border="0" src="http://farm9.staticflickr.com/8488/8236933034_4aa3d481e9_n.jpg" alt="Raspberry Pi Case" title="Raspberry Pi Case" width="240"/></a></div>
<h3>Project Cases</h3>
<p>I created an <a href="http://www.friday.com/bbum/2012/03/17/teensy-based-ir-blaster/">Infrared Blaster using an Arduino derivative platform</a> that allows me to control arbitrary multi-media equipment via my computer&#8217;s USB port.  Useful.  It needed a case.  So I designed and printed one.</p>
<p>With optimism that I&#8217;d have time to play with it, I also picked up a Raspberry Pi.  It needed a case.   <a href="http://www.thingiverse.com/thing:25363">Downloaded from Thingiverse (#25363)</a> and printed.</p>
<p><em>Lessons Learned:</em>  I will never an excuse again to have a shoddy case for my projects.   Better yet, the cases can be custom designed to exactly fit into wherever they are destined to be installed.</p>
<p>Unfortunately, the Pi case also drives home the need for a heated print bed.  PLA and ABS &#8212; mores ABS &#8212; has a tendency to warp when printing large flat areas.   A heated print bed addresses this issue.   Parts ordered.<br />
<br clear="left"/></p>
<p>Most importantly, I&#8217;ve printed a few things for my son, including <a href="http://www.thingiverse.com/thing:32614">these drawer dividers</a> for his sorting/collecting efforts, and <em>now he has started designing his own things to print!</em>  Amazing to think he will grow up living pretty much his entire life with personal fabrication very much a reality.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2012/12/15/3d-printing-a-tour-of-stuff/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Roast Turkey</title>
		<link>http://www.friday.com/bbum/2012/12/04/roast-turkey/</link>
		<comments>http://www.friday.com/bbum/2012/12/04/roast-turkey/#comments</comments>
		<pubDate>Tue, 04 Dec 2012 05:41:16 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[Food]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/?p=2177</guid>
		<description><![CDATA[For Thanksgiving this year, I couldn&#8217;t decide between cooking a smoked turkey or a roasted turkey. So I did both. 38 lbs of turkey may have been excessive for 12 people, but the leftovers are grand (still have quit a bit frozen). For the smoked turkey, I followed the guide at Amazing Ribs. Hands down, [...]]]></description>
				<content:encoded><![CDATA[<div class="imgLeft"><img src="http://www.friday.com/bbum/wp-content/uploads/2012/12/Turkey.jpg" alt="Turkey" title="Turkey.JPG" border="0" width="400" height="249" style="float:left;" /></div>
<p> For Thanksgiving this year, I couldn&#8217;t decide between cooking a smoked turkey or a roasted turkey.  So I did both.   38 lbs of turkey may have been excessive for 12 people, but the leftovers are grand (still have quit a bit frozen).</p>
<p>For the smoked turkey, I followed the <a href="http://www.amazingribs.com/recipes/chicken_turkey_duck/ultimate_smoked_turkey.html">guide at Amazing Ribs</a>.  Hands down, the best BBQ/Grilling site around.</p>
<p>For the roast turkey, I started with <a href="http://www.marthastewart.com/353184/perfect-roast-turkey">Martha Stewart&#8217;s Cheesecloth Method</a>, derived inspiration from Amazing Ribs, and applied a bit of my whim.  The end result was incredibly good and, bonus, also produced some of the best gravy I&#8217;ve ever had.</p>
<p>Details:</p>
<ul>
<li>You&#8217;ll need a roasting pan that allows the turkey to be suspended at least an inch, preferably more, above the contents of the pan (which will be about 1&#8243; deep).  Looking closely at the (admittedly poor) picture, my turkey roaster&#8217;s rack has little notches that allow it to be suspended over the pan.  If you have room, you could use a pan on the bottom rack of the oven with a rack immediately over to hold the turkey.</li>
<li>Shove some sage leaves and a lemon inside the bird&#8217;s body cavity.  No stuffing, though, as that just dries out the meat (by requiring a longer cook) while not really improving stuffing quality.</li>
<li>Pre-heat oven to 450℉</li>
<li>In the roasting pan place all the turkey innards but the gizzard &#8212; neck, any fatty bits cut off, heart, liver, etc… Add to the pan:
<ul>
<li>One large onion, halved, skin on.  The skin adds color.</li>
<li>Several peeled carrots, cut to finger length chunks.</li>
<li>Celery, finger length chunks.</li>
<li>6+ whole peppercorns.</li>
<li>60 / 40 mix of water / apple juice, enough to mostly cover the veggies.</li>
</ul>
</li>
<li>In a deep sauce pan, melt 3/4 lbs of butter.  Add 2 cups of Sake and ~1 Cup of Jack Daniels.    Once thoroughly melted and stirred, soak a cheese cloth in it and layer on top of the turkey.  There should be at least 4 layers of cloth on the top and down the sides of the turkey.</li>
<li>Shove the bird in the oven.   After one hour, drop the temperature to 350℉ and baste the turkey with most of the remaining butter/sake/JD magic sauce.  It&#8217;ll sizzle and pop. That&#8217;s OK.  The cheesecloth will likely be near black and crispy.  Also OK.</li>
<li>After another couple of hours, remove the cheesecloth carefully.  Baste with any remaining awesomesauce and baste with a bit more of the drippings from the roasting pan below the turkey.</li>
<li>Cook for at least another hour.  The bird will be done when the meat in the thickest part reaches ~155℉.   Not 165℉ as the bird needs to rest for a good 15 to 20 minutes when pulled and carryover will cause the temperature to both continue to rise and continue to pasteurize (if you hold poultry at 131℉ for long enough, it&#8217;ll be fully pasteurized&#8211; the USDA&#8217;s quote of 165℉ for safety is based on holding at that temperature for only a few seconds!).</li>
<li>Strain the contents of the roasting pan into a pot.  You could choose to serve it as is as a delicious and flavorful broth to be ladled over the meat.  Or you can choose to cook it down &#8212; to thicken it up &#8212; as a more traditional gravy.</li>
</ul>
<p><br clear="left"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2012/12/04/roast-turkey/feed/</wfw:commentRss>
		<slash:comments>2</slash:comments>
		</item>
		<item>
		<title>Printing the NASA 3D Models</title>
		<link>http://www.friday.com/bbum/2012/10/23/printing-the-nasa-3d-models/</link>
		<comments>http://www.friday.com/bbum/2012/10/23/printing-the-nasa-3d-models/#comments</comments>
		<pubDate>Wed, 24 Oct 2012 03:09:54 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[3D Printer]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/?p=2165</guid>
		<description><![CDATA[Update: Thinking about it for just a moment, I realized the print quality would likely be higher if I printed in &#8220;launch position&#8221;. Doing so would greatly improve the wing quality while also, hopefully, improving tail quality in that there would be fewer really small layers (that cause the print head to slow way down, [...]]]></description>
				<content:encoded><![CDATA[<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/8119345910" title="View 'Shuttle' on Flickr.com"><img height="500" style="float:left;" border="0" src="http://farm9.staticflickr.com/8189/8119345910_d54daa2c0a.jpg" alt="Shuttle" title="Shuttle" width="375"/></a></div>
<p>Update: Thinking about it for just a moment, I realized the print quality would likely be higher if I printed in &#8220;launch position&#8221;.  Doing so would greatly improve the wing quality while also, hopefully, improving tail quality in that there would be fewer really small layers (that cause the print head to slow way down, causing blobbing).   The disadvantage would be <em>a lot</em> more support material, especially around the engines, and, thus, a potentially difficult, if not destructive, post print cleanup.</p>
<p>And it worked!   I only lost one control jet off the back during cleanup, even!</p>
<p><em>There are more photos of the final printed piece and of the print in progress in my <a href="http://www.flickr.com/photos/bbum/8119345460/in/photostream">Flickr feed</a> (link goes to a photo in the middle of the set).</em></p>
<hr />
<p><em>I remember watching the first Shuttle launch way back in 1981.  If you&#8217;d told me then that I&#8217;d be casually printing a small copy of the Shuttle on my own personal 3D printer 32 years later, I might have thought you were crazy.  Or, at 11 years old, I probably would have have asked, &#8220;Why so long from now?&#8221;</em></p>
<p><br clear="left"/></p>
<div class="imgRight"><a href="http://www.flickr.com/photos/49503114554@N01/8118101916" title="View '3D Printed Shuttle' on Flickr.com"><img height="375" style="float:right;" border="0" src="http://farm9.staticflickr.com/8043/8118101916_6ab4996f66.jpg" alt="3D Printed Shuttle" title="3D Printed Shuttle" width="500"/></a></div>
<p>NASA has kindly dumped a treasure trove of 3D models available for <a href="http://www.nasa.gov/multimedia/3d_resources/models.html">free download</a>.</p>
<p>Obviously, these beg to be printed.  Doing so is a matter of jumping through a couple of file conversion hoops.   The files start out as Autodesk 3DS files.</p>
<p><a href="http://meshlab.sourceforge.net">Meshlab</a> can be used to import said files and then export them to STL.   You might need to do some mixup after.  Using <a href="http://www.netfabb.com">netFabb</a>, I found several errors in the model&#8217;s geometry and fixed it.  I believe Meshlab can do the same, but I&#8217;m not familiar enough with the tool</p>
<p>Slicing for printing is tricky.  The models give zero consideration, no surprise, for 3D printing.  In fact, they are entirely sub-optimal for printing.  For example, the shuttle&#8217;s cargo bay is empty, leading to a bit of a support mess, and it would print much better if the wings sat flat on the print bed.  Thus, even the simple Space Shuttle model has a curved bottom.  You&#8217;ll probably want to enable support when slicing.  Some of the models, like the lunar landers, are unlikely to be able to be printed using an extruded plastic printer without support material that can be dissolved away afterwords (i.e print in PLA or ABS with PVA support material.</p>
<p>As a first print, I sliced using <a href="http://wiki.ultimaker.com/Cura">Cura</a> with 20% infill, 0.2mm layer height, and support material turned on.   It actually turned out better than expected!</p>
<p><br clear="right"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2012/10/23/printing-the-nasa-3d-models/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>80/50 Yogurt</title>
		<link>http://www.friday.com/bbum/2012/09/09/8050-yogurt/</link>
		<comments>http://www.friday.com/bbum/2012/09/09/8050-yogurt/#comments</comments>
		<pubDate>Mon, 10 Sep 2012 00:08:58 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[Food]]></category>
		<category><![CDATA[Sous Vide]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/?p=2156</guid>
		<description><![CDATA[When I became sous vide enabled (controlled water bath, anyway, a proper vacuum chamber is on the to-buy list), it immediately dawned on me that a tightly temperature controlled water bath would be perfect for purposefully growing microorganisms as much as for preventing the growth while achieving perfectly done foods. Roger has long been a [...]]]></description>
				<content:encoded><![CDATA[<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/8092826185" title="View 'Yum!' on Flickr.com"><img height="160" style="float:right;" border="0" src="http://farm9.staticflickr.com/8466/8092826185_ac42724af0_m.jpg" alt="Yum!" title="Yum!" width="240"/></a></div>
<p>When I became <em><a href="http://www.friday.com/bbum/2010/11/04/precise-temperature-control-cooking-sous-vide-water-oven/">sous vide enabled</a></em> (controlled water bath, anyway, a proper vacuum chamber is on the to-buy list), it immediately dawned on me that a tightly temperature controlled water bath would be perfect for purposefully <em>growing</em> microorganisms as much as for <em>preventing the growth while achieving perfectly done foods</em>.</p>
<p>Roger has long been a fan of yogurt and yogurt is nothing more than milk fermented by a lactose consuming bacteria of, most commonly, the  <a href="http://en.wikipedia.org/wiki/Lactobacillus_delbrueckii_subsp._bulgaricus">Lactobacillus delbrueckii subsp. bulgaricus</a> and <a href="http://en.wikipedia.org/wiki/Streptococcus_salivarius_subsp._thermophilus">Streptococcus salivarius subsp. thermophilus</a> varieties.</p>
<p>And, yes, it has proven incredibly easy, cost effective, and exceptionally delicious to cultivate these bacteria in the milk of your choice using a sous vide rig.   Note that you really don&#8217;t need a water bath;  a cooler, some hot bottles and towels can work well enough.</p>
<p>However, you do need the precision of a water bath to achieve consistent results of the highest quality!<br />
<br clear="left"/></p>
<h3>The Recipe<br />
</h3>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/8092826886" title="View 'Milk Divided' on Flickr.com"><img height="333" style="float:right;" border="0" src="http://farm9.staticflickr.com/8330/8092826886_afcacfe880.jpg" alt="Milk Divided" title="Milk Divided" width="500"/></a></div>
<p>1. Divide a gallon of milk amongst 5 1-quart Bell canning jars (which aren&#8217;t actually 1 quart in many cases &#8212; go figure &#8212; just divide the milk evenly between them).  <em>Lids on loosely!</em></p>
<p>We use generic organic whole milk, but low-fat works, too.   It cannot be ultra-pasteurized (as ultra-pasteurization breaks down the proteins to the point that the bacteria can&#8217;t survive.  The implications on the healthiness of said milk are quite bad).  Raw milk works beautifully, but is expensive.   I&#8217;ve been meaning to try a mix of sheep and/or goat with the cow&#8217;s milk.<br />
<br clear="left"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/8092827984" title="View '2 hours at 80ºC' on Flickr.com"><img height="500" style="float:right;" border="0" src="http://farm9.staticflickr.com/8052/8092827984_aa52eb8b38.jpg" alt="2 hours at 80ºC" title="2 hours at 80ºC" width="333"/></a></div>
<p>2. Place in an <strong>80℃</strong> water bath for ~2 hours (long enough to heat the milk thoroughly to 80℃ for at least an hour).<br />
3. Cool milk to <strong>50℃</strong>.   I find it easiest to scoop out the hot water and replace with cold water to bring the temperature down rapidly.</p>
<p>I usually set the target temp of the water bath to 48℃.  By doing this, the residual heat from the milk will leach out into the water bath and you can tell when it is stable when it holds steady.   You can inoculate <em>and</em> bring the temperature back to 50℃ simultaneously (48 would be a fine temperature to incubate the cultures).   The key is to make sure the milk is solidly below 55℃ before inoculation, otherwise you&#8217;ll run the risk of killing off the live cultures!</p>
<p><br clear="left"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/8092823791" title="View 'Innoculate at 50ºC' on Flickr.com"><img height="500" style="float:right;" border="0" src="http://farm9.staticflickr.com/8326/8092823791_a407a6bbc8.jpg" alt="Innoculate at 50ºC" title="Innoculate at 50ºC" width="333"/></a></div>
<p>4. Stir in one tablespoon of the plain flavor of your favorite brand of yogurt into each jar.   Place lids back onto jar <em>loosely</em>.</p>
<p>You can use previous batches to inoculate new batches, but it is generally recommended that you refresh with new yogurt every few batches.    Honestly, I&#8217;m not sure how much this matters.  It&#8217;d seem that as long as you store your live culture yogurt properly, you shouldn&#8217;t have any more of an issue than one might with, say, a sour dough starter.   Mostly, I end up &#8220;starting over&#8221; with store bought plain yogurt simply because we eat the previous batch so quickly and we forget to preserve enough to start the next batch!<br />
5. Leave in the water bath for at least 12 hours and up to 24 hours (maybe even longer).   The longer they are in the bath, the more greek-like sourness to the yogurt.   I usually target 18 hours, maybe 22, and everyone in the family eats the stuff like crazy.<br />
<br clear="left"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/8092825289" title="View 'Done!' on Flickr.com"><img height="333" style="float:right;" border="0" src="http://farm9.staticflickr.com/8333/8092825289_f343f95949.jpg" alt="Done!" title="Done!" width="500"/></a></div>
<p>6. Tighten the lid and submerge in ice water to stop the bacteria from continuing reproduction as the temperature falls (more below).  You should hear a &#8220;pop&#8221; as each jar seals itself.</p>
<p>7. Refrigerate.   Keeps for at least three weeks.</p>
<p>You&#8217;ll get a bit of whey on some jars, some more than others, I typically collect the whey and use it in bread making.<br />
<br clear="left"/><span id="more-2156"></span><br />
<h3>Why 80/50?<br />
</h3>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/8092826185" title="View 'Yum!' on Flickr.com"><img height="333" style="float:right;" border="0" src="http://farm9.staticflickr.com/8466/8092826185_ac42724af0.jpg" alt="Yum!" title="Yum!" width="500"/></a></div>
<p>Obviously, 80/50 refers to the two temperatures used.   The first temperature isn&#8217;t that critical &#8212; anything over 65℃ will work.</p>
<p>That 50℃ number, though, is quite key.    When researching yogurt recipes, I ran across the weblog of <a href="http://biology.clc.uc.edu/fankhauser/cheese/yogurt_making/yogurt2000.htm">David B. Fankhauser, Ph.D, Professor of Biology and Chemistry</a>.   My recipe is based on his, but optimized for the water bath method.</p>
<p>Professor Frankhauser makes a very interesting observation.  The yogurt making bacteria are  thermophilic and, thus, prefer an elevated temperature for ideal growth.  They require temperatures above 37℃ (body temperature, effectively), but won&#8217;t grow above 130℃.   On the other hand, various pathogenic bacteria are also thermophilic and grow in a similar range, with their growth tapering off rapidly (but still dangerous) above ~40℃.</p>
<p>Thus, by incubating the yogurt in a water bath at 50℃, which is slightly higher than what most recipes call for (but most recipes assume the typical kitchen temperature control of +/- 10℃), we can inhibit the growth of the pathogenic bacteria while still maintaining healthy growth of the yogurt producing bacteria.</p>
<p>Not only is this safer, but it yields a far more consistent product in both flavor and texture!<br clear="left"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2012/09/09/8050-yogurt/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Whoah! Arduino goes ARM on the cheap &amp; Arduino AVR Gets Really Tiny (on the cheap)!</title>
		<link>http://www.friday.com/bbum/2012/09/05/whoah-arduino-goes-arm-on-the-cheap-arduino-avr-gets-really-tiny-on-the-cheap/</link>
		<comments>http://www.friday.com/bbum/2012/09/05/whoah-arduino-goes-arm-on-the-cheap-arduino-avr-gets-really-tiny-on-the-cheap/#comments</comments>
		<pubDate>Wed, 05 Sep 2012 07:04:26 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[Make]]></category>
		<category><![CDATA[Technology]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/?p=2153</guid>
		<description><![CDATA[For the Teensy Blaster, I used a Teensy v2.0 board from PJRC. It is a tiny board containing a not-so-limited AVR chip (32K of flash, >2K RAM, 1K of EEPROM, and a slew of I/O pins) and a mini-USB port with the ability to be USB bus powered. Tiny. Versatile. And cheap at $16/board! $24 [...]]]></description>
				<content:encoded><![CDATA[<div class="imgLeft"><img src="http://www.friday.com/bbum/wp-content/uploads/2012/09/b47af8930ab8a169e37c95534ab9945e_large1.png" alt="B47af8930ab8a169e37c95534ab9945e large" title="b47af8930ab8a169e37c95534ab9945e_large.png" border="0" width="400" height="319" style="float:left;" /></div>
<p>For the <a href="http://www.friday.com/bbum/2012/03/17/teensy-based-ir-blaster/">Teensy Blaster</a>, I used a <a href="http://www.pjrc.com/teensy/">Teensy v2.0 board from PJRC</a>.  It is a tiny board containing a not-so-limited AVR chip (32K of flash, >2K RAM, 1K of EEPROM, and a slew of I/O pins) and a mini-USB port with the ability to be USB bus powered.   Tiny. Versatile.  And <em>cheap</em> at $16/board!   $24 nearly gets you nearly 4x the memory and nearly doubles the I/O ports.</p>
<p>Today, I ran across Teensy v3.0 on Kickstarter.   In pretty much the same sized package, the Teensy v3.0 features a <strong><em>32bit ARM Cortex-M4 board with 128K of Flash(!!), 16K of RAM(!!), 2K of EEPROM, and a slew of I/O options</em></strong>.   If that weren&#8217;t enough, it includes support for IR, a high quality audio interface, an optional real time clock, 4 DMA channels, and support for touch sensor inputs.   <a href="http://cache.freescale.com/files/32bit/doc/ref_manual/K20P64M50SF0RM.pdf">And more.   Much more.  Holy cow!</a>  Truly, a nutty amount of computing power in a 1.4&#8243; x 0.7&#8243; package!</p>
<p>And it can be used from both Arduino and C.</p>
<p>So, yeah, <em><strong>funded</strong></em>.   No brainer.<br />
<br clear="left"/></p>
<div class="imgLeft"><img src="http://www.friday.com/bbum/wp-content/uploads/2012/09/8170026945a0f0462acf148cc38b69f5_large.jpg" alt="8170026945a0f0462acf148cc38b69f5 large" title="8170026945a0f0462acf148cc38b69f5_large.jpg" border="0" width="250" height="176" style="float:left;" /></div>
<p>Then, at the <em>thank you for funding this project</em> page, there is a <em>thing you might be interested link</em> that leads to the <a href="http://www.kickstarter.com/projects/digistump/digispark-the-tiny-arduino-enabled-usb-dev-board">Digispark</a>.</p>
<p>Wait.  What?   A board barely bigger than a USB connector that features an Arduino compatible CPU with multiple I/O pins, 8K of flash, PWM on 3 pins, ADC on 4 pins and <em>many many</em> different shields?!</p>
<p>For $8-$10 / board?!</p>
<p>Sign me up! (And I did!)</p>
<p><br clear="left"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2012/09/05/whoah-arduino-goes-arm-on-the-cheap-arduino-avr-gets-really-tiny-on-the-cheap/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Arduino on Mountain Lion</title>
		<link>http://www.friday.com/bbum/2012/08/21/arduino-on-mountain-lion/</link>
		<comments>http://www.friday.com/bbum/2012/08/21/arduino-on-mountain-lion/#comments</comments>
		<pubDate>Tue, 21 Aug 2012 06:17:47 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Make]]></category>
		<category><![CDATA[Software]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/?p=2145</guid>
		<description><![CDATA[In my &#8220;spare&#8221; time (hah!), I hack on Arduino a bit. Mostly because there are tons and tons of 3rd party libraries that make hacking up a hardware solution mostly a bit of soldering followed by gluing together some pre-made software bits. The Arduino IDE is Java based and… well… not terribly awesome (to be [...]]]></description>
				<content:encoded><![CDATA[<p>In my &#8220;spare&#8221; time (hah!), I hack on <a href="http://arduino.cc/en/">Arduino</a> a bit.  Mostly because there are tons and tons of 3rd party libraries that make <a href="http://www.friday.com/bbum/2012/03/17/teensy-based-ir-blaster/">hacking up a hardware solution</a> mostly a bit of soldering followed by gluing together some pre-made software bits.   The Arduino IDE is Java based and… well… not terribly awesome (to be fair &#8212; it isn&#8217;t awful, just quite lacking beyond the basics).</p>
<p>With the release of Mountain Lion, most Arduino installations were broken.  Fortunately, this can be fixed by grabbing the latest bits from here and there.</p>
<p><nl></p>
<li> Grab the latest <a href="http://arduino.cc/en/Main/Software">Arduino.app for Mac OS X</a></li>
<li>Run it and it&#8217;ll insist on installing the latest Java VM.  Do so.</li>
<li>If you use Teensyduino, grab the <a href="http://www.pjrc.com/teensy/td_download.html">latest installer and install it</a>.   If Mac OS X (rightly) complains that the software is from an unidentified source and can&#8217;t be opened, you can ctrl-click on the installer, select &#8220;open&#8221; and it will present the option to bypass the security check.  Do so, but not without a bit of misgivings.</li>
<li>Install the <a href="http://www.ftdichip.com/Drivers/VCP.htm">latest FTDI driver</a>.</li>
<p></nl></p>
<p>If all went well, you should see the device show up in /dev/ as something like <code>/dev/tty.usbmodem12341</code>.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2012/08/21/arduino-on-mountain-lion/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Amazon: Playing with an iPad</title>
		<link>http://www.friday.com/bbum/2012/08/04/amazon-playing-with-an-ipad/</link>
		<comments>http://www.friday.com/bbum/2012/08/04/amazon-playing-with-an-ipad/#comments</comments>
		<pubDate>Sat, 04 Aug 2012 23:41:12 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[Life]]></category>
		<category><![CDATA[Travel]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/?p=2134</guid>
		<description><![CDATA[We spent a week at the end of June on the Amazon River in Peru with International Expeditions. Fantastic trip, more on that in a later post. One afternoon, we visited a village &#8212; Nueva York &#8212; along the Amazon. We spent some time with the children of the village, learning a bit of spanish [...]]]></description>
				<content:encoded><![CDATA[<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/7708781784" title="View 'Playing with an iPad' on Flickr.com"><img height="417" style="float:left;" border="0" src="http://farm9.staticflickr.com/8159/7708781784_a8417b7fd7.jpg" alt="Playing with an iPad" title="Playing with an iPad" width="500"/></a></div>
<p>We spent a week at the end of June on the <a href="http://www.ietravel.com/central-south-america/amazon-river-cruises">Amazon River in Peru with International Expeditions</a>.  Fantastic trip, more on that in a later post.</p>
<p>One afternoon, we visited a village &#8212; Nueva York &#8212; along the Amazon.  We spent some time with the children of the village, learning a bit of spanish and teaching them a bit of english (Head! Shoulders! Knees and Toes! Knees And Toes!).</p>
<div class="imgRight"><a href="http://www.flickr.com/photos/49503114554@N01/7708782306" title="View 'Fun with Photobooth' on Flickr.com"><img height="240" style="float:right;" border="0" src="http://farm9.staticflickr.com/8007/7708782306_9299ef54a9_m.jpg" alt="Fun with Photobooth" title="Fun with Photobooth" width="180"/></a></div>
<p>One of our guides asked me to show the kids my iPad as they had never seen anything like it before.   It took a moment, but they were enthralled.   The big hits were Photo Booth and a simple finger painting app.</p>
<p>It was quite gratifying to see the kids take to the iPad and start using the apps so naturally.   They quite quickly learned how to change and control the effects in Photo Booth.   Including taking their own pictures, as seen at the right.</p>
<p>Of this wonderful experience &#8212; the kids were fantastically good natured and the adults were warm / welcoming &#8212; there were two standout events that I shall relay, one purely cultural and the other just flat out cute.</p>
<p>When I first launched Photo Booth and showed it to one child, I was a bit surprised by the reaction.  It was sort of, &#8220;Well, that&#8217;s neat.. but.. meh, weird pictures of a person isn&#8217;t that interesting&#8221;.  When I turned the iPad so his friend could see, the second kid&#8217;s reaction was the same, but the first child completely lit up with laughter as soon as the second kid&#8217;s face was on screen!   Then the same happened when I rotated back to the first child.</p>
<div class="imgRight"><a href="http://www.flickr.com/photos/49503114554@N01/7708774732" title="View '"Head, Shoulders, Knees and Toes!"' on Flickr.com"><img height="333" style="float:right;" border="0" src="http://farm8.staticflickr.com/7259/7708774732_39e73c0034.jpg" alt=""Head, Shoulders, Knees and Toes!"" title=""Head, Shoulders, Knees and Toes!"" width="500"/></a></div>
<p>As it turns out, there are pretty much no mirrors anywhere outside of, maybe, a hand mirror or two.  Children really don&#8217;t see themselves on a regular basis save for on the back of a digital camera in the hands of a tourist (we were encouraged to always show them any pictures we took).   Thus, seeing &#8220;self&#8221; just wasn&#8217;t very interesting at all.</p>
<p>Once I suspected this was the case, I saw this same behavior with pretty much every child who saw Photo Booth for the first time!</p>
<p>The really cute event happened when I was showing a little girl &#8212; maybe 6 or 7 years old &#8212; the finger painting application.  It took her a second, but she got into it and had quite a bit of fun making a smily face.   I showed her that the color could change and then left the color picker (a little grid of color swaths) on the screen for her to pick.</p>
<p>She thought about it for a moment.</p>
<p>Then carefully tapped light blue.</p>
<p><em>Then looked at the tip of her finger to make sure the color was picked up.</em></p>
<p>Disappointed that her finger wasn&#8217;t blue, she tried again with yellow.  Same thing.</p>
<p>Then I showed her that the color really did change and she was happily drawing away again.  Still, every new color required a finger tip inspection…</p>
<p>Neat folks.  I hope to visit again.</p>
<p><br clear="right"/><br />
<br clear="right"/><br />
<br clear="left"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2012/08/04/amazon-playing-with-an-ipad/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
	</channel>
</rss>
