<?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 &#187; Tools</title>
	<atom:link href="http://www.friday.com/bbum/category/science/technology/tools/feed/" rel="self" type="application/rss+xml" />
	<link>http://www.friday.com/bbum</link>
	<description>...so google can index my head.</description>
	<lastBuildDate>Sat, 04 Feb 2012 06:32:36 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
		<item>
		<title>Egg-Bot; Advanced Egg Decorations</title>
		<link>http://www.friday.com/bbum/2011/04/23/egg-bot-advanced-egg-decorations/</link>
		<comments>http://www.friday.com/bbum/2011/04/23/egg-bot-advanced-egg-decorations/#comments</comments>
		<pubDate>Sun, 24 Apr 2011 04:35:45 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[Entertainment]]></category>
		<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/?p=2003</guid>
		<description><![CDATA[This year, we decorated our eggs using Evil Mad Scientist Laboratories&#8217; Egg-Bot. I picked up the kit from EMSL a few months ago. Roger and I put it together over a few evenings. Software installation is relatively easy (for an X11 app) and usage is quite easy. The assembly, no surprise for an EMSL kit, [...]]]></description>
			<content:encoded><![CDATA[<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/5647999959" title="View 'Reddit Logo Egg' on Flickr.com"><img height="500" title="Reddit Logo Egg" alt="Reddit Logo Egg" border="0" src="http://farm6.static.flickr.com/5147/5647999959_a5df0957c8.jpg" width="333"/></a></div>
<p> This year, we decorated our eggs using <a href="http://www.evilmadscientist.com/article.php/eggbot">Evil Mad Scientist Laboratories&#8217; Egg-Bot</a>.</p>
<p>I picked up the kit from EMSL a few months ago.  Roger and I put it together over a few evenings.  Software installation is relatively easy (for an X11 app) and usage is quite easy.</p>
<p>The assembly, no surprise for an EMSL kit, was  a breeze, with a extremely well written and illustrated assembly manual.  Seriously &#8212; EMSL kits are the best kits I have ever assembled!</p>
<p>The Egg-Bot can draw on pretty much anything round that is smaller than a tennis ball;  eggs of all types, light bulbs, golf balls, Christmas ornaments, and &#8212; even &#8212; fruit (I used a lemon for test purposes).</p>
<p>The trick is finding a marking instrument that is appropriate to the target surface.   For eggs, Sharpies work quite well, but Bic Mark-It markers are too runny.</p>
<p>Precisely, the <a href="http://www.amazon.com/gp/product/B00006IFI8/ref=as_li_ss_tl?ie=UTF8&#038;tag=billbumgarner-20&#038;linkCode=as2&#038;camp=217145&#038;creative=399349&#038;creativeASIN=B00006IFI8">Sharpie Ultra Fine Point Permanent Markers, 5 Colored Markers(37675)</a><img src="http://www.assoc-amazon.com/e/ir?t=&#038;l=as2&#038;o=1&#038;a=B00006IFI8&#038;camp=217145&#038;creative=399349" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" /> works very well.  Regular Sharpies do not;  too fat.  However, <a href="http://evilmadscience.com/component/content/article/199">EMSL has various accessories available</a>, including an &#8220;extra wide&#8221; pen holder (ordering that very soon!).<br />
<br clear="left"/><span id="more-2003"></span>
<div class="imgRight"><a href="http://www.flickr.com/photos/49503114554@N01/5648561364" title="View 'Pencil Test' on Flickr.com"><img height="333" title="Pencil Test" alt="Pencil Test" border="0" src="http://farm6.static.flickr.com/5028/5648561364_ee0cc59722.jpg" width="500"/></a></div>
<p>For test purposes, a pencil works well enough and can generally be erased.</p>
<p>When the Egg-Bot is drawing anything with curves or diagonal lines, it is almost musical in the way the various stepper motors play different tones.</p>
<p>Finding various bits of art proves quite easy.  Basically, any random SVG based illustration will work with a bit of scaling and tweaking.  <a href="http://images.google.com/images?as_q=reddit&#038;hl=en&#038;output=search&#038;tbm=isch&#038;btnG=Google+Search&#038;as_epq=&#038;as_oq=&#038;as_eq=&#038;as_sitesearch=&#038;safe=off&#038;as_st=y&#038;tbs=ift:svg&#038;biw=1251&#038;bih=1220">Google&#8217;s Image Search</a> can narrow the search by file type.</p>
<p>Alternatively, <a href="http://inkscape.org/">Inkscape</a> uses Python as an extension language and I was able to whip up a programmatic image generator in just a few minutes.</p>
<p>As well, there are some hacks that involve replacing the pen with an <a href="http://code.google.com/p/eggbotcode/wiki/PeckPlotting">engraving tool (a pecker type engraver)</a>.  Might have to explore that!</p>
<p>Programming?  Robots? Assemble something cool with my kid? Produce awesome designs that make the non-technical happy?  Infinite repository of art easily searchable? Easy to use? Worth every penny!<br />
<br clear="right"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2011/04/23/egg-bot-advanced-egg-decorations/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>When is a Leak not a Leak? Using Heapshot Analysis to Find Undesirable Memory Growth</title>
		<link>http://www.friday.com/bbum/2010/10/17/when-is-a-leak-not-a-leak-using-heapshot-analysis-to-find-undesirable-memory-growth/</link>
		<comments>http://www.friday.com/bbum/2010/10/17/when-is-a-leak-not-a-leak-using-heapshot-analysis-to-find-undesirable-memory-growth/#comments</comments>
		<pubDate>Sun, 17 Oct 2010 20:20:31 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[Mac OS X]]></category>
		<category><![CDATA[Objective-C]]></category>
		<category><![CDATA[Software]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Xcode]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/?p=1949</guid>
		<description><![CDATA[The other day, I was in need of a Cocoa application that launches quickly that has a standard document model. At random, I chose the rather awesome Hex Fiend. As I often do, I also had top -u -o pid running in a Terminal window. And I noticed something odd. As expected, the RPRVT of [...]]]></description>
			<content:encoded><![CDATA[<p>The other day, I was in need of a Cocoa application that launches quickly that has a standard document model.  At random, I chose the rather awesome <a href="http://ridiculousfish.com/hexfiend/">Hex Fiend</a>.  As I often do, I also had <code>top -u -o pid</code> running in a Terminal window.</p>
<p>And I noticed something odd.  As expected, the RPRVT of <i>Hex Fiend</i> was growing on each <i>cmd-n</i>.  However, <em><strong>the RPRVT was not decreasing the same amount every time I hit cmd-w</strong></em>.</p>
<p>That ain&#8217;t right.   Or it might be.  Beyond evidence that a memory use problem may exist, <code>top</code> is a horrible tool for determining if a problem is real or what the actual problem might be.</p>
<p>In this case, the issue looks like a simple memory leak.  <code>Hex Fiend</code> is allocating and retaining some set of objects, but not releasing them.  The easiest first step is to use the <code>leaks</code> command line tool:</p>
<pre>% leaks "Hex Fiend"
leaks Report Version:  2.0
Process:         Hex Fiend [3435]
Path:            /Volumes/Data/Applications/Hex Fiend.app/Contents/MacOS/Hex Fiend
Load Address:    0x100000000
Identifier:      com.ridiculousfish.HexFiend
Version:         2.0.0 (200)
Code Type:       X86-64 (Native)
Parent Process:  launchd [122]
Date/Time:       2010-10-16 20:47:09.935 -0700
OS Version:      Mac OS X 10.6.4
Report Version:  7
Process 3435: 22980 nodes malloced for 2600 KB
Process 3435: 0 leaks for 0 total leaked bytes.
</pre>
<p>OK; whatever the problem is, it isn&#8217;t &#8220;leaked&#8221; memory in the traditional definition of &#8220;leaked memory&#8221;.</p>
<p>That is, whatever memory is being allocated and never released is still being referenced somewhere.  Maybe a circular retain.  Maybe something that has a weak reference from the rest of the App&#8217;s object graph such that leaks can&#8217;t detect.</p>
<p>In other words, this isn&#8217;t just a simple memory leak and it will require more advanced tools to fix.</p>
<p><span id="more-1949"></span>Fortunately, the <em><a href="http://developer.apple.com/library/mac/#documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/Introduction/Introduction.html%23//apple_ref/doc/uid/TP40004652-CH1-SW1">Allocations Instrument</a></em> provides exactly the tool we need.  It is called <strong>Heapshot Analysis</strong> and it is brutally effective at deducing these kinds of problems.</p>
<p>To use:</p>
<ul>
<li>Launch Instruments and select the <strong>Allocations</strong> template under the <strong>Memory</strong> category.</li>
<li>Target the application you want to analyze.  It can already be running or you can launch it from Instruments.  As well, you can launch it from Xcode via the <strong>Run With Performance Tools</strong> menu.</li>
<li>(10) Do something in the application where you return to the starting state.  For <i>Hex Fiend</i>, this particular case is as simple as creating a new document and then closing it.   For an optimal application, this activity should effectively cause no memory growth (or very little).</li>
<li>In the Allocations Instrument, press the <b>Mark Heap</b> button</li>
<li>Goto 10 (and repeat 5 or 6 times).</li>
</ul>
<div class="imgLeft"><img src="http://www.friday.com/bbum/wp-content/uploads/2010/10/Step-1.png" alt="Step 1.png" title="Step 1.png" border="0" width="600" height="233" /></div>
<p>I ended up with the data as seen to the left.   Each &#8220;Heapshot&#8221; iteration represents opening, then closing, an untitled window with no data in it.</p>
<p>The &#8220;Heap Growth&#8221; and &#8220;Still Alive&#8221; columns provide a summation of all of the objects <strong><em>in that heapshot that still exist in all subsequent samplings of the heap</em></strong>.  That is, in <em>Heapshot 3</em>, there were 36.08K of allocations spread across 260 allocation events that continued to exist throughout the rest of the run.</p>
<p>Specifically:  the values in those columns represent <strong>permanent heap growth</strong>.</p>
<p>When creating, then closing, an untitled document there should be, ideally, no heap growth.  That there is ~35K per document of permanent heap growth indicates that a leak does exist (regardless of what leaks said above).</p>
<p>Note that as you continue to iterate, you might see the values of previous <em>Heapshot</em> samples decrease.   That is because objects allocated in that sample &#8212; at that heap mark &#8212; have been released.  That is, <em>every single object listed in that table &#8212; all ~25,000 or so in that screenshot alone &#8212; are very much in memory, using resources, and sticking around.</em><br />
<br clear="left"/></p>
<p>Instruments lets us dive deeper.</p>
<div class="imgLeft"><img src="http://www.friday.com/bbum/wp-content/uploads/2010/10/Step-2.png" alt="Step 2.png" title="Step 2.png" border="0" width="600" height="236" />
</div>
<p>Not only can we expand any given <em>Heapshot</em> iteration to see the inventory of permanent objects allocated in that iteration, but we can dive all the way down to the individual allocations and see a backtrace of exactly where it was allocated.</p>
<p>Looking at many  of the allocations, they all seem to be during either the initialize of an instance of <code>MyDocument</code> or during loading of the user interface related with the same.</p>
<p>No surprises there;  the inventory of objects is clearly related to the document.</p>
<p>What <em>is</em> surprising, though, is that an instance of <code>MyDocument</code> doesn&#8217;t show up on that list!   It looks like the instance of <code>MyDocument</code> is correctly being deallocated on window close, <em>but much of the user interface related to the document is <strong>not</strong></em>!<br />
<br clear="left"/></p>
<p>While we clearly have enough evidence to suspect <code>MyDocument</code> as being the source of the issue, we can confirm this further within Instruments.</p>
<p>Turn on <em>Record reference counts</em> in the Allocations instrument.  When the app isn&#8217;t running, hit the little (i) in the Allocations track in Instruments and click the check box. Then run the application and do the same set of samples (or turn this on from the beginning if you didn&#8217;t forget like I did).</p>
<p>Now, when you click through any allocation, you&#8217;ll see a list of events that includes the point of allocation and all subsequent retain/release events.   Clicking through many of the random objects in any given <em>Heapshot</em> sample shows two things.  First, all of the objects ended with a retain count of 1 &#8212; not 2, not 5, but 1 &#8212; this indicates that whatever the problem is, it is likely pretty consistent and we can fix it once and be done with it.  Secondly, the non-UI related objects like <em>DataInspector</em> or <em>NSBigMutableString</em> have very few events and they largely come from <code>[MyDocument -init]</code>, further confirming our suspicions.</p>
<p>Now it is time to turn to the source.</p>
<p>Which I need to download;  all of the above was done against the app without the source.</p>
<p>OK &#8212; got it &#8212; now &#8212; start with <code>MyDocument</code>&#8216;s <code>init</code> method (which doesn&#8217;t do the <code>self = [super init]; if (self) {...} return self;</code> dance.  Boo.) and compare it to <code>dealloc</code></p>
<p>The <code>init</code> method looks fairly straightforward;  allocate a bunch of stuff, glue it together, return self:</p>
<pre>
- init {
    [super init];
    lineCountingRepresenter = [[HFLineCountingRepresenter alloc] init];
    hexRepresenter = [[HFHexTextRepresenter alloc] init];
    asciiRepresenter = [[HFStringEncodingTextRepresenter alloc] init];
    scrollRepresenter = [[HFVerticalScrollerRepresenter alloc] init];
    layoutRepresenter = [[HFLayoutRepresenter alloc] init];
    statusBarRepresenter = [[HFStatusBarRepresenter alloc] init];
    dataInspectorRepresenter = [[DataInspectorRepresenter alloc] init];
    ... etc ...
</pre>
<p>As a matter of fact, pretty much all of those representers are showing up as still in memory per each Heapshot mark!</p>
<p>And, diving into the individual retain/releases, we see that some of the representers are connected to other representers.   So, if anyone of those representers is sticking around, it might likely keep others alive with it, too!  Or it could be a circular retain issue.  But, before we start trying to deduce hard problems, we should exhaust the simple causes first and look at the <code>dealloc</code> method.</p>
<p>The first thing that jumps out at me is that the <code>dealloc</code> method is trying to do something clever.  Instead of line-by-line calling <code>release</code> on every object allocated in <code>init</code>, it does:</p>
<pre>
    [[self representers] makeObjectsPerformSelector:@selector(release)];
</pre>
<p>OK.  So, what does <code>representers</code> look like?</p>
<pre>
- (NSArray *)representers {
    return [NSArray arrayWithObjects:lineCountingRepresenter, hexRepresenter,
               asciiRepresenter, scrollRepresenter,
               dataInspectorRepresenter, statusBarRepresenter, nil];
}
</pre>
<p><strong>Waitaminute there</strong>&#8230;. comparing that array&#8217;s contents to the items allocated in <code>init</code>, we see that the <em><code>layoutRepresenter</code> is missing</em>.  Nor is it explicitly released anywhere else in <code>dealloc</code>!</p>
<p>That&#8217;d be the leak right there!   And <strong>leaks</strong> won&#8217;t detect it because there are enough non-retained relationships that the objects look like they are still reachable from the application&#8217;s core object graph!</p>
<p>The naive fix would be to add <code>layoutRepresenter</code> to the array returned by <code>-representers</code>.   However, the <code>layoutRepresenter</code> seems to be kinda special in its role and, frankly, I really hate tricky <code>dealloc</code> games like making an array of objects perform <code>release</code>.</p>
<p>So, I replaced the <code>performSelector:</code> in <code>dealloc</code> with:</p>
<pre>
    [lineCountingRepresenter release];
    [hexRepresenter release];
    [asciiRepresenter release];
    [scrollRepresenter release];
    [layoutRepresenter release];
    [statusBarRepresenter release];
    [dataInspectorRepresenter release];
</pre>
<div class="imgLeft"><img src="http://www.friday.com/bbum/wp-content/uploads/2010/10/Step-3.png" alt="Step 3.png" title="Step 3.png" border="0" width="600" height="274" />
</div>
<p>Running the heapshot analysis again shows that the # of permanent allocations per iteration has dropped from ~250 to a consistent 8.   Vast improvement, but still not perfect.</p>
<p>Looking at the remaining allocations, <em>every single one is allocated in <code> drawLineNumbersWithClipStringDrawing</code>.</em><br />
<br clear="left"/></p>
<p>In particular, it is the drawing call here that is the source of the remaining leaks (except one):</p>
<pre>
	    NSString *string = [[NSString alloc] initWithBytesNoCopy:buff
						length:newStringLength
						encoding:NSASCIIStringEncoding freeWhenDone:NO];
            [string drawInRect:textRect withAttributes:textAttributes];
            [string release];
</pre>
<p>But, wait, how can that be?  Well, it could be a bug in the AppKit.  Or it could be some kind of a weird cache.   As a matter of fact, if you create about 30 documents in <em>Hex Fiend</em>, then close them all, you will see the previous heap marks drop to <em>7 objects remaining</em>.  So, clearly, there is some kind of a size limited cache that is eventually being pruned.  Obviously, not a very efficient cache if it is filling with copies of the same objects.  I like to call these kinds of caches <strong><em>write only caches</em></strong>.  All the benefits of high memory use combined with all the efficiencies of a 100% cache miss rate! FTW!</p>
<p>The one other leak, though, is that the <code>dealloc</code> method in <code>HFLineCountingView</code> is not releasing the <code>textContainer</code>.   First, I&#8217;ll fix that and re-measure.   Done.  That removes one object from each Heapshot iteration.</p>
<p>OK &#8212; so, looking at the remaining objects, we have a set of objects that look an awful lot like a set of attributes for text;  a paragraph style, color, etc&#8230;</p>
<p>Sure enough, <code>textAttributes</code> is not being <code>release</code>d in <code>dealloc</code>.</p>
<div class="imgLeft"><img src="http://www.friday.com/bbum/wp-content/uploads/2010/10/Step-4.png" alt="Step 4.png" title="Step 4.png" border="0" width="428" height="143" /></div>
<p>So, where do we stand?</p>
<p>See for yourself!</p>
<p>Not bad!  No leaks on many iterations.  That 1 4KB malloc seen in <em>some</em> iterations is likely some internal cache in the AppKit.  That it doesn&#8217;t always appear and eventually goes away indicates that it is both behaving correctly and can be ignored.</p>
<p>The next step would be to do the same kind of testing, only with documents that contain actual data.  Then do the testing after making a set of edits and undoing them.</p>
<hr />
<p><strong><em>Heapshot analysis</em></strong> has proven to be an incredibly effective tool for identifying and fixing memory use issues in applications.   The above style of use where you pick a task that should return state back to the same as it was when you started is the most effective form of this analysis.</p>
<p>However, this same approach can be used for applications that build up or change state over time (think Mail, which has new messages coming in all the time or an application with an accretion of logs or undo state).</p>
<p>Fire up your application under Instruments and periodically hit &#8220;Mark Heap&#8221; when your app is in a reasonable state.   The more Heap Shots you capture, the easier it is to analyze.   Look at any given iteration and ask yourself <em>Why do these objects created way back when still exist in memory and is their use of resources justified?</em>.   The follow up question is <em>What can I do to make the permanent memory accretion smaller?</em>.<br />
<br clear="left"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2010/10/17/when-is-a-leak-not-a-leak-using-heapshot-analysis-to-find-undesirable-memory-growth/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Air Mover: Why Didn&#8217;t I Get This Years Ago??!?!</title>
		<link>http://www.friday.com/bbum/2010/07/17/air-mover-why-didnt-i-get-this-years-ago/</link>
		<comments>http://www.friday.com/bbum/2010/07/17/air-mover-why-didnt-i-get-this-years-ago/#comments</comments>
		<pubDate>Sun, 18 Jul 2010 04:33:18 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/?p=1889</guid>
		<description><![CDATA[As we start into the second phase of remodel where we are living in the house, there is the occasion when there are stinky fumes from the work site that I want to keep out of the livable areas. Enter the Air Mover. Now that I have one, I&#8217;m stunned that I didn&#8217;t pick up [...]]]></description>
			<content:encoded><![CDATA[<div class="imgLeft"><iframe src="http://rcm.amazon.com/e/cm?lt1=_blank&#038;bc1=000000&#038;IS2=1&#038;bg1=FFFFFF&#038;fc1=000000&#038;lc1=0000FF&#038;t=billbumgarner-20&#038;o=1&#038;p=8&#038;l=as1&#038;m=amazon&#038;f=ifr&#038;md=10FE9736YVPPT7A0FBG2&#038;asins=B0026RHAW6" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</div>
<p>As we start into the second phase of remodel where we are living in the house, there is the occasion when there are stinky fumes from the work site that I want to keep out of the livable areas.</p>
<p>Enter the <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.com%2Fs%3Fie%3DUTF8%26scn%3D3737601%26redirect%3Dtrue%26ref_%3Dsr%5Fnr%5Fscat%5F3737601%5Fln%26keywords%3Dair%2520mover%26qid%3D1279426916%26h%3D13c1071a886df1ffb19433d1642e1005a06a98e7%26rh%3Dn%253A3737601%252Ck%253Aair%2520mover&#038;tag=billbumgarner-20&#038;linkCode=ur2&#038;camp=1789&#038;creative=390957">Air Mover</a><img src="https://www.assoc-amazon.com/e/ir?t=billbumgarner-20&#038;l=ur2&#038;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />.</p>
<p>Now that I have one, I&#8217;m stunned that I didn&#8217;t pick up one before!  In particular, our climate is such that it can get really damned hot during the day and still cool off at night.   Even with all the windows and doors open, the interior of the house can still take a bit to cool down.</p>
<p>No more.</p>
<p>With the 1600CFM air mover pictured at left, I merely drop it on the picnic table outside our back door and put it on high.  Within 20 minutes or so, the temperature inside the house is down to something quite comfortably cool.</p>
<p>Better yet, our garage faces south west and, thus, gets baking hot by the end of the day and doesn&#8217;t cool off until after midnight.  Again, no more as the air mover does a brilliant job of pushing cool air from in the house, through the garage and out the front.</p>
<p>Brilliant tool.  Why the hell didn&#8217;t I get one years ago?!</p>
<p>I picked up the one at left from Home Depot for $199 (7/17/2010).</p>
<hr />
<p>@Ian: We have an attic fan in Missouri, too, but it tends to pull ash out of the fireplace(!!).  Of course, an Eichler has neither an attic or a crawl space&#8230;.</p>
<p>@Philippe:  Push air into the house, though I&#8217;ll sometimes set it up to pull air through the house, too.  As far as pushing dust in the house is concerned, we leave the doors open anyway.  There aren&#8217;t really very many bugs in California (save for swarms of June Bugs this year) and the dust doesn&#8217;t seem any worse with the fan on (i.e. it is still quite dusty around here).</p>
<p><br clear="left"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2010/07/17/air-mover-why-didnt-i-get-this-years-ago/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Simple Stupid Gas Range Upgrade</title>
		<link>http://www.friday.com/bbum/2010/03/15/simple-stupid-gas-range-upgrade/</link>
		<comments>http://www.friday.com/bbum/2010/03/15/simple-stupid-gas-range-upgrade/#comments</comments>
		<pubDate>Tue, 16 Mar 2010 03:12:36 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[Food]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/?p=1785</guid>
		<description><![CDATA[If you are lucky enough to have a gas range, you already know the joys of a dead even heat source that can range from medium-low to blowtorch. None of that cyclic all-on/all-off nonsense of the typical electric range, for example. However, &#8220;low heat&#8221; is not something in the typical gas range&#8217;s vocabulary. On our [...]]]></description>
			<content:encoded><![CDATA[<div class="imgLeft"><iframe src="http://rcm.amazon.com/e/cm?lt1=_blank&#038;bc1=000000&#038;IS2=1&#038;bg1=FFFFFF&#038;fc1=000000&#038;lc1=0000FF&#038;t=billbumgarner-20&#038;o=1&#038;p=8&#038;l=as1&#038;m=amazon&#038;f=ifr&#038;md=10FE9736YVPPT7A0FBG2&#038;asins=B000I1WO8C" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</div>
<p>If you are lucky enough to have a gas range, you already know the joys of a dead even heat source that can range from medium-low to blowtorch.  None of that cyclic all-on/all-off nonsense of the typical electric range, for example.</p>
<p>However, &#8220;low heat&#8221; is not something in the typical gas range&#8217;s vocabulary.  On our Viking, the lowest setting on the smallest burner will keep a small pot of water at a rolling boil and will consistently cause a cup of rice to boil over.  And it is a <em>really low flame!</em></p>
<p>Enter the <a href="http://www.amazon.com/gp/redirect.html?ie=UTF8&#038;location=http%3A%2F%2Fwww.amazon.com%2Fs%3Fie%3DUTF8%26x%3D0%26ref_%3Dnb%5Fsb%5Fnoss%26y%3D0%26field-keywords%3Dheat%2520diffuser%26url%3Dsearch-alias%253Dgarden&#038;tag=billbumgarner-20&#038;linkCode=ur2&#038;camp=1789&#038;creative=390957">heat diffuser</a><img src="https://www.assoc-amazon.com/e/ir?t=billbumgarner-20&#038;l=ur2&#038;o=1" width="1" height="1" border="0" alt="" style="border:none !important; margin:0px !important;" />.  A heat diffuser sits between burner and your pan or pot.  It effectively acts as a heat buffer and, as the name implies, diffuser.</p>
<p>On a gas range like mine, it allows one to achieve the lowest simmer/heat you might want.  On an electric range, a cast iron heat diffuser &#8212; you want <em>thermal mass</em> &#8212; will nicely even on the all-on/all-off behavior of most ranges.</p>
<p>At ~$20, it is a worthy tool to add to your cooking arsenal!<br />
<br clear="left"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2010/03/15/simple-stupid-gas-range-upgrade/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>Indispensable Cooking Tool; The Turkey Fryer</title>
		<link>http://www.friday.com/bbum/2009/10/25/indispensable-cooking-tool-the-turkey-fryer/</link>
		<comments>http://www.friday.com/bbum/2009/10/25/indispensable-cooking-tool-the-turkey-fryer/#comments</comments>
		<pubDate>Mon, 26 Oct 2009 02:14:17 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[Food]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/?p=1566</guid>
		<description><![CDATA[Just found yet another use for my turkey burner. Roasting chile peppers! Worked flawlessly and was a heck of a lot easier than a plumber&#8217;s torch. This kind of gas burner is just incredibly useful for anyone who enjoys cooking. It is designed to be able to heat a pot of grease up to the [...]]]></description>
			<content:encoded><![CDATA[<div class="imgLeft"><iframe src="http://rcm.amazon.com/e/cm?lt1=_blank&#038;bc1=000000&#038;IS2=1&#038;bg1=FFFFFF&#038;fc1=000000&#038;lc1=0000FF&#038;t=billbumgarner-20&#038;o=1&#038;p=8&#038;l=as1&#038;m=amazon&#038;f=ifr&#038;md=10FE9736YVPPT7A0FBG2&#038;asins=B000291GBQ" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</div>
<p>Just found yet another use for my turkey burner.  Roasting chile peppers!  Worked flawlessly and was a heck of a lot easier than a plumber&#8217;s torch.</p>
<p>This kind of gas burner is just incredibly useful for anyone who enjoys cooking.   It is designed to be able to heat a pot of grease up to the 350&deg;F necessary to deep fry a turkey (which I have never tried).   Thus, the burners put out a truly awesome amount of heat!</p>
<p><b>Note:</b> The Underwriter&#8217;s Laboratory will <a href="http://www.ul.com/global/eng/pages/offerings/perspectives/consumer/productsafety/turkeys/">not certify turkey fryers at all</a>.  Why? Because people are stupid and need to be protected from themselves when using powerful tools.  When frying, it is terribly easy to cause a grease fire.  So, fry away from your house and use the nifty good-eats style turkey crane.  And have a grease friendly fire extinguisher on hand.</p>
<p>Or just do what I do and don&#8217;t actually fry turkeys on it!</p>
<p>You can find the burners at any decent hardware store. If you do, make sure it has a few features (all of which the burner at left has &#8212; except the pot):</p>
<dl>
<dt><strong>Flat Top Surface</strong></dt>
<dd>The top of the burner should be flat.  This is critical if you want to put something on it that is <s>burger</s>bigger than the burner (like a grill).  Yes, I was hungry when I wrote this.</dd>
<dt><strong>Cast Two-Piece Burner</strong></dt>
<dd>The burner, itself, should be two pieces of cast iron held together by a bolt through the middle.  The burner <em>will</em> get stuff spilled on it and it <em>will</em> rust or corrode.  The two piece design makes it trivial to take it apart for cleaning.  A wire brush on an electric drill makes cleaning trivial.</dd>
<dt><strong>Adjustable Air Vents</strong></dt>
<dd>This is needed to be able to tune the flame.  Not just for maximum heat output, but sometimes also for maximum flame height.</dd>
<dt><strong>Long hose with valve on or after regulator</strong></dt>
<dd>The gas coming out of the tank is relatively high pressure. The burner&#8217;s secondary regulator will take care of regulating down to something more reasonable.  The valve after or integrated into the regulator is critical because the pressure off the tank, while high, will change considerably as the tank empties.  That and it is nearly impossible to make fine adjustments on the high pressure side of the line.</dd>
<dt><strong>Stainless Steel Pot</strong></dt>
<dd>If you get a kit, try to find one with a stainless steel pot.  It will last longer and corrode less than aluminum.</dd>
<dt>
</dt>
<dt><strong>Stable Design</strong></dt>
<dd>Some burners have legs that go straight down or are relatively tall.  Stupid.  Ideally, you want a three or four legged burner with relatively wide set legs.  If three legs, they should spread quite wide for stability (like the one to the left).</dd>
</dl>
<p><br clear="left"/></p>
<p>OK &#8212; so you have the beast of a burner.  What can you do with it?  I&#8217;m sure there is more &#8212; comments welcome &#8212; but these are just some of the things I have done with mine:</p>
<p><span id="more-1566"></span>
<dl>
<dt><strong>Crab Boil</strong></dt>
<dd>Well, <a href="http://www.friday.com/bbum/2008/02/24/crabtacular-5-tequila-mockingcrab/">duh</a>!</dd>
<dt><strong>Beermaking</strong></dt>
<dd>The burner does a wonderful job of quickly bringing a large volume of water up to boil.</dd>
<dt><strong>Charcoal Lighter</strong></dt>
<dd>I like using a chimney starter, but no longer have a consistent source of newspaper to stuff in it.  I simply toss the chimney starter on top of the turkey burner and it&#8217;ll get the coals up to temp in short order and a lot less smoke.</dd>
<dt><strong>Cooking in a Wok</strong></dt>
<dd>You can find a really large cast iron wok for less than $30.  The turkey burner spits enough BTUs to generate the extreme heat required for proper asian stir fries and the like.</dd>
<dt><strong>Seasoning Cast Iron</strong></dt>
<dd>Properly seasoning cast iron requires taking a high heat oil up to its smoke point in the pan.  This can be dangerous as it is quite easy to go too far and end up with an oil fire.  Even if you don&#8217;t end up with a fire, it is stinky and using a turkey burner gets the stink out of the house.  Which brings me&#8230;</dd>
<dt><strong>Get the Mess &#038; Stink Out of The House</strong></dt>
<dd>A number of open-pan recipes &#8212; usually involving frying &#8212; will often leave a bit of a funk in the house. Or they just darned messy.  The turkey burner works great as a high-heat stove burner.  If your pan is too small to fit without fear of falling in, toss a grill on top of the burner, under the pan.  Obviously, this works very well for deep or shallow frying.</dd>
<dt><strong>Skinning Chile Peppers</strong></dt>
<dd>Toss a grill on the burner and fire it up with a nice tall flame that comes through the grill.  Roll peppers around in the flame until blackened on the outside, then toss &#8216;em into a paper bag and fold over the top and let them sit for 10 to 15 minutes.  If done right &#8212; it isn&#8217;t hard &#8212; the skins will wipe off with a towel.</dd>
</dl>
<p>I&#8217;m sure I&#8217;ll discover tons of other uses over the coming years.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2009/10/25/indispensable-cooking-tool-the-turkey-fryer/feed/</wfw:commentRss>
		<slash:comments>6</slash:comments>
		</item>
		<item>
		<title>Make: Cable Light Connectors</title>
		<link>http://www.friday.com/bbum/2009/02/01/make-cable-light-connectors/</link>
		<comments>http://www.friday.com/bbum/2009/02/01/make-cable-light-connectors/#comments</comments>
		<pubDate>Sun, 01 Feb 2009 10:07:38 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Remodel]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/?p=1281</guid>
		<description><![CDATA[While making my own low voltage cable light fixtures, I searched high and low for a little piece of hardware that would elegantly connect between the suspension cables and the wires down to the lights. No luck. Everyone wants to sell you a cable lighting kit or, at best, the only &#8220;parts&#8221; are $40 bare [...]]]></description>
			<content:encoded><![CDATA[<div class="imgRight"><a href="http://www.flickr.com/photos/49503114554@N01/3243815364" title="View 'Original &quot;Connector&quot; In Action' on Flickr.com"><img src="http://farm4.static.flickr.com/3341/3243815364_5f1bf4b123_m.jpg" alt="Original &quot;Connector&quot; In Action" border="0" width="160" height="240" /></a></div>
<p>While making my own <a href="http://www.friday.com/bbum/2008/12/29/ikea-lighting-hack/">low voltage cable light fixtures</a>, I searched high and low for a little piece of hardware that would elegantly connect between the suspension cables and the wires down to the lights.</p>
<p>No luck.   Everyone wants to sell you a cable lighting kit or, at best, the only &#8220;parts&#8221; are $40 bare MR-16 halogen lamp fixtures.  </p>
<p>No thanks.   Until I could figure out a solution, I simply bent a few bits of heavy gauge copper wire and made hangers like the one at right.</p>
<p>It worked OK, but clearly needed to be replaced with a real solution.</p>
<p>The answer?</p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/3243813194" title="View 'Finished Connector Installed, Detailed' on Flickr.com"><img src="http://farm4.static.flickr.com/3458/3243813194_bc8d3ee4c7_m.jpg" alt="Finished Connector Installed, Detailed" border="0" width="160" height="240" /></a></div>
<p>Spend less than $10 on parts and make my own connectors.  Well, $10 on parts and $225 on the tools necessary to solve this particular problem.</p>
<p>What follows is a description of the tools and some photos of the various stages.  If you have even the remotest amount of metal working experience, there&#8217;ll be nothing new here (and probably lots of opportunities to make fun of me).</p>
<p>But, as pictured at left, I achieved success!<br />
<br clear="left"/><br />
<br clear="right"/></p>
<p><span id="more-1281"></span>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/3242981045" title="View 'Old, Manufactured, Connector' on Flickr.com"><img src="http://farm4.static.flickr.com/3517/3242981045_93bc06c90e_m.jpg" alt="Old, Manufactured, Connector" border="0" width="240" height="160" /></a></div>
<p>At left are the two connectors I have from the original set.   I liked the general design and wanted to do something similar.</p>
<p>My one complaint is that the set screws that hold the wires in stick out way too much.  It looks shoddy.</p>
<p>I decided to use 8-32 threaded hex rod connectors as the basis for my cable connectors.  Into these, I found that 6-32 threaded set hex head set screws would likely fit and thumb-screws to fit the hex rod connectors are easy to find.</p>
<p>So, clearly, I was going to need to drill some fairly precise holes, cut threads, and then cut a slot into whatever base material I decide to use.   This was turning into a bit of general machining on relatively small parts.</p>
<p>This was going to require tools I do not have.<br />
<br clear="left"/></p>
<h3>The Tools</h3>
<div class="imgRight"><iframe src="http://rcm.amazon.com/e/cm?t=billbumgarner-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=B000IZC28U&#038;md=10FE9736YVPPT7A0FBG2&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr&#038;nou=1" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</div>
<p><strong>Drill Press</strong></p>
<p>I ended up with a 12&#8243; Ryobi drill press from <a href="http://www.homedepot.com">Home Depot</a>.  It isn&#8217;t the best press in the world, but it&#8217;ll do for the relatively light duty use I&#8217;ll get out of it.</p>
<p>Overall, a solid machine.   Like the press pictured at right, it includes a set of lasers that create cross hairs on the work area.</p>
<p>This is handy for sighting things in and drilling accurately.</p>
<p>But it isn&#8217;t good enough.</p>
<p>As I needed to drill holes pretty close to dead center in the hex rod connectors, I would need some means of holding the things down on the drill table.<br />
<br clear="right"/></p>
<div class="imgRight"><iframe src="http://rcm.amazon.com/e/cm?t=billbumgarner-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=B0000DD0C7&#038;md=10FE9736YVPPT7A0FBG2&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr&#038;nou=1" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</div>
<p> Enter the <strong>cross-sliding vice</strong>.</p>
<p>This rather brilliant little bit of iron works like a standard vise to hold whatever part you need held.</p>
<p>However, the base has two <em>additional</em> cranks that, quite literally, slide the vise around on the X and Y axis.</p>
<p>Thus, you can clamp the cross-slide vise to the drill table, clamp the part you want to machine into the vise, and then use the X/Y axis cranks to exactly position the vise under the drill bit.</p>
<p>I bought the one pictured at right.  It works well enough for my needs at this time.</p>
<p>For about $100 more, you can pick pick up a device with considerably more quality of build and precision of movement.</p>
<p>And then they go up from there.<br />
<br clear="right"/></p>
<div class="imgRight"><iframe src="http://rcm.amazon.com/e/cm?t=billbumgarner-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=B00004YOAZ&#038;md=10FE9736YVPPT7A0FBG2&#038;fc1=000000&#038;IS2=1&#038;lt1=_blank&#038;m=amazon&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr&#038;nou=1" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe>
</div>
<p>Cutting threads requires a <strong>Tap and Die</strong>.</p>
<p>I have always wanted a tap and die set.   As a 10 to 12 year old, who didn&#8217;t spent a half an hour in the nut/bolt or plumbing department of some random hardware store screwing this bit to that bit and dreaming of all the ways the world would be better if everything were threaded?</p>
<p>This was pretty much the ideal started set for my needs.  It included the 6-32 and 8-32 taps I would use for this project and, as a bonus, it contains a 1/4&#8243;-20 tap and die.  1/4&#8243;-20 being the standard sized threads used across all cameras, tripods, and every other device that can mount to same.</p>
<p>They key to success with a tap and die is two-fold, as far as I can tell:</p>
<p>(1) Use oil.  A couple of drops on the cutting blade.  Go in a full turn, back off a half a turn.  Repeat.</p>
<p>(2) Use exactly the right sized drill bit.  With the <a href="http://www.irwin.com/irwin/consumer/jhtml/detail.jhtml;jsessionid=2S1T1QBAYCSGKCQIUBSCGWQKBCQHQJCK?prodId=IrwinProd100454">Irwin tap&#038;die set</a>, they provide a list of the exact drill bits that should be used with each.  The bits &#8212; which can obviously be had from any number of manufacturers &#8212; are of &#8220;wire gauge&#8221; and do not necessarily follow the standard sizes found in, say, your average drill bit kit.<br />
<br clear="right"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/3242983059" title="View 'Drilling Hole In Hex Connector' on Flickr.com"><img src="http://farm4.static.flickr.com/3399/3242983059_1cca55e12d_m.jpg" alt="Drilling Hole In Hex Connector" border="0" width="160" height="240" /></a></div>
<p>Every drill should come with lasers.</p>
<p>It really does help align the bit with the desired drilling point.  I used a punch to make a divot on the piece to keep the bit from scooting off to one side or another.</p>
<p>Besides, lasers are cool.</p>
<p>Like the tap and die, drilling metal will benefit from a little bit of oil on the bit.  It makes the bit last longer and keeps the piece being worked cooler.</p>
<p>And heat is more problematic than just a burn risk.  Some kinds of metals can be hardened if heated too much while being worked.   If this happens, then it is quite easy to, say, break a tap when trying to cut threads in the freshly drilled hole.</p>
<p>In this image, I have already drilled and cut threads in the hole for the set screw.   This second hole will be what I would later cut down to using a hack saw to make the cable channel.<br />
<br clear="left"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/3242982631" title="View 'Finished Connector' on Flickr.com"><img src="http://farm4.static.flickr.com/3261/3242982631_172f9efabf_m.jpg" alt="Finished Connector" border="0" width="240" height="160" /></a></div>
<p>This is the finished and assembled connector ready for use.</p>
<p>I used a hack saw to cut from where the thumbscrew is inserted down to the hole drilled in the previous picture.</p>
<p>I then used a fiberglass cut-off blade in my dremel (a small file or grinder would work fine) to smooth down the channel and make sure the cable would fit.</p>
<p>Finally, I ran the tap through both the length of the hex connector and the hole for the set screw to ensure that both had clean threads.<br />
<br clear="left"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/3243814056" title="View 'Finished Connector Next To Original' on Flickr.com"><img src="http://farm4.static.flickr.com/3512/3243814056_a2244c5a58_m.jpg" alt="Finished Connector Next To Original" border="0" width="240" height="160" /></a></div>
<p>This is a comparison of the new connector and the old &#8220;connector&#8221;.</p>
<p>I&#8217;m particularly happy with the set screw.  It is nearly flush with the surface of the hex connector, yet is very snugly applying pressure to the cable.<br />
<br clear="left"/></p>
<div class="imgRight"><a href="http://www.flickr.com/photos/49503114554@N01/3242980641" title="View 'Pair of Connectors' on Flickr.com"><img src="http://farm4.static.flickr.com/3440/3242980641_7c070d82fa.jpg" alt="Pair of Connectors" border="0" width="500" height="333" /></a></div>
<p>Finally, this is what the cable connectors look like once installed.</p>
<p>Not bad!</p>
<p>Of course, I can see things about them that I&#8217;ll do better next time.</p>
<p>But the reality is that most people will never see them from closer than about 4 feet and, at that distance, they certainly don&#8217;t look like the hacks that they are!<br />
<br clear="right"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2009/02/01/make-cable-light-connectors/feed/</wfw:commentRss>
		<slash:comments>10</slash:comments>
		</item>
		<item>
		<title>Covering the Atrium</title>
		<link>http://www.friday.com/bbum/2008/11/29/covering-the-atrium/</link>
		<comments>http://www.friday.com/bbum/2008/11/29/covering-the-atrium/#comments</comments>
		<pubDate>Sun, 30 Nov 2008 03:42:36 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Tools]]></category>
		<category><![CDATA[Weather]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/?p=1199</guid>
		<description><![CDATA[We do get weather in California. Beyond the 9 months of sun, we have 3 months of sun and rain. And, believe it or not, cold weather. It actually freezes quite a few times over the winter. And when you live in a glass house with a gigantic hole in the middle, this can make [...]]]></description>
			<content:encoded><![CDATA[<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/3069356296" title="View 'Atrium Cover &amp; Lights' on Flickr.com"><img src="http://farm4.static.flickr.com/3153/3069356296_53352180d2.jpg" alt="Atrium Cover &amp; Lights" border="0" width="333" height="500" /></a></div>
<p>We do get weather in California.  Beyond the 9 months of sun, we have 3 months of sun and rain.  And, believe it or not, cold weather.  It actually freezes quite a few times over the winter.</p>
<p>And when you live in a glass house with a gigantic hole in the middle, this can make for a few wet and chilly days.</p>
<p>To compound the issue, we are in the midst of a remodel and, thus, our kitchen is actually in our atrium.  We cook, eat, and refrigerate in this open space.</p>
<p>In past years, I have tied a tarp over the hole.  It worked, but was ugly and leaky.   </p>
<p>Clearly, a better solution was in order.</p>
<p>Many of the Eichler&#8217;s in our neighborhood have covers, but most are permanent &#8212; intentional or otherwise due to the inconvenience of dealing with it.</p>
<p>When I searched for &#8220;<a href="http://www.google.com/search?client=safari&#038;rls=en-us&#038;q=eichler+atrium+cover&#038;ie=UTF-8&#038;oe=UTF-8">eichler atrium cover</a>&#8220;, the first non &#8220;network&#8221; hit was <a href="http://home.earthlink.net/~bowdidge/atrium.html">this beauty</a>.  Well engineered and stylish, but unintentionally permanent.  Coincidentally, that cover was built by Robert Bowdidge, a rather smart fellow that I used to work with at Apple.</p>
<p>So, we took a wander about <a href="http://www.homedepot.com">Home Depot</a> to peruse all of the materials that might be suitable.</p>
<p>Off the bat, I chose <a href="http://www.palramamericas.com/Suntuf">Suntuf corrugated lexan panels</a> as the actual covering material.  It is lightweight, very strong, and reasonably priced.   Suntuf blocks almost all UV radiation.<br />
<br clear="left"/><br />
<span id="more-1199"></span>
<div class="imgRight"><a href="http://www.flickr.com/photos/49503114554@N01/3069186059" title="View 'Atrium Cover &amp; Lights at Night' on Flickr.com"><img src="http://farm4.static.flickr.com/3247/3069186059_a720310e3d.jpg" alt="Atrium Cover &amp; Lights at Night" border="0" width="333" height="500" /></a></div>
<p>With covering material selected, then it became a problem of how to build a sturdy frame that was lightweight and easily removed.  The key challenge being the relatively large span that must be crossed.</p>
<p>I started in the lumber department, but wood is heavy, not terribly stiff over long runs without being <em>really</em> heavy, and fairly difficult to work with in this application.</p>
<p>So, off to electrical&#8230;</p>
<p>Electrical seemed promising, except that electrical <em>boxes</em> tend to stick up well past the actual piping.  The geometry simply didn&#8217;t work.</p>
<p>Back to the other side of the store and the plumbing section.  Anything metal proved to be prohibitively expensive.</p>
<p>Christine suggested PVC as it is both cheap and strong.  The 1&#8243; PVC, in particular, is quite strong as long as you make good, clean, joints and keep runs under about 24&#8243;.</p>
<p>So, PVC it was.</p>
<p>The frame is completely glued together save for one set of seams down the middle that allow the frame to be split into two halves.   The Lexan is screwed down to plastic corrugated framing material on top of strips of wood.   </p>
<p>The strips of wood are then wire tied to the PVC frame and the entire PVC frame is wire tied down to massive eyebolts screwed into the house.</p>
<p>The low end along the beam is unglued for the moment until I decide exactly how I want it configured and I still need to repair the beam.</p>
<p>The cover is actually open at the low end so the hummingbirds can visit and to ensure both decent ventilation and that the rainwater still falls on the orange tree and jasmine vine on that wall.</p>
<p>The lighting came from the <a href="http://www.paperlanternstore.com/">Paper Lantern Store</a>.  They have lanterns and electrical wiring designed for the same.  Next time, I would skip the wiring and roll my own.  Theirs is convenient, but I could do better.</p>
<p>So far, it is working really really well.  Totally water tight save for when the wind is from exactly the right direction (wrong direction?).  I think I can fix that by moving the frame slightly.  It has withstood a couple of pretty windy nights, though not one of our nasty little wind storms.  That should be interesting.</p>
<p>All in all, it has proven to be exceptionally effective!  We find ourselves eating in the atrium more often than not and plan to keep doing so well after we have a kitchen back!</p>
<p>Of course, the real test will be to see if I actually take the damned thing off the roof next summer.<br />
<br clear="right"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2008/11/29/covering-the-atrium/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>Compound Miter Saw Table from Recycled Kitchen Cabinets</title>
		<link>http://www.friday.com/bbum/2008/09/20/compound-miter-saw-table-from-recycled-kitchen-cabinets/</link>
		<comments>http://www.friday.com/bbum/2008/09/20/compound-miter-saw-table-from-recycled-kitchen-cabinets/#comments</comments>
		<pubDate>Sun, 21 Sep 2008 04:39:21 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/?p=1131</guid>
		<description><![CDATA[Let me be frank: Circular saws scare the bejeezus out of me. Always have. Rotating blades of doom ready to swallow a finger in barely a heart beat, technology be damned (very very cool technology). As we are in the midst of a remodel where the goal is to recycle as much as possible, it [...]]]></description>
			<content:encoded><![CDATA[<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/2873805071" title="View 'Completed Kitchen Cabinet Compound Miter Saw Work Table' on Flickr.com"><img src="http://farm4.static.flickr.com/3148/2873805071_b3ebe9c66a.jpg" alt="Completed Kitchen Cabinet Compound Miter Saw Work Table" border="0" width="333" height="500" /></a></div>
<p>Let me be frank:  Circular saws scare the bejeezus out of me.  Always have.  Rotating blades of doom ready to swallow a finger in barely a heart beat, <a href="http://www.sawstop.com/">technology be damned (very very cool technology)</a>.</p>
<p>As we are in the midst of a remodel where the goal is to recycle as much as possible, it was high time for me to get over this silly fear and get a damned chop saw.</p>
<p>One of our goals is to recycle whatever we can.  In particular, recycling he kitchen cabinetry and turn them into cabinets in the garage.</p>
<p>Now, garage floors slope.  And garages typically have a 4&#8243; to 6&#8243; sill of concrete on the outside walls.  Both of which would require cutting various 2x4s to the right sizes/lengths to build new legs for the cabinets to have them be both level and flush with the wall.</p>
<p>And there is about a zillion other little projects around the house that will require custom bits of framing.  Shelves.  A cover for our atrium.  Repairing the <a href="http://www.friday.com/bbum/2006/05/25/so-you-wanna-buy-a-big-green-egg/">Big Green Egg</a> table.</p>
<p>So, I picked up a basic <a href="http://www.sears.com/shc/s/p_10153_12605_00921229000P">Craftsman Compound Miter Saw</a>.  But it required a table.  Initial use indicated that screwing it down to a plank on top of a kitchen cabinet works great, so why not turn one of the recycled kitchen cabinets into a roll-around saw table with built in storage?</p>
<p>Easy enough.  That is exactly what I did.  Better yet, only the 24&#8243;x48&#8243; work surface is new.  Everything else is recycled.<br />
<br clear="left"/><br />
<span id="more-1131"></span>
<div class="imgRight"><a href="http://www.flickr.com/photos/49503114554@N01/2873806981" title="View '2x4s All Around the Base' on Flickr.com"><img src="http://farm4.static.flickr.com/3065/2873806981_6923e0da67_m.jpg" alt="2x4s All Around the Base" border="0" width="240" height="160" /></a></div>
<p>The kitchen cabinets I started with are relatively robust, though they are designed to be hung on a wall or otherwise sit stationary.</p>
<p>Thus, the first task was to reinforce the cabinets.  I cut bits of 2&#215;4&#8243; framing material that had been ripped out of the house down to size and lined pretty much the entire outside edge of the cabinet with 2x4s along the base.</p>
<p>The 2x4s are held in with both wood glue and 3&#8243; decking screws.   Pretty much every piece of wood next to a 2&#215;4 has one or two (or more) screws.  The front of the cabinet has 2 2x4s where a kick plate would normally go.  Solid.  Very very solid.<br />
<br clear="right"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/2873805893" title="View 'Heavy Duty Locking Casters For Portability' on Flickr.com"><img src="http://farm4.static.flickr.com/3018/2873805893_71d9eddf57_m.jpg" alt="Heavy Duty Locking Casters For Portability" border="0" width="160" height="240" /></a></div>
<p>The 2x4s are also used to attach the casters in the four corners.  We had quite the adventure at <a href="http://www.homedepot.com">Home Depot</a> with these casters.  Found one.  They showed 4 in stock and the final three were only found by crawling under some shelves.  Go Go Gadget Inventory Systems!</p>
<p>Not all four needed to be locking, but that was all that was available that were the same height.</p>
<p>The key is to use casters that are at least 2&#8243; in diameter.  They seem to lock better and that little bit of additional height makes for a much easier time of rolling the saw out into the driveway.</p>
<p>In any case, with the casters firmly anchored to the base, it was time to attach the work surface.<br />
<br clear="left"/></p>
<div class="imgRight"><a href="http://www.flickr.com/photos/49503114554@N01/2873807659" title="View 'Corner Bracing the Cabinet' on Flickr.com"><img src="http://farm4.static.flickr.com/3061/2873807659_1826c29acf_m.jpg" alt="Corner Bracing the Cabinet" border="0" width="240" height="160" /></a></div>
<p>If you saw what the average kitchen counter is attached to, you&#8217;d be scared of every rolling out dough or otherwise working on the surface again&#8230;</p>
<p>Seriously. These cabinets wee largely fiber board sides with solid wood front and back.</p>
<p>Thus, to mount the work surface, I cut some 2&#215;4 chunks to go in each corner. It required a bit of  <a type="amzn">Dremel</a> work to fit the blocks over the drawer slides.</p>
<p>The work surface &#8212; a 24&#8243; x 48&#8243; piece of birch plywood &#8212; was then screwed to these blocks.   The chop saw, itself, is screwed into the plywood, centered in the table.</p>
<p>When I get the chance, I&#8217;ll remove the saw, sand the surface down, and then coat it with  <a type="amzn">varathane</a> to produce a durable, easily cleaned, work surface.</p>
<p>Trivia:  Varathane is known as DiamondPlate in the pinball industry and is used to coat playfields. Tough stuff, given how well it survives getting pummeled by a steel ball!<br />
<br clear="right"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2008/09/20/compound-miter-saw-table-from-recycled-kitchen-cabinets/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Maker Faire 2008</title>
		<link>http://www.friday.com/bbum/2008/05/04/maker-faire-2008/</link>
		<comments>http://www.friday.com/bbum/2008/05/04/maker-faire-2008/#comments</comments>
		<pubDate>Sun, 04 May 2008 06:30:20 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[Hacks]]></category>
		<category><![CDATA[Technology]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/?p=1025</guid>
		<description><![CDATA[Maker Faire 2008 Day One is over and done with. The show feels like it is about twice the size of last year. The scale of awesomeness is definitely 2x. There have been a number of changes beyond the scale. The various displays/booths have been re-organized and the organization makes sense. The event took over [...]]]></description>
			<content:encoded><![CDATA[<div class="imgLeft"><a href="http://www.flickr.com/photos/bbum/2462934689/" title="SphereBot Watching Me Watching It by bbum, on Flickr"><img src="http://farm4.static.flickr.com/3286/2462934689_fb012e9e00.jpg" width="400" height="500" alt="SphereBot Watching Me Watching It" /></a></div>
<p>Maker Faire 2008 Day One is over and done with.   The show feels like it is about twice the size of last year.  The scale of awesomeness is definitely 2x.</p>
<p>There have been a number of changes beyond the scale.</p>
<p>The various displays/booths have been re-organized and the organization makes sense.</p>
<p>The event took over the back parking lot of the fairgrounds and, as such, there is lots of room for various fire arts, very large statue stuff, and various outdoor events.</p>
<p>Gone are the generic arts-and-crafts vendors from the years before, replaced with various &#8220;activist&#8221; vendors pushing everything from a <a href="http://www.bayareaveg.org/blog/2008/05/06/i-leafleted-r2-d2/">vegan lifestyle (been avoiding that booth)</a> to awesome chocolates to composting toilets to amazing beer.</p>
<p>The <strong>food is awesome this year</strong>.  While the various carny style food-vendors-that-you-see-at-every-character-lacking-street-fair are still there, you&#8217;ll find awesome little bay area food vendors in between.  What really good tacos?  No problem;  beef, whole roasted pork, or braised lamb cheeks &#8212; all delicious.   Home made yucatan peninsula style tamales, too.   Oh, and fresh grilled organic asparagus with a delicious dressing is just around the corner.</p>
<p>Many vendors &#8212; TechShop, O&#8217;Reilly, EMSL, etc.. &#8212; seem to have made the transition from &#8220;hey, look, cool stuff&#8221; to &#8220;hey, look, cool stuff and here is where you can pay some $$ to participate&#8221;.  Seriously &#8212; the show is starting to take on an air of professional marketeering.  Only it is still all good&#8211; there are many more opportunities to make cool stuff for free than ever before.<br />
<br clear="left"/></p>
<div class="imgRight"><a href="http://www.flickr.com/photos/bbum/2462925397/" title="Roger and Friend (Nattie?) Playing Tag w/Spherebot by bbum, on Flickr"><img src="http://farm4.static.flickr.com/3005/2462925397_55f0bc4684.jpg" width="500" height="333" alt="Roger and Friend (Nattie?) Playing Tag w/Spherebot" /></a></div>
<p>The whole show is about interaction.  And interact, you do!</p>
<p>Oddly, there are many more decent pinball players this year than last.  I&#8217;m looking forward to comparing this years audits with <a href="http://www.friday.com/bbum/2006/04/25/makers-faire-pinball-stats/">the first year&#8217;s</a>.</p>
<p>Of course, there is still the grand assortment of kids being exposed to well maintained pinball machines for the first time.  Their first reaction is generally &#8220;ooh, what is this?!?!?&#8221;.  Then it becomes <a href="http://flickr.com/photos/bbum/2463765218/">all</a> <a href="http://flickr.com/photos/bbum/2462943419/">concentration</a>.   And, finally, it is the parents reminding them that there is lots of other cool stuff to see!</p>
<p>Awesome stuff.   I took a handful of photos in between chatting with many folks about <a href="http://www.friday.com/bbum/2006/11/07/make-08-pinball-restoration/">pinball machine restoration</a>.<br />
<br clear="right"/></p>
<p>I&#8217;m utterly beat.  Have no words.  Here are a couple of more pictures.  Off to bed to charge up for tomorrow!</p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/bbum/2463775128/" title="Pinball Chaos Machine Green Mode by bbum, on Flickr"><img src="http://farm3.static.flickr.com/2044/2463775128_08a6e1c491.jpg" width="500" height="333" alt="Pinball Chaos Machine Green Mode" /></a></div>
<p>This is a perpetual pinball chaos machine.  Balls bounce around and trigger lights depending on which color pop bumper is hit.<br />
<br clear="left"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/bbum/2462942147/" title="Dancing with R2D2 (Step to the Left) by bbum, on Flickr"><img src="http://farm3.static.flickr.com/2080/2462942147_0d53e610ec.jpg" width="400" height="500" alt="Dancing with R2D2 (Step to the Left)" /></a></div>
<p>This little girl met R2D2 and decided to have a dance.</p>
<p>The creator of the amazing <a href="http://www.artoo-detoo.net/">artoo detoo robot &#8212; Chris </a> &#8212; commented with a link to a <a href="http://www.youtube.com/watch?v=eC11VaLxe_k">video of the same dance event</a>.</p>
<p>Thank you!<br />
<br clear="left"/></p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2008/05/04/maker-faire-2008/feed/</wfw:commentRss>
		<slash:comments>5</slash:comments>
		</item>
		<item>
		<title>New Toy: Canon EF 50mm f/1.8 II Camera Lens</title>
		<link>http://www.friday.com/bbum/2007/10/11/new-toy-canon-ef-50mm-f18-ii-camera-lens/</link>
		<comments>http://www.friday.com/bbum/2007/10/11/new-toy-canon-ef-50mm-f18-ii-camera-lens/#comments</comments>
		<pubDate>Thu, 11 Oct 2007 20:02:33 +0000</pubDate>
		<dc:creator>bbum</dc:creator>
				<category><![CDATA[Photography]]></category>
		<category><![CDATA[Tools]]></category>

		<guid isPermaLink="false">http://www.friday.com/bbum/2007/10/11/new-toy-canon-ef-50mm-f18-ii-camera-lens/</guid>
		<description><![CDATA[I have been wanting a new lens for a while (what SLR photographyer &#8212; amateur or otherwise &#8212; doesn&#8217;t?) and had been eying up some serious pieces of glass. After doing a bunch of research, I ended up with a Canon EF 50mm f/1.8 II lens. Complete opposite end of the spectrum from the various [...]]]></description>
			<content:encoded><![CDATA[<div class="imgLeft"><iframe src="http://rcm.amazon.com/e/cm?t=billbumgarner-20&#038;o=1&#038;p=8&#038;l=as1&#038;asins=B00007E7JU&#038;fc1=000000&#038;IS1=1&#038;lt1=_blank&#038;lc1=0000FF&#038;bc1=000000&#038;bg1=FFFFFF&#038;f=ifr&#038;nou=1" style="width:120px;height:240px;" scrolling="no" marginwidth="0" marginheight="0" frameborder="0"></iframe></div>
<p> I have been wanting a new lens for a while (what SLR photographyer &#8212; amateur or otherwise &#8212; doesn&#8217;t?) and had been eying up some <a type="amzn" search="Canon EF 300mm f/2.8L">serious</a>  <a type="amzn" search="Canon EF 28-300mm f/3.5-5.6L IS USM">pieces</a> of  <a type="amzn" search="Canon EF 24mm f/1.4L USM">glass</a>.</p>
<div class="imgRight"><a href="http://www.flickr.com/photos/49503114554@N01/1538744849" title="View 'Roger Climbing Tree' on Flickr.com"><img src="http://farm3.static.flickr.com/2299/1538744849_2fafe38fda_m.jpg" alt="Roger Climbing Tree" border="0" width="160" height="240" align="right" /></a></div>
<p>After doing a bunch of research, I ended up with a  <a type="amzn" search="Canon EF 50mm f/1.8 II ">Canon EF 50mm f/1.8 II</a> lens.  Complete opposite end of the spectrum  from the various L series bits of glass linked above.  Instead of dropping $1,500 or even $5,000, it cost me all of $76.30.</p>
<p>Why such a cheap lens?</p>
<p>Because it is a total gem.</p>
<p>The build quality is crap, but the image quality is outright amazing &#8212; doubly so for less than $100.</p>
<p>It is an all plastic lens with a focus motor that sounds akin to an old 110 film camera with an autowinder.   Yet, that also means the lens is extremely lightweight.  Combined with my Rebel XT body, it makes for one very small picture taking machine.  It is probably 1/3rd of the weight of my <a type="amzn" search="Canon EF 100mm f/2.8 Macro USM Lens">100mm Macro lens</a> (that was pretty much my default lens until now).</p>
<p>With a maximum aperture of f/1.8, the lens eats light.   Better yet, I&#8217;m finding that I can use the ISO 200 and ISO 400 settings of the camera without worrying too much about noise.</p>
<p>For example, the picture at right was one that I could not have taken with my other two lenses (the 100mm and a  <a type="amzn" search="Canon EF-S 17-85mm f/4-5.6 Image Stabilized USM ">17-85mm IS EF-S lens that is effectively a kit lens</a>).  I was shooting under a fairly dense pine tree in a relatively dark environment (all things considered).  This is at ISO400 so could capture the always-in-motion nature of a 7 year old in a tree at a fairly high shutter speed (1/200th at f/4).   It isn&#8217;t the best picture in the world &#8212; legs are a bit washed out &#8212; but I&#8217;m just happy I could take it at all and much more so that I could take it without really having to work at it much.<br />
<br clear="right"/></p>
<p><span id="more-903"></span></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/1539457042" title="View 'Old Wagon Road' on Flickr.com"><img src="http://farm3.static.flickr.com/2227/1539457042_f1bbd0e097.jpg" alt="Old Wagon Road" border="0" width="333" height="500" align="left" /></a></div>
<p>Pictured here is an old wagon road that runs through the woods behind my parent&#8217;s house.  1/60, f/2, ISO100.</p>
<p>Again, another shot that would have been inconvenient with my other lenses or would have required a tripod (the shot at left was hand held &#8212; even forgot <a href="http://www.friday.com/bbum/2007/10/10/the-scrap-monopod-the-stringpod/">my silly stringpod</a>).</p>
<p>The new lens captured what I wanted &#8212; a nice walk on an old trail &#8212; quickly and easily.</p>
<p>I also took <a href="http://www.flickr.com/photos/bbum/1539394908/">this shot of Roger walking up said trail</a>.</p>
<p>Not bad for $76.30.<br />
<br clear="left"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/1539267561" title="View 'Morning Glory Detail' on Flickr.com"><img src="http://farm3.static.flickr.com/2283/1539267561_3f955dc9c8.jpg" alt="Morning Glory Detail" border="0" width="334" height="500" align="left" /></a></div>
<p>It was a little breezy out and, thus, that I could take this shot at 1/1000th of a second (f/9, ISO400) made it quite totally convenient.   I could likely pull off a better quality shot with a tripod and the 100mm macro, but not with the same convenience.</p>
<p>That and it seems that higher ISO noise is much more apparent with the 100mm lens.<br />
<br clear="left"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/1538677845" title="View 'Water Fountain' on Flickr.com"><img src="http://farm3.static.flickr.com/2216/1538677845_fa3ba55700.jpg" alt="Water Fountain" border="0" width="500" height="333" align="left" /></a></div>
<p> Frankly, I had forgotten that I had the ISO at 400.  As a result, the shutter speed was a ridiculous 1/4000th of a second (f/4.5).</p>
<p>Whatever.  I like the result.<br />
<br clear="left"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/1540259726" title="View 'Morning Glory' on Flickr.com"><img src="http://farm3.static.flickr.com/2153/1540259726_526827c3c3.jpg" alt="Morning Glory" border="0" width="500" height="333" align="left" /></a></div>
<p>This is a pile of morning glories growing on top of the deck awning in back of the house.   It used to be a 30 foot tall tower of morning glories, but a storm broke the tower.   Dad dragged it back onto the trellis and the morning glories then exploded with flowers.   It is gorgeous.</p>
<p>50mm, 1/800th of a second, f/8, ISO400.<br />
<br clear="left"/></p>
<div class="imgLeft"><a href="http://www.flickr.com/photos/49503114554@N01/1554101898" title="View 'Roger Playing with Lego' on Flickr.com"><img src="http://farm3.static.flickr.com/2159/1554101898_3af3b1d13c.jpg" alt="Roger Playing with Lego" border="0" width="500" height="334" align="left" /></a></div>
<p>At left is Roger playing with Lego(s?) in a relatively dark room.  1/50th of a second, f/1.8, ISO1600.</p>
<p>Yup &#8212; ISO1600.  The noise is apparent in the left side of the pic;  the windows, the left side of the plastic box, etc.</p>
<p>But the image is still quite usable.  Certainly good enough to share with family.  </p>
<p>And it is an image I couldn&#8217;t have taken with my other lenses.<br />
<br clear="left"/></p>
<p>In any case, I&#8217;m sure none of this is news to any photographer with even half a clue.</p>
<p>As I have less than 1/4 clue, I&#8217;m just utterly blown away by the results from this lens!   It is a total blast to shoot with and I&#8217;ll definitely second the oft repeated notion that every Canon SLR user should seriously consider adding this lens to their kit!   It is just stupid cheap!</p>
<p>If you think it is too cheap, Canon does make an <a type="amzn" search="Canon EF 50mm f1.4 USM">EF 50mm f1.4 USM Medium Telephoto Lens</a> for about $310.</p>
<p>It looks to be of a considerably better build quality (metal mount, instead of plastic) and is a bit faster than the f/1.8.  Given that it uses an ultrasonic focus motor, it is likely to be quite a bit quieter, too.</p>
]]></content:encoded>
			<wfw:commentRss>http://www.friday.com/bbum/2007/10/11/new-toy-canon-ef-50mm-f18-ii-camera-lens/feed/</wfw:commentRss>
		<slash:comments>23</slash:comments>
		</item>
	</channel>
</rss>

