Sorry, but it’s never right. Ever.

Seeing ads pop up everywhere for the Oscars reminded me of the night Lisa and I watched “Get Out”, the movie that was popular a few months back and will hopefully slide into well-deserved obscurity.

I have not seen such an appallingly and blatantly bigoted, racist movie in I don’t know how long.  Let’s take a moment to recap the themes of this piece of trash:  White people are evil and not to be trusted.  You will very likely have to kill them.  They (whites, and especially rich whites) only want to use blacks for their (far superior) physical abilities and talent.  Women are similarly not to be trusted; they will probably sell you into slavery.  Black people are weak minded and easily manipulated, especially if you dangle a white chick.

I could go on, but if you’ve seen the movie you had to have gotten the point.  It was like something out of Germany in the 30s colorized a little differently.

People like to harp on the violence and glorification of drug culture in rap (or R&B or whatever it’s called this year) music.  It’s certainly not my style, I don’t listen to it — ever — and so could not tell you just how prevalent the themes are.  About as polar opposite as you can get, though, is the current crop of country stars.  Of course in country music it’s OK to murder your husband, at least according to Carrie Underwood and Miranda Lambert.  And drug use is OK, according to — well, just about every country singer.  Just imagine, though, Luke Bryan or Blake Shelton singing about beating or murdering their girlfriend or wife.

So why do some people seem to think it’s OK to be bigoted and racist — as long as you’re not white?  Or it’s fine to talk about shooting or poisoning your abusive spouse — as long as you’re a woman?  Rioting and destruction is fine — as long as you’re a minority?  And drug use is OK, no matter who you are?

We can and should be better than this.  Murder, destruction, racism, bigotry, drug abuse — it doesn’t matter who you are.  It’s not OK.

 

A stock market bloodbath? Meh… maybe.

Looks like the Dow dropped over 1100 points today.  Part of me wants to be shocked and a little panicky — that’s a big-ass hit, and for us personally it means a significant hit to our retirement savings.  I mean, that’s a lot of dollars gone in one day.

Looking at it a little more calmly, though, what we lost is about what we had gained in the past few weeks of ridiculously over-optimistic frenzy.  Berkshire, for example (BRK.B, not the hoity-toity flavor) dropped to its early January price.  AAPL dropped a little more, down to where it spent the majority of the second half of last year.  The index funds, like QQQ, DIA and SPY, have all dropped to about where I’d have normally expected to see them about now.  In other words, if you look at the chart for the past year, and extend the trend line — there you are.  We just erased a very anomalous growth bump that just reeked of a near-hysterical speculative bubble.

Now, if we can just go a few days without continued hysteria we’ll be in good shape.

 

2017 flying activity

Well, another year in the log book.  I made one of my goals, which was to fly over 50 hours in 2017.  I barely squeaked by that with 50.8 for the year.  However, I missed the other one – that was to pass the 200 hour mark for total hours.  I’m just short at 198.  I didn’t fly at all for most of October and November; I medically self-grounded due to some unplanned hospital time.  December went from too crappy (low clouds, rain, etc) to too cold; we finished the year with a week or two of sub-zero temps.  I would have flown a few more hours if I’d been able.  Still, there was some good flying in ’17.  I got my BFR done in November, so I’m good to go for two more years.

2017 started with the Harlan, IA chili feed for some cold-weather flying.  That was my second year for that, and I love the trip over and back.  Flying over the winter landscape is always beautiful, and the heat in teh RV-12 works quite well.  Next was a trip along the Missouri up to Mobridge, SD where a bunch of us enjoyed a nice lunch at a family-run restaurant up there.  An extended trip along that river is still on my to-do list.  I flew a couple of poker runs during the year, flew three Lorimers (well, two Lorimers and a former Lorimer) and as near as I can recall, sixteen Young Eagles.  I flew into Oshkosh solo (36L arrival and departure) and camped in Homebuilt Camping for the second time.  Lisa and I were able to use the plane twice during the year to do things that either we couldn’t have made it to by car, or would have been really tedious drives.  The first was Hastings for Tom’s retirement party, and the second was Carroll, IA for a family gathering.  I even managed to get Pete up for a couple of flights, after his amazing success in dropping nearly 100#.  I can only hope to have half as much success shedding excess baggage myself this year.

