Comair Done In by 16-Bit Counter
Gogo Dodo writes "According to the Cincinnati Post, the Comair system crash was caused by an overflowed 16-bit counter. Perhaps Comair should have paid for the software upgrade to MaestroCrew." You heard it here first...
This was Y32k!
FLR
It seems that 16 bits and 640K wasn't enough for them after all.
Striking fear in the authors of godawful fanfiction, I am here, appearing in darkness, Tuxedo Jack!
...I heard it on BugTraq first...
I believe this will answer your question:
Tom Carter, a computer consultant with Clover Link Systems of Los Angeles, said the application has a hard limit of 32,000 changes in a single month.
"This probably seemed like plenty to the designers, but when the storms hit last week, they caused many, many crew reassignments, and the value of 32,000 was exceeded," he said.
So it sounds like a signed int.
It was a joke! When you give me that look it was a joke.
Well, not this specific problem, but businesses have a common problem of outgrowing the systems that run their business. OTOH, this was an outsourced solution, so this case is pretty hard to explain away, other than sheer incompetence.
Signed. Had the developers used unsigned then it might never have overflowed at all (They were going to replace the system in a few months anyway.)
Since TFA quoted someone who cited a limit of 32,000 reassignments, I would guess signed (and that they were just truncating--if it's really a 16-bit counter, the upper bound would be 32,767).
Here's the original post:
4 .html
1 85556
s ID=2275
Hi,
On Christmas Day last Saturday, Comair Airlines had to completely stop
flying
all of its planes due to computer problems. Comair blamed the computer
problems on their pilot scheduling software being overloaded after bad
weather earlier in the week forced many flights to be rescheduled. Comair
now hopes to have all of its 1,100 daily flights restored by tomorrow.
An article which was published today at the Cincinnati Post Web site
provides some interesting details of a software failure in Comair's pilot
scheduling software:
How it happened
http://www.cincypost.com/2004/12/28/comp12-28-200
According to the article, Comair is running a 15-year old scheduling
software package from SBS International (www.sbsint.com). The software has
a hard limit of 32,000 schedule changes per month. With all of the bad
weather last week, Comair apparently hit this limit and then was unable to
assign pilots to planes.
It sounds like 16-bit integers are being used in the SBS International
scheduling software to identify transactions. Given that the software is 15
years old, this design decision perhaps was made to save on memory usage.
In retrospect, 16-bit integers were probably not a good choice.
An anonymous message posted to Slashdot the day after Christmas first
described the software failure at Comair:
http://slashdot.org/comments.pl?sid=134005&cid=11
Earlier this year, an overflow of a 32-bit counter in Windows shut down air
traffic control over southern California for 3 hours:
Microsoft server crash nearly causes 800-plane pile-up
http://www.techworld.com/opsys/news/index.cfm?New
This problem occurred because of a known design flaw in older versions of
Windows:
http://tinyurl.com/5n9gc
Richard M. Smith
http://www.ComputerBytesMan.com
from information week
...
...
"The computer failure that grounded an airline's entire fleet over the Christmas weekend and stranded thousands of travelers was due to creaky software that couldn't count higher than 32,768."
According to the Post, the software -- which tracks all details of crew scheduling, including how long they have flown (an FAA regulation restricts airtime), and logs every change -- has a 16-bit counter that limits the number of changes to 32,768 in any given month.
to be fair (although it's not an excuse), but 32K crew changes in a month? that's like 1,000 a day? that's crazy!...
"Facts are meaningless. You could use facts to prove anything that's even remotely true." - Homer Simpson
This was a horrible chain of events that severely inconvenienced a lot of people for Christmas, and I would be hoppin' mad if I was in any of their places. However, let's not jump on ComAir too hard, IMHO. From TFA:
"This probably seemed like plenty to the designers, but when the storms hit last week, they caused many, many crew reassignments, and the value of 32,000 was exceeded," he said.
It's true, it was an extreme connection of circumstances... horrid weather (heck, there was snow in some Texas town for the first time in like 80 years or something, read it in some glurge article) coupled with the winter holidays. They should redesign their system and admit that they've grown to a level where their system is unable to hand extreme circumstances, and this should serve as a great wake-up call for them.
In the past I've always chuckled at the thought of 'upgrading for the sake of upgrading', but I suppose this is one case where an earlier upgrade could have saved them millions and made a lot of people's holidays better.
"There's no success like failure, and failure's no success at all."
- Bob Dylan
I stopped using 16 bit ints for anything 10 (or more) years ago when I had the joy of migrating systems from a 16 bit OS to a 32 bit OS.
Best Slashdot Co
what Initech handles?
Yeahhhhhh! Mmmmmmkay!
Did you get that memo?
Yell & scream & rant & rave... it's no use... you need a shaaaave ~ Bugs Bunny
just RTFA linked in the summary ("conair system crash")...
"Facts are meaningless. You could use facts to prove anything that's even remotely true." - Homer Simpson
It's interesting because it provides a lesson in software design - arbitary limits will trip you up eventually. It's not as if nobody knew to avoid them before, though.
I'm scared of numbers that can't be written as a fraction. It's an irrational fear.
The human slashdot editors where replaced long ago. I think it's some google news beta program that currently posts the stories.
Coder's Stone: The programming language quick ref for iPad
This assumes that they had the resources. Given the current competitive environment in terms of consumer price and fuel costs, it would not be surprising if IT got the short end of things.
A Pirate and a Puritan look the same on a balance sheet.
Since 2^16 = 65536, I'm guessing signed.
"Perhaps Comair should have paid for the software upgrade to MaestroCrew." (in the Simpsons Comic Book Guy voice)
The owls are not what they seem
I thought the Comair crashed when Nicholas Cage steered it into the window of a Las Vegas casino.
Don't blame Durga. I voted for Centauri.
That when you are talking about an airline, a COMPUTER crash is by far the least traumatic kind you can have.
"Wow. Now THAT'S a lot of angry Indians." - Lt. Col. George Armstrong Custer
Now my question would be, since they're owned by Delta, why wouldn't Comair flights be handled within Delta's own reservation/flight tracking system?
p.s. I've traveled through CVG, on Delta, during the holidays. Not anymore... One weather-delayed flight and the whole system falls apart.
I'd have a personalized plate on my car, but "toxic bachelor" won't fit into 7 letters.
Heard it here first? Sorry, I heard it first on the web/digest version of comp.risks... http://catless.ncl.ac.uk/Risks Excellent place to read about the risks of modern computing equipment and the risks to society by using same usually from mistakes like the 16 bit counter.
It looks like it was a signed 16-bit value from the detail in the article (32,767 maximum schedule changes a month). Why they would possibly need the sign is beyond me. Regardless, having 32767 schedule changes in a month? Must track every flight in the world.
Never hit your grandmother with a shovel, for it leaves a bad impression on her mind...
Not surprising? I've come to expect it. If a department isn't actively making money, they're considered an expense. Management is usually too shortsighted to notice that without IT, the rest of the departments can't make money (or can't make as much).
It could have worked if it wern't for the 2s complement they would be good for twice what they had. I think programming languages should make numbers unsigned unless asked that way we can take advantage of that extra bit. For things like counters where negitive numbers just wont happen is like having a 15bit number taking 16bits of space.
If something is so important that you feel the need to post it on the internet... It probably isn't that important.
When the shuttle on the screen blows up, and is accompanied by a very loud explosion sound outside the building, the kid looks sheepish and sneaks away.
Don't blame Durga. I voted for Centauri.
So it turned out to be problematic to use a signed 16-bit integer.
...
But the real problem is a lack of error checking. It sounds like the code had something like:
int num_crew_changes;
crew_change_list[++num_crew_changes] = blah;
And the counter wrapped and the system crashed.
The code should have said:
if (num_crew_changes == MAXINT)
{
ERROR(E1234, "too many crew changes");
}
The system is still degraded after 32767 crew changes. It might be so degraded as to be unusable. But at least the company would know the extent of the degradation and could pull out the appropriate "Plan B". It's much safer and better to work around a known problem of known scope than to work around a system crash when you don't know the exact problem.
It's times like this when you begin to realize that the Vic-20 (duct-taped to the bulletin board and surrounded by haywires) might not be the best choice anymore as mission-critical hub of your operations.
Don't blame Durga. I voted for Centauri.
I wonder how fast this CIO is going to be on his butt.
"Well... we were holistically mitigating our financial stance outside the box of current processes while try to forcast our future technological stability within the transport industry."
"Well... you're fired! NEXT?!
Ah, Slashdot. Where even after the true culprit is unveiled, the problem somehow continues to be on Microsoft's end.
I'm not sure how the open source movement can pride itself with the quality of imbecile fanboys it attracts.
Having once done tech support for the Maestro program used by Comair (and other scheduling software for other airlines as well), I think the software is junk. The employees undoubtedly said "I told you so!" when it broke, because they hated it as much as the support team did. IMO the airline didn't bother upgrading because they didn't think the old version was broken enough or outdated enough to warrant it.
Hmmm.
why would anybody make ae event counter a signed value?
short numberScheduleChanges;
hello?
unsigned short numberScheduleChanges;
fixes the problem.
there are 3 kinds of people:
* those who can count
* those who can't
According to the article, the system was on track to be replaced in the coming months...
That said, it's very true that many businesses get by "just fine" with existing, antiquated systems. Justifying system upgrades can be difficult from a conventional cost-benefit standpoint, when a large part of the benefit is based on preventing theoretical problems like this one.
Stop by my site where I write about ERP systems & more
Why was conair using signed shorts to track their scheduling changes anyway? It seems to me that a company of that magnitude should expect to run into more than 32000 schedule changes within one month more than once. I mean, I can understand that the counter was probably designed with space constraints in mind, but for christs sake, it would've only only been two extra bytes to fix this. That brings the total up to some 4 billion unsigned if I'm not mistaken. Technically, they could've used just three bytes, but then again, I wouldn't expect them to because how many languages have 24bit integers built in as primitives? Of course like someone else said, I guess we can't blame this all on the programmers either. I wouldn't just consider it very comforting that such a system could become crippled just because the programmers didn't think to allocate enough memory to allow for enough flexibility in scheduling.
bet *now* they'll upgrade, but until this particularly hairy situation arose, they didn't really see a need to upgrade a computer scheduling system that had been working great for them.
/. when you can get moded +5 insightful without RTFA AND posting verbal vomit....
RTFA RTFA RTFA - The new system goes live in January. Good god its like herding cats around here.
Gotta love
Apple free since 1990!
Maybe Maestro should just die. My friend is a flight attendant for Southwest and has to use Maestro to plan her schedule. To use it she has to citrix into their main server and wait for an open client (I assume they have either a license or horrible programming restriction on concurrent users). On the very day that the new schedules are posted, it can take hours to log in. It's a joke.
This stuff could be handled by a team of a dozen web based programmers (Java? C? ASP? LAMP? You pick.) in a few months. It's not difficult.
I haven't used 16 bit integers since the early 90's, on a modern pc with the number of transactions you are talking about the change to 32 bit would do no harm and If you reuse the code to record greater numbers it will already be safer (unless your numbers are greater than a few billion).
The paperclip popped up and said, "It looks like you're writing a letter... you should use a 16 bit variable here!"
Not only that, a lot of Oldfield's game involves piloting glider- or airplane-like avatars.
Don't blame Durga. I voted for Centauri.
seems possible with the ever-decreasing quality of journalism seen here...
"yeah what 'appened right was this computer-me-thingy went all pear-shaped and these silly buggers Comair went and got themselves 'Done In'..."
>I bet *now* they'll upgrade, but until this particularly hairy situation arose, they
Thank you Mr. Monday-Morning-Quarterback.
Its all different once you are on the field.
The surprise isn't how often we make bad choices; the surprise is how seldom they defeat us.
Hey everybody! Comair is hiring Unix System Administrators and IT Software Engineers! http://www.comair.com/hr/other/
I can't stand it when someone posts a URL to some mailing list, telling everyone to go and look at it, without telling us why we should care about it.
When taken without neighboring information, the only clues that Slashdot gave about the article was that it was in the 'IT' section, and had a 'bug' picture next to it, so we know it was a technology problem, which most computer geeks would have known from 'overflowed 16-bit counter'.
It doesn't take that much extra effort to add a little more detail so that people can make a decision if it's of sufficient interest to spend our time reading the article:
Build it, and they will come^Hplain.
The "Comair system crash" link was just a link to a previous slashdot story (no change for /.'ing that), and already contained a summary...it would have been (-1) redundant to provide a new summary for what originally happened, when you can just link to the original summary...
"Facts are meaningless. You could use facts to prove anything that's even remotely true." - Homer Simpson
Thank you. So if the article just said something like...
...then it would have been enough. That one amendment -- "airline shutdown in the midwest last weekend" -- would have been enough to make the article perfectly clear to anyone who wasn't up to date with the story so far.
Is this really so much to expect? I wasn't trolling, honest, I'm just increasingly frustrated with how addled the editorial review of articles is around here. They've had years to figure this stuff out, but it's just as bad now as it was when Slashdot got started. Are they ever going to start taking their jobs as editors seriously & professionally? (And this isn't meant to be a blanket complaint -- Pudge for one seems to be aware of these basics and tries to do right with his articles, but other editors consistently muck this up...)
DO NOT LEAVE IT IS NOT REAL
"The computer software that crashed and grounded Comair's entire fleet on Christmas Day was an antiquated system due to be replaced in the coming months."
:P
First paragraph. I had just forgotten about it by the time I got to the *end* of the article. 6am + ADD - caffeine = me missing that bit. My bad.
Maybe the existing system was working just fine?
Apparently not.
-jcr
The only title of honor that a tyrant can grant is "Enemy of the State."
Well the good thing now is they have to respond quickly. They have problems in december which FORCED them to upgrade and they expect to have it done by january.
So what would have happened if they hadn't been forced to? things would just get worse and quickly
Online Anime Gallery's
Ah, Slashdot. Where even after the true culprit is unveiled, the problem somehow continues to be on Microsoft's end. What I was reffering to was the California case, similar to this one (described in a bugtraq post). Mixing them up was of course my bad. Anyhow, the main problem was not the fact, the bug exists, but the fact, that they're using OS with known bug where people's lives depend on it, and that's what my comment was reffering to.
Oh, you're quite welcome. Be sure to stay tuned for my next opinion piece regarding "World Peace in 6 Easy Steps."
...is the management of software companies who ceased using real computer scientists to design and write their apps because disposable code monkeys work for so much cheaper. And outsourcing is even cheaper... in the short term (which seems to be all that matters in this industry anymore)
back in the early 80's. There was a big financial company that had an automated system that watched the prices of certain commodities and issued automated trade orders. The transactions where stored in arrays addressed by 16 bit signed integers, with the (now) highly predictable result on the first day that trading volume exceeded 16384 transactions. Since in C arrays are just syntactic sugar for pointer arithmetic, the system started executing trades based on "data" from random bits of heap memory. This apprently went on for some time before a human being figured out something had gone wrong, and (reportedly) the company lost billions in a single day. This might be somewhat exaggerated, since the event now has passed into folklore.
In any case, this is one of those incidents like the Therac-25 accidents that experienced programmers should always have in mind.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
You're right, it's supposed to be upgraded in the near future. I missed that bit, sorry 'bout that.
It's also true that many organizations don't upgrade things because they continue to run worry-free for ages, therefore upgrades aren't seen as necessary.
Upgrades & security patches often get overlooked because of the old saying - "If it isn't broken, don't fix it!"
Probably so the crews from both parts of the airline don't get mixed-n-matched - there is strict seniority in airline heirachies, and the system Delta has probably can't handle two seniority lines at once for the same job. Your seniority affects what schedules you get - the more senior you are, the more likely you're going to get the schedule you want to fly. New pilots/cabin crew tend to get all the shitty routes no one else wants to fly.
Oolite: Elite-like game. For Mac, Linux and Windows
Delta Airlines has also been gutting its IT (and other) staff in recent years, while offering expensive protections to executives and many other employees making over $200,000/yr.
I'm wondering when Delta & Comair identified the troublesome software package as something that they should upgrade? The article says that it's going to be upgraded in upcoming weeks, so when did the upgrade get approved?
Is Comair going to try to go after SBS International for damages?
Has this issue ever come up before or did the powers-that-be know about the possibility of major issues beforehand?
It'd be interesting to see what happens as a result of this.
I wonder if the poor sap that wrote the software is reading through all these comments and just smacking his heaed. How do you go home at night and tell your wife that you signed an int, and it ruined Christmas for a whole lotta people?
IT should serve the bussiness, the bussiness should not be serving IT. If the lastest stuff is too expensive then your job is to make what you have work. Life (and work) are not easy.
My wife works for Comair here in Cincinnati. The computer system under discussion was in the process of being upgraded prior to the crash. Comair's IT recognized weaknesses in the current system some time ago. The upgrade just happened to be taking a little longer than anticipated. Timing is a bitch, isn't it?
I'm not sure how the open source movement can pride itself with the quality of imbecile fanboys it attracts.
We're working on a solution. Right now we've just started to dangle shiny things in front of the imbecile fanboys to distract them; we've called them "Gentoo" and "Unbuntu". That way most of the uninformed and downright wrong fanboy opinions are becoming contained in small, easily avoidable groups where they can't do much harm to the rest of us.
The next stage in the plan is working out some way of getting them to fight each other without causing any fallout which might damage the rest of us.
Remember last February the Martian rovers were sidelined by a computer crash. The reputed problem was the huge flash memory appeared to fill due to not properly building the free inode list in the Unix OS. This was the realtime VxWorks UNIX from Charles River used by NASA on space probes for 20 years. The Spirit rover went into a perpetual reboot cycle for a day (rebooting its default response to a severe crash). Then it took two weeks to diagnose, repair and test the software patch.
So the point is, that bugs can appear even in highly tested OSes.
I worked for a major airline a few years ago. They were and still are using old IBM servers (35xx?) running OS/2 as the backend for the ticket/gate computer systems which run Win3.1 on token ring. Those backends speak to the mainframes with modem sharing devices in some protocols and timings that I can not recall at this time (I do remember something about SNA/SDLC and configuring the polling intervals though). It worked then, works now and they still use it. I was used in my time there to convert the smaller non hub airports over to a TCP/IP system to connect to the mainframes (basically still W3.11 but with TCP/IP using terminal emulation software) via ethernet, this basically provided the same functionality but removed the need for any location specific backend servers. They converted what they wanted but still left quite a few of the older systems in place.
Bad boys rape our young girls but Violet gives willingly.
Am I the only one which reads POS as 'piece of shit' regardless of the fact I know it means point of sale?
It always fits perfectly in the context as well, as this example proves.
IntechHosting - Free domain, 2GB, PHP, £4.95/$8.95
Properly organised industrial action would have been the right thing to do, but what the US Airways staff did was just the wrong way to go about it.
As for the US Airways workers being greedy, maybe you should read up on what US Airways has done to their pensions, benefits packages and wages over the last couple of years. Some US Airways workers are surviving below the poverty line, relying on welfare and food stamps to feed their families. So which would you prefer; that the workers continue to live on Government handouts (Paid for by you!) or that they try and get their employer to pay a fair wage which they can use to support themselves and their families?
I worked at a bank in the early 90s that had a trading system based on SQL Server and the client was written in Visual Basic 3. Apart from every other bad design choice in this system (I inherited it when the designers got promoted and started working on another, even bigger system), the all important record counter was an integer, so when trade 32768 was posted, the application crashed, and simply could not be started again, because the first thing it did was try to show the current total (it was written for operators to use, not traders). Worse was that the counter variable wasn't a global, and it was often times a stack variable, and always with a different name (sometimes iCounter, sometimes iCount, sometimes x).
The upshot was that I was able to convince management to totally scrap it and allow me to write a new one. The downside was that the idiot who designed the original system went on to spend 100 million dollars on this new, grandious system that too was eventually scrapped, but he knew long before that his turkey wasn't going to fly, so he quit and became a lead architect at some other company.
*Sigh*...okay, back to coding.
Arbitrary being the key word. The limits probably weren't arbitrary when they were put in. The system probably had an expected life, and instead of maintaining their infrastructure the people tasked with running the company probably gave themselves pay raises while postponing payments into the employee pension fund. What stories like this are really about, are the complete worthlessness of MBAs. They exist for the sole purpose of diffusing responsability and obstructing accountability.
Very rarely does anyone have the luxury of designing for something with a hundred year life expectancy and a budget to match.
See comment before yours... Check the number of transactions against MAX_INT and fire an alarm if equal...
Or, better yet, set it to fire an alarm at [MAX_INT - (AVERAGE_NUM_OF_TRANSACTIONS_IN_ONE_MONTH)]...
That is, if it would be too costly to switch to larger variables...
Is one step ??? and another Profit!?
now THAT'S an upgrade longgggggggggggggggg overdue due to corporate bureaucy failing to commit a budget
arbitary limits will trip you up eventually. It's not as if nobody knew to avoid them before
For one thing, there is an "arbitrary limit" on the number of atoms in the visible universe. At any given time, there is an "arbitrary limit" on the amount of memory available for a given price in dollars, and there is also an "arbitrary limit" on the amount of arithmetic that can be done in one second for a given price in dollars. Arithmetic in variable-length integers (called bignums) allocated on the heap often carries significant performance overhead compared to arithmetic in machine word-sized integers (called ints) in fixed-size data structures. On a given computer system, it may have been an engineering decision to use ints rather than bignums.
You kind of answered a question I posed elsewhere - "How long has the airline been aware of the fact that this software has potentially serious issues?"
"some time ago.."
When an information system is such an integral part of the business that you cannot conduct routine operations without that system, you have to regard it as a piece of capital equipment. In the case of Comair, the computer crash shut down their business just as completely as if an airplane had crashed.
Why is it that the proponents of "one nation under God" are so eager to get rid of "liberty and justice for all"?
When business won't give IT the money needed to keep business's systems operational (be it for manpower, software upgrades, or electricity) and makes the final decision in purchases, something's going to have to give.
Business decides to buy a software package. After a while, upgrades come out, and the old version keeps getting pushed to the limits. IT adivses business of this, and says that an upgrade/replacement will resolve the problem, but business refuses to authorize said upgrade/replacement.
How do you propose IT "make it work" when their hands are tied? Even worse, IT will take the blame when it wasn't even their decision to make.
But my experience in the IT industry is like 'Does it work ? then it's ready'. And also 'Can you do it faster? then do it faster and patch the program later'. There's a wrong misconception that everything should be done quickly in the IT industry when actualy all should be done to the perfection because it takes even more time otherwise, the programs will have to be fix soon or later.
There probably isn't any reason to. Comair, as a regional jet carrier, has separate crew contracts and crew rules than Delta, a mainline carrier. Thus they operate completely different types of jets, with different crew staffing requirements. The FAA crew rules might even be different. While it might make sense from a consolidation standpoint to merge the two systems of Comair and Delta, since in reality there would be no interaction and no overlap between the two systems (an RJ pilot isn't suddenly going to jump over to fly a 757) the expense isn't worth it.
p.s. I've traveled through CVG, on Delta, during the holidays. Not anymore... One weather-delayed flight and the whole system falls apart.
Then I hope you also avoid United/United Express/Ted at O'Hare/Denver, Continental at Newark/Houston, Northwest in Detriot, USAirways in Cincinnati, American at O'Hare/Dallas... etc. etc. Every airline, not just Delta, uses hubs, and ground stops at any of these airports will cause significant delays. That's just the reality of air travel these days; if you're really worried, book non-stop travel (and pay up to 10x more).
Try taking a 30% pay cut and work 20-50 hours of mandatory overtime with a demanding job with an undermanned crew.
Airlines are going bust thanks to incompetent management -- they cannot even keep afloat with the huge government subsides and loan guarantees that they've received for decades.
Conformity is the jailer of freedom and enemy of growth. -JFK
Or fly Southwest, which doesn't use the hub-and-spoke system, and get a direct flight to anywhere they fly for 10x less. Or maybe not 10x less, but in any case cheaper than any of the bigger airlines they compete against. There are alternatives, provided you are travelling between cities Southwest or an airline like them (JetBlue, Song) goes to...
DO NOT LEAVE IT IS NOT REAL
...was over at US Air, where a large number of selfish and uncaring union employees decided to mess up a huge number of their customer's Christmas plans.
While stupid stuff like this software problem is embarrassing, and the SBS and the people who wrote the software should hang their heads in shame it was still unintentional and is nowhere as shameful as the deliberate sabotage done to US Air's customers by their union employees.
Stand Fast,
tjg.
You really are a moron, aren't you? Absolutely nothing is legally or contractually stopping US Airways from doing what you said.
If corporations are people, aren't stockholders guilty of slavery?
This is one time I'm glad airlines have limits on their liability to passengers.
Can you imagine what would happen if they didn't? Everyone would sue them for a ruined Christmas and Comair would be in Chapter 11 by tomorrow.
If Comair can afford it, they should give refunds to all affected passengers. I hope they've already comp'd the hotels and incidentals. Every executive and the highest-level IT people should surrender their 2004 bonuses as a gesture of contrition.
Knowledge is how to play a game, intelligence is how to win, wisdom is knowing what game to play.
If and when I absolutely need to fly somewhere, I most likely will pay extra, for the non-stop and possibly for the first class/business section, or just chuck it all and book a flight on a charter airline instead. I hate the commercial airline 'experience' just that much.
I'd have a personalized plate on my car, but "toxic bachelor" won't fit into 7 letters.
Well, I have #5 as "???" and #6 as "Profit!" - what's step 1 through 4? :)
Reviews with a twist! http://www.sardonicbastard.com
Makes you wonder - perhaps important systems like that should be written in a higher-level fully memory managed language, even if its slower, buying extra fast hardware to run it means nothing to a decent sized company, but loosing a million because of over-complex code with potentially 100's of little bugs means allot...
This comment does not represent the views or opinions of the user.
RTFA - the upgrade was planned. It's probably tested by now, and they're not likely to upgrade during such a busy time of the year. No heads will probably roll because of this, but upgrades may be rushed in the future.
I am, and always will be, an idiot. Karma: Coma (mostly effected by
Do the number of cashiers factor into this?
Or is it per terminal ( person )?
As a fellow programmer, you are *probably* safe. Were it my decision to make, I would bump to 32 bits the next time you need to open the code to fix other bugs. And look for other instances of this problem in other areas. Caveat, I am the kind of programmer that checks return codes, the return from malloc/new, etc, etc, in addition to try catch blocks. I use the length limited versions of the string copying functions, etc, etc...
emt 377 emt 4
Obviously, computer crash victims complain about the airline long and loud. Plane crash victims tend to be silent.
Don't blame Durga. I voted for Centauri.
I don't know, but isn't there a way that we can blame Microsoft or SCO for this whole Comair mess? :)
>> Check the number of transactions against MAX_INT and fire an alarm if equal...
And maybe shutdown the system so it doesn't cause any problems?
Gee.... sounds like just what they did.
>> I haven't used 16 bit integers since the early 90's,
....
And didn't I read that this system was about 15 years old?
Little bit of 16 bit integer math and
So you are the one that used the 16 bit integers in this!
...my aunt and uncle had their flight from Denver cancelled when a baggage truck blew across the tarmac and into their plane.
Facts do not cease to exist because they are ignored. - Aldous Huxley
In this case, a 32-bit counter would have prevented the crash, but really, how many coders check for overflow in their 32-bit counters? In long running systems, you *have* to. And it's easier to overflow a 32-bit counter than you think; it depends how often it gets incremented (that is, what is being counted).
In languages with graceful promotion from integer to bignum, this is a non-issue. Not for most languages, however. (And lest anyone think I'm oversimplifying here, such promotion is not so simple, in that bignums take a variable amount of memory. To handle this truly transparently you need some form of automatic memory management, which is a no-no for many embedded systems.)
16 bits will get you a cup of coffee...
I think their downtime now is probably costing them MUCH more than $200.
Take off every sig. For great justice.
Somewhere in his awkward choice of words is a point. Speeding an application to market by skimping on the quality of the work causes this problem. Real computer scientists balk at leaving problems half done, monkey's don't. The outsourcing thing at the end, yeah, I don't agree with that as a mantra.
You are checking your backups, aren't you?
Hmm...maybe they should take a look at ones that are doing fairly well, like Southwestern. I pretty much fly them exclusively. They fly to most places I go...have great specials, are generally on time...and the people that work for them are all friendly and courteous.
What are the other airlines doing so wrongly?
Light travels faster than sound. This is why some people appear bright until you hear them speak.........
Yes, they had to have used a signed 16-bit integer counter. A little background for those who may not know how to count in binary:
If you know your binary, you know you can actually store a number of about twice that if you fill all the zeroes with ones:
But, if that's a signed integer, you'll need to reserve a position for +/-, leaving only fifteen binary places for the integer.
So as soon as the Comair system needed to count 32768 flight crew changes for that month, it crashed. It counted -0, or zero.
-jh
I've seen CIOs and VPs of IS do extremely stupid and/or damaging things to the departments they were in charge of and then leave the company with more laurels danging from their CVs.
It doesn't seem to matter that the real-world impact of their actions and policy decisions actually hurt the company.
Very frustrating to see this at multiple companies and (in some cases) multiple times at one company.
Mainframe/UNIX Bit Twiddler and long time Windows/Linux Hobbyist.
The Theorem Theorem: If If, Then Then.
I get the sense that you are objecting that the system has no room for expansion. Well, yeah, but you're probably complaining outside of the requirements. If the stated software requirement was to run on a single POS system managing a single register, then the limitation is perfectly appropriate. There is no human clerk, and for that matter no customer, who could complete one transaction every 1.31 seconds on a single register, constantly. It's simply impossible.
Seems like there was another example of this sort of thing on November 2nd, 2004 as well. IIRC, some North Carolina machines dumped 3000+ votes due to a similar problem.
--
"Outlook not so good." That magic 8-ball knows everything! I'll ask about Exchange Server next.
mod parent down.
One poster already noted; The wholly-owned carriers fly different equipment and are staffed by pilots who are members of a different seniority force.
Moreover, typically the crew tracking system is integrated with the flight operations/dispatch system, and the maintenance control system, and the route planning system, and the trip optimization system. You wouldn't want to try to integrate all those functions into the parent carriers system unless you *had* to.
Finally, CFR 14 Part 121 says that each certificated carrier has to have their own dispatchers on staff. Comair, et al, are technically independant carriers -- they have their own certificate (DOT license to run an airline), and therefore have to staff their own flight operations (dispatch) office.
Therefore, Comair cannot integrate their staff with Delta's, even if they wanted to. Of course, that doensn't mean they couldn't still use Delta's operations software, but it just shows how separate the airlines actually must operate -- making the advantage of merging systems specious at best.
\FAA licensed aircraft dispatcher
-- Experience is a wonderful thing. It enables you to recognize a mistake when you make it again.
You want to fly to Los Angeles in a month and purchase the ticket then. The price you pay reflects the value of being able to make that choice then and assuring the airline of a seat being filled in a month. The value of the seat changes as time goes on such that 1 day before the plane leaves the seat is now worth a lot more to someone that has to get to Los Angeles the next day, no matter what the cost. Of course there is the other aspect as well - the seat has no value once the plane leaves.
Managing this changing value is what makes airline ticket prices incredibly complicated.
Wow that was an impressive twisting of the article. Not that I disagree with your point of worthless MBA's but the fact that you somehow turned a software design flaw into the current CEO's fault.
Odd are someone or some thing will. In all major blame games. You must sarcifice someone or some thing to the god of disaster and oops.
Else will loos your head. Esp when the Fed's will be hunting for the problem so thay can create a usless soloution that cost billions and makes the inital problem worse.
Some poor little software package is crying bits right now! Wishing he was 32 and not 16 bit!
Just think if they were running XP and its problems with WiFI and Firewire breakdowns! Wow what a train wreck! Or in this case a plane wreck!
Programmers become obsessed with special cases, as in "What would happen if there was a ginormous snow storm during the most busy travel season of the year?"
Interesting, but it's much more important to have a system that deals with mosts cases efficiently and correctly.
It's possible when this program was first written the hardware it was written for would have had difficulty with 64 bit integers. Maybe the additional memory space would have been a problem. I don't know. In any case, the system worked pretty well for a long time. Special cases can trip up even the best software.
Also, 32,000 changes in a single month is a *lot* of changes. The fact that this problem only happened once is an indication that the existing system was working fine.
I'll never forget a definition of legacy systems once -- "Systems that *work*"
It's possible that the system that will be used to replace the old one will be less stable and crash more on the order of once per year or month rather than once per software lifetime.
Karma: Chevy Kavalierma.
The trouble there is that the user doesn't realize that it is, in fact, broken. People have this idea that once a piece of software is written, that's it. They don't realize the nature of programming and the fact that even the best programmer will have bugs in his / her software.
I work in the industry, so I might be able to provide an alternate viewpoint. Esentially what happened to the airline industry is that the market changed from a luxury market (high profit margins, low competition) to a commodity market (low profit margins, intense competition). Unfortunately, the airlines had all made long term deals with the trade unions that presumed stagnate market conditions - so when the market changed, they could not change with it.
The smaller carriers all have one thing in common - no unions. They do not pay their pilots as much, and their pilots do not get paid if they don't fly. The number one expense for an airline is fuel, but the number two expense are the pilots, stewardesses, mechanics, and baggage handlers. There was no way for older airlines to meet the new market conditions (fly more for less profit per flight) without paying people less. The problem is that no one wants to be paid less, so instead they get rid of the least powerful people (who also happen to be the least paid). This is also specified in the union contract... all laying off actions must be FILO.
Essentially, the major carriers are hamstrung by the unions, and they will not survive long term. Unions work by artificially limiting labor supply - but that doesn't work if there is not enough work.
The unions say how evil it is that they are getting pay cuts, but where exactly do they expect the money to come from? The government really should not prop up certain providers when others are eager to take there place. Competition works for the most part. Air travel is becoming a commodity market, like cars. Market transitions cause upheavals, and change the market leaders - especially if the current leaders cannot change their bussiness structure.
I have to say that I totally disagree about management being incompetant - the current management (at least the upper level ones I deal with) are extremely good. They may even get the airline to survive and change to the current market conditions. But what has really destroyed the airlines is the changing markets, and the unions preventing the old airlines to change with the times. The only thing management could have done would be to have rejected the union contracts earlier. But I doubt if that was possible.
Unions seem to believe that society owes them a living. The problem is that society (except in the form of government) is not a person, and so recognizes no debts. Fighting that is totally ineffective because there is no one to fight.
while (sig==sig) sig=!sig;
should read up on what US Airways has done to their pensions, benefits...
That is a common mis-conception. US Airways did not do these things - US Airways is struggling for life, very near death. The market change caused by Southwest and the consumers caused this. There is a simple choice, lose these things via the company cutting them, or lose these things via the company going chapter 7.
The company has only one choice (it cannot kill itself) - it cuts everything that can be cut in an attempt to survive. This means that people would make more doing something else, so they should leave. If they do leave, the company fails and southwest takes up the slack. Jobs move, but the total number of jobs doesn't really change. If they don't leave then that means that for them working at a lower wage is better than being out of work, because they made the choice.
No one is forcing these people to continue working for below minimum wage. There are other places to work, if you are good at what you do. If you are not good at what you do, find something you are good at. That is simply how the world works! (And fighting against that will not change it, and will doom you to failure!)
while (sig==sig) sig=!sig;
what-- were they expecting negatives also?
Back in the 80s when I was C programmer (K&R, thank you, the one true C), C integer types were not standardized. "Integers" were defind to be the most natural size for a machine (typically a data word), "shorts" were defined to be no larger than ints, but possibly smaller (and thus possibly more space efficient). This reflected the philosophy of C-as-portable-assembler: if you were indexing an array of character representations of digits, for example, there was no reason not to use a short. It was conceivable that, since arrays were essentially immutable pointers and array indices were merely offsets against those pointers, you might want to refernce a negative offset from an array base in some kind of clever trick.
Various C implementations used short/integer sizes like 8/16 (for microprocessors like the 8080), 16/16, 16/32. These days, there are some mininal assumptions we can count on. Ansi-C specifies the following as minimal data sizes for char/short/int/long: 8/16/16/32. In practices IIRC, most modern compilers use 8/16/32/32, in other words a 32 bit int. GCC, I think uses 8/16/32/64.
The problem with this airline scenario I would expect is a kind primitive cousin of cut-and-paste coding. This is where the the programmer is pasting something like this from his mental scrapbook:
int i;
TRANSACTION trArray[];
It's very easy to do something like this. A really conscientious programmer asks himself whether the index value is indexing something that doesn't have a prescribed limit in the specifications (in this case I'm guessing it was probably indexing a file position). If there is no prescribed limit he uses an unsigned long. If there is a prescribed limit that would allow an integer index, he still uses an unsigned long unless he indexing something which logically can't grow larger, or until the profiler forces him.
Which brings me to what I find curious about this. Either: the programmer chose to index the value by an signed short (which would be almost inconceivably stupid as opposed to unforgiveably negligent), or he was using a C compiler with a 16 bit integer, which while possible under ANSI IIRC, seems terribly archaic.
Java, of course, uses 32 bit ints. But you aren't completely safe from this sort of thing. For example FileInputStream has two methods of interest here:
this is very safe, since it uses a long, which in java is 64 bits; even unsigned, there is little chance of overflow.
However consider this:
What happens when a programmer decides to skip around in a LARGE file using this API? If he decides to skip forward by more than 2,147,483,647 bytes the signed int will silently be converted to a negative offset, at least as of java 1.4. Granted the possibility is slim in most applications.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
If any post on here is a troll, this ain't it. heh.
You should over-engineer that counter to a ridiculous degree. It's not a bridge made out of expensive steel, it's just bits and bytes. Memory is cheap, disk space is cheap, and bandwith is becoming cheap. If something calls for the number of meters in an Olympic pool (50), size it to accommodate the number of millimeters across the known universe. Over-engineer first, then slim it down only if it causes performance problems.
Picture this: In five years, the stores have RFID tags or faster machines that reduce the POS transaction time to 1 second. The stores are popular and quadruple in number. To match their new inventory system, they artifically track each item bought as a separate sale (average 5 items per customer). Voila, you are up to 1,728,000 possible transactions in a day already.
Customers will always find new and unpredictable ways to use and abuse their software, rather than go through the pain and expense of an upgrade. By 2009, the client will have forgotten your name, but they'll (probably) never have to hunt you down if that counter goes to 100 million or so.
You shall see a cow on the roof of a cotton house.
There were two modes of operation, a very low power mode - intended for long, slow radiation treatment, and a very high power mode - intended for very short bursts of radiation treatment. If a technician accidentally selected the high power mode, then switched back to the low power mode and hit the radiate button immediately, the device would deliver the high power beam, but the display would show it as a low power beam.
Patients would complain about a burning sensation, and then die. Happened quite a few times before anyone figured out what was going wrong.
--- There are two kinds of people, those who accept dogmas and know it, and those who accept dogmas and don't know it
Probably not unless the software is purchased by Delta and they run an instance of the parent companies' software because the christmas rush was critical for the airlines who had to taken in max revenues and min expenses to save their asses this year. My magic eight-ball says this is the beginning of a death spiral for Comair, and the PHB's will see little benifit in purcahsing software to cover a once-in-a-decade event in a company thats unlikely to live 3 more years. If the upgrade is pretty much contractualy bound, the articles will be in the too little, too late catagory rather than the Knight in shining armour catagory.
Apocalypse Cancelled, Sorry, No Ticket Refunds
The really interesting thing about the incident was that the bug did not show up under deliberate testing. You could try the exact sequence of operations that produced a fatality and not be able to reproduce the effect. The key was that experienced users entered the setup very quickly. I don't recall whether the issue was that the safety mechanism didn't kick in, or whether the input was not properly recorded. IIRC the Therac 25 had its own custom rolled hardware monitor where today we would use an embedded operating system, and the fault was ultimately tied to that, not to incorrect specifications for the user input routine, or incorrect programming of the user input routine.
Post may contain irony: discontinue use if experiencing mood swings, nausea or elevated blood pressure.
As they like to say in my particular part of the retail world: You build for Easter Sunday.
THIS INCLUDES COMPUTING.
Part of serving the business is being built to capacity. This is no different than a correctly tooled factory or having enough warm bodies.
Your mentality simply falls from the illusion that IT isn't an integral part of the business. You can always choose to be "penny wise". However, that always comes with inherent risk.
They question you need to ask your CIO is: Do you feel lucky?
A Pirate and a Puritan look the same on a balance sheet.
Henceforth, all numeric variables shall be of type BigNum.
"A great democracy must be progressive or it will soon cease to be a great democracy." --Theodore Roosevelt
I don't think many people know, but 1/3 of Pittsburgh flight attendants called in sick on Christmas Day. That alone is a cataclysmic problem since that is a main USAir hub.
Maybe USAir doens't want anyone to know how much they suck as an employer aside from how they suck as a corporation. Their employees don't seem to ever smile - they probably have no reason to.
As a side note, the JetBlue CEO has been know to frequent flights handing out cookies, talking to passengers, perform baggage handling, and cleaning up trash after the flight. Every single employee looks happy...
In my day, our ints had 16 bits and we LIKED it!
It was a joke! When you give me that look it was a joke.
Maybe the existing system was working just fine? Upgrades too expensive?
That's fine to say when you are running a restaurant. If your system goes down, just take orders with a pencil and calculator until you get a new one. If you are running a critical infrastructure like an airline, its not enough that your computers work so far. You have to maintain a system based on modern software design, retain enough programmers who understand current code and do preventive maintanance on both software and hardware.
Oh, modern systems will still crash, but they are far less likely to run into unrecoverable errors and hard limits. There will be a log of all the submitted requests stored in redundant locations. If the database is totally corrupted, it can be still restored from a backup and the work since then re-done without losing any data.
US government should consider covering part of the expense of re-writting software in infrastructure companies, because the impact on the society - people not being able to get home for Christmas, businesses losing customers in whatever places they were going to - exceeds financial damage to the airline.
IIRC, what happened is that the operators would go back up on the display to change values that were inputted erroneously. However, the new values that were displayed on the screen were never passed along to the underlying code. So the operator thought "Whoops, lemme change that power setting", hit the up arrow and changed the value and then went along like normal. The machine didn't know the power was supposed to change, and blasted the patients with radiation.
I'm sure someone else will chime in with a link to the correct version of the story.
It's pure bullshit. The effects to the US from neglected to micromanage the companies themselves the way they believe they can micromanage their own customers to the edge of outright criminal behavior is the same. On what's the busiest travel day of the year the entire system comes to a screaching halt no different than the US declaring the grounding of all aircraft on 9-11. But hey, I got modded down by dumbass hillbilly redneck who thinks failure is a good idea.
Airlines are going bust thanks to incompetent management -- they cannot even keep afloat with the huge government subsides and loan guarantees that they've received for decades.
And yet Delta CEO Leo Mullin made $13 million last year while holding his hand out to Congress for money. The system is broken.
It's possible that the capacity limits in the software were more complicated than what type was selected for a few variables. How many other things were dependent on the maximum number of changes per month? Increasing the limit may have resulted in a program that could no longer meet other requirements for memory usage and run-time. Crew scheduling sounds like one of those problems that doesn't scale linearly. The worst-case scenarios when the software was designed may not match present conditions.
Mea navis aericumbens anguillis abundat
That sounds like a very reasonable explanation. And please excuse my ignorance...as that I've never been exposed really to unions before. Why can't the carrier just drop all the union employees...and hire a new crowd. I know they sign contracts..but, those contracts have to expire don't they? Why don't they just refuse to deal with them on expiration of the contract and try to save their business?
It seems to me that the day of unions, which were needed and useful back in their day...need to vanish. They seem, as in this example, to be causing more harm than good, causing companies to fail...and removing jobs from the populus..
Light travels faster than sound. This is why some people appear bright until you hear them speak.........
I don't know why the moderator knob said this was a troll. It is an interesting point. It points out that upgrading from old software technology sometimes has hidden advantages.
-- I ignore anonymous replies to my comments and postings.
What was missing from the parent's post was that 80's deregulation created the market for the "discount" airlines.
And the reason that Southwest & JetBlue have lower costs is that they pay their employees dramatically less. Ground handlers and baggage handlers are often paid minimum wage.
The side-effect of low pay is high turnover... so the non-union airlines don't have to fund such high-cost frills such as pension and benefit programs... and things like disability insurance rates stay low because their workforce is young and healthy.
The wise men in government & airline executives are merely converting a "professional" industry into a fast-food like assembly line.
The same process has already taken place in other industries that once paid a living wage... legacy industries like textiles, meat packing and restaurants.
Conformity is the jailer of freedom and enemy of growth. -JFK
As if Linux or XP or Unix never overflows a 16 bit signed integer.....this is a QA problem with the outsourcing vendor, nothing more. Pretty damned common problem with CMM shops, near as I can tell.
SJW: a person who perceives an injustice, and while correcting it, commits a greater injustice.
Why is so wrong for workers to associate and bargain collectively? And why is it ok for airline industry associations, music industry assocations, etc to spend billions lobbying congress and demanding government concessions?
The visionary management at the major airlines have had twenty years to react to deregulation... but chose instead to seek short-term profits.
Conformity is the jailer of freedom and enemy of growth. -JFK
What I am not reading here and in the press is who at Comair knew the software had this drop dead limitation and why were they not prepared for it? My suspicion is that the FAA has such tight controls on software change management at the airlines that the Comair IT managers knew the problem could occur, but were powerless to modify the package to prevent the meltdown. -Steve
If software is designed and built to last X years with Y employees, but some MBA or CEO or biz guy up the chain o command decieds that theres no need to upgrade, its all working fine... for now, it us that guys fault.
It is only a software design flaw if the system was buit to last long enough for that coutner to ever possibley overflow.
I'd be willing to bet it was a MBA's choice to keep the system up without updateing it/replaceing it to save money and it should have been replaced long ago. MBAs typically have no idea how software works and just go with whatever buzzword makes they giddy or the cheapest option.
from another post: "It is the version of SBS that pre-dated Maestro. It was brought into Comair in the early 1980's. It's written in FORTRAN and uses whatever record managment system that came with the compiler."
Just a tad old on a much larger airline... seems like a accident waiting to happen.
> Why is so wrong for workers to associate and bargain collectively?
The problem occurs when unions get greedy (which they do), and force the consumer to suffer as a result. Ask US Airways customers about this. My business suffered during the UPS strike a few years ago so that truck drivers making $60k a year could get even more.
S
Why can't the carrier just drop all the union employees...and hire a new crowd.
Imagine the company you work for firing EVERY employee that is not a member of management at the same time. You can't interview/hire/train replacements ahead of time because the unions would walk out if they heard about it. And, assuming you managed to pull this off without killing your company, you'd spend the next 5 years in court fighting the lawsuits. You couldn't, for instance, lockout the pilots union and replace them because the baggage handlers and mechanics unions would walk out in sympathy (self preservation). It's an all or nothing plan, and extremely risky.
BTW, the original purpose of unions still exist, but not to the degree that it once did. Know anyone working in IT required to work 50hrs a week as a salary requirement as well as any other OT required to meet a deadline, on call 24x7 and required to carry a cell and/or pager? Ask the developers at Electronic Arts if a union wouldn't have it's uses.
It is amazing what you can accomplish if you do not care who gets the credit. -- Harry Truman
I've written longer, descriptive submissions before that have either been rejected and some shorter submission was put in it's place, or had the original article chopped up like what happened here. My original article said that Comair outsourced the system to SBS. The /. editors seem to like short, concise submissions, which unfortunately mean you have to follow a bunch of links to get the whole story.
My only comment on this is about the line:
...wise men in government & airline executives...
Perhaps you could blame the government (although I believe deregulation - which leads to lower cost airlines - is a good thing in this case), the airline executives fought against deregulation tooth and nail. It essentially made them give up their monopoly, and made them compete in an environment in which they knew they would lose. See Pan American airlines for comparisons.
while (sig==sig) sig=!sig;
Ahh, I see. So it's not your fault then, and we have another datum point to suggest that the editors are indeed being willfully obtuse with the house editorial style. How nice...
DO NOT LEAVE IT IS NOT REAL
In addition to the comments above, what is wrong with a union is that it is a (typically government enforced) monopoly, without the necessary government regulation. Laws have been passed requiring management to respect unions, but no laws have been passed to restrict unions in any way. This is the same problem as Microsoft controlling the software industry - the little guy is squashed, inovation suffers (using computers to improve efficiency is illegal, for example), and reaction time to changing market conditions suffers (how long did it take for MS to make security #1, how long did it take airlines to lower cost structures).
Back when the economy was strong, I made several proposals for IT projects that could have saved millions of dollars. These proposals were shot down by the unions, because higher efficiencies would have lead to fewer jobs.
Why on Earth did we have to get the union's permission for those projects? No wonder Southwest is kicking everyone's butts.
while (sig==sig) sig=!sig;
I agree that unions have some positive aspects (just like Microsoft's monopoly helped defragment the computer industry), however I think that the problems outweigh the benefits. Anything that removes the basic link between productivity and pay is a problem.
I think that many of the problems that led to unions can now be solved, because of the change in how companies are formed. In the old days (TM), you couldn't form a new company unless you had the right parents, etc. Today, if you think you are underpaid, you realistically can start a new company doing your current job. If you can't do that and make your current salary, you are not underpaid.
while (sig==sig) sig=!sig;
Some of it is, but I'm not taking all of the blame. :-) I will readily admit that I didn't put in something like your suggest amendment. However, I do know that the /. editors have a habit of changing submissions. At least mine they do, but I imagine they do it to others.
No, incrementing 0111 1111 1111 1111 (32767) would yield 1000 0000 0000 0000 which is -32768 in decimal. Assuming two's complement, which has no negative zero, of course.
Stumbling in the dark
I hear slavering of jaws
Eaten by a grue.
Compare the price of one 747 refuel, that would pay for 1gig of ram in 1989.
The ram limitation is in the server database, not client software. Surely they could afford to spend alittle more dont you, its not like they run out of fuel over the pacific do they.
Its just called CHEAP-ASS[tm] management. If they could, they would water down the fuel with anything, but its illegal.
And surely they could have recompiled the server software to support unsigned 16bit back in 1999.
This is all a symptom of Mr Manager doing cost cutting and getting great bonuss'
Liberty freedom are no1, not dicks in suits.
Why per month? couldnt they just purge when it hit 32000 and continue fine, who cares if they loose the previous changes, back it up to a massive text file report.
They should have had a gracefull recovery/continue, unless the software tech support was on holiday in Phuket
Liberty freedom are no1, not dicks in suits.
Why cant thses big fatcat silly airlines in usa do what qantas does? if unions are the issue, can the big airline just start a small-subsidery or small seperate partnered airline? Then the new one can easily 'compete' with the parent and take non union labor and reuse the parents facilities.
Or are there FAA regulations preventing this? if so.. change the laws.
Liberty freedom are no1, not dicks in suits.
Unions are also used to seeing promises that pay will go back to normal in good times broken. The reality of capitalism is that if you don't have your act together enough to meet a known wages bill your company is probably going to expire.
While unions are not the problem - some unreasonable bastard in a paticular union may be - but you get that in all kinds or organisations. It sounds like there is an "us or them" attitude going on, where each group hates the other, which can lead to all kinds of problems and the end of the company if it isn't sorted out.
The USA has all kinds of protections to stop better run airlines coming in from overseas to create even more intense competition. The land that gave us Valuejet and the mess that was United in its final years really needs to get its act together, stop blaming the unions, and see if they can do as well as any of a score of airlines that would be happy to come in as soon as deregulation happens and show how airlines work in the rest of the world.
When I go to the USA I'd better catch a bus, I bet the bus companys scheduling software is less than fifteen years old and has been updated if the company has grown - that's what most places do for business critical applications, and it has nothing at all to do with unions.
It has happened before and it will happen again. The biggest case of a transaction counter overflowing a 16 bit signed integer was in 1985 at the Bank of New York - they came up 32 billion dollars short and nearly caused a collapse of the financial system. A description of the problem - Washington Post, 13 December 1985, p. D7 - Computer Snarled N.Y. Bank - $32 Billion Overdraft Resulted From Snafu - can be found in a message at: http://www.mirrors.wiretapped.net/security/info/te xtfiles/risks-digest/1/risks-1.31
Whoops, my bad. Got my binary math wrong.
Until government enacts and reliably enforces laws to prevent employers from intimidating and abusing their workers, unions are needed.
Society has an obligation to provide more than just a capital environment to improve business. We have a responsibility to improve the lot of our fellow citizen, and the corporations stand opposed to that. IBP, Wal-Mart, McDonalds and Electronic Arts all demonstrate that.
Conformity is the jailer of freedom and enemy of growth. -JFK
At least us programmers could learn these dumbasses jobs quicker than they could learn programming, ie 10 years of coding, vs 6 months crash course in "bullshiting and running things" Central Idiot Officer more like it. Well at lease once there is a global depression or something as bad a tsunami, then we can all camp out at the CxOs mansions.
Liberty freedom are no1, not dicks in suits.
All this should already be inside some massive spec document with UMLs etc..
Liberty freedom are no1, not dicks in suits.
No man is an island.
Soylent Green is peoplicious!
..it wasn't labelled something like "TrialMinutesLeft" or something was it? :P
one (of many) Big problem there is a safety critical system using input rather than configuration state to control the Status display, hell the status display should not even be aware of most input commands, except by way of detecting the resulting configuration changes, and parhapse having the input system notify the status display that "something has changed, check status"
Snowden and Manning are heroes.
Unions seem to believe that society owes them a living.
So do corporations, apparently.
The only thing management could have done would be to have rejected the union contracts earlier.
If management made contracts that they couldn't keep, they screwed up and their companies should go out of business. That's the way the free market works.
In fact, in reality, big airlines are screwing up not only on their labor contracts, they are poorly run, heavily government subsidized businesses offering mostly uncompetitive transportation options. The sooner the big airlines go out of business, the better off we all are.
Unions work by artificially limiting labor supply - but that doesn't work if there is not enough work.
Unions are a free market mechanism by which employees get together and bargain collectively. That's not very different from shareholders forming corporations in order to make collective contracts. Unions "artificially limits the labor supply" about as much as car makers "artificially limits the car supply" when they set a price for their new SUVs.
What it comes down to is that you want intrusive government: you want government to prop up failing, uncompetitive businesses, you want government to protect management from the consequences of their bad decisions, and you want government to prevent employees from associating freely and making a free-market choice to bargain collectively. Come on, admit it to yourself: you are just another one of those typical intrusive-government Republicans.
Actually my friend, I heard it on Bugtraq first.