denverpilot
Tied Down
For your Monday reading pleasure.
http://www.theguardian.com/business...87-dreamliner-bug-could-cause-loss-of-control
http://www.theguardian.com/business...87-dreamliner-bug-could-cause-loss-of-control
But only once every 120 days...
Is it realistic to think that these airplanes stay powered up for even close to that length of time?
Why would you shut it down ? They don't make any money sitting on the ramp !
Seriously though thanks a lot software engineer douche ! Wish I could make mistakes of this magnitude and still keep my job.
It's 248 days. And if you do the math, the "engineer" used a signed integer to store number of milliseconds from power up.
Total rookie mistake but one the software "engineering" field makes over and over and over and over and over...
However, It's really damn hard to be a software developer and write things that don't have bugs...basically impossible..we're human after all.
Not "basically."
You can't test anything much more complex than a "hello world" program exhaustively in bounded time. It's a so-called "NP-complete" problem that has little to do with "being human" and much more to do with the universe only being 13 billion years old and the desire to release products in less time than that..
How long does a reboot take? Are we talking it should just be a preflight item where the pilot flicks a switch off and back on or are we talking this is gonna have to be a regularly scheduled maintenance item where it goes into the shop for a couple hours?
There's a Windows/Mac/*nix joke in here someplace.
The OS is probably an embedded RT system. Takes all the fun out of it.
The planes are very rarely powered down between routine flights.
None of them are going months without being shutdown, however.
OS-9, VxWorks, or GreenHills?
My money is on VxWorks. Probably on an FPGA.
And yeah, I slipped a decimal point. I even thought it was weird I kept having to add a zero when I was checking the seconds to days conversions. Haha.
Oh well. I was talking to the drywall contractor and attempting to restart the buggy centralized logging software at the same time as going "oooh cool! I know what they screwed up!" after I saw a FB post about the bug announcement go by.
Oh and as for bug hunting... I love that the industry lie marches on. Code is hard. It's so hard we code in the exact same bugs in new languages every single year. LOL.
Sure keeps a lot of us employed. I love bugs. You guys writing bugs and saying it's because it's hard, keep me pretty damn well fed. Haha.
What's either worrisome or very cool is realizing instantly when you see "248 days" what the bug was from experience. I'm going to go with worrisome. I need to get out of this stupidity before it implodes.
But then the paycheck shows up and I go back for more. Ha.
If you can write bug free code, you might as well stop being a sysadmin and join the dark side. Since you'll be the only developer in the world that won't make those same mistakes we keep making you'll be able to command a salary high enough to buy yourself quite a fleet of aircraft
If you can write bug free code, you might as well stop being a sysadmin and join the dark side. Since you'll be the only developer in the world that won't make those same mistakes we keep making you'll be able to command a salary high enough to buy yourself quite a fleet of aircraft
Some of us don't translate just for the heck of it. Real time guys still favor C, and occasionally C++. Every once in a while some total idiot tries out Java and then gets handed his butt by garbage collection.
My favorite is the "hard release schedule". Code releases on X day, QA *must finish* testing by Y day, Deployment is always on Z day.
That above leads to total stupidity eventually. People like routine and won't stop that process even if the code is crap and shouldn't have even made it to QA.
Plus, as an old boss said, "Quality Assurance is not a department. It's a series of decisions and a state of mind."
I keep getting calls & emails about Java gigs and keep saying no thanks. Might say yes to one just to get enough $$$ to pay for the GPS and ADSB bills.Nate, it's possible, even common, for code reuse to be a source of bugs.
The usual case study is the Arianne 5 maiden voyage.
And all those Unix buffer overruns everyone hates so much on the security side came from the same poorly designed libc still in use today.
Some of us don't translate just for the heck of it. Real time guys still favor C, and occasionally C++. Every once in a while some total idiot tries out Java and then gets handed his butt by garbage collection.
BTW, for those that don't understand what's so hard about software development, this article describes it pretty well. Worth the read..and actually scary scary accurate:
http://www.stilldrinking.org/programming-sucks
I agree that it's self-inflected, but it's the state of the industry, and it's not likely to change any time soon. It's the reality of what most developers have to face on a daily basis and there is little they can do to stop it.It does describe how much of the problem is self-inflicted, though. Especially that part where no one gets good at anything because they constantly go hunting for new tools. I call that the "ooh shiny!" syndrome.
(And I thought we figured out that the perl had a bug in it the last time this was posted? LOL.)
All the really good, and I mean scary good, coders -- nay, engineers... Because they behave like real engineers -- I've met all have a couple of traits in common. They have a lot of grey hair, and the discipline to pick one language and know it inside and out.
I'm not being dishonest when I say that every young coder I've seen who doesn't do that, eventually leaves the biz. They can't keep up with "ooh shiny" kids with more energy and no life outside of work for long, once they get married, have kids, do stuff.
But those engineers. Man are they good. As a sysadmin I can walk over and explain whatever odd behavior I'm seeing (and I agree with the article, all code is always broken, it's just a matter of degree and how), and they'll not only have a good idea where it is and what it is, but they'll often open the editor and jump right to it in a few hundred thousand lines of code.
They have that trait also. They know their code and everyone else's in the one big moneymaking project and they'll completely ignore the never ending new stuff that isn't making the company a dime. They stay close to the revenue stream. The important stuff. They have an innate ability to ignore the stuff that'll be gone in six months and the team disbanded.
The key word is that they're disciplined. They really pay attention only to the important stuff and let the rest pass them by.
At one place it was the C guy who had started life writing a commercial RTOS and went into telecom. At another it was the Java guy who's written Java since the day it was first released. Both knew the annoyances and limitations of their particular toolset, but they didn't bail to go write in another language.
In fact the C guy looked lost when we mentioned that a database was going to have to be loaded from a floppy disk and a REXX script. He just stared and said, "Yeah. Um. Can you guys in support write that? I'll look it over for any big mistakes and check it in." He knew it wasn't his thing and didn't go trying to make it his thing.
The kids around these guys would flail around if brought a set of symptoms and say they'd find a tool on the Internet to hunt the bug, and generally couldn't be nailed down on anything like an estimate of how long anything would take, because they always worked from the reactionary mode and had no depth in any particular toolset, language, or anything really. They always looked frustrated and stressed out. Then there were some mid-level folks who were workhorses and knew a few languages but bad started down the path to the guru status on one or another. They could code anything in those couple of languages but hadn't yet developed a sense of "big picture" that the grey hairs had. The grey hairs were obviously mentoring them and they knew it. They enjoyed it and had very little stress.
That guy in the above post... Hasn't figured it out yet. He can't be a world class expert in anything if he tries to do all of that stuff. He can't even become a mid-level expert until he lets some of it go. Some people just crave the chaos and won't ever be that good at one thing. They're limiting themselves and don't know it.
As systems guys, we kinda have to at least be familiar with all the goofy tools and languages and their operational quirks. Otherwise we can't see when the devs addicted to "ooh shiny" are about to drive the bus off the cliff. So it's a little different for you and me.
The very top of his article is also hilarious. Another common self-inflicted wound set. The devs in his story are writing both the design spec and choosing the materials for the bridge? Never seen a shop that wasn't totally out of control, allowing that for every component of "the bridge". Of course with the demise of waterfall and top down type design also went away with it the design team choosing tools and standards and the team sticking to them. Agile methodology never intended to be the excuse for "I found this tool that's at version 0.05 on the Internet, only supported by one guy in his basement, and I want to install it on Production because I'm so agile I can support it". Heh. But it turns into that everywhere I've ever been.
I'm not kidding. I had this conversation today with a young coder...
"I knew a guy who wrote code in aerospace stuff! He said it was CRAZY how much testing they had to do!"
LOL... Gee, I wonder why.
Why would you shut it down ? They don't make any money sitting on the ramp !
Seriously though thanks a lot software engineer douche ! Wish I could make mistakes of this magnitude and still keep my job.
BTW, for those that don't understand what's so hard about software development, this article describes it pretty well. Worth the read..and actually scary scary accurate:
http://www.stilldrinking.org/programming-sucks
True, but any man-made machine needs maintenance. Seems an awful long stretch for an aircraft to be run with NOTHING requiring a shutdown.