I’m very much looking forward to expanding my flying activity in 2018.  I haven’t decided whether to make Airventure or not this year, but I do want to take a couple of cross-country trips, log more hours, and get as many kids up in the air as possible.  After the flight review experience I had in November, I’ve also got a new appreciation for what the RV-12 is capable of and what I can handle.  I hope to expand my personal flying envelope this year.  I want to get more practice at slow flight and stalls to get more comfortable with a view of more green than blue.  I want to fly farther, fly higher, fly lower, and see more Gs than before.  We’ll see what 2018 has in store.

How I became Citröen’s least favorite person

So, how the hell was I supposed to know that the rather mundane looking car getting its rolling glamour shot in the street in front of our hotel was a super secret new model?  I was as shocked as anybody, especially when the video producer and the lady from the ad agency tracked us down in the street in Copenhagen and explained that they were about to lose their jobs because of a tweet I posted… and the numerous bloggers who had copied my video to YouTube and were blogging about he “secret spy photos” of the new Citröen.

I have a French lawyer now…

It started out innocently enough.  Lisa and I were on vacation in Copenhagen, and after a fantastic week this was our last night in the hotel (actually a studio apartment) where we were staying.  I had stepped out to get a few things at the little grocery store around the corner.  When I tried to return to the apartment, there were some people in high-visibility yellow vests keeping everyone back from the street.  After a few minutes I figured out that they were there to shoot footage of a car for a commercial.  The car didn’t look like anything exotic — a little Citröen wagon style like we’d seen dozens of times around Copenhagen, although this one lacked the bumpy plastic panels in the doors.  Eventually there was a pause in the preparation and they let a few of us who had been patiently waiting cross the street.  I saw the camera truck, a well used vehicle with an articulating arm from which hung the video camera on a stabilizing mount.  The car wasn’t terribly interesting but the camera rig was pretty cool, actually; my geek side liked it.

A little later on, up in the third floor apartment, I watched from the balcony as they made a couple more passes down the street.  The camera truck and the movie star Citröen would drive down the street in tight formation, then they’d come back and do it again.  Before I came back inside I shot some video with my iPhone of the process.  Seeing the camera swivel on the end of its arm was pretty slick, and now I knew how some of the moving vehicle shots we see all the time in commercials and movies are done.

Knowing that my son would enjoy seeing the process as well, I tweeted the video and tagged him.  Unfortunately, I mentioned Citröen as well.  That was a big mistake, as it turns out.  If I hadn’t done that, this probably wouldn’t be a story.  Probably only two people in the world would have seen that video, and neither live in a country where many people pay much attention to Citröen, who hasn’t sold a new vehicle in the US since Ford was President.

The next morning we checked out and headed to the train station, dragging our wheeled luggage along.  We’d been walking the entire week in Denmark, averaging between 5 and 6 miles a day, and the train station was a little under a kilometer away.  We were about halfway there when a car pulled up to the curb along side.  In it were a woman and a man, both looking a little concerned. They asked if I was Dale, I said yes, and they both got out.  They had been shooting a car commercial the day before, they said, and now they had a big problem.  I was a little puzzled…  if I’d accidentally gotten into a shot, they could just work around it.  No, it was “the video I had posted to YouTube and the blogs”.  What??  I didn’t post anything to YouTube.  Well, Citröen was livid, her boss was about to fire her, and there was a huge problem because, unbeknownst to me, that was the new and as-yet-unannounced refresh of that model.  No one was supposed to see it, and now people had.

They had gone back to the shoot location, figured out the balcony from which the video had been shot, and asked the desk clerk who was staying there.  The hotel staff told them we’d just checked out and were headed to the airport, and they drove around until they found us.  If it had taken them ten minutes longer, we’d have been long gone and out of touch for the next 18 – 20 hours or so.

I showed them the tweet, and the woman (who was French — the man was Danish) asked if I would delete it.  Sure, absolutely, I don’t want to cause them any trouble.  Tweet deleted.  Unfortunately, some jackass had copied the video and posted it to YouTube — with my name included in the video title.  Great.  And a bunch of bloggers were now claiming to have “exclusive spy photos”, which were actually still frames taken from my video.  No one had asked me to use or copy it, of course.  No one other than the first guy had even bothered attributing the video to me at all.  Honestly I was feeling mixed emotions — a little embarrassed for having caused these poor people so much trouble, and a little pissed off that these other jackasses were using my footage, AND claiming credit for it to try to make themselves look like more than the simple scavengers they are.

