<?xml version="1.0" encoding="utf-8"?>

<rdf:RDF
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
  xmlns:admin="http://webns.net/mvcb/"
  xmlns:cc="http://web.resource.org/cc/"
  xmlns="http://purl.org/rss/1.0/">

<channel rdf:about="http://www.sharp-tools.net/">
<title>Sharp Tools</title>
<link>http://www.sharp-tools.net/</link>
<description><![CDATA[Weapons, words, and code - all means of changing reality.  All, however, are <i>sharp tools</i> in that not only can they turn in your hands, but they'll do <i>exactly what you tell them to</i> - even if that's not what you meant.]]></description>
<dc:language>en-us</dc:language>
<dc:creator></dc:creator>
<dc:date>2011-10-22T20:35:59-05:00</dc:date>
<admin:generatorAgent rdf:resource="http://www.movabletype.org/?v=3.33" />
<cc:license rdf:resource="http://creativecommons.org/licenses/by-nc-sa/3.0/us/" />






<items>


<rdf:Seq>

<rdf:li rdf:resource="http://www.sharp-tools.net/archives/002192.html" />


<rdf:li rdf:resource="http://www.sharp-tools.net/archives/002190.html" />


<rdf:li rdf:resource="http://www.sharp-tools.net/archives/002189.html" />


<rdf:li rdf:resource="http://www.sharp-tools.net/archives/002188.html" />


<rdf:li rdf:resource="http://www.sharp-tools.net/archives/002187.html" />


<rdf:li rdf:resource="http://www.sharp-tools.net/archives/002185.html" />


<rdf:li rdf:resource="http://www.sharp-tools.net/archives/002184.html" />


<rdf:li rdf:resource="http://www.sharp-tools.net/archives/002183.html" />


<rdf:li rdf:resource="http://www.sharp-tools.net/archives/002182.html" />


<rdf:li rdf:resource="http://www.sharp-tools.net/archives/002152.html" />


<rdf:li rdf:resource="http://www.sharp-tools.net/archives/002081.html" />


<rdf:li rdf:resource="http://www.sharp-tools.net/archives/002060.html" />


<rdf:li rdf:resource="http://www.sharp-tools.net/archives/002052.html" />


<rdf:li rdf:resource="http://www.sharp-tools.net/archives/002045.html" />


<rdf:li rdf:resource="http://www.sharp-tools.net/archives/002042.html" />


</rdf:Seq>



</items>

</channel>

