What Is the Oldest Code Written Still Running?
Consul writes "What is the oldest piece of code that is still in use today, that has not actually been retyped or reimplemented in some way? By 'piece of code,' I'm of course referring to a complete algorithm, and not just a single line." The question would have a different answer if emulation, in multiple layers, is allowed.
I'd go for the Babbage Difference Engine in the London Science Museum.
Knowing full well that I haven't got a clue, my guess would still be microcode embedded in some special purpose device - i.e. not a general purpose computer.
:)
I don't remember when digital watches started appearing, but I suppose there's a bit of code in there? Various industrial machines from waaay back that are still in use ought to be good candidates as well.
Kudos to Consul for a remarkably interesting Ask Slashdot. The best one I've seen in a long while
May we live long and die out
The code in the Voyager spacecraft, at least, was extensively updated after launch and throughout the mission.
Sometimes companies just have ancient systems somewhere in their infrastructure cause they can't gut them.
open source modern art: laser taggi
Still.. we have hundred year old humans right? And some thousand year old trees. Trees are run by a somewhat simple generative algorithm, but still... as far as age goes, they still take the cake.
Not quite a cheat, but I'd say that the original instructions used to calculate log tables might be close.
It's code (well, instructions - same thing?)
While it has been retyped many time, I'm sure the original paper-based instructions are still in a library somwwhere, and would work on a suitably old calcuator (hand-cranked, of course)
It's definitely a complete algorithm
politicians are like babies' nappies: they should both be changed regularly and for the same reasons
True, but what's really the definition of "still running" for purposes of it being the same code? If you patch one byte, is it the same code? Sort of a Ship of Theseus problem, no?
Done with slashdot, done with nerds, getting a life.
And why should they? It works. It does precisely the job it was designed to do, and continues to do it at at least the level of ability it originally had, often better if the hardware underneath has been upgraded. Something only truly becomes obsolete when it no longer satisfies today's needs. A well designed, task-specific system could theoretically never become obsolete.
"Convictions are more dangerous enemies of truth than lies."
If there was a power outage, they might not be able to find the guy to turn on the machine? Then it's time to upgrade.
I agree with you that if it works, why fix it? But when a product has reached end of support because 1) the manufacturer has stopped supporting it or 2) there is no one in the working population that knows what to do with it, then you have to get it out of your infrastructure. You cannot continue to rely on products that you have no way of fixing if they break. Just because it hasn't broken in the past 30 years is no indicator that you won't hit something in the next 30 that won't break it.
Disagreeing with me does not mean you get to mod me troll.
Ouch. Holy crap.
I don't know which is worse - that you were able to recite that from memory, or that I recognized it.
I was going to come in here and give the obvious answer to the question (that answer being 'bubblesort') but I think you may have me beat.
Glonoinha the MebiByte Slayer
We probably wouldn't be as far along. Military technology, especially in times of conflict, has resulted in a great deal of progress. Among other things, there's clearly defined failures (eg, someone defeats your army in battle or you have to abandon some location or policy). In comparison, what's failure in space development? It's obvious when things blow up. But what happens when things just aren't done? Is that a failure or just something that can't yet be accomplished? As I see it, it's far easier for a space program to plug along without any real measure of success and failure. That has complicated our efforts to do things in space.
As both a mechanical engineer and software engineer, this doesn't amaze me at all. It's basic "CYA", applied by engineers. They were sitting around a table one day, going over failure modes or something like that, and someone said "Hey, what if we forgot something here? Can we prove that we've covered everything that could be foreseen?". They thought about that for a minute, and being practical engineers, they said "Nope; we can't prove squat, and we probably did miss something, so lets build in something to let us deal with that contingency." And that's how the remote update system got invented. It's an obvious solution to an obvious problem, once you accept that uncertainty is a constant that needs to be dealt with rather than hidden away.
I never said such a thing, I merely (implicitly) pointed out that there there is, to my knowledge, no scientific theory that suggests that genetic code was written by some entity, instead it suggests that it is a (rather impressive) case of self-modifying code. Where (R/D)NA 1.0 came from is still unclear, but given the way science has advanced the last hundred years, it would seem reasonable to assume we'll find it out at some point in the future (and it will probably be an explanation that does not involve a supernatural being, just like the ones we have for the lightning, disease, etc.). Now if we assume that there was no writer involved in the creation of (R/D)NA, then we can conclude that (R/D)NA was not written at all. However, many religions involve some kind of creator(s). Someone believing in such a religion might believe that (R/D)NA was 'written' by such a creator. Any argument in favor of the existance of such a writer based primarily on such a religion would not be a valid argument for anyone who is not a member of that specific religion, and therefore should not be used on slashdot, where people of many different religions (and many without any religion) are present.
Long story short: I fail to see how you conclude form my former post that religion offends me, it does not. And we're being horribly off-topic.
Comment removed based on user account deletion
It's absolutely mind-boggling to type 'free' in a Linux system, and find out that 800 Megabytes of 1 Gigabytes is in use, with just the Desktop and browser in use.
total used free shared buffers cached
Mem: 1032772 888948 143824 0 66088 397432
-/+ buffers/cache: 425428 607344
Swap: 1052216 323804 728412
Vintage computer adverts: http://www.vintageadbrowser.com/computers-and-software-ads
Some of these micros have no RAM - just registers. The need for frugal computing will continue forever.
Yes, it is true theat Moores Law also applies, to an extent, to these micros: you get faster and bigger devices for the same price. But Moore's Law works the other way too. A fixed capability device gets cheaper and cheaper. If a rice cooker manufacturer has a 50c controller in their rice cooker and can bring that cost down to 40c they'll do the software development needed to achieve this.
Engineering is the art of compromise.
There are two kinds of fool.
One says, "This is old, and therefore good."
And one says "This is new, and therefore better."
John Brunner - The Shockwave Rider
and we've all read that book at least once, right? RIGHT?
Literalism isn't a form of humor, it's you being irritating.
yeah, communicating effectively with people instead of flaming them is certainly cause to get "fed up".
When you try to express a concept that might piss people off, and you aren't trying to piss people off, saying so and expressing sensitivity to their beliefs isn't "PC", it's basic technique of a civilized person in conversation.
note the word "civilized" typically connotes that you are attempting to be a civil person. While being an opinionated asshole is easy and fun (believe me, I know!) it is not effective communication unless your goal is to intimidate your listeners.
I share your impatience with people with thin skins; I also share on a personal level your disdain for those people's "maturity". but the fact is, people are different, and some people have thin skins for legitimate reasons you have no knowledge of. recognizing that is simply showing your listener that you have a basic respect for them as a human being, and it typically goes a lot further to achieve final understanding that just beating them about the head with their own "hot buttons".
in short, showing a little respect, deserved or not, is what it means to be civilized, IMHO. I don't always follow this. But whining about PC stuff is old and tired. Yeah, some people suck and are stupid and wussy; and it's still cool to be cool to people, by and large.
The cesspool just got a check and balance.
In particular, the bootloader or the software updater itself. Those are both (1) relatively simple with a fixed problem scope, and (2) more dangerous to update than other software routines.
Not to say it can't be done, it's just highly unlikely to be worth it, so I'd expect those routines to last quite a long time.
In 1989 I rewrote the space shuttle nose wheel steering system using Karnaugh mapping to simplify the 16 boolean inputs.
There were some problems with the steering system on earlier shuttle flights and new requirements were created by some really smart folks that I was assigned to implement. Due to the ugliness of my implementation, unless someone completely re-wrote that software, it wasn't going to be maintained. Any changes would force a complete re-write.
Thanks to the team who helped validate all my test cases! The Nose Wheel Steering PARTY was fantastic, at least the little that I recall. Hey Spencer, JV, KM, DC, Amy, DC2, PD, LP, SM, and the rest of the FSW guys!
A special thanks goes to PD (God rest his soul) for all his help. PD (insiders know him), went on to lead the team that did the drag shoot deployment software and write heart pacemaker software. He died a few years ago.
Ahhh, generators, UPSs, and tigers, oh my! I work at a University that supports close to 100,000 students, faculty, and staff. We've got lots of systems. We've got lots of backup plans. We've got multiple redundant UPSs, multiple generators, and machines with multiple PSs, split between different circuits. I'm thoroughly convinced that the only way to have a truly redundant system is to have two mirrors --- on separate continents. Murphy's Law. If you have *any* single point of failure, it WILL fail. At the worst possible time. If you have two generators, UPSs, etc. the one day the generators kick on, there WILL be a fire in the wiring closet.