We had to get to the airport, but I promised to work with the woman to get the copies removed wherever we could.  I knew we were going to be playing Whack-A-Mole…  once that kind of stuff is in the wild, your chances of suppressing it are slim.  I sent an email to the guy who had posted the video to YouTube, and sent YouTube a takedown notice.  It’s all we could do before we had to get on the plane home.

Over the next few days, I spend a couple hours a day following up on various places where the video and stills from it were posted.  Twitter accounts popped up like zits on a high schooler.  Some jackasses were making new YouTube videos with slideshows of still images captured from the video.  There were blogs in France, the Netherlands and India, all using the same three or four stills — meaning they were late to the party and just copying images from other people’s Twitter posts, which were using images swiped from the YT video, which was swiped from my tweet.

The French woman’s daughter is an attorney, and I gave her permission to defend my rights to the video and still images in the EU, pursuing whatever action she needed to in the courts over there.  Not because I’m worried about the video — I’m not making one single penny from it or the pictures I got.  I don’t want to cause Citröen any problems; they’ve never done anything to me.  I had no idea that the commercial shoot involved a model that no one had seen (more about that later), and I don’t want my video to cause the ad agency or production company to incur the wrath of their customer.  I’m just trying to minimize the damage.  And to be honest, it pisses me off that these other jackasses are basically stealing my work, claiming it as their own, and profiting from it through ad revenues.  Not a single one of them has once asked permission to use the footage, given any credit or attribution, offered one cent of compensation, responded to a request to remove it, or cooperated in any way.  In fact they are mostly claiming credit for the “spy photos” of the new model — taken in New York.  Screw them.

Citröen’s outrage, however, has been slightly disingenuous.  While searching for more copies of my stuff, I came across many other photos of the same model — the exact same, in fact.  Different color.  Apparently Citröen had accidentally enabled the new 2018 model configurator on its web site at some point – allowing people to see exactly, in high resolution detail, what the 2018 model looks like.  They pulled it, of course, but again — once that stuff is out there, it’s not going to disappear.

 

Just burning gas…

Saturday morning (5/6) there was a Young Eagles rally at Millard Airport.  There were not a lot of kids to fly, and I was done with my one flight before 10.  It was a perfect day, and I wasn’t ready to quit flying — not after many weeks of out of town travel, bad weather and competing priorities that kept me out of the cockpit.  I decided, in a semi-random way, to fly out to O’Neill, NE and back.  Just because.

I’d been to O’Neill, briefly, back in 2012.  My student pilot long cross-country trip included a quick stop-and-go at KONL, when weather blew up my planned route.  Today that wouldn’t be a problem.  I launched from Millard and headed northwest, about 138 nautical miles (159 statute miles) as the Dale flies.  Once I climbed up to 6500 feet it was nice and smooth, and with the outside air temp at about 52 degrees I could keep it reasonably cool.

Selfie time!

After a little more than an hour and a half I landed in O’Neill.  Surprisingly, I was not alone on the ramp.  A King Air was parked in front of the Jet A pump, and a Piper Malibu was in front of the 100 LL pump.  I still had 10 gallons of unleaded premium in the tank, plenty of fuel for the return trip — especially since I’d have a tailwind.  A Comanche showed up at the pump while I checked out the FBO – a pretty nice little facility, even including a couple of beds for pilots to use if they need to stay the night.  I bummed around for half an hour or so, drank some water, then followed the Comanche and the Malibu out.

The ride back to Omaha was again smooth and relaxing at 7500 MSL.  I flew part of the trip by had, and let Otto fly the rest.  I hadn’t let Otto do en route climbs and descents before, so I played with those functions.  They worked fine, with Otto doing a decent job of maintaining a climb or descent rate of 500 feet per minute.

Somewhere a little north of Albion, NE.
If you do the math, it’s about 21.6 MPG if you take the headwind into account. I got a little better fuel economy on the return trip with a 15 kt tailwind.

