Roller Coaster Data Center
stienman writes "The Top Thrill Dragster at Cedar Point Amusement Park may have more technology than your data center. From the article: "The parameters within which the Dragster has to operate are so finely tuned that variable load weights from people, wind speed and out-side temperature affect its performance. ... After every third launch, the data are averaged and compared with historic launch data in an effort to create that perfect ride - the roller coaster must go fast enough to clear the top of the tower, but slow to between 7 and 15 mph in order to give riders the maximum lift effect at the top."
How am I supposed to enjoy a roller coaster if I know that sophisticated computers are monitoring the experience and ensuring my safety? That's just being fed stimulus. Now, the Cyclone in Coney Island... that's a roller coaster! You experience a genuine fear of death, not because the ride is particularly scary, but because the roller coaster is about a hundred years old and feels like it is going to collapse at any moment! Woo!
For a moment I thought it was an article about my career.
"Kittens give Morbo gas!"
Just out of curiosity, what makes you think you "know" anything about embedded software engineering? Judging from your statements you clearly have no experience with the matter, and you have never spoken with anybody with any experience in the matter.
Most embedded systems are written in either C or assembler and they do just fine. Most real-time OSs are written in either C or assembler and they do just fine. For both of these statements I am including everything from the systems that run on space and planetary probes down to the processor running in the keyboard you were just typing on. I just saw a job posting today for a medical device software engineer requiring experience with WinCE, C++, and C#. Guess what language(s) WinCE was written in. It sure wasn't Pascal, PerfectScript, Perl, PHP, Pict, Pike, Pilot, PL/C, PL/I, Postscript, Prolog, or Python.
Embedded systems don't normally need the absurd amounts of error checking that user level programs do. Thermocouples aren't normally in the habit of randomly generating buffer overflows. Physics is sufficient to deal with most situations, and I'm not just talking about the physics of the real, such as the expected temperature variation over time that said thermocouple would be experiencing. The physics involved in a thermocouple wire breaking will also not overwrite the stack into the code space. I have never heard of a network buffer overflow problem in VxWorks, and that was written in C.
What language would you suggest for embedded systems? Something that will randomly shut down randomly for milliseconds at a time to do garbage collection? Something where the first pass through a section of code takes a radically different different amount of time than the second pass, or the third? Even ladder logic is unsuited to many tasks because the PLCs that are normally used to run it often have loop times dependent on the input states.
C was designed for system level work. It is predictable, which is the single greatest criterion for embedded and real-time systems. It is really quite adequate for the task as long as the people working with it are used to designing embedded systems. Or else they have their work reviewed by those who do have the experience. Any real engineering office would be run this way.
Even The Pirates of the Carribean at Disneyland has people concurrently going through lengthy looped scenes, so that certain boats see the beginning of the loop, others see the middle, and others the end.
... AND ... OVER ... AND OVER!? IS THERE ANOTHER VERSE?! WILL THIS BOAT EVER START AGAIN!? IS THIS THE TIME YOU USE THOSE EXITS IN THE RIDE? IS IT OK TO STEP IN THE WATER? WHY ARE THERE 5 BOATS ALL BUMPED AGAINST EACH OTHER IN THIS BURNING TOWN!? HAS THIS EVER HAPPENED BEFORE? OH GOD FUCK THESE PIRATES, FUCK THESE PEOPLE, JUST GET ME THE FUCK OUT OF HERE!! THIS SUCKS! I HATE DISNEYLAND. I DON'T EVEN WANT TO BE HERE IN THE FIRST PLACE.
I was once stuck in the Pirates of the Carribean's burning village listening to:
YO HO
YO HO
A PIRATE'S LIFE FOR ME
YO HO
YO HO
A PIRATE'S LIFE FOR ME
for over 20 minutes straight. It was a nightmare.
The first five minutes were interesting. I really got to see the details about the animatronics. I was able to appreciate how the ride was put together. I checked out the boat. I checked out the rails between which the boat rides. It was enlightening. Annoying, true, but preferable overall because I got to explore on my own for a bit.
The next five minutes were a bit more confused. All the passengers were getting to know each other, chuckling, making pithy comments, getting worried, calling to passengers in other boats, and basically exhibiting various expected reactions to the situation. All the while, the bloody YO HO YO HO song was carrying on and on. And the puppets were dancing in the same way, over and over again.
The next five minutes were spent dealing with fellow passengers freaking out about the music, the fucking puppets, and, mostly, the fact that we're "trapped" and WTH is GOING ON!? THERE MUST BE SOMETHING SERIOUSLY WRONG!! IT'S BEEN FIFTEEN MINUTES AND WE'RE ALL JAMMED IN THESE BOATS IN A BURNING VILLAGE SOMEWHERE!!
What turned out to be roughly the last five minutes were spent AGREEING THAT THIS IS CrAzy! WHY CAN'T THESE FUCKING PUPPETS SING A BIT MORE THAN YO HO YO HO A PIRATE'S LIFE FOR ME OVER
And then the boats started up and all was fine.
I survived.
As my father lik@(munch munch)...