The problem with SDI was not the science, but the political idiocy of spending a fortune undermining deterrence instead of working toward mutual disarmament, and the economic impossibility of dealing with countermeasures.
Since you can't negotiate with an asteroid, and that they tend not to deploy decoys, this should work a lot better than SDI.
I think we could take care of the obviousness criterion with something like this:
To submit a patent you should be required to provide a spec, an implementation, and a reward. Then the spec is published and if anyone can come up with an alternate implementation within a few days (or weeks), or prove that the submitted implementation doesn't work, he gets the reward and the patent is refused, otherwise the submitter keeps the reward and the patent is granted.
In addition, every time you submit a patent that gets rejected, the reward doubles.
Rocket technology is dual-use, it can be used to deliver warheads or launch satellites. It is quite reasonable to be interested in both applications. Just because they are emphasizing one or the other depending of the circumstances doesn't mean there is a contradiction.
Black Americans represent 28.0% of arrests, and 12.6% of the population, which works out to 2.2 times the per-capita rate of all other Americans. This ratio is higher for murder and robbery. Thus it is perfectly normal that black identifying names correlate better with arrest records.
No bias here. If I was one of this guy's students, I'll ask my money back.
assert() causes a *deliberate* termination, in the sense that the programmer explicitly intends the program to terminate at that point if the assertion fails.
This contrast with an unintended termination, as caused by something like a SIGSEGV.
assert() doesn't *gracefully* terminate, as exit() would, but that is a separate issue. And it is done that way because the state of the program can no longer be trusted at that point. Of course you might want to have more granularity than just assert() and exit(), but you need something that can do an "emergency stop" in some cases.
By runtime error I mean something like an input validation error, an out of memory error, a disk full situation, etc... Basically something that might or might not happen, depending of what happens outside the program during execution.
This is in contrast with a programming error, which could be said to exist before the program starts, and which always happens (when the relevant code runs).
For example, malloc() returning null is a runtime error. Passing a null pointer to a function that doesn't expect it because you forgot to set it, is not. assert() would be an appropriate way to catch the second error, not the first.
It doesn't cause a crash. Quite the opposite. It is a way of deliberately causing program termination upon encountering an internal inconsistency; precisely so as to avoid a crash, a silent failure or some other undesirable behavior.
Obviously, in a bug-free program, assert() would never trigger and is therefore unnecessary. In the real world it is a useful safety net.
Note that assert() is sometimes used to catch runtime errors. That is indeed inappropriate. But you shouldn't condemn the tool because it is sometimes used incorrectly.
Nowadays wireless internet access is available anywhere at a reasonable cost, either as part of a smartphone plan or, for laptops, via something like a HSPA dongle. I can't even imagine buying one of these things today without an accompanying internet plan.
Open wifi is a nice idea but it is no longer necessary, and more trouble than it's worth considering the security and legal implications.
The idea is that you have exclusive physical access to the hardware, until you decide to abandon it. If an enemy can separate you from the hardware or access it before you make this decision, you have other problems.
There are plenty of other reasons not to want a system that nags you at regular interval.
Rockets and spacecrafts are considered experimental vehicles by the standard of the aerospace industry. They have nowhere near the reliability of airliners, if only because the number of flights and hours of flight required to certify an airliner dwarf what any family of spacecraft experiences during its entire operational lifetime.
Besides, SpaceX has sill not begun regular commercial operation. Their ability to maintain a schedule and attain their cost and reliability objectives is totally unproven at this point. I'm not even sure it will be around in 10 years.
All this boasting about Mars or how they will make Boeing or Arianespace obsolete is a little premature.
Given that a simple comment from the Dixie Chicks along the line of "We are disappointed that Bush is from Texas" resulted in CD crushings (apparently they don't burn) and radio bans, you are probably right.
It is false dichotomy. The choice is not between say, sending a robot or a human to Mars.
It is between spending 20 billions on human spaceflight and having footsteps on Mars and some samples, or spending the same on robots and having Martian samples, plus a geophysical network on Mars, plus a Neptune orbiter, plus in situ studies of Titan and Europa.
Robots are merely an extension of our senses. The use of tools, from the bow and arrow to the Mars rover is what made our species successful. Clinging to the outdated notion that you have to do everything in person never was.
First there was the multimedia revolution. You can now capture audio, picture and video (even HD) content digitally, transfer it on a computer, edit it, and distribute it world wide, all on a (relatively) cheap PC. Try to do this on a 486.
Now you have smartphones packed with sensors, ubiquitous high speed internet access and web apps backed by massive datacenters.
And it is not just the hardware that improves. There have been tremendous improvements in recent years in fields like machine translation, algorithmic trading, facial recognition, autonomous vehicles, etc...
Computing is not limited to COBOL-type stuff. And yes, it is still in its infancy.
It is trivial to add this capability to any RC aircraft. Just stick an ArduPilot in and you are done.
Neptunium-237 is weapon-usable as well.
Given that inmates don't have internet access, yes.
What makes you think China can't do the same ? They are probably the one you'll be buying the robots from anyway.
The problem with SDI was not the science, but the political idiocy of spending a fortune undermining deterrence instead of working toward mutual disarmament, and the economic impossibility of dealing with countermeasures.
Since you can't negotiate with an asteroid, and that they tend not to deploy decoys, this should work a lot better than SDI.
I think we could take care of the obviousness criterion with something like this:
To submit a patent you should be required to provide a spec, an implementation, and a reward. Then the spec is published and if anyone can come up with an alternate implementation within a few days (or weeks), or prove that the submitted implementation doesn't work, he gets the reward and the patent is refused, otherwise the submitter keeps the reward and the patent is granted.
In addition, every time you submit a patent that gets rejected, the reward doubles.
Rocket technology is dual-use, it can be used to deliver warheads or launch satellites. It is quite reasonable to be interested in both applications. Just because they are emphasizing one or the other depending of the circumstances doesn't mean there is a contradiction.
Or you could just use Minix 3 and let it die.
How does that work exactly ? You shoot at a border agent and then what ? Guns are not a solution to everything.
You don't need a terminal emulator for that. A simple output only console is sufficient to display kernel messages.
Oh thou who art awake, would you care sharing with us exactly what you are doing to curb the police state (apart from ranting on /.) ?
---
This post is certified 100% sarcasm-free.
Black Americans represent 28.0% of arrests, and 12.6% of the population, which works out to 2.2 times the per-capita rate of all other Americans. This ratio is higher for murder and robbery. Thus it is perfectly normal that black identifying names correlate better with arrest records.
No bias here. If I was one of this guy's students, I'll ask my money back.
assert() causes a *deliberate* termination, in the sense that the programmer explicitly intends the program to terminate at that point if the assertion fails.
This contrast with an unintended termination, as caused by something like a SIGSEGV.
assert() doesn't *gracefully* terminate, as exit() would, but that is a separate issue. And it is done that way because the state of the program can no longer be trusted at that point. Of course you might want to have more granularity than just assert() and exit(), but you need something that can do an "emergency stop" in some cases.
assert() doesn't work at compile time anyway.
By runtime error I mean something like an input validation error, an out of memory error, a disk full situation, etc... Basically something that might or might not happen, depending of what happens outside the program during execution.
This is in contrast with a programming error, which could be said to exist before the program starts, and which always happens (when the relevant code runs).
For example, malloc() returning null is a runtime error. Passing a null pointer to a function that doesn't expect it because you forgot to set it, is not. assert() would be an appropriate way to catch the second error, not the first.
You don't understand what assert() is for.
It doesn't cause a crash. Quite the opposite. It is a way of deliberately causing program termination upon encountering an internal inconsistency; precisely so as to avoid a crash, a silent failure or some other undesirable behavior.
Obviously, in a bug-free program, assert() would never trigger and is therefore unnecessary. In the real world it is a useful safety net.
Note that assert() is sometimes used to catch runtime errors. That is indeed inappropriate. But you shouldn't condemn the tool because it is sometimes used incorrectly.
Because Steve Jobs invented the computer, duh.
Nowadays wireless internet access is available anywhere at a reasonable cost, either as part of a smartphone plan or, for laptops, via something like a HSPA dongle. I can't even imagine buying one of these things today without an accompanying internet plan.
Open wifi is a nice idea but it is no longer necessary, and more trouble than it's worth considering the security and legal implications.
The idea is that you have exclusive physical access to the hardware, until you decide to abandon it. If an enemy can separate you from the hardware or access it before you make this decision, you have other problems.
There are plenty of other reasons not to want a system that nags you at regular interval.
The key word is *regular*.
Rockets and spacecrafts are considered experimental vehicles by the standard of the aerospace industry. They have nowhere near the reliability of airliners, if only because the number of flights and hours of flight required to certify an airliner dwarf what any family of spacecraft experiences during its entire operational lifetime.
Besides, SpaceX has sill not begun regular commercial operation. Their ability to maintain a schedule and attain their cost and reliability objectives is totally unproven at this point. I'm not even sure it will be around in 10 years.
All this boasting about Mars or how they will make Boeing or Arianespace obsolete is a little premature.
Given that a simple comment from the Dixie Chicks along the line of "We are disappointed that Bush is from Texas" resulted in CD crushings (apparently they don't burn) and radio bans, you are probably right.
Canonical did not abandon users who want a traditional desktop. You might have heard of Xubuntu and Kubuntu.
It is false dichotomy. The choice is not between say, sending a robot or a human to Mars.
It is between spending 20 billions on human spaceflight and having footsteps on Mars and some samples, or spending the same on robots and having Martian samples, plus a geophysical network on Mars, plus a Neptune orbiter, plus in situ studies of Titan and Europa.
Robots are merely an extension of our senses. The use of tools, from the bow and arrow to the Mars rover is what made our species successful. Clinging to the outdated notion that you have to do everything in person never was.
He is not responsible for the way Manning was treated. You have to thank your beloved commander in chief for that.
Progress didn't stop in 1995.
First there was the multimedia revolution. You can now capture audio, picture and video (even HD) content digitally, transfer it on a computer, edit it, and distribute it world wide, all on a (relatively) cheap PC. Try to do this on a 486.
Now you have smartphones packed with sensors, ubiquitous high speed internet access and web apps backed by massive datacenters.
And it is not just the hardware that improves. There have been tremendous improvements in recent years in fields like machine translation, algorithmic trading, facial recognition, autonomous vehicles, etc...
Computing is not limited to COBOL-type stuff. And yes, it is still in its infancy.