Wednesday, December 22, 2010

Annals of Homeowner Stupidity (DIY Remodeler Division)

I bought the house I'm living in now last February; nice "rambler" (ranch)-style place, one owner since it was built in the '50s, one block from a decent 24-hour grocery store. All in all, pretty content.

Except for the kitchen, which apparently was remodeled by the children of the original homeowners when they inherited it and prepared it for sale. The original 1974 electric range, reset in the cheapest formica you can find; an exhaust hood so low that steam condenses on it and drips back down into the food; the heating register face-up on the floor right next to the cooktop; the fluorescent tube lights set into a drop ceiling. Gah.

At any rate, Tuesday morning I notice water dripping into the window. Outside, it's clear that there's a huge ice dam built up at an northwest-facing inside corner of the roof, with water running under the soffit and down the side of the house behind the aluminum siding (and don't get me started on that bit of stupidity). I go up in the crawlspace, and other than a small pile of snow on the insulation under one of the mushroom aerators, the insulation doesn't look completely useless.

First step: keep the water from soaking the window, and dripping into the sink. Solution: Funnel duck[1]-taped to the shade, drain hose attached, see illustration below.

Consulting with my friend Lester, who knows his way around building insulation, the clear indication is interior heat reaching the roof, causing melt, hence problem. Clued in, I remove the drop ceiling in the kitchen and poke my head up.

The blessed dears[2] had cut away fifteen inches of ceiling from the outside wall into the room, for a length of about ten feet. They cut the top four inches of the inside wall out, exposing both the wall studs and ceiling joists. Then they put in a six inch drop ceiling to mask their sin. Can't see it in the photo, but there's daylight visible to the right of that inset light fixture.

So: one pair of hedge shears, one roll 6.5in R19 unfaced batt insulation, and a half hour measuring, cutting, piecing together, and trying to get the drop ceiling tiles back into place. Hope this is the major cause, and the dripping will stop; it's 36F outside right now, so I won't know for a while. Even if that fixes it, I'll still probably have to pay somebody to steam off the hundreds of pounds of ice next spring, so it doesn't all melt back into the house.

Next summer, if my Tucson and St. Paul houses ever sell, maybe I'll be able to replace the kitchen with something in which one could actually use a funnel for its intended purpose in cooking, rather than to divert leaks.

[1] Not, in fact, "duct" as I had thought for years. That's another post.

[2] This is what's called a "euphemism". The actual term used, elided out of respect for the sensitive, was more pithy, though not particularly original.

Tuesday, June 8, 2010

dehumidifiers and blatent ignorance

The basement's a bit damp even when the downspout works and the water doesn't seep in through the walls and flood the floor. And a friend tweeted a reference to an article about dehumidifiers. So I start browsing.

One of the things I find is this article, which includes:
... since we're setting it up to drain automatically we can buy the smallest one they make. The pint size is only relation to the capacity of the tank and has no bearing on the compressor size. They're all the same. So at least we saved money buy getting a smaller one this time (30 pint).
Oh, for *#@'s sake.  Is it something about the web that encourages people to make categorical pronouncements that are demonstrably wrong, or does the web just allow people to expose their ignorance to a wider audience?  The "pint size" is a dehumidification capability measure indicating the number of pints extractable by the unit in a 24 hour period.  It's related to the reservoir capacity only in that something that sucks out 70 pints in a 24 hour period probably should hold more than a quart.  See this, and download the Energy Star spreadsheet from that site to compare the efficiencies of different models and manufacturers: .  Look at the Lowe's web page to verify that the 50 and 70 pint/24h models from Frigidaire both have a 17 gallon (136 pint) reservoir.

Assume she needs to remove 20 pints (9.5 liters) per day, about right for a "wet" basement of 1000 square feet (see the calculator).  Her model does 1.4 L/kWh; there's a 45 p/d model of the same humidifier that does 1.8 L/kWh, which would save 1.5 kWh/day or about $4.60 per month.  Could be as much as $55 per year.  For my case (12.3 L/day, 8 months per year), the 70 p/d Frigidaire model would pay for the $96 price difference from the 25p/d model in less than 14 months.

This sort of thing makes "expert" an expletive.  At least it irritated me enough to learn something, though the value of the time I spent is probably nearly the value of the cost savings the knowledge enables.

Saturday, May 22, 2010

poem

So I wake at 530am on the first day of a business trip with a poem (of all things) half-formed in my head and screaming to be written down.  Huh.  Well, it's here.  Might as well deal with it.
The sun won't look at you any more.
She buries her head in the fluffy white clouds
and all the cheerful calls of the birds
and industrious buzzing of the insects
will not draw her forth.

I envy her resolve.

Friday, May 21, 2010

Cost/benefit analysis: contracting lawn services

Shelley asks:
So what's their hourly rate? Nine minutes is an awfully small divisor.
Fair question.

Nine minutes to do the yard.  This is probably a best case; it was the end of the day and they undoubtedly wanted to get home.  You need to assume travel time as part of the cost; if the customers are closely located, it's reasonable to estimate that doing my yard added fifteen minutes to their task list.  They do it weekly, so let's say one hour per month.  They charge $175 per month; that includes special cleanup during spring and fall, which certainly takes longer.  Still, with two people, let's say it's about $85 per hour.

As long as we're analyzing:  By invoking the Google we can conclude that a standard residential mower has a swath of about 21".  Commercial ones that seem to be about the size I saw through my window are about 52".  Given overlap, it'd take me three passes for every one they took.  Furthermore, even if I bought a mower that diverted power to its wheels, I'd still take a lot longer to traverse the yard once: the guy really flew.  So say I'd be pushing (2-3mph) at a quarter the speed he was driving (8-12mph).  Round down to be conservative, and in combination of the width and length figure it'd take me ten times as long to cover the same ground.

So: 1.5h per mow.  Add a half hour for trimming the borders and scraping the impacted grass off the mower for storage.  4 mows per month says 8 hours per month, absolute minimum.  My time is worth more than than the $23 per hour plus hayfever I'd get by doing it myself.

Plus, they actually do the job; I'd put it off as long as I could, be grumpy when I knew it needed doing but didn't want to, and resentful when I finally forced myself to do it.

Seems like a deal to me.

Wednesday, May 19, 2010

The power of professionals

The house I now live in in Roseville is on a quarter-acre lot (0.26 acres, according to the flyer).  The house itself has a footprint of about 1300 square feet, and there's no garden, so there's an awful lot of grass.  I tend to allergies and hayfever, so the thought of mowing that just sent shivers up my spine.  I contracted it out to a company called "Worry Free", who helped me last year with shoveling the snow at my previous house (another task I'm not thrilled about, but in this case really couldn't do since I was gone 3 out of 4 weeks).

The other houses in the neighborhood have similar sized lots, and I see the poor bastards out there on the weekends.  The renter to the east, toiling away.  The husband to the west, same.  Both pushing their nice gas-powered mowers with about an 18" swath, back and forth, forth and back, for the better part of an hour.  Imagine doing this thirty years ago with a manual rotary mower.  Life these days is better, but still: No.

My guys?  Nine minutes.  Timed it.  Pickup pulls up with the trailer.  Guy 1 gets out, grabs the weed whacker, and takes off toward the fence and the shrubbery, trimming.  Guy 2 pulls down the back gate, disappears inside, there's a roaring noise, and out he shoots on a self-propelled mower with a good 4-foot diameter swath, him standing on a little two-wheeled platform that drags behind.  Thing's gotta do ten miles an hour on the straightaways.  Turns on a dime; reverses same.  Three minutes in the front; just under five in the back.  Back and forth, forth and back, out the side gate to the street and up the ramp.  Pull down the trailer door and off they go.

Nine minutes.

Awesome.

Tuesday, May 11, 2010

good grief

Quote's too long for a tweet, but just can't be left to pass without comment:

From this article:
8. Do something simple to surprise people. At the d.school, they painted the women's restroom lipstick pink, and hung disco balls. "That makes people realize that somebody cares about your experience," Kembel says.
Actually, never mind the comment.  There's nothing to say in response to that.

Sunday, January 31, 2010

twiblog

I said I wouldn't touch Facebook again for a while, but as long as I'm wasting a perfectly good Sunday morning sitting at the computer instead of making cornmeal blueberry pancakes (sorry, Shelley, not that into bananas):

For getting notices of new blog posts tweeted, the instructions are here.  Do they work?  We'll see.

A limited application of the other direction would also be nice---viz., a button that points to my twitter feed (not auto-posting tweets, which is just (a) wrong, (b) pathetic giving how rarely I twit, and (c) a complete conflation of conceptually different media). There's probably a gadget that can be added.

But no: for now, baby steps. Especially since I seem to have obtained my first unknown follower on twitter.  In the words of Morris Day, "Hello; do I know you?"

in my face...

Fine. I give up. Facebook rules the world. What the heck. I'll sign up.

I've followed the Sophos recommendations on security settings, which took quite a while to wade through.  If Google's mantra is "Do no evil", I think Facebook's is "G'head, it's just a little apple".

It's a actually a little scary, seeing the "Who you might know" list.  A couple (recently) former co-workers: ok.  A close friend or two: fine.  A woman I went on a couple dates with: weird.  But a guy who worked for one of our subcontractors off and on a year or two ago?  Somebody who, if he's the Murray I think he is, came down from Phoenix twice to play with a Taiko drum group I was in four years ago?  WTF?

I think those privacy settings are Good Thing (tm).  And that this is enough Facebook adventuresomeness for a while; let's just let it lie fallow and see what sprouts.

Monday, January 25, 2010

Lessons on Human Error, Re-learned Once Again

On a recent trip I had an experience showing the foolishness of trusting in human rationality.  After checking in to my hotel, I got to my room, and could not unlock the door.  It was the usual insert-magnetic-card lock, but when I did so either nothing happened, or it clicked quietly and a little red LED flashed.

I determined there were two possible answers: first, the card was bad; and second, the battery in the door reader was weak.  I returned to the desk, got new cards, and tried again.  Same failure mode with both cards.  While I was standing there despondently inserting the cards one after another, hoping things would change and I wouldn't have to trudge back downstairs and ask for another room, a hotel maintenance man came by, asked what the problem was, took one of the cards, and immediately opened the door.

What had happened?  As an external observer, you can probably guess, but I'll tell it in order, so you can see where things went wrong.

First, I had trouble locating the motel. It's on the northwest corner of an intersection, and I didn't know what it looked like.  I followed the GPS woman's advice to turn onto the side street, but saw nothing that resembled a Motel 6.  I looped around the blook and approached from the other direction, at which point I could see the sign and the driveway (which was invisible and inaccessible from the side street).  This left me disgruntled.

Second, on arriving I was miffed to notice that I would have to pay extra for internet access during my stay.  Another negative, in this case attributed to the hotel itself.

Third, when juggling my luggage at the front desk, I put the keycard in my shirt pocket with my phone, remembering only as I approached the door a rumor that the docking hardware on the Motorola Droid could affect magnetic card strips.

At this point, I was pre-disposed to think poorly of the motel, and had reason to believe the card I'd been given wouldn't work.  That it didn't simply confirmed my predisposition.  When I went back, the desk manager reprogrammed my card, and gave me a second "just in case", strengthening my hypothesis that the cards were likely to be faulty.

I blame the fourth contributing factor most of all.  Here is a photo of the front and back of the card:

 


As you can see, the most important piece of information the card has to convey is that Domino's is the recommended local restaurant, and its number  is helpfully provided in large type.  Now, when holding such a card up in front of you to read it, you would naturally place your thumb on the white part, just below the number.  When inserting it into the reader, you'll keep holding it that way.

Unless you want the door to open.  Then, apparently, you are to understand that the two-millimeter triangles on either side of the fine print (which warns of minimum pizza purchase requirements and that the drivers carry little cash) are not merely decoration, but are intended to tell you the direction in which the card is to be inserted.

The maintenance man, being familiar with the cards, immediately opened the door.  I had formed a hypothesis, and the outcomes of my experiments were consistent with that hypothesis, so I stuck with it.  The possibility of trying a different experiment, like turning the card around, didn't even occur to me.

Review: Rationality is strongly influenced by mood.  People, having formed an  opinion, will tend to see the evidence that supports it.  In the absence of inconsistent evidence, people will rarely actively search for an alternative  interpretation that contradicts their beliefs.  And input from an external party can disrupt the bad perspective, leading to better understanding.

None of this is news.  See, for example, James Reason, Human Error.  Relevance?

Well, it has clear relevance to most activities related to design and implementation of complex systems.  In particular, I have a new task to ensure high reliability in software used in a wireless sensor and control network.  What my experience has suggested is that, at a minimum, code reviews should be required for all changes that will go into a release of this software.

The process support for how we go about doing that is another essay.

Saturday, January 2, 2010

droid for now

The droid does not support streaming video in the browser.  Pretty much at all, though nobody actually says so: there's all kinds of noise about how to convert your videos so you can play them from the SD card, and people answering questions that weren't asked, but based on the 83'd bug against Android (I filed number 5756 this morning) it just can't be done.  Not much help when you want to be able to watch a live feed from a security camera, or stream a motion capture clip.

Of course, the pr0n folks have it figured out, but since there are no quality open source Real Time Streaming Protocol servers available--and even if there were I don't want to install, configure, and harden one--that's not really an option open to me.

In order to do what I really want with this thing, somebody needs to
  • Support streaming video in the standard browser
  • Support client certificates across all apps (at least browser and email)
  • Get an IMAP client that has a reasonable interface to a hierarchy of folders
All the other stuff (adding root certificate authorities, getting OpenVPN into my network)---that I can handle, but these are a bit much for a weekend project.

Oh, and will somebody please tell Google that in this world of distributed collaboration a calendar that doesn't associate a time zone with an event is just stupid?  Another story....

So the priority of getting the OpenVPN connection working dropped a little bit, and it's time to go back to CC430 tool chain support.

Friday, January 1, 2010

ah, technology....

So, Wednesday I got a Motorola Droid.  The theory being that, now that I'm working on things remotely connected to social networking, I should have a personal communications device capable of interacting with the Internet, whether that be web, Twitter, or whatever.  And this thing has a screen with enough resolution that it's actually pretty amazing.

And the main things I really wanted to do were get access to my internal web and mail servers.  Normally, this is done with OpenVPN, but an alternative would be to use client and server PKI certificates, which I'm also set up to handle.

How much has to be done to make the droid deal with this?  Let's see:

The simplest solution would be to load the thing up with client certificates and open my firewall using certificate-based authentication.  Can't be done.  First, I'm using a self-signed root certificate, and there's no facility to add a trusted one.   Solution?  Jailbreak the phone, get root, and update the cacerts.bks file.  Fortunately, they used the default password on the file, so I could do that.

Great, now the browser trusts my servers, but to ensure security now that I've opened my firewall up, I want the servers to authenticate the clients.  The Droid's browser and email infrastructure apparently won't send client certificates when servers request them.  I'm not sure what its certificate store actually does, then, because I *think* I successfully got one installed.  Something to look into, but for now certificate-based browser is DOA.

Next thing is to let the device connect to my networks through a VPN.  The Droid supports a couple VPN alternatives, which appear to be Microsoft-based.   OpenVPN isn't one of them, and that's what I'm configured to use.   So: Do I rebuild my firewalls with a non-OpenVPN solution that the Droid maybe will support, or do I try to get OpenVPN to work?

Like hell I'm going to screw with my firewalls.  OpenVPN it is.  Already jailbroke the phone, so now it's a matter of grabbing a copy of the tun kernel module from somebody, OpenVPN from somebody else, a couple apps from Android Marketplace, and go.

So close: got the client on the droid connected to the server on my firewall.  Except I use bridged OpenVPN so all my machines look like they're on the same subnet.  Very convenient, except the droid doesn't have the bridge-utils package, it doesn't look like anybody ever made it, and even if they did this probably wouldn't work since the droid has a PPP connection not an Ethernet one, so there's nothing to bridge to.

So, after having turned off routed support in OpenVPN in my iptables rules and DNS configuration, apparently I'm going to have to put it back.  It'll have to be a separate OpenVPN server, because again I'm not going to screw up the ones that already work in bridged mode.  But in theory it should be possible.

Not tonight, though.