All in all it was a pretty good day.  I put 3.7 ours in the log book, flew one more Young Eagle, and burned about as much gas as that Malibu in O’Neill probably did before he hit his cruise altitude.  I may not be as fast, or as pretty, or have as many seats, but I’m still flying, and that’s good.

 

Failed voltage regulator

A loot at the picture below should tell you all you need to know about why this replacement John Deere style rectifier-regulator failed.  Typical of low end Chinese goods, an effort was made to make it look like the original, but there was apparently either no comprehension of the design, or they just didn’t care.  You have a large, thick aluminum body that is supposed to act as the ground and the heat sink.  So look at the orientation of the high power semiconductors on the board.  That heat sink isn’t really providing much benefit, is it?  There’s nothing in contact with it, other than a ground wire…  the parts were potted in a rubber compound that insulated them both electrically and thermally.  No wonder it fried after less than 10 hours of operation.

How difficult would it have been to mount those parts on the opposite surface and put them in contact with the aluminum case, perhaps with a dab of thermally conductive grease?  The cost may have increased by a few pennies, and you’d have a fairly reliable part.  So either the manufacturer intentionally produced a defective design, or they simply had no clue what the hell they were doing.  I’ve seen a lot of that coming from China.  I’m sure there are a lot of very sharp, conscientious engineers and business people in China…  whoever produced this piece of crap wasn’t one of them.

New gadget testing

Along with load of keyer circuit board delivered today were some prototypes I had ordered.  I’m working on three different projects for the plane.

  1. Bluetooth stereo interface to the intercom.  This one is a little frustrating.  I have a BT stereo module, and the interface between the headset microphones and the mic input works fine.  I can make a call with my cell, and I sound fine on the other end.  However, the intercom music input is designed for speaker level outputs.  The BT module has line level outputs.  I have another one that will, like many others I see, drive speakers — but it has no mic input and the speaker drive is not suited for common ground.  I don’t want to add a separate stereo amplifier, but I may have to.
  2. The second board will allow switching between the Garmin GPS and a BT serial connection, so I can drive the autopilot from my tablet running Avare or Naviator.  This one needs a little tweaking but will be OK.  I had assumed since the BT serial module has a 3.3V output, that it is non-inverted serial.  Nope.  It’s inverted.  Tomorrow I’ll do some mods to turn the inverting level shifter in a non-inverting level shifter (it’s just a 2N7000 and a couple of resistors).
  3. Have not even assembled the third one yet, it’s a lower priority.  This one will let me add a canopy latch alarm to the Dynon D180 equipped RV-12.  I’ve gotten good about latching the canopy before the run-up, but I’d still like to get this board working.  It piggybacks the canopy latch on the spar pin line, and alarms if the spar pins don’t show as latched (kind of important), OR if the canopy is not fully latched AND the engine is above 3900 RPM.  That way you can start up and taxi with the canopy propped open, but it will alarm during the runup if it’s not latched.  To do that we have to monitor the serial data stream from the D180 to grab the engine RPM.

 

Weather station reporting

I recently put my AcuRite weather station back up after having it sitting in the garage for a year or so.  I have the Internet Bridge, which recently got a firmware update, and wanted to have it reporting to both AcuRite and Weather Underground.

AcuRite’s site will apparently update WU, but only at 15 minute intervals.  And, I wanted to also collect the data locally so I can feed it into Splunk or some other tool for my own use.

Problem is, the AcuRite gateway box only sends data (via HTTP GET) to one fixed hostname that’s hard coded, hubapi.myacurite.com.  SO…  first we intercept those DNS calls to send them where we want them.  In named.conf:

acl wxbridge-only {
        ip.of.wx.bridge/32;
};

view "wxbridge-view" {
        match-clients { wxbridge-only; };
        zone "hubapi.myacurite.com" {
                type master;
                file "hubapi.myacurite.com";
        };
};

And the zone file:

$TTL 14400
@               IN      SOA     localhost. dale.botkin.org. (
                                2016081803
                                3600
                                3600
                                604800
                                14400 )

@               IN      NS      localhost.

hubapi.myacurite.com.   IN      A       ip.of.local.server;