<item rdf:about="http://www.sharp-tools.net/archives/002192.html">
<title>Jailbreaking an AppleTV 2 with Seas0npass</title>
<link>http://www.sharp-tools.net/archives/002192.html</link>
<description>I&apos;ve had to jailbreak ATV2s twice now, and both times I&apos;ve gotten caught up in the &apos;oh yeah just one more thing&apos; details of this particular finicky task.  So I figured I&apos;d add my own &apos;here&apos;s how I got it to work&apos; on the off chance someone Googling it in desperation like I had to both times will find it.</description>
<dc:subject>Gear</dc:subject>
<dc:creator>jbz</dc:creator>
<dc:date>2011-10-22T20:35:59-05:00</dc:date>
</item>
<item rdf:about="http://www.sharp-tools.net/archives/002190.html">
<title>Diesel-Electrics vs. Nucs - round 720823084</title>
<link>http://www.sharp-tools.net/archives/002190.html</link>
<description><![CDATA[<a href="http://www.aei.org/article/103715">This article</a> touches on a question dear to my heart, because I love submarines.  However, after reading it a couple of times, I have some problems with the argument being framed here.  NOTE:  I do not do this for a living, and this is just off the top of my head after reading the article in question.
<p>
<h3>Assumptions</h3>
<p>
The first problem is that there are several enormous assumptions embedded in the argument which are never acknowledged much less addressed. Here are a few of them, in my opinion.
<p>]]></description>
<dc:subject>Weapons</dc:subject>
<dc:creator>jbz</dc:creator>
<dc:date>2011-06-13T16:53:46-05:00</dc:date>
</item>
<item rdf:about="http://www.sharp-tools.net/archives/002189.html">
<title>The Space Shuttle Endeavour, STS134 and the NASA TweetUp</title>
<link>http://www.sharp-tools.net/archives/002189.html</link>
<description><![CDATA[I entered today tossing and turning, trying to force myself to sleep. Yesterday I was privileged to take a trip out to Pad 39A at Kennedy Space Centeralong with the other 78 or so folks who had returned for a second launch attempt at the NASA Tweetup (for those of you who care, get on Twitter and search for #STS134 and/or #NASATweetup). We drove past the press, all clustered at the bottom of the pad ramp looking directly at the Shuttle's 'top' where it was hidden by the RSS, and drove around to the side of the pad before spilling out of the buses NASA had provided and immediately all pulling out cameras and various Twitter-enabled devices.
<p>]]></description>
<dc:subject>Travel</dc:subject>
<dc:creator>jbz</dc:creator>
<dc:date>2011-05-16T20:23:10-05:00</dc:date>
</item>
<item rdf:about="http://www.sharp-tools.net/archives/002188.html">
<title>Using Chef to write out a munin.conf file which uses the Chef Server node name to label clients</title>
<link>http://www.sharp-tools.net/archives/002188.html</link>
<description><![CDATA[<p>
Pretty much what it says on the tin.  If you configure your munin server using Opscode chef, and you're looking at EC2/Opscode nodes, it's advantageous to label the munin clients in the munin conf using the Opscode node name so that you can quickly match them to the proper records on Opscode.  Also, the Opscode name has the EC2 instance ID suffixed to it, which makes it easy to find the node on EC2 as well.
<p>
In addition, you want to group your nodes into reasonable groups!  So let's say you have project/environment/type attributes which describe each node (like, for example, myapp-staging-app).
<p>]]></description>
<dc:subject>Code</dc:subject>
<dc:creator>jbz</dc:creator>
<dc:date>2011-05-13T18:06:20-05:00</dc:date>
</item>
<item rdf:about="http://www.sharp-tools.net/archives/002187.html">
<title>Opscode Chef LWRPs and notifications</title>
<link>http://www.sharp-tools.net/archives/002187.html</link>
<description><![CDATA[Wow, so @kallistec is my hero.  I was trying to write a LWRP for my rsyslog cookbook in my Chef repo, and it WASN'T WORKING.  The purpose of the LWRP was to allow other cookbooks to declare that they had text-only logfiles, and have the rsyslog LWRP then generate the appropriate imfile configuration stanza in /etc/rsyslog.d.
<p>]]></description>
<dc:subject>Code</dc:subject>
<dc:creator>jbz</dc:creator>
<dc:date>2011-01-26T18:18:14-05:00</dc:date>
</item>
<item rdf:about="http://www.sharp-tools.net/archives/002185.html">
<title>Sony Bravia and Motorola DCX3400 (Comcast) DVR/Cable box</title>
<link>http://www.sharp-tools.net/archives/002185.html</link>
<description><![CDATA[Visiting my aunt who is recuperating from a medical procedure.  I noticed she'd gotten herself a nice Bravia flatscreen...but after dicking around with it for a few minutes, I also noticed that it wasn't displaying HD.  Wha?  I checked her cable box - it's a Motorola DCX3400 and claims to be displaying HDTV.  It's connected to her TV by *both* coax and an HDMI cable, but the TV claims there's only signal on the 'TV' input (coax).  Uh?
<p>
A few seconds dicking around and I figure out how to get the setup menu on the box (turn it on, then turn it off using the frontpanel power button and within a couple seconds hit the 'MENU' frontpanel button).  The menu comes up as the manual describes, but says it's *not* connected via HDMI.
<p>
No matter what I do, I can't get it to sync HDMI.  The DVD player, plugged into the same port on the TV, comes right up.   Finally, after 30 minutes, I acknowledge Geek Fail and call Comcast.  After navigating the phone tree, I get a tech who actually seems clueful.  He asks what kind of TV.  I tell him.  He says 'What model number?'  Uh-oh.  I give it to him.  He tappity-tappitys on the knowledge base, and says, "Yep, sorry, I thought so.  There are known issues with using certain models of Sony Bravia flat panels with our cable boxes - the HDMI just won't sync."
<p>
Great.
<p>
So if you have a Sony Bravia and are trying to get a Motorola DCX3400 cable box to work properly with it, forget it.
<p>
On the plus side, since the cable box will only output 1080i (or maybe 720p) anyway, you can just use component video+RCA stereo and get the same resolution.
<p>]]></description>
<dc:subject>Gear</dc:subject>
<dc:creator>jbz</dc:creator>
<dc:date>2010-08-31T19:31:13-05:00</dc:date>
</item>
<item rdf:about="http://www.sharp-tools.net/archives/002184.html">
<title>Dealing with stale cached apt manifests in Chef-run apt transactions</title>
<link>http://www.sharp-tools.net/archives/002184.html</link>
<description><![CDATA[I have a 'base' Chef recipe whose job is to do global basic bootstrapping tasks to EC2 slices.  One of the first things that this recipe does on Ubuntu slices is update the apt caches using 'apt get update.'  Without that step, it generally fails, because the AMIs I use don't have complete and up-to-date apt repo information in them.
<p>
Well, today, I ran the recipe on a new slice and it tanked.  apt was exiting with status 100, and when I checked, it was producing the following error:
<p>
<pre>[IP ADDRESS] apt-get update returned 100, expected 0</pre>
<br>
...and running apt-get update manually returned an error complaining that it couldn't update the repo information.  It complained:
<p>
<pre>W: Failed to fetch  (the problem archive file): Hash Sum mismatch</pre>
<p>
The problem here, it turns out, is that the archive in question I was attempting to get updated manifests for had been updated - but the checksum (Hash Sum) for that archive had been *cached* by something in between my slice and the archive (likely some form of proxy).  As a result, they didn't match, and bam.
<p>
<strong>The Fix:</strong>  The fix came from <a href="http://ubuntuforums.org/showpost.php?p=4952791&postcount=10">here</a>.  Essentially, mod your apt-get command to include an option for 'no-cache', either during the call:
<p>
<pre>apt-get update -o Acquire::http::No-Cache</pre>
<p>
...or by putting the option into your apt config (see the post linked above for how-to).
<p>
Whew.  Another day, another thing.
<p>
]]></description>
<dc:subject>Code</dc:subject>
<dc:creator>jbz</dc:creator>
<dc:date>2010-08-05T14:40:59-05:00</dc:date>
</item>
<item rdf:about="http://www.sharp-tools.net/archives/002183.html">
<title>Chef cookbook attribute files</title>
<link>http://www.sharp-tools.net/archives/002183.html</link>
<description><![CDATA[Learned today the hard way:  Don't use set_unless in a Chef cookbook's attribute file unless there is a <em>really good reason.</em>  And corollary:  <em>there's never a really good reason.</em>  At least, not that I've found.
<p>
Why?  Here's what happened.  I started hacking Chef recipes by looking at examples from the Opscode and 37Signals git repos, probably like many folks.  In many of those examples, attributes are set using things like
<p>
<pre>set_unless&#91;:cookbook&#93;&#91;:varname&#93; = "some_value"</pre>
<p>
The problem is that what set_unless means here is that whenever this cookbook is run, Chef checks to see if the variable in question already has a value...<em>any</em> value.  If so, it skips the set statement.  See where I'm going?
<p>
Yeah.  So I had an attribute with a really long list in it that was going to be executed by a stanza in my main recipe file.  To test it, I created a three-item list in the attribute file.  It worked fine on my test node.  So I changed the attribute to have the full 21-item list, and then re-upped the cookbook to the Chef server, and re-ran the client on the node.  It diligently went and got the updated attribute file and downloaded it to the cache, then performed the chef run...with the same 3-item list.
<p>
Because I'd already set that variable on that node, the set_unless wouldn't fire.  The only way I got this to work was to go replace the set_unless statements with plain ol' set statements.  Then, when it ran, it happily overwrote all the variables with the new values.
<p>
Does this waste time/resources?  Yes, but probably not as much as a set_unless_equals sort of test would (not that that test exists now).
<p>]]></description>
<dc:subject>Code</dc:subject>
<dc:creator>jbz</dc:creator>
<dc:date>2010-07-28T18:58:15-05:00</dc:date>
</item>
<item rdf:about="http://www.sharp-tools.net/archives/002182.html">
<title>Amazon EC2 ami manifests and architecture mismatches</title>
<link>http://www.sharp-tools.net/archives/002182.html</link>
<description><![CDATA[So I'm muddling my way through various means of managing an AWS infrastructure.  We're currently using Opscode's chef and their online SaaS implementation (experimentally).  When using the chef tool 'knife' to boot up an EC2 server using one of our custom AMIs, I kept getting an error:
<p>
---cut---
<pre>
/usr/local/lib/ruby/gems/1.8/gems/excon-0.1.4/lib/excon/connection.rb:67:in <br>`request': InvalidParameterValue => The requested instance type's architecture <br>(i386) does not match the architecture in the manifest for ami-xxxxxxxx (x86_64) <br>(Fog::AWS::EC2::Error)
</pre>
<p>
---cut---
<p>
...after mucking about for a bit, I have discovered that AMIs whose declared <em>arch</em> is x86_64 (and, presumably, whose <em>arch2</em> is amd64) *cannot* be used to instantiate running instances whose type are m1.small or m1.large.  This matters because while some DSL tools (*cough* chef *cough) have the means to specify and pass thru an instance 'flavor' to the EC2 toolset, they can't/don't/won't accept or pass thru an 'arch' value.  So the error message is a bit of a red herring.

In my case above, I changed the instantiation command from specifying '-f m1.large' to '-f m1.xlarge' and...voila, it worked.
<p>]]></description>
<dc:subject>Code</dc:subject>
<dc:creator>jbz</dc:creator>
<dc:date>2010-07-12T14:23:54-05:00</dc:date>
</item>
<item rdf:about="http://www.sharp-tools.net/archives/002152.html">
<title>Resolving an nginx and passenger problem</title>
<link>http://www.sharp-tools.net/archives/002152.html</link>
<description><![CDATA[Was working on remote-configuring a server which runs a Ruby app using nginx and Phusion Passenger. Despite having everything configured properly (I was convinced it was, at least) I kept getting the following error on nginx startup:
<p>
<pre>Alert: could not send password to the passenger helper server: write() failed (32: Broken pipe)</pre>
<p>
nginx would refuse to start.  It wouldn't even write anything to the error log.  Argh.
<p>
To make a long story short, there were *two* reasons I was getting this error.  Here they are, and here are the fixes.
<p>
<h4>Reason 1: Bad nginx.conf</h4>
<p>
In my nginx.conf, I was specifying the location of the </strong>passenger_root</strong> and of the <strong>passenger_ruby</strong>.  In both cases, I had an incorrect path due to us having changed versions of ruby and the passenger gem - it had been updated, so its path changed.
<p>
<h4>Reason 2: Bad HelperServer</h4>
<p>
We (I) had installed nginx via the command <strong>passenger-install-nginx</strong>, included with the passenger gem.  However, the version of passenger had been updated (from 2.2.5 to 2.2.14, as if it matters) and we (I) had <strong>not</strong> re-run that install process.  I originally didn't think it mattered.  However, apparently (and I'm not positive of this) there is a HelperServer that is compiled at install time which points to a particular passenger instance, so if you upgrade passenger, you need to <strong>rerun</strong> the passenger-install-nginx command.  It won't stomp on any configs or anything.
<p>
Anyhow, after fixing those problems, whee, nginx and passenger started fine.  I hope this helps someone, because I was looking for exactly this post frantically during the Google phase of debugging, and didn't find it.  I found pieces of info, but not all of it.]]></description>
<dc:subject>Code</dc:subject>
<dc:creator>jbz</dc:creator>
<dc:date>2010-06-09T13:10:30-05:00</dc:date>
</item>
<item rdf:about="http://www.sharp-tools.net/archives/002081.html">
<title>iTunes 9.1, ePubs and cover art</title>
<link>http://www.sharp-tools.net/archives/002081.html</link>
<description><![CDATA[Well, iTunes does handle ePubs, but it seems sorta b0rked.  Here's how.
<p>
I took a set of ten or fifteen epubs that I have, all non-DRMed, and dropped them onto iTunes.  It imported them without error messages.  I have no way to test if they're actually OK because I don't (yet) have an iPad to sync them to.  But anyway, to continue.
<p>
Two of them have cover art in iTunes.  The rest do not.  Huh?
<p>
If I look at them in Calibre, they <em>all</em> have cover art.  Furthermore, something odd - if I go back into iTunes and look at one of the ones whose cover art shows up in the 'Summary' section of Get Info and in the cover view, although the cover shows up in the 'Summary' section there's nothing in the 'Album Artwork' section.  I cannot copy or paste the cover in the 'Summary' section (they're greyed out, and I tried).
<p>
Going back to the ePubs as it was saved to disk by calibre, I can compare a working ePub and a non-working ePub.  They both have cover art in their folders, and both are jpgs.  Opening them in preview shows both of them are identically sized; both are using the same (RGB) colorspace.  They look identical.  But one of them imports when you drop the folder of the ePub on iTunes, and one does not.
<p>
If I paste the cover art into the non-working ePub's 'Album Artwork' pane in iTunes, it shows up as having a cover, and that cover shows up in the Album Artwork pane.  The one which worked originally still doesn't have anything there.
<p>
So if I had to hazard a guess, I'd say there is still something screwy with iTunes' ePub import function; something which screws up some cover art.  Great.  I don't want to have to go manually re-fix all my cover art on my 200+ books. 
<p>]]></description>
<dc:subject>Code</dc:subject>
<dc:creator>jbz</dc:creator>
<dc:date>2010-04-06T22:51:17-05:00</dc:date>
</item>
<item rdf:about="http://www.sharp-tools.net/archives/002060.html">
<title>More Books to Hunt Down</title>
<link>http://www.sharp-tools.net/archives/002060.html</link>
<description><![CDATA[In addition to finding the serialized second novel in the tales of Candida Smith-Foster, I have just learned (from reading Wikipedia) that another of my fondly-remembered sci-fi series from kidhood, Harry Harrison's <em>Deathworld</em> Trilogy, apparently has four books past the three I knew of!  Unfortunately, Wikipedia tells me that these were 'co-written' with other authors and only published in Russian.  Hm.  Well, still, something to keep an eye out for.
<p>]]></description>
<dc:subject>Words</dc:subject>
<dc:creator>jbz</dc:creator>
<dc:date>2010-03-16T22:32:15-05:00</dc:date>
</item>
<item rdf:about="http://www.sharp-tools.net/archives/002052.html">
<title>Contributing to the memeflooding</title>
<link>http://www.sharp-tools.net/archives/002052.html</link>
<description><![CDATA[I know, I know, I'm just being a viral marketing tool.
<p>
<a href="http://www.program-glitch-esc.net/">But I can't help it.</a>
<p>
Please, <em>please</em> let this not suck.
<p>
Oh please.
<p>
So far, so good.
<p>]]></description>
<dc:subject>Images</dc:subject>
<dc:creator>jbz</dc:creator>
<dc:date>2010-03-09T15:15:38-05:00</dc:date>
</item>
<item rdf:about="http://www.sharp-tools.net/archives/002045.html">
<title>On the hunt</title>
<link>http://www.sharp-tools.net/archives/002045.html</link>
<description><![CDATA[One of my favorite sci-fi novels from my kidhood was a one-off novel by David R. Palmer, titled <em>Emergence</em>.  It was a sole-survivor story, a plucky-kid story, and a somewhat shaky superman-hero-fights-evil-empire story.  It concerned the adventures of one Candida Smith-Foster, precocious heroine (13 years old, IIRC? <strong>Update:</strong>Nope, 11) and her voyages across a post-apocalyptic United States.  Palmer wrote that book, and one unrelated novel (<em>Threshold</em>) and then disappeared.  
<p>
However, I have recently discovered that he surfaced briefly in 2008 - to announce that he'd completed a <em>sequel</em> to <em>Emergence</em>, named <em>Tracking</em>.  It was apparently serialized in <em>Analog</em> between July and October of 2008.
<p>
But that's the only place it exists.
<p>
So I guess I need to start hunting Analog back issues...
<p>]]></description>
<dc:subject>Words</dc:subject>
<dc:creator>jbz</dc:creator>
<dc:date>2010-03-04T17:25:25-05:00</dc:date>
</item>
<item rdf:about="http://www.sharp-tools.net/archives/002042.html">
<title>Pioneer VSX-92txh and the HDMI &apos;Not Supported&apos; message</title>
<link>http://www.sharp-tools.net/archives/002042.html</link>
<description><![CDATA[I was at a friend's house recently and was asked to assist in hooking up a new Sony blu-ray player to their home theater setup.  Since the carrot was that we could then immediately watch 'Moon' and 'Blade Runner' in Blu-ray, I said 'sure' and off we went.
<p>
We ran into a problem, however, and it took some diagnostics to fix, so I figured I'd write it up here in case anyone out there on the interg00glez runs into it.
<p>
<strong>The Problem:</strong><br>
The Blu-ray player, when connected to the Pioneer via HDMI and optical digital audio, won't work in 1080p resolution.  When we connected the player (a Sony) it went through a 'quick setup' wizard.  At boot and during that process, it was configured for what looked like low res - 480? - while it tried to figure out how to set itself.  It reached the 'resolution' phase and announced that it would try to autodetect the proper resolution - and then the picture vanished ('No Signal' on the TV) and the Pioneer amp started flashing the message 'NO SUPPORT' on the amp's frontpanel.  After 30 seconds, the picture came back (still low res) and the Blu-ray player asked if we'd seen the test page.  We said 'no.'  Rinse and repeat; the Blu-ray for some reason kept trying and failing to sync up.
<p>
After eventually forcing it to break out of the 'quick start' configuration wizard, we found that it was set to the lowest possible resolution, which did work.  So we started trying to manually set it to higher resolutions.  Eventually, we determined that while it would display 1080i, any attempt to set the player to 1080p would cause the 'NO SUPPORT' message.
<p>
<strong>Diagnosis:</strong><br>
This seemed stupid.  We were talking about a Pioneer Elite amp, and a Samsung LNT5271f TV - both of which most assuredly would handle 1080p.  As a test, I connected the Blu-Ray directly to the TV.  It worked fine - so the problem was definitely with the amp.  The *other* HDMI devices connected seemed to work fine; the Playstation 3 on another input seemed to work.  But the Blu-ray just wouldn't work.
<p>
<strong>The Solution:</strong><br>
Well, long story short(er).  It turns out that the Pioneer lets you manually assign specific video inputs to a particular function - so for example you can select the 'BD' (BluRay Disc) function, and then specify that the amp should switch to 'HDMI-1' and 'Digital Audio-3' (for example) when set to this function.  We had done just that, and set it to 'HDMI-1' and 'Digital Audio 3' or some such.
<p>
The problem, however, is that although the amp will let you select and use the various video inputs individually, they aren't as independent as you might think.  The problem:  We had component video cables plugged into 'Component-1' for the cable box - and apparently, that trailing '-1' means that those inputs share some part of the signal path.  The fact that component video was plugged into - let's call it Circuit 1, meant that Circuit 1 was limited to the maximum resolution of the component video - which was 1080i.
<p>
So we moved the Blu-Ray player to HDMI-4, which had no other devices plugged into that circuit ("-4") and voila, everything worked fine.
<p>
Annoying.  No mention of this limitation in the manual that I could find, or on the internet.  So hope this helps someone.
<p>]]></description>
<dc:subject>Gear</dc:subject>
<dc:creator>jbz</dc:creator>
<dc:date>2010-03-01T13:15:44-05:00</dc:date>
</item>


</rdf:RDF>
