It would take a huge asteroid to wipe out the entire human race. We're talking once every 100 million years, or so. Before we spend any resources on detecting and deflecting asteroids, let's wait another 1000 years. On the scale of large asteroid impacts, a 1000 year delay is insignificant, but on the scale of human civilization, 1000 years is huge. If our civilization is much more advanced in 1000 years, we don't need our dated asteroid impact plans. If civilization crashes, our plans will be useless anyway.
But there's not just one car, there are about a billion cars, so even if you multiply the probability by the magnitude, the asteroid is still insignificant.
Are launch costs that high ? I think there are several options in the $10 million/ton range. I'm not an expert on weather satellites, but I assume you can make a decent one that weighs less than 5 tons, putting it in the $50 million range for launch costs. One launch every 5 years, equals $10 million per year, which is a tiny amount by any standard. You could even launch a couple. Don't worry about launching a Ferrari. Just use something simple and reliable.
No need to save the exact same 20-year old design and copy it. People launch satellites on a regular basis, and most of them are not too expensive. Apparently, there's quite a bit of knowledge on how to make a reasonably priced, earth orbiting satellite that can do basic housekeeping, and maintain a up/down data link to ground stations. To make it a weather satellite, just slap some useful instruments on it, and call it good.
I don't even think the issue is money, or at least not lack of it. They had a $12 billion budget. Compare that to the $2.5 billion they spent on the Mars Curiosity mission, which is much more complicated than a weather satellite. They should have given them a $500 million budget instead, and then it would have much bigger chance of success. The bigger the budget, the higher the risk of making it too complex.
So, what if your check-out style doesn't have a// fall through comment when you intend to fall through, and you check the code back in. Somebody else checks the code out, but has a check-out style with// fall through comments. Does the refactoring program put the comments in automatically ?
If your code style calls for tabs, by all means use tabs, but deal with the fact that it must look good when tabs are defined as 8. Don't set tabs at 3 or 4, and then use tabs to line up things that will produce a horrible mess when viewed with tabs at 8.
I know expand, but I don't want add '| expand -t4' to every command I type, and neither do I want to set the tab width every time I open another file in the editor. And if everybody leaves the tab width at 8, it's not going to break any formatting. It's the morons that set the tab width to anything else than the holy 8 that broke the formatting.
Yes, most editors allow you to change, but I also use command line tools like grep, less, or diff, and they just send the tabs to the terminal which interprets them the standard way with a spacing of 8. Sure, I can set my terminal to change the tab width, but if I then grep some other sources, such as the Linux kernel tree, in the same terminal window, it gets messed up again.
The solution is obvious and simple. Just leave the tab width at 8, and everything works fine, even it uses a mix of tabs and spaces for formatting.
Hard tabs should always be kept at 8 spaces, it's the standard, and makes all the tools work as expected without any tweaking. So, unless your code also indents by 8 positions, use spaces.
Then don't replace a substantial amount of the old tech, but only a little bit. Let's say a satellite lasts 20 years, and it takes 5 years to make some modifications. As soon as you launch one, you start the next 5 year design, and when it's done, you launch it. After 20 years, you have 4 different satellites in orbit, with the first one being 20 years in service, and just starting to fail. If, for some reason, the design is delayed a few years, you can still depend on the other ones.
While we are all waiting for newer ARM products, Intel isn't going to wait. They'll be working just as hard to get better power/performance ratios, and there's no reason to assume that they'll fail to keep up.
Why not take the same design, but incrementally replace old tech by newer tech ? The first priority should be to launch on the scheduled date. While you have a chance, improve the technology, but don't let the launch date slip because you're waiting for even better designs.
We don't have a craft that can carry humans anywhere interesting, land them, and let them survive for a suitable amount of time. Until we have all of that, there's no point in doing the easy stuff. Instead, send more robotic missions until you can land really heavy stuff on Mars with suitably low G forces, and high chance of survival. These "practice" missions can be used for all kinds of cool science projects. Then send robots to prepare a habitat. When that is all done, start thinking about sending humans.
Except that for ARM to scale up to surpass x86 performance, it would need out-of-order scheduling, multiscalar execution, instruction pre-decoding, hardware loop unrolling, speculative execution, memory/register renaming, multiprocessor cache coherency and all that fun stuff that Intel has. After that has been implemented, let's see if the design is still far more elegant. I'll bet it's going to look pretty similar, with x86 instruction decoding becoming an almost irrelevant issue compared to all the other things. And, by the way, have you taken a look at the Cortex architecture ? It's getting less and less elegant. You are right about the compatibility, though. ARM is a mess, with a dozen different, incompatible, architectures in the core alone.
Sure, but even if you assume a half life of 10,000 years, there's not going to be much left after a few billion years. And Mars looks like a nasty place for DNA to survive, so it's more likely that 521 years is overly optimistic.
If you're willing to invoke magic technology, why not get excited about old banana peels ? We only need better technology to turn those into precious metals.
The likelihood of the Earth being hit by an impactor that's large enough to wipe out humanity is 1 in 1
No, because there's a good chance humanity will be gone before that big impactor hits the earth.
In the long term, we're all dead anyway. And I don't play in the lottery either. It's just as silly as worrying about asteroids hitting me.
Hey, they can fantasize all they want, but I get to vote whether I want to have my tax money diverted to crazy projects.
How much thrust would you be able to generate for long periods of time, and where does the energy come from ? Huge solar panels ?
It would take a huge asteroid to wipe out the entire human race. We're talking once every 100 million years, or so. Before we spend any resources on detecting and deflecting asteroids, let's wait another 1000 years. On the scale of large asteroid impacts, a 1000 year delay is insignificant, but on the scale of human civilization, 1000 years is huge. If our civilization is much more advanced in 1000 years, we don't need our dated asteroid impact plans. If civilization crashes, our plans will be useless anyway.
But there's not just one car, there are about a billion cars, so even if you multiply the probability by the magnitude, the asteroid is still insignificant.
The chance of getting killed by a car when crossing the road is orders of magnitude larger than the chance of getting killed by an asteroid.
The CRU data has been available for a while now. What have the "deniers" done with it, exactly ?
Are launch costs that high ? I think there are several options in the $10 million/ton range. I'm not an expert on weather satellites, but I assume you can make a decent one that weighs less than 5 tons, putting it in the $50 million range for launch costs. One launch every 5 years, equals $10 million per year, which is a tiny amount by any standard. You could even launch a couple. Don't worry about launching a Ferrari. Just use something simple and reliable.
Sure, but then everything that has tabs set at 8 (i.e. everything else) will break instead.
No need to save the exact same 20-year old design and copy it. People launch satellites on a regular basis, and most of them are not too expensive. Apparently, there's quite a bit of knowledge on how to make a reasonably priced, earth orbiting satellite that can do basic housekeeping, and maintain a up/down data link to ground stations. To make it a weather satellite, just slap some useful instruments on it, and call it good.
I don't even think the issue is money, or at least not lack of it. They had a $12 billion budget. Compare that to the $2.5 billion they spent on the Mars Curiosity mission, which is much more complicated than a weather satellite. They should have given them a $500 million budget instead, and then it would have much bigger chance of success. The bigger the budget, the higher the risk of making it too complex.
I'm not mixing tabs with spaces. I'm just typing 'more somebody_else\'s_source.c' and it looks like shit because they have tabs set at 4.
So, what if your check-out style doesn't have a // fall through comment when you intend to fall through, and you check the code back in. Somebody else checks the code out, but has a check-out style with // fall through comments. Does the refactoring program put the comments in automatically ?
If your code style calls for tabs, by all means use tabs, but deal with the fact that it must look good when tabs are defined as 8. Don't set tabs at 3 or 4, and then use tabs to line up things that will produce a horrible mess when viewed with tabs at 8.
I know expand, but I don't want add '| expand -t4' to every command I type, and neither do I want to set the tab width every time I open another file in the editor. And if everybody leaves the tab width at 8, it's not going to break any formatting. It's the morons that set the tab width to anything else than the holy 8 that broke the formatting.
Yes, most editors allow you to change, but I also use command line tools like grep, less, or diff, and they just send the tabs to the terminal which interprets them the standard way with a spacing of 8. Sure, I can set my terminal to change the tab width, but if I then grep some other sources, such as the Linux kernel tree, in the same terminal window, it gets messed up again. The solution is obvious and simple. Just leave the tab width at 8, and everything works fine, even it uses a mix of tabs and spaces for formatting.
Hard tabs should always be kept at 8 spaces, it's the standard, and makes all the tools work as expected without any tweaking. So, unless your code also indents by 8 positions, use spaces.
Then don't replace a substantial amount of the old tech, but only a little bit. Let's say a satellite lasts 20 years, and it takes 5 years to make some modifications. As soon as you launch one, you start the next 5 year design, and when it's done, you launch it. After 20 years, you have 4 different satellites in orbit, with the first one being 20 years in service, and just starting to fail. If, for some reason, the design is delayed a few years, you can still depend on the other ones.
While we are all waiting for newer ARM products, Intel isn't going to wait. They'll be working just as hard to get better power/performance ratios, and there's no reason to assume that they'll fail to keep up.
Why not take the same design, but incrementally replace old tech by newer tech ? The first priority should be to launch on the scheduled date. While you have a chance, improve the technology, but don't let the launch date slip because you're waiting for even better designs.
We don't have a craft that can carry humans anywhere interesting, land them, and let them survive for a suitable amount of time. Until we have all of that, there's no point in doing the easy stuff. Instead, send more robotic missions until you can land really heavy stuff on Mars with suitably low G forces, and high chance of survival. These "practice" missions can be used for all kinds of cool science projects. Then send robots to prepare a habitat. When that is all done, start thinking about sending humans.
Except that for ARM to scale up to surpass x86 performance, it would need out-of-order scheduling, multiscalar execution, instruction pre-decoding, hardware loop unrolling, speculative execution, memory/register renaming, multiprocessor cache coherency and all that fun stuff that Intel has. After that has been implemented, let's see if the design is still far more elegant. I'll bet it's going to look pretty similar, with x86 instruction decoding becoming an almost irrelevant issue compared to all the other things. And, by the way, have you taken a look at the Cortex architecture ? It's getting less and less elegant. You are right about the compatibility, though. ARM is a mess, with a dozen different, incompatible, architectures in the core alone.
Sure, but even if you assume a half life of 10,000 years, there's not going to be much left after a few billion years. And Mars looks like a nasty place for DNA to survive, so it's more likely that 521 years is overly optimistic.
If you're willing to invoke magic technology, why not get excited about old banana peels ? We only need better technology to turn those into precious metals.