Master of Puppet

Puppet. If you’re a systems administrator you need to learn it, love it and live it.  We used Puppet at Terremark for Linux systems but never really seemed to leverages more than 20% of its capability.  Since then Puppet 3 has been released and I’ve just finished taking an Intro class at work.  Man, this stuff is cool.  Between VM templates in ESXi and Puppet I’ll be able to overload my ESX hosts in no time flat and do it in a completely automated fashion.  Whee!!!

Of course automation is a huge time saver.   It can (and often does) completely scramble your environment in record time.  As with any automated tool the development cycle *MUST* include thorough testing.  Fortunately Puppet has a lot of features that let you do exactly that.

The old becomes new again.

Once upon a time I was pondering a 2M RES for noodling around the sky. Recently I was contacted by a couple of nice gents from RCGroups and I think I may pick that gauntlet up again after I finish building my Bird of Time. Maybe I’ll call it the Birt of Dime but it’s original name was the Beaky Buzzard, named after the rather daft buzzard that pestered Bugs Bunny in so many cartoons. Here’s the raw design in XFLR5. The tail looks too small though. I need to run it through a stability analysis still but I expect it will grow quite a bit in span.


Fixing broken code, the bane and blessing of Open Source projects

I work with monitoring software day in and day out.  As with everything else there are advantages with closed systems and advantages to open systems.  In this case the supposedly matured open system has obvious glaring problems that really piss me off.

Recently I began evaluating alternative solutions to the closed system we employ in the office.  I’ve been a Unix guy for literally decades but we live in a Windows world.  The systems we use must have a MS SQL backend to them which automatically excludes pretty much every open source project in the world that would even be worth considering.  Add to this their distrust of anything UDP-based and previous experience with absolutely hideous Unix-based open source programs in the past I can almost understand their shyness.   Horrid packages like NMIS, a gigantic monolithic Perl script that’s as awkward to use as any interface I’ve had the displeasure to use, and Big Brother, the admittedly better but still mind-alteringly annoying system monitoring package, have invaded their little Redmond-esque fiefdom.  They probably also made the mistake of trusting averages of averages of averages for billing, courtesy of MRTG, Cacti and other RRDTool based systems.  Of course you can reconfigure any of these to average across an arbitrary period rather than the default 1 hour boundary but reconfiguring these tools is not what they desire regardless of cost.  I can respect that because I also found that incredibly annoying.  So much so that I wrote a program for a previous employer that kept all the data in an unaggregated binary flat file.  Sadly that code is long gone but I’m confident that I could write a better, faster, and tighter bit of kit now compared to 15 years ago.

In my digging around the internet for alternatives to expensive, closed systems I’ve run across a few that piqued my interest.  One of which is the Nagios-based package Opsview.  Nagios has been around for quite a long time so I suspected that this would be a relative cake-walk.   Something I could throw down on any random VM on my home ESXi server and have running in no time flat, just like I did with the fore mentioned Cacti.  Sadly this was not the case.  After going through the exercise of actually getting Opsview running and figuring out the relatively clunky interface I finally settled down to add some hosts.  That’s where the drama really starts.

The installation worked pretty much as described, thankfully.   Adding devices to the system is less than intuitive.  At least with Zenoss you can usually figure out that the big ‘+’ means add a new thing.  Google came to the rescue for Opsview.  Getting SNMP-based metrics should be a fundamental feature.  Apparently the folks that wrote these Nagios modules didn’t get the memo.  A very simple script like check_snmp_perfstats should absolutely work out of the box.  Sadly it didn’t.  There is a call to return_snmpcommunity() that failed to retrieve the necessary information and simply and silently returned the default string of ‘public’.  Anyone that’s taken IT Security 101 or been in the service industry for more than a week should know to change the default community string for any SNMP enabled device.  I circumvented that function and used the community string passed by the -C option built in to the management service.  A similar problem existed with check_snmp_noprocesses with a similar solution.  It seems the remaining SNMP scripts probably work since they don’t call return_snmpcommunity() but I decided to avoid frustration and didn’t use them.

Finally that brings me to check_snmp_uptime where I will probably start a religious war.  It uses (used) iso::mgmt.sysUptime which returns the time since the SNMP agent was restarted.   That value is probably accurate enough for most people that just reboot their servers.  My servers are typically running for years at a time unless there is a kernel vulnerability that mandates a reboot.  Daemons may be restarted but I don’t often see a need to reboot my machines without provocation.  This isn’t Windows-land where the three-finger-salute solves 99% of your problems and uptime is usually less than a month.  I replaced that OID with a much more meaningful metric that returns the actual uptime of the server rather than the uptime of snmpd.  In this regard HOST-RESOURCE-MIB::hrSystemUptime is much more meaningful.