Now the weather bridge, and ONLY the weather bridge, gets your local machine’s IP address for hubapi.myacurite.com.  So next we create a PHP script and use Apache to point /weatherstation to it (ScriptAlias /weatherstation /var/www/cgi-bin/updateweatherstation.php in my case).  The script sends the original HTTP request to hubapi.myacurite.com, then reformats it and sends it to wunderground.com.  It’s also preserved in the Apache access log, so you can ingest it into Splunk.  You could also syslog it or write it to a file, whatever you want.  I started out using a script I found that Pat O’Brien had written, but ended up rewriting it almost entirely.  It’s been years since I wrote a PHP script.

<?php
 // First send it to AcuRite, no massaging needed...
 $acurite = file_get_contents("http://hubapi.myacurite.com/weatherstation/updateweatherstation?" . $_SERVER['QUERY_STRING']);
 echo $acurite;
 // Now re-format for wunderground.com. We don't always
 // get every parameter, so only send those we do get and
 // strip out those that wunderground won't accept.
 $msg = "";
 $winddir = (isset($_GET['winddir']) ? "&winddir=".$_GET['winddir'] : null);
 $windspeedmph = (isset($_GET['windspeedmph']) ? "&windspeedmph=".$_GET['windspeedmph'] : null);
 $humidity = (isset($_GET['humidity']) ? "&humidity=".$_GET['humidity'] : null);
 $tempf = (isset($_GET['tempf']) ? "&tempf=".$_GET['tempf'] : null);
 $rainin = (isset($_GET['rainin']) ? "&rainin=".$_GET['rainin'] : null);
 $dailyrainin = (isset($_GET['dailyrainin']) ? "&dailyrainin=".$_GET['dailyrainin'] : null);
 $baromin = (isset($_GET['baromin']) ? "&baromin=".$_GET['baromin'] : null);
 $dewptf = (isset($_GET['dewptf']) ? "&dewpointf=".$_GET['dewptf'] : null);
 $msg .= "dateutc=now";
 $msg .= "&action=updateraw";
 $msg .= "&ID=<your weather station ID here>";
 $msg .= "&PASSWORD=<your weather station password here>";
 $msg .= $winddir;
 $msg .= $windspeedmph;
 $msg .= $humidity;
 $msg .= $tempf;
 $msg .= $rainin;
 $msg .= $dailyrainin;
 $msg .= $baromin;
 $msg .= $dewptf;
 $msg .= PHP_EOL;
 $wunderground = file_get_contents("http://rtupdate.wunderground.com/weatherstation/updateweatherstation.php?".$msg);
 // Let's log any failures with the original message, what we sent,
 // and the response we got:
 if(trim($wunderground) !=  "success" ) {
 openlog('weatherupdate', LOG_NDELAY, LOG_USER);
 syslog(LOG_NOTICE, $_SERVER['QUERY_STRING']);
 syslog(LOG_NOTICE, $msg);
 syslog(LOG_NOTICE, $wunderground);
 }
?>

So far it’s been working fine for a couple of days. I have noticed that the AcuRite 5-in-one station will go for extended periods without sending some data – it seems like it only sends what has changed, or what has changed with seemingly random pieces of information.  For example, it may send the barometric pressure even if it hasn’t changed, but not the temperature or wind direction if they’re stable.  It’s weird.  Of course now I understand why they only send periodic updates to Weather Underground.  AcuRite’s own site seems to mask this behavior, but Weather Underground does not.  I’m thinking about keeping a persistent state file and sending every parameter with every update, or collecting updates and just sending WU a digest every minute or two.  But that’s a project for another day.

 

Neato vs. Roomba

I had a chance to pick up a Roomba 550 for $75, in really good shape other than a weak battery.  Our Neato does a great job, but we can’t let it clean the living room because it seems all the furniture is just the wrong height.  Poor little Rosie will get jammed under every piece of furniture.  The Roomba is half an inch shorter, so it’s able to get under more stuff without jamming.  So here’s a rare opportunity to see a side by side comparison of the two leading floor cleaning robots…

[Update: I replaced the original battery with a new 4500 mAH NiMH for about $35.  I also installed a new brush, since the one that was in it was pretty worn.  Results are reflected below.]

[table id=3 /]