[lug] can't make this stuff up, folks...

Nate Duehr nate at natetech.com
Fri Oct 16 20:58:58 MDT 2009


On Oct 16, 2009, at 6:12 PM, Carl Wagner wrote:

> That brings up another point.  The new Kaiser Permanente add saying  
> on how they have switch to electronic records to save trees.  When  
> was the last time your paper record was hacked by someone in North  
> Korea and sold to identity thieves?  Want to bet how long it takes  
> now?

LOL!  Yeah.

> The problem with software is it is very complex.  Imagine after  
> building the first foot bridge by some guy a few thousand years ago,  
> and then within a generation having to build the Empire state  
> building and the space shuttle.

Yeah, but the engineers (I'll give them the title... they really  
ENGINEERED the Shuttle flight computers, but at a very high price $$$,  
perhaps that's the TRUE cost of using computers?)... really did a nice  
job on the Shuttle stuff, and that code has proven over time to be  
virtually bug free in all areas where it really counts.

> I am not optomistic we will ever get there.   The foundation for  
> other engineering disciplines does not change "much" over time.   
> EE's deal with inductance, impedance, latency, and then just need to  
> get the bits or signal from point a to point b with some  
> conditioning.  You can model just about any engineering discipline  
> in software,  but you can't model software in any other engineering  
> discipline.   Show me how to model a kernel using resistors,  
> capacators and transistors, or steel, concrete and wood.  Yes there  
> are FPGA's but that is really just software again.   That seems to  
> make all other engineering disciplines VERY constrained.   Is that  
> the problem?  To be a "real" engineering discipline, must the field  
> be highly constrained?  I would say that would rule out software  
> forever!/?

See, that's always been my point... most software CAN be broken down  
into component parts... all software does some macro things... takes  
input, calculates, creates output... add a GUI and this gets hard to  
visualize, but it's still happening in a tiny scale on every user  
interaction.  So if you have a pile of functions to do such things,  
and do REAL code re-use (and stop chasing the software language flavor  
of the month), your old bugs don't return... because they've already  
been squashed.  I know it's not THIS easy, but how many of you have  
watched professional coders start from scratch and NOT use libraries?   
I've seen it... too many times...

The part that REALLY freaks me out a bit is the number of buffer  
overflow errors continually found in OS's!  Really? The same mistake  
over and over?

I guess in order to be "fair" I should point out us "sysadmin  
professionals" rarely work from checklists, write down formal upgrade  
plans, etc... I have had the opportunity to work with a customer who  
REQUIRES written documentation of EVERY command typed into their  
systems as root, and it's a bit eye-opening when you realize they  
rarely have human errors on their systems.  Seriously measurable  
results.  But did I want to rebel against it when co-workers first  
described their procedures to me?  Yep.  Big time.  "I have to write  
up the commands that are going to be run to clean up old log files in  
a directory, submit them as part of a documented plan for a  
maintenance window that's only ever allowed on a specific night of the  
week after 9PM Mountain, and have it approved by the customer before  
they'll even set the root password to a temporary one that we can  
use?"  Yup.

So... it's POSSIBLE to be that disciplined... just very few companies,  
bosses, people... have ever had that culture.  In this one particular  
customer's case, the culture came from externally -- different  
technology prior to computer use (yeah, they're that old), and it  
continued into computer technology.  They highly value uptime.  But  
they actually went looking for a way to truly accomplish it, not just  
measure it and keep doing things the same old way.  (Well, actually...  
THIS way is the same old way for them...)

I didn't "believe" at first. I originally HATED working on that  
account... after a few months, the written documents started becoming  
a challenge... can I make them better?  Some common maintenance items  
re-use the documents, of course... but could I make them better?  I  
could!  Neat!  As a pilot in my free time, I started realizing what I  
was doing was creating my own "sysadmin checklists"... and just like a  
pilot, you know how to fly the plane, the checklist is checked to make  
sure it was all done correctly and nothing was missed, and can also be  
a memory jogger on a "down" brain day... even used as a "warning sign"  
that you're not a sharp/ready to accomplish the mission as you thought  
you were... notice you did something wrong because your checklist  
helped you catch yourself, you're now more aware that you're mistake- 
prone today...

Anyway... I just THINK that similar discipline can be done in coding,  
but my professional coding portion of my career only lasted about 3  
months... so I can't speak as an "insider" about anything other than  
being a sysadmin/troubleshooter... not a coder.  I just like  
challenging coders to think about it...

QUITE a surprise this week was while reading Chesley "Sully"  
Sullenberger's new book (the Captain of US Air 1479 that had to land  
the aircraft in the Hudson River, for those who don't recognize the  
name), before he became a "celebrity", he was working on creating a  
consultancy to bring some of the traditions/culture found in Aviation,  
to business.  I felt a little vindicated... another pilot thinks the  
same thing... "Business/IT would benefit from a bit of the discipline  
in Aviation"... wow.  Neat idea.  I have been thinking it for years,  
but probably don't have the skill to articulate it well enough to have  
thought of starting a consultancy and speaking on the topic.  Frankly,  
it sounds really cool.

--
Nate Duehr, nate at natetech.com



More information about the LUG mailing list