So, while I was optimistic that yet another open source product turned commercial was going to be my savior in the real world I was heartbroken.  My hope, sprung eternal, that yet another nail in the coffin of Windows-based closed-source commercial ware would be hammered home instead smashed into tiny bits of mostly fluff.  Nagios itself is well known and apparently loved by large parts of the community but I find it bloated, slow and a huge resource hog.  My Zenoss machine has all of 768MB of RAM on it and runs like a top.  The same exact endpoints being monitored by Opsview required twice as much CPU and 6 times as much RAM.  A sad, sad day that a Linux-based solution would require the resources of a Windows-based solution to monitor *ONLY* a half dozen endpoints.  I suspect that large portions of the code are terribly inefficient.  How else can you explain that when I wrote a Perl the could measure several thousand interfaces in less than half a minute on a dual proc 233MHz P-II.  A sad, sad day indeed.

A rant on the futility of plug-in and electric hybrid cars

Several of my workmates have recently been getting hybrid cars to replace their perfectly functional gasoline fueled transport.  While I don’t particularly care for hybrids I feel that replacing a functional car with a new car “just because” is dumb.  You don’t replace your house “just because” do you?  Next to your house and your children the family vehicle is likely your next largest expenditure of your hard earned dollar.  So you buy a hybrid because you’ve swallowed the “save the environment” kool-aid without actually doing any research of your own.  That’s exactly what many short-sighted, narrow field of view, tree hugging hippie types would love for everyone to do and here’s why I think it’s dumb.

The EPA’s “new MPG” calculation estimates mileage at a much lower value than my personal experience of calculated fuel economy.   In the past the EPA mileage matched my calculated mileage to within 1 mpg of real-world use.   Why the change in calculation by the EPA then?  To make *electric* cars look more attractive.  Not hybrids, though they certainly benefit, but pure electric cars.  IMHO economy of a vehicle shouldn’t be measured in miles per gallon, it should be in dollars per unit of distance.  The reason for this is that as plug-in electrics become more common it *will* drive electric utility costs up as the public utilities grow infrastructure to meet demand.  It is inevitable if plug-in electrics are adopted en mass.  This pisses me off because that means that I, as a non-plug-in owner, will be subsidizing your electricity consumption for your plug-in vehicle.  I guaranty you will not be charged a higher cost per kWh than I am but generating that much more energy comes with an associated infrastructure cost.  You don’t subsidize my fuel costs, why should I subsidize yours?  I’m already subsidizing your car through federal government credits ($1,450 on the Honda Insight and a staggering $7,500 on the new Chevy Volt)  but you don’t subsidize my car do you?  Manufacturers know they can’t produce these cars at a reasonable price point so they look to Uncle Sam (that’s the 53% of us that don’t get our income taxes back) to bail them out, again.  Remove those subsidies and recalculate the real-world cost of these cars and they very quickly become unattractive.  An additional real-world variable the calculation should include the cost of periodically replacing the very large NiCd or NiMH battery pack that most hybrids and plug-ins.  If you make these assumptions I suspect the difference is no where near as great.  According to Wikipedia the cost of the battery pack for a Honda Insight is $1,968 with approximately $900 additional in labor.  There are cited examples of people replacing the used-up battery with a $300 aftermarket or reconditioned battery.  Do you trust your life and the lives of your passengers to a battery that costs 85% less than what the manufacturer can produce it for?  If you’ve ever seen a NiMH or Lithium battery burn you know what I’m talking about.  This is a another testament to the short-sightedness of people jumping blindly onto the hybrid/plug-in band-wagon.  I fear what happens when they realize their well intentioned misgivings and nickel-based or Lithium-based battery packs start showing up in large quantities as electric cars are abandoned to scrap.  The haz-mat equipped recycling centers will *NOT* be able to grow fast enough with the current EPA guidelines.

If you truly want a tree-hugger car get a 2002 VW Jetta TDI.  As reported by real owners to the EPA,  the 2002 Jetta TDI gets between 44 and 52mpg.  A friend of mine that has one gets between 47 and 55mpg depending on how much freeway and traffic time he has.  Added benefit, you don’t have to replace the batteries at a huge expense and there’s not the grotesque environmental impact of caustically mining the nickel for the batteries.  If you’re an informed tree hugger, that’s what you get.  If you want to maximize your economy in a car that will last a long, long time that’s what you get.  If it made financial sense to replace my 1996 F350 turbo diesel that’s what I’d want to replace it with.  With 340k miles on it there is little indication that it’s going to fail any time soon.  It weighs 6000lbs but still manages to get 20mpg which makes it impractical to assume a car payment until diesel and regular unleaded gasoline are separated by at least 50%.

