Now, for the first time, there is a technical implementation of the "Alfwen-waves", that, in Grassauer's words, "could be the start of a new era in rocket engine technology".
Bah. Like every other revolutionary invention in space propulsion, this one is sure to be bought out and crushed by the powerful vested interests of the Space Elevator lobby.
. In the case of e-mail, it was queued up and held, then released on the half-hour. So that was 2 interruptions from e-mail per hour, at most.
I think the solution can be simpler than that -- just configure the email software not to automatically check for new messages. Instead, it should only check for new messages when the user manually clicks the 'check for new email' button.
That way it's the employee who decides when he is ready to take a break and look at his new email. Voila, no interruptions!
Tonight's homework assignment: a one page essay on what the words "leadership" and "bully pulpit" mean. Extra credit for describing how government in theory differs from government in practice, or why everyone refers to the recent rounds of tax cuts as "the Bush tax cuts".
I just wish you guys would preface all your "we are killing the earth" talk with, hey we really don't know, but we THINK "we are killing the earth". I certainly will ay I don't know for sure, but the evidence isn't cut and dry in your favor.
The other day I thought my wife was having a heart attack, but hey I don't really know that, I only THINK that's what was happening. I'm going to wait a few more days to see what happens, and then I'll decide if it's worthwhile to take her to the hospital. After all, I only have evidence, not proof.
Other than in military arms races, in what sense do nations have any compelling reason to "compete" in science?
National pride, for one thing -- the same reason they compete in the Olympics. A more important reason is that the country that is first to figure out something is often left in the best position to capitalize on it. For example, because the US developed the Internet, the US is now the central player in Internet development, a very profitable position to be in.
work hard to excel at making it an even bigger pile of shit, or smoke pot and listen to music or play games on the computer all day
If you think those are the only two choices, you're copping out. There is a third choice: work hard at making the world a better place. Yes, it can be done. Yes, you can pretend it's impossible, if you want an excuse for not doing anything.
I agree, but a memory leak if it is there at all usually happens slowly... so if you see it, it's not hard to fix... and if you don't (because, say, the application doesn't get run for long enough for it to matter) who cares.
What you get by not caring is computer systems that have to be restarted every week or two -- not coincidentally, the state of many computer systems today. The situation is tolerable (since users often don't demand better) but not very desirable IMHO. I certainly wouldn't accept that level of reliability in, say, my alarm clock!
Nice circular argument. a) leaks are a huge problem. b) I never see them. a) but that's why they are a problem.
I'll see your "circular argument" and raise you a "straw man". I never argued the above. What I said was that just because people don't detect leaks, doesn't mean they don't exist. Whether they constitute a "huge problem" or not is in the eye of the beholder, and not something I addressed.
IMO if nobody ever notices there is a problem, there isn't a problem.
I sure hope you don't work for NASA or a nuclear power plant or anyplace else where software correctness is important. A bug that you can't easily detect is still a bug, and under the right conditions it can bite people, even if you choose to ignore it. In many ways it's worse than an obvious bug, because it's less likely to be caught during the testing cycle, and thus more likely to eventually bite someone.
but I still almost never see memory leak problems (and, yes, my code counts the memory and complains at exit if I've leaked something)
The problem is that not every C/C++ programmer is as conscientious as you are. (neither is every Java programmer; but then, they don't need to be)
memory *leaks* are rare because applications very rarely malloc. most data is temporary local variables off the stack, automatically destroyed when the function is exited
And if they aren't rare, how would you know? That was my point. A leaky application that allocates 3MB on startup, leaks 1KB an hour, but never gets run for more than 5 days at a time, will probably never get fixed, because it's likely nobody will ever notice there is a problem.
As for your claim that applications 'rarely' use malloc(), that is not my experience. It may be true for some apps where the maximum size of the dataset is known at compile time, but for many (most?) non-toy apps, dynamic memory allocation is used quite regularly. Polymorphism (one of C++'s key features) is rather limited without it.
gcc4 has -fbounds-checking and -fmudflap which work very well to catch bounds errors. while they might have been harder to find and fix years ago, they are now trivial and java no longer has the upper hand
That's great, but gcc4 is not the same thing as C++.
The obvious solution would be to escort the unmanned supply vehicles with manned defense vehicles. Sure, the convoy wouldn't be "completely automated" anymore, but you'd still be getting the same supplies through, while risking 90% fewer soldiers' lives, so it would still be a big win.
memory leaks are the single least common bug ever.
Probably that is not because they are rare, but rather because they are harder to detect and report. It's very difficult to tell when a program has a (small) memory leak vs. when it is just using up a bit more memory than it would normally use. For many programs, you would have to exercise them for weeks or months on end before the abnormal memory usage grew large enough to be obviously wrong.
far more common (by orders of magnitude) are off-by-one errors. java won't save you there
Well, actually, Java will give you a nice ArrayBoundsException when you try to iterate one past the end of an array. C/C++, on the other hand, will silently return undefined data or corrupt memory in that case, leading to very "interesting", non-obvious symptoms. So while Java might not "save you" from off-by-one errors, it certainly does make them easier to find and fix.
If you're not very precise, you risk not freeing memory or freeing it twice. In Java the issue doesn't exist
Use shared/ref-counting pointers and the issue doesn't exist in C++, either. So the real difference is that in Java everyone is forced to handle the problem in the "standard" way provided by the JVM, whereas in C++ the implementation is left to the programmer. Whether that's good or bad depends on what problems you are trying to solve.
Sure, the code is legal, but your failure to put a/* fall-through -- I deliberately didn't put a break statement here! */ comment at the end of your first case is practically criminal negligence.
What do you think is going to happen the first time a newbie coder looks at your code? He's going to say "aha! A missing break statement! A bug!", and he'll "fix it" by adding one, and break your code:^P
One of the mega banks stopped sending their customers email requests because they thought the emails were scams. As a result, the bank had to spend more money to use the snail mail.
I think it's clear that the problem isn't with banks, the problem is with email. Email (as it is currently implemented) provides no means to authenticate that a message is really from who it says it is from. Fix that, and 99% of the phishing problem goes away.
The modified Artistic license and modified BSD license are much more user friendly, and if Linux and most Linux software used those instead adoption would probably be greater. It's not clear that would be better though.
It seems to me that we don't have to just speculate here -- we more or less have an example of what Linux would look like under a BSD license; just look at the FreeBSD/NetBSD/etc. Those OS's are fairly similar to Linux, and are BSD'd, not GPL'd. And it seems to me (feel free to tell me if I'm wrong) that Linux has rather more momentum/popularity/support than they do. Why is that? My feeling is that it is largely due to the GPL. Because Linux is under the GPL, people (and companies) feel more willing to contribute their time towards improving Linux, because they feel that their work is going to "the commons" and is more likely to benefit everyone and less likely to benefit only certain parties.
For example: Do you think IBM would be so willing to throw developers at Linux if they thought Microsoft could just come in and scoop up all of that nice code into the next version of Windows?
I think a simpler requirement for dog-hood would be: it should be agile and durable enough that you can walk it to the park and have it fetch thrown objects. (maybe the new model has improved, but the older models didn't run or even walk very fast and AFAICT weren't really suited for outdoor use)
Bah. Like every other revolutionary invention in space propulsion, this one is sure to be bought out and crushed by the powerful vested interests of the Space Elevator lobby.
I think the solution can be simpler than that -- just configure the email software not to automatically check for new messages. Instead, it should only check for new messages when the user manually clicks the 'check for new email' button.
That way it's the employee who decides when he is ready to take a break and look at his new email. Voila, no interruptions!
How many hordes could a Mongol hoard, if a Mongol horde hoards hordes?
Tonight's homework assignment: a one page essay on what the words "leadership" and "bully pulpit" mean. Extra credit for describing how government in theory differs from government in practice, or why everyone refers to the recent rounds of tax cuts as "the Bush tax cuts".
That's one point... now what about the other one?
The other day I thought my wife was having a heart attack, but hey I don't really know that, I only THINK that's what was happening. I'm going to wait a few more days to see what happens, and then I'll decide if it's worthwhile to take her to the hospital. After all, I only have evidence, not proof.
Rule by diving right is considered a cultural advance now??? I'd say at best it's a crude propaganda tool to keep the superstitious proles in line....
Interestingly enough, Iraq was a secular state. It looks like it will become an Islamic state in the near future, thanks to our efforts.
If only everbody had your amazing ability to never make mistakes, computing would be much less problematic.
National pride, for one thing -- the same reason they compete in the Olympics. A more important reason is that the country that is first to figure out something is often left in the best position to capitalize on it. For example, because the US developed the Internet, the US is now the central player in Internet development, a very profitable position to be in.
If you think those are the only two choices, you're copping out. There is a third choice: work hard at making the world a better place. Yes, it can be done. Yes, you can pretend it's impossible, if you want an excuse for not doing anything.
What you get by not caring is computer systems that have to be restarted every week or two -- not coincidentally, the state of many computer systems today. The situation is tolerable (since users often don't demand better) but not very desirable IMHO. I certainly wouldn't accept that level of reliability in, say, my alarm clock!
I'll see your "circular argument" and raise you a "straw man". I never argued the above. What I said was that just because people don't detect leaks, doesn't mean they don't exist. Whether they constitute a "huge problem" or not is in the eye of the beholder, and not something I addressed.
IMO if nobody ever notices there is a problem, there isn't a problem.
I sure hope you don't work for NASA or a nuclear power plant or anyplace else where software correctness is important. A bug that you can't easily detect is still a bug, and under the right conditions it can bite people, even if you choose to ignore it. In many ways it's worse than an obvious bug, because it's less likely to be caught during the testing cycle, and thus more likely to eventually bite someone.
but I still almost never see memory leak problems (and, yes, my code counts the memory and complains at exit if I've leaked something)
The problem is that not every C/C++ programmer is as conscientious as you are. (neither is every Java programmer; but then, they don't need to be)
And if they aren't rare, how would you know? That was my point. A leaky application that allocates 3MB on startup, leaks 1KB an hour, but never gets run for more than 5 days at a time, will probably never get fixed, because it's likely nobody will ever notice there is a problem.
As for your claim that applications 'rarely' use malloc(), that is not my experience. It may be true for some apps where the maximum size of the dataset is known at compile time, but for many (most?) non-toy apps, dynamic memory allocation is used quite regularly. Polymorphism (one of C++'s key features) is rather limited without it.
gcc4 has -fbounds-checking and -fmudflap which work very well to catch bounds errors. while they might have been harder to find and fix years ago, they are now trivial and java no longer has the upper hand
That's great, but gcc4 is not the same thing as C++.
The obvious solution would be to escort the unmanned supply vehicles with manned defense vehicles. Sure, the convoy wouldn't be "completely automated" anymore, but you'd still be getting the same supplies through, while risking 90% fewer soldiers' lives, so it would still be a big win.
Probably that is not because they are rare, but rather because they are harder to detect and report. It's very difficult to tell when a program has a (small) memory leak vs. when it is just using up a bit more memory than it would normally use. For many programs, you would have to exercise them for weeks or months on end before the abnormal memory usage grew large enough to be obviously wrong.
far more common (by orders of magnitude) are off-by-one errors. java won't save you there
Well, actually, Java will give you a nice ArrayBoundsException when you try to iterate one past the end of an array. C/C++, on the other hand, will silently return undefined data or corrupt memory in that case, leading to very "interesting", non-obvious symptoms. So while Java might not "save you" from off-by-one errors, it certainly does make them easier to find and fix.
Use shared/ref-counting pointers and the issue doesn't exist in C++, either. So the real difference is that in Java everyone is forced to handle the problem in the "standard" way provided by the JVM, whereas in C++ the implementation is left to the programmer. Whether that's good or bad depends on what problems you are trying to solve.
What do you think is going to happen the first time a newbie coder looks at your code? He's going to say "aha! A missing break statement! A bug!", and he'll "fix it" by adding one, and break your code
At the risk of sounding like someone who can't be bothered to RTFCS... why is calling main() forbidden in C++?
I think it's clear that the problem isn't with banks, the problem is with email. Email (as it is currently implemented) provides no means to authenticate that a message is really from who it says it is from. Fix that, and 99% of the phishing problem goes away.
It seems to me that we don't have to just speculate here -- we more or less have an example of what Linux would look like under a BSD license; just look at the FreeBSD/NetBSD/etc. Those OS's are fairly similar to Linux, and are BSD'd, not GPL'd. And it seems to me (feel free to tell me if I'm wrong) that Linux has rather more momentum/popularity/support than they do. Why is that? My feeling is that it is largely due to the GPL. Because Linux is under the GPL, people (and companies) feel more willing to contribute their time towards improving Linux, because they feel that their work is going to "the commons" and is more likely to benefit everyone and less likely to benefit only certain parties.
For example: Do you think IBM would be so willing to throw developers at Linux if they thought Microsoft could just come in and scoop up all of that nice code into the next version of Windows?
I think 20-50 year old mean are its intended audience.
But go ahead and keep telling people how sad their lives are, if it makes you feel better about yourself.
I think a simpler requirement for dog-hood would be: it should be agile and durable enough that you can walk it to the park and have it fetch thrown objects. (maybe the new model has improved, but the older models didn't run or even walk very fast and AFAICT weren't really suited for outdoor use)