The principal vice of the average specialist is his inclination to exaggerate his own knowledge and deprecate everyone else’s. Give him control and he will become an insufferable tyrant.
Hey, I didn't know Bakunin read Slashdot comments!
We must respect the scientists for their merits and achievements, but in order to prevent them from corrupting their own high moral and intellectual standards, they should be granted no special privileges and no rights other than those possessed by everyone – for example, the liberty to express their convictions, thought, and knowledge. Neither they nor any other special group should be given power over others.
I guess he would have made a pretty good Wikipedia editor too. How is Citizendium going, by the way?
But seriously, he does seem to have been right on the mark there. The Bolsheviks stuffed a lot of things in the name of big science.
Anarchy by definition is NOT a form of government. Or, if you prefer, is the self government of each individual over himself.
And when you get two individuals who each want conflicting things?
Anarchism in its pure form is like a theory of particle physics which requires that there be no fields. ("Because each particle must voluntarily choose its own trajectory!")
That is the life of those who choose not to recognize property rights and by so doing become animals..
I don't think you understand how much animal life revolves around property rights. That's what all the fighting over territories is about. "Rowrl! I own this patch - get off!" "You present an excellent case, Mr Fluffles - but I believe I can establish prior claim. Care to take this to the tribunal, or shall we settle this like gentlecats, here in the streets?" "Yelp! Yelp!"
The fundamental nature of anarchy is that it is a heavily localized and the society that emerges will only reflect the values of those who form it.
That's trivially true, and in fact is a null statement - every form of society reflects the values of those who build it.
So we're already anarchists, everywhere in the world! And you can't say we aren't, because who are you to tell us what to think? You can't even tell us not to follow centrally-planned state orders, because we've obviously chosen to do that, and your opinion has no moral right over our choice.
This is why anarchism needs more thought. It claims ideological purity, but in its pure form it means absolutely nothing.
there would be no police because the people of the community are responsible for it, every man, woman, and child.
Good idea! But wait, the children aren't going to make particularly effective community-rule-enforcers, are they? Lacking in muscle mass, for one thing. And pregnant women probably aren't going to want to get into violent struggles. So pretty soon the community is going to have a meeting, and cooperatively decide to split the functions of making the rules and and enforcing them. The meeting will meet regularly and decide the rules, and a dedicated group of enforcers will do any fighting that's needed.
Voila - you've just created a "congress" and a "military". And now you have a government.
Go on long enough - say more than a week - and you'll also want to create a standing small committee to do the day-to-day organising, appointed by the wider group congress. Now you have a "cabinet" or "executive". You'll probably want to appoint a media spokesman at some point - now you have an ambassador and a diplomatic service. Try to balance the chores list so everyone's happy and productive and soon you'll have either a command-control economy or some kind of currency. And so it goes.
Anarchism is an interesting exercise in rebuilding societal structures from scratch - like coding a Unix kernal from assembler, it's a worthwhile exercise for budding society-hackers to do once in every generation just so you see the rationale for the structures we've built. And yes, there are many fixes that can be made to this big body of sprawling legacy code that is our law and politics. But everything arose for a reason, as patches upon patches, and often those patches fix real bugs.
But sometimes you just want to use a society, you know? Not recreate thousands of years of social evolution in a weekend, and deal with thousands of fault requests.
In a stateless society, if you "stole" land from someone who had never in his life been within 1,000 miles of the land, nothing would happen, because the person isn't there, or anywhere close!
Not necessarily true. Yes, you have to have some kind of indirect, multi-personal mechanism for asserting and projecting force to maintain "ownership" of land, but that mechanism doesn't have to be anything resembling a modern political "state". It could just as easily be a multinational corporation like GlaxoSmithKline or Monsanto. It could be a private security coporation like Group 4, Xe or the Pinkertons. It could be an organised crime syndicate or gang like the Mafia, Zetas or Crips/Bloods. It could be a religious/business hybrid like Scientology. It could be a decentralised insurgency like Al Qaeda. It could be a non-state, non-profit, non-religious NGO like Wikileaks. It could be a complex mixture of all of the above, interacting in hard to predict ways.
Arguably we already live in such a world and have for many hundreds of years, at least since the rise of the Dutch and British East India Companies in the 1600s with their combination of state, religion, and private capitalist militias. But if you read history, even the ancient empires used hired mercenaries and were federations of many actors which evolved through complex power shifts over time- there never has been a single unified "state", ever.
The problem I see is that if you don't realise that a "state" is just one of many possible and overlapping forms of human group power-maintainance behaviour, then you might misdirect your energies at toppling Da Gummint while allowing something worse to grow in its place. This is what I think anarchists are most misguided about. It's fine to oppose the human tendency to centralise power. But learn to recognise power abuse in all of its forms, large and small, because small systems of abuse grow into large ones if they achieve dominance.
It seems likely that even allowing for global economic growth the "N.B.A." will be an even bigger fractional expense and so drive even greater craziness.
Hey, I dislike baseball as much as the next techie, but...
If it were anything of substance then it would be easy to explain, everyone would get it
I dunno. Special relativity seems to be pretty important to 20th century physics, and the maths is really simple (or at least appears so at first glance), but despite reading many easy-sounding explanations over decades I still don't feel I 'get' it at an intuitive level. The twin paradox, for example. Common sense (always a dangerous if not fatal thing to attempt to apply to modern physics) would suggest that, since all motion is relative, then the time dilation of a spaceship travelling at 0.9 C in in a fixed star's frame would exactly equal and counteract the time dilation of the star in the ship's frame, leaving no net dilation at the end of the trip. But that of course is famously not the result used in textbooks or thousands of SF books, which usually just say "the traveller dilates by gamma, the stay-at-home doesn't", without mentioning that that result is the paradox. The actual resolutions are much more complicated and usually left to advanced texts, and that's where I generally get lost.
It's a completely free and open product, planned from the start to make Linux more usable by non-technical people. And you're complaining.
Yes, because it doesn't actually work even for that purpose.
It's a noble goal to make computers useful for newbies. Really it is. But doing it wrong doesn't help anybody, and just because you're doing it for free (um, despite the massive amounts of cash flowing into Canonical which must be coming from somewhere) doesn't mean you get to censor valid criticism of what you're doing wrong.
After all the graphical programs are X clients. Why would a client up and die just because some server died?
This! I've wondered exactly this since about 1997, when I first got into Linux. Decoupling the X Server and clients from running in the same session... since it's network transparent and all and was designed for the server being even on a completely different machine... seemed like the obvious thing to do and it boggled me that none of the mainstream desktop environments ever did it.
I even managed to install a whole second X instance on Ubuntu once, just so that I could run Wine and Dosbox games which occasionally crashed and left the GUI in an unstable state, and then I could restart the X server without losing my main workspace. But it seemed like a ridiculous workaround for something which has inexplicably never been implemented despite being "one of the main advantages of X".
Who in their right mind would trust the Weyland-Yutani Corporation given what they did to the colonists on LV-426?
Exactly! The Hadley's Hope debacle demonstrates that you might not always need a fully network-transparent protocol with the ability to remote-administer a site from orbit - but when you need it, you really really need it.
In both old GNOME 2 and Unity, the button to open a new app is top left of the screen. So when you close an app with a top-left button, your pointer is now very close to where it needs to be to open a new one.
In other words, the difference between clicking "Open New App" and "Close this other unrelated open window and destroy all my unsaved data in it" is about three pixels, or a half-millisecond twitch in your fine motor control finger muscles. That's not a feature.
Ubuntu is the best thing to happen to Linux for all of us who dont use Linux. Its users have been faithfully beta testing for everyone else for the last 6 years:P
Just so. Except for about the last 3 years, we've been nagging Canonical as a beta group saying "hey, these changes you're making aren't working, nobody likes them, it was better in the previous release, pls fix" and they all come back with "WONTFIX. Ever. Your brain is wrong. I am as a god among developers! I went into SPACE! Muhahaha! Sincerely, M. Shuttleworth."
They are not. Pattern recognition and semantics are totally different areas of research.
I'm curious as to why that would be helpful. Isn't semantics just the extension of pattern recognition into wider contextual patterns of behaviour, as opposed to patterns of text?
I mean, it seems obvious that no amount of processing could extract any universal meaning from a text without some a priori contextual knowledge of the associations between words and their implications in the wider universe of discourse - any more than it would be possible for a compiler to generate machine code from a program without any of the libraries it references. But that seems a far cry from saying that these should be totally different areas of research.
Maybe it's just my programming background, but a good working definition of "semantics" in this field has always been simply "the effect of this piece of code/data on another piece of code/data". If you assume that the universe is just a very very large database, then it seems to be obvious that all human knowledge really just is pattern recognition. We see moving lights in the sky, we abstract repeating patterns from that, eventually we deduce Gmm/r2. Why couldn't a computer link a database of words used in newspaper headlines with a database of, say, Congressional voting records, and deduce that, say, "Republican" correlates to "increased military expenditure and reduced taxes" while "Democrat" correlates to "increased taxes and healthcare spending". Or not.
Syntax is data, behaviour is data, semantics is just the mapping from one to the other. And you can continue the process of mapping datasets to datasets recursively as long as you want. Isn't that the case?
The first words out of our mouth when everyone else gets angry: Hey we've got a lot more where that came from!
At least, we used to, but we seem to be having technical difficulties with our ICBM launch control systems right now. Stand by...
Aw, crap.
(Sure US military networks are EMP shielded. In theory. How do you go about actually testing a network that big? It was probably last fully stress-tested sometime in the 1960s, and everything not inside an actual missile now is probably routed through some web-app written in Visual Basic on an outsourced Windows server in the Cloud.)
the early anti-ballistic missile programs, Sentinel and Safeguard, were designed to destroy incoming nuclear warheads by... blowing them up with other nuclear warheads.
And that's how we got the ABM program known as Atari Missile Command.
it was supposed to help US scientists and the military understand how the Soviets might try to stop incoming nuclear missiles. What it actually did was
Thanks for the loaded language; actually, it probably did both.
Right. The results were probably something like "neat, so we can fry the electronics of incoming missiles by launching a high-altitude burst of our own, and we don't even have to get very close... and we can use this to take out satellites, spacecraft, civilian ground systems, all sorts of things... but we better harden all our military systems against the EMP burst. On the downside, we now have to replace about a thousand light bulbs in Hawaii, but hey, Science!"
On the other hand, there was a reason Starfish Prime wasn't done again, and it wasn't just the EMP pulse. A test ban went into effect the next year, because fallout isn't a nice thing and was showing up in various places it shouldn't, like kids' teeth.
That would be the future without oxygen, water, radiation protection, or a biosphere. Not sure why you're so anxious to get there. The nearest star, which doesn't appear to have any habitable planets around it, is centuries away at any currently achievable speeds. Getting there will require multiple generations living in a tiny box where every breath has to be recycled; the result would be a totalitarian eco-fascist state beyond the wildest dreams of the conservative parody version of a loevchild of Al Gore and Stalin.
It seems like it would be simpler to just learn how to live within our ecological means here on earth, where worst case, if the drinking water is a bit salty, we at least get the oxygen for free.
Granted, if we had a Star Trek warp drive, which our best physics tells us is practically speaking impossible, then we might be able to reopen the swashbuckling 1600s' Age of Colonisation out beyond Jupiter, but that seems like a pretty long bet given that the LHC's Higgs verification has slammed the door shut on amost plausible extensions of Standard Model physics.
An OO language breaks the organization of THINGS in a very natural way for western thinkers.
Yes. And that right there is a subtle trap.
The first problem is that the "tree of subclasses" organisation, while on the surface seeming natural, is not in fact an accurate description of real taxonomies found either in nature or in large software projects. Especially so if the "software" includes business data. It turns out there are an awful lot of platypuses in the real world, things which simply don't fit neatly into the tree.
For example, a classic "toy" example often used in the OO analysis world is a database of employees. Lets see, we have managers, and we have workers. Great, we can subclass those! We'll have an abstract Person class, then personWorker and personManager who are subclasses of Person. Instantiate Jack Smith as an instance of class personWorker. Problem sol - um. Wait. Jack just got promoted from a worker to a manager. Crap. Can our OO system of choice handle dynamically changing an object's class during its lifetime? No, it enforces strict classing, so it can't. Oops. No problem, we'll delete Jack and recreate... oh. His entire work history was attached to that object, linked by opaque reference and not by name or staff ID, and now it's all gone forever. Double crap. Oh well. He's left the company anyway, and now he's come back as a private contractor. We'll just make him a new personContractor. Easy. Yeah, wait, now we're dealing with him also over in the billing system as a personSupplier. But wait, there's more, he just bought some stuff from us, so he's also a personCustomer! Now he's three classes at once! The universe has gone crazy!
Most real OO systems "solve" this problem by either not doing inheritance here at all - therefore completely invalidating the "OO is about inheritance" line - or duplicating the data in multiple objects - thereby invalidating the "OO is about modelling the business domain directly" line. But at this point we're really starting to lose most of the advantages of OO entirely.
But there's a second, even more subtle problem: although OO usually uses "class" as a synonym for "type", it turns out that subclasses are NOT at all the same thing mathematically as a subtype. (Because you can override the behaviour of a class, meaning its behaviour is now not a strict subset of its superclass, but can also be a superset.) In fact there's no really sensible definition of "subtype" at all - Liskov substitutability requires that you define a context within which you want to limit your idea of "equality", and over the scope and lifetime of a sufficiently large software system, that context is going to change radically. So there goes all your type safety. Add in runtime reflection (which was a fundamental principle of Smalltalk, the first OO system, but seems to be an optional add-on recently tossed haphazardly back into the modern variety) and things get even more confused.
And finally, even the idea of typing can become a third subtle trap. Even if you could (which you can't in the real world) restrict your software system to a neat tree of subclasses corresponding exactly to strict subtypes in a glorious Platonic universe - if you look at your code carefully, you find out that your class/type structure, no matter how strict and clever you make it, doesn't actually tell you anything about the behaviour of your objects. It only tells you the calling signature. That you've defined an addOne method in all your IncrementableByOne class structures doesn't mean that any of those subclasses actually have to implement int addOne(int X) as returning X plus one - just that they receive and emit an integer. So after all your compile-time declarations, you've gained a whole lot of not much at all, and you have to implement a whole testing harness apparatus to do by hand what your compiler initially promised it will do.
tl;dr: Just like (insert a political philosophy you dislike), OO is a big idea, a seductive idea, but not actually a correct idea. And attempting to apply thoughtlessly will cause pain.
The principal vice of the average specialist is his inclination to exaggerate his own knowledge and deprecate everyone else’s. Give him control and he will become an insufferable tyrant.
Hey, I didn't know Bakunin read Slashdot comments!
We must respect the scientists for their merits and achievements, but in order to prevent them from corrupting their own high moral and intellectual standards, they should be granted no special privileges and no rights other than those possessed by everyone – for example, the liberty to express their convictions, thought, and knowledge. Neither they nor any other special group should be given power over others.
I guess he would have made a pretty good Wikipedia editor too. How is Citizendium going, by the way?
But seriously, he does seem to have been right on the mark there. The Bolsheviks stuffed a lot of things in the name of big science.
I'm guessing that is because your definition of Anarchism is different than the definition held by the people you are talking about.
That just means he's a really good anarchist and is doing it right!
Your "definitions" of "words" are, like, thought control, man.
Anarchy by definition is NOT a form of government. Or, if you prefer, is the self government of each individual over himself.
And when you get two individuals who each want conflicting things?
Anarchism in its pure form is like a theory of particle physics which requires that there be no fields. ("Because each particle must voluntarily choose its own trajectory!")
Good luck making it approximate reality.
That is the life of those who choose not to recognize property rights and by so doing become animals. .
I don't think you understand how much animal life revolves around property rights. That's what all the fighting over territories is about. "Rowrl! I own this patch - get off!" "You present an excellent case, Mr Fluffles - but I believe I can establish prior claim. Care to take this to the tribunal, or shall we settle this like gentlecats, here in the streets?" "Yelp! Yelp!"
The fundamental nature of anarchy is that it is a heavily localized and the society that emerges will only reflect the values of those who form it.
That's trivially true, and in fact is a null statement - every form of society reflects the values of those who build it.
So we're already anarchists, everywhere in the world! And you can't say we aren't, because who are you to tell us what to think? You can't even tell us not to follow centrally-planned state orders, because we've obviously chosen to do that, and your opinion has no moral right over our choice.
This is why anarchism needs more thought. It claims ideological purity, but in its pure form it means absolutely nothing.
there would be no police because the people of the community are responsible for it, every man, woman, and child.
Good idea! But wait, the children aren't going to make particularly effective community-rule-enforcers, are they? Lacking in muscle mass, for one thing. And pregnant women probably aren't going to want to get into violent struggles. So pretty soon the community is going to have a meeting, and cooperatively decide to split the functions of making the rules and and enforcing them. The meeting will meet regularly and decide the rules, and a dedicated group of enforcers will do any fighting that's needed.
Voila - you've just created a "congress" and a "military". And now you have a government.
Go on long enough - say more than a week - and you'll also want to create a standing small committee to do the day-to-day organising, appointed by the wider group congress. Now you have a "cabinet" or "executive". You'll probably want to appoint a media spokesman at some point - now you have an ambassador and a diplomatic service. Try to balance the chores list so everyone's happy and productive and soon you'll have either a command-control economy or some kind of currency. And so it goes.
Anarchism is an interesting exercise in rebuilding societal structures from scratch - like coding a Unix kernal from assembler, it's a worthwhile exercise for budding society-hackers to do once in every generation just so you see the rationale for the structures we've built. And yes, there are many fixes that can be made to this big body of sprawling legacy code that is our law and politics. But everything arose for a reason, as patches upon patches, and often those patches fix real bugs.
But sometimes you just want to use a society, you know? Not recreate thousands of years of social evolution in a weekend, and deal with thousands of fault requests.
In a stateless society, if you "stole" land from someone who had never in his life been within 1,000 miles of the land, nothing would happen, because the person isn't there, or anywhere close!
Not necessarily true. Yes, you have to have some kind of indirect, multi-personal mechanism for asserting and projecting force to maintain "ownership" of land, but that mechanism doesn't have to be anything resembling a modern political "state". It could just as easily be a multinational corporation like GlaxoSmithKline or Monsanto. It could be a private security coporation like Group 4, Xe or the Pinkertons. It could be an organised crime syndicate or gang like the Mafia, Zetas or Crips/Bloods. It could be a religious/business hybrid like Scientology. It could be a decentralised insurgency like Al Qaeda. It could be a non-state, non-profit, non-religious NGO like Wikileaks. It could be a complex mixture of all of the above, interacting in hard to predict ways.
Arguably we already live in such a world and have for many hundreds of years, at least since the rise of the Dutch and British East India Companies in the 1600s with their combination of state, religion, and private capitalist militias. But if you read history, even the ancient empires used hired mercenaries and were federations of many actors which evolved through complex power shifts over time- there never has been a single unified "state", ever.
The problem I see is that if you don't realise that a "state" is just one of many possible and overlapping forms of human group power-maintainance behaviour, then you might misdirect your energies at toppling Da Gummint while allowing something worse to grow in its place. This is what I think anarchists are most misguided about. It's fine to oppose the human tendency to centralise power. But learn to recognise power abuse in all of its forms, large and small, because small systems of abuse grow into large ones if they achieve dominance.
It seems likely that even allowing for global economic growth the "N.B.A." will be an even bigger fractional expense and so drive even greater craziness.
Hey, I dislike baseball as much as the next techie, but...
Next Big Accelerator
... oh. Never mind.
The global financial crisis has been described as the first major disaster that nobody understood.
Arguably that's exactly why it became a disaster in the first place.
Though I think "the first" is pushing it a bit. World War I pretty much fits into the same category.
If it were anything of substance then it would be easy to explain, everyone would get it
I dunno. Special relativity seems to be pretty important to 20th century physics, and the maths is really simple (or at least appears so at first glance), but despite reading many easy-sounding explanations over decades I still don't feel I 'get' it at an intuitive level. The twin paradox, for example. Common sense (always a dangerous if not fatal thing to attempt to apply to modern physics) would suggest that, since all motion is relative, then the time dilation of a spaceship travelling at 0.9 C in in a fixed star's frame would exactly equal and counteract the time dilation of the star in the ship's frame, leaving no net dilation at the end of the trip. But that of course is famously not the result used in textbooks or thousands of SF books, which usually just say "the traveller dilates by gamma, the stay-at-home doesn't", without mentioning that that result is the paradox. The actual resolutions are much more complicated and usually left to advanced texts, and that's where I generally get lost.
It's a completely free and open product, planned from the start to make Linux more usable by non-technical people. And you're complaining.
Yes, because it doesn't actually work even for that purpose.
It's a noble goal to make computers useful for newbies. Really it is. But doing it wrong doesn't help anybody, and just because you're doing it for free (um, despite the massive amounts of cash flowing into Canonical which must be coming from somewhere) doesn't mean you get to censor valid criticism of what you're doing wrong.
Unpossible! Ubuntu's clever cryptonyms grant graciously memorable mnemonic nomenclature, nicely.
After all the graphical programs are X clients. Why would a client up and die just because some server died?
This! I've wondered exactly this since about 1997, when I first got into Linux. Decoupling the X Server and clients from running in the same session... since it's network transparent and all and was designed for the server being even on a completely different machine... seemed like the obvious thing to do and it boggled me that none of the mainstream desktop environments ever did it.
I even managed to install a whole second X instance on Ubuntu once, just so that I could run Wine and Dosbox games which occasionally crashed and left the GUI in an unstable state, and then I could restart the X server without losing my main workspace. But it seemed like a ridiculous workaround for something which has inexplicably never been implemented despite being "one of the main advantages of X".
Who in their right mind would trust the Weyland-Yutani Corporation given what they did to the colonists on LV-426?
Exactly! The Hadley's Hope debacle demonstrates that you might not always need a fully network-transparent protocol with the ability to remote-administer a site from orbit - but when you need it, you really really need it.
So Gnome was bad for being released after KDE?
No, Gnome managed to be bad all on it's own.
In both old GNOME 2 and Unity, the button to open a new app is top left of the screen. So when you close an app with a top-left button, your pointer is now very close to where it needs to be to open a new one.
In other words, the difference between clicking "Open New App" and "Close this other unrelated open window and destroy all my unsaved data in it" is about three pixels, or a half-millisecond twitch in your fine motor control finger muscles. That's not a feature.
Ubuntu is the best thing to happen to Linux for all of us who dont use Linux. Its users have been faithfully beta testing for everyone else for the last 6 years :P
Just so. Except for about the last 3 years, we've been nagging Canonical as a beta group saying "hey, these changes you're making aren't working, nobody likes them, it was better in the previous release, pls fix" and they all come back with "WONTFIX. Ever. Your brain is wrong. I am as a god among developers! I went into SPACE! Muhahaha! Sincerely, M. Shuttleworth."
That the lose/loose problem is spilling into the workplace is an even bigger sign of the problem.
"Thing's fall a part; the center can is holed;
Mayor Anarchy is losed upon the world."
-- W B Yeat's
They are not. Pattern recognition and semantics are totally different areas of research.
I'm curious as to why that would be helpful. Isn't semantics just the extension of pattern recognition into wider contextual patterns of behaviour, as opposed to patterns of text?
I mean, it seems obvious that no amount of processing could extract any universal meaning from a text without some a priori contextual knowledge of the associations between words and their implications in the wider universe of discourse - any more than it would be possible for a compiler to generate machine code from a program without any of the libraries it references. But that seems a far cry from saying that these should be totally different areas of research.
Maybe it's just my programming background, but a good working definition of "semantics" in this field has always been simply "the effect of this piece of code/data on another piece of code/data". If you assume that the universe is just a very very large database, then it seems to be obvious that all human knowledge really just is pattern recognition. We see moving lights in the sky, we abstract repeating patterns from that, eventually we deduce Gmm/r2. Why couldn't a computer link a database of words used in newspaper headlines with a database of, say, Congressional voting records, and deduce that, say, "Republican" correlates to "increased military expenditure and reduced taxes" while "Democrat" correlates to "increased taxes and healthcare spending". Or not.
Syntax is data, behaviour is data, semantics is just the mapping from one to the other. And you can continue the process of mapping datasets to datasets recursively as long as you want. Isn't that the case?
Drowning Polar Bares
Actually as far as I'm aware nobody has drowned during the midwinter Brass Monkey swim at Antarctica.
And ursus maritimus is quite furry at all times.
The first words out of our mouth when everyone else gets angry: Hey we've got a lot more where that came from!
At least, we used to, but we seem to be having technical difficulties with our ICBM launch control systems right now. Stand by...
Aw, crap.
(Sure US military networks are EMP shielded. In theory. How do you go about actually testing a network that big? It was probably last fully stress-tested sometime in the 1960s, and everything not inside an actual missile now is probably routed through some web-app written in Visual Basic on an outsourced Windows server in the Cloud.)
the early anti-ballistic missile programs, Sentinel and Safeguard, were designed to destroy incoming nuclear warheads by... blowing them up with other nuclear warheads.
And that's how we got the ABM program known as Atari Missile Command.
it was supposed to help US scientists and the military understand how the Soviets might try to stop incoming nuclear missiles. What it actually did was
Thanks for the loaded language; actually, it probably did both.
Right. The results were probably something like "neat, so we can fry the electronics of incoming missiles by launching a high-altitude burst of our own, and we don't even have to get very close... and we can use this to take out satellites, spacecraft, civilian ground systems, all sorts of things... but we better harden all our military systems against the EMP burst. On the downside, we now have to replace about a thousand light bulbs in Hawaii, but hey, Science!"
On the other hand, there was a reason Starfish Prime wasn't done again, and it wasn't just the EMP pulse. A test ban went into effect the next year, because fallout isn't a nice thing and was showing up in various places it shouldn't, like kids' teeth.
The future is up there.
That would be the future without oxygen, water, radiation protection, or a biosphere. Not sure why you're so anxious to get there. The nearest star, which doesn't appear to have any habitable planets around it, is centuries away at any currently achievable speeds. Getting there will require multiple generations living in a tiny box where every breath has to be recycled; the result would be a totalitarian eco-fascist state beyond the wildest dreams of the conservative parody version of a loevchild of Al Gore and Stalin.
It seems like it would be simpler to just learn how to live within our ecological means here on earth, where worst case, if the drinking water is a bit salty, we at least get the oxygen for free.
Granted, if we had a Star Trek warp drive, which our best physics tells us is practically speaking impossible, then we might be able to reopen the swashbuckling 1600s' Age of Colonisation out beyond Jupiter, but that seems like a pretty long bet given that the LHC's Higgs verification has slammed the door shut on amost plausible extensions of Standard Model physics.
An OO language breaks the organization of THINGS in a very natural way for western thinkers.
Yes. And that right there is a subtle trap.
The first problem is that the "tree of subclasses" organisation, while on the surface seeming natural, is not in fact an accurate description of real taxonomies found either in nature or in large software projects. Especially so if the "software" includes business data. It turns out there are an awful lot of platypuses in the real world, things which simply don't fit neatly into the tree.
For example, a classic "toy" example often used in the OO analysis world is a database of employees. Lets see, we have managers, and we have workers. Great, we can subclass those! We'll have an abstract Person class, then personWorker and personManager who are subclasses of Person. Instantiate Jack Smith as an instance of class personWorker. Problem sol - um. Wait. Jack just got promoted from a worker to a manager. Crap. Can our OO system of choice handle dynamically changing an object's class during its lifetime? No, it enforces strict classing, so it can't. Oops. No problem, we'll delete Jack and recreate... oh. His entire work history was attached to that object, linked by opaque reference and not by name or staff ID, and now it's all gone forever. Double crap. Oh well. He's left the company anyway, and now he's come back as a private contractor. We'll just make him a new personContractor. Easy. Yeah, wait, now we're dealing with him also over in the billing system as a personSupplier. But wait, there's more, he just bought some stuff from us, so he's also a personCustomer! Now he's three classes at once! The universe has gone crazy!
Most real OO systems "solve" this problem by either not doing inheritance here at all - therefore completely invalidating the "OO is about inheritance" line - or duplicating the data in multiple objects - thereby invalidating the "OO is about modelling the business domain directly" line. But at this point we're really starting to lose most of the advantages of OO entirely.
But there's a second, even more subtle problem: although OO usually uses "class" as a synonym for "type", it turns out that subclasses are NOT at all the same thing mathematically as a subtype. (Because you can override the behaviour of a class, meaning its behaviour is now not a strict subset of its superclass, but can also be a superset.) In fact there's no really sensible definition of "subtype" at all - Liskov substitutability requires that you define a context within which you want to limit your idea of "equality", and over the scope and lifetime of a sufficiently large software system, that context is going to change radically. So there goes all your type safety. Add in runtime reflection (which was a fundamental principle of Smalltalk, the first OO system, but seems to be an optional add-on recently tossed haphazardly back into the modern variety) and things get even more confused.
And finally, even the idea of typing can become a third subtle trap. Even if you could (which you can't in the real world) restrict your software system to a neat tree of subclasses corresponding exactly to strict subtypes in a glorious Platonic universe - if you look at your code carefully, you find out that your class/type structure, no matter how strict and clever you make it, doesn't actually tell you anything about the behaviour of your objects. It only tells you the calling signature. That you've defined an addOne method in all your IncrementableByOne class structures doesn't mean that any of those subclasses actually have to implement int addOne(int X) as returning X plus one - just that they receive and emit an integer. So after all your compile-time declarations, you've gained a whole lot of not much at all, and you have to implement a whole testing harness apparatus to do by hand what your compiler initially promised it will do.
tl;dr: Just like (insert a political philosophy you dislike), OO is a big idea, a seductive idea, but not actually a correct idea. And attempting to apply thoughtlessly will cause pain.