There are a couple dirty little secrets about diesel engines.  One  is that gasoline is a solvent while diesel is a lubricant.  Guess which one is more conducive to engine wear?  Diesel engines just last longer and have more energy per gallon of fuel than gasoline.  They also typically require much less maintenance than gasoline engines do.  There’s a reason why long-haul trucks and freight trains use diesel engines.  It used to be that diesel fuel was the cheapest since consumers wanted gasoline but that started changing in the last decade.  Since EPA began requiring ultra-low sulfur diesel for all public road travel and as diesel becomes more commonplace the cost of diesel has steadily increased.  Currently it is priced on par with or higher than premium unleaded.  Even then it doesn’t make fiscal sense to get rid of my 3 ton truck.

Diesels used to make that ugly soot and clatter like mad.  Modern diesel engines have none of that.any more.  Diesels always run with more oxygen than the fuel can burn thus the soot. Manufacturers, primarily in Europe where diesel is approximately $6/gallon or 25% cheaper than gasoline at $8/gallon, have met customer demand and that is no longer the case.  A modern turbo-diesel lasts a long time, gets greater return on energy per gallon of fuel and of course significantly better mileage.  If you want the ultimate in electric hybrid get rid of that stupid gasoline engine and put a small turbo diesel in.  Run the generator off a constant velocity transmission much like diesel locomotives do.

Diesel also has the added benefit of being significantly less flammable than gasoline which will be useful when your plastic hybrid car gets crushed by a city dump truck, long haul truck or the last ghettoized Cadillac.  Obviously that doesn’t mean it won’t burn, it’s just harder to get lit without compression.  That reduced flammability will at least make the body easier to identify.

How’d that get up there?

Lacquerhead's DJ Aerotech Chrysalis 2M Electric glider in flightThere’s a lot to be said for electric soaring.  There’s less time setting up and tearing down.  If you have the discipline to leave the power off you can keep yourself more or less honest.  If you don’t, you can get a altitude/time limiting switch that will keep you more honest without having to land to reset it.   The pay-off is more time flying and less time fetching.  Don’t get me wrong, I like “pure” sailing as well but electric soaring is just so convenient these days.  With the advent of inexpensive brushless outrunner motors and Lithium-Polymer batteries the weight penalty is significantly less than it used to be.  For example, my Chrysalis 2M-E is 34 ounces AUW and the same wing on the pure sailplane fuse is 31oz.  The design was based on NiCD batteries and a Speed 600 brushed motor with a upper AUW of 52oz. so there is plenty of margin for ballast.  When you can drive to your local vacant lot and go soaring during your lunch break, all is well in the world.

New Hatch for Chrysalis 2M Electric

I finally made a magnetic hatch for the Chrysalis 2M-E.  I made one for the sailplane fuse when I built that one and really loved how well it worked.  I’ve retrofitted the hatch for the Electric fuse to be magnetic and I expect this will help if I need to make any battery changes at the local contests.  I don’t think that will be much of a problem though with the 1800mAh batteries I’m using.  I’ve made four or five climbs on a single battery with no obvious change in performace, at least to my untrained eye.


Sophisticated Lady T-tail repairs

On RC there has been a long running thread on “woodies”.  These, of course, are not what you think they are.  In the RC Soaring community “woodies” are models made from balsa, lite ply, and other woods in a more traditional model aviation fashion.  More and more models are only available as Almost Ready to Fly (ARF) models and are typically either some sort of foam or a carbon/fiberglass composite material.  Those of us that like wooden models are largely relegated to the back benches but we surely do love our woodies!


In this case I found a model that had been sitting in a box for 20 years or so.  On a whim I started building it and found that sailplanes are really, really relaxing to fly compared to everything else I’ve flown including aerobatic planes and helicopters.  While the Sophisticated Lady is a fairly pretty airplane it does have some weaknesses.  Primarily in the T-tail section where you have a large mass on top of a thin structure.  Mine cracked repeatedly which required repair after repair until I started strengthening it.  Keep in mind that any weight at the tail of any airplane, particularly in sailplanes, is Triple Bad Not Good(tm).  You need to be desperate to add weight to the tail for repairs and strengthening.  I got desperate.  The vertical stabilizer is built up in the plans, I sheeted it with 1/32″ balsa on both sides and added some fillets to the bottom of the fin to distribute some load.  Then I had to add some fiberglass to distribute some more of the torsional load along a greater area than just the joint at the bottom of the tail.  I also had to add some fillets to the top of the fin to stabilize the horizontal stabilizer when it kept cracking.  Now with these added bits of balsa and fiberglass the tail seems to be fairly strong.  At least strong enough to withstand my dumb thumbs!

Orange – 1/4″ triangle stock fillets

Yellow – 0.75 oz fiberglass strip, laminating epoxy