I don't know about you, but I'll rather be keeping my win98 systems safely protected behind nat and a strict firewall than trusting some stranger offering me unofficial service packs.
The terrorists were lulled into a false sense of security when they kept changing phones, but took their SIM cards from one phone to the next to keep their number and minutes. Therefore, while the hardware changed, the identity didn't. That's what did them in...
Dumbest criminals eh?
What makes you think that you would know better? Even if they changed SIM cards as well, it wouldn't help them.
Just about this specific issue - all modern intelligence agencies now know to recognize people by voice.
My advice to geeks - stick to the geek issues, and don't try to be experts in electronic intelligence - it makes you look funny.
What it means is that obscurity is not sufficient for security. It does not mean that obscurity is not helpful as part of an overall security system.
It also doesn't mean that obscurity is helpful.
In most cases, security through obscurity comes in pair with lack of peer review, and is thus not beneficial to the overall security.
In cases where insufficient peer review is not a problem, obscurity is usually employed, for example in military installations where enough knowledgeable personnel has the clearance.
NASA decided that the astronauts needed a writing utensil to take notes during space missions. NASA spend a large amount of money to develop the zero G ballpoint pen.
"In D, function overloading is simple. It matches exactly, it matches with implicit conversions, or it does not match. If there is more than one match, it is an error."
Well, I remember reading in comp.lang.c++.moderated (can't find a reference), where a committee member said that it is most easy to define function overloading (arguably the most complex concept in C++) in exactly such terms (exact match / match via conversions / ambiguous), which makes everything fine and dandy, and also makes so many language idioms impossible, that it is simply not an option.
I hope that D's designers have reasons for function overloading done in such way (except for language simplification for sake of it), since this simplistic policy is fully supported by C++ - the language just disambiguates many other cases.
One has to remember, language features aren't added to the standard because someone feels sudden fountain of creativity, but rather to solve existing design problems.
Same goes to getting rid of the preprocessor - if someone finds a way to use (new) language features such that it is no more necessary, I am all for it, especially since using the preprocessor is optional. But till then...
It's like everyone and their dog had some pet feature they wanted included in the standard, and the result is a huge mess of stuff that most people won't use but the compiler is forced to support.
You mean like templates, and member function templates, which allow for STL? Or operator overloading and references, which allow for *real* custom types.
Feel free to give specific examples, Mr. Insightful.
But with metaprogramming C++ becomes an entirely new system. The template system is computationally complete (see here for what that means) and so important work can be shifted to compile time. [...]
While I agree with your post, note that the same (and in much more native and generic way) is provided by Lisp. What C++ does is making metaprogramming type-safe.
See, for example, this "confession" by Andrei Alexandrescu.
That means that it's possible to write a program using templates that compiles legally if and only if Fermat's Last Theorem is false. This will be the ultimate test of the proof of the theorem. However, the time and memory requirements to compile the program are very large.
I think that you are a bit confused about computational hardness of various problems. For example, a program that does not compile legally would be an example for a program you talk about (since FLT is true).
It's also easy to do similar trick for a question you don't know answer for. You just write two programs, one saying "true" and another "false", one of the programs will give the correct answer.
You see, you need to have an input, such as a graph which the program is supposed to say is 3-colorable or not.:)
It's time for c++ to move into the 90s and get rid of the preprocessor. It's unnecessary with modern compilers, and it's a pain in the ass.
Why do I have a feeling that you never really used a preprocessor when you do claims like that? Preprocessor is most useful feature, see for example enforcer idiom by Alexandrescu and Marginean, even if it's just for __LINE__ and __FILE__.
My only complaint for C++ preprocessor is that it's actually C preprocessor, not C++ (performed at the stage before C++ parsing), and is not flexible enough (postponing conditional compilation until macro expansion would be nice).
There should be a rule... Everyone complaining about C++ should know it. Complain about overloading functions, be ready to cite Chapter 13 of ANSI/ISO C++98... It would really reduce S/N.
What is this, a standup performance?
I have used metric system all my life, and never encountered such an artificial shortcoming.
Third of a meter is 33.3cm. There is no problem whatsoever to measure 33.3cm with a "meterstick".
I am amazed, with the number of open access points, that someone ever gets caught.Guess they can't help bragging to their friends.
I am afraid you don't quite get it. Obviously, you have never done anything that would allow for serious investigation.
As someone who did such investigations, the key issue is: everyone makes mistakes. Even you, even me.
Existence of "open access points" and such is completely irrelevant.
Yes, and don't forget the tinfoil hat, too.
You have made an amazing number of baseless conclusions based on a silly experiment.
I don't know about you, but I'll rather be keeping my win98 systems safely protected behind nat and a strict firewall than trusting some stranger offering me unofficial service packs.
NAT doesn't protect your systems.
The terrorists were lulled into a false sense of security when they kept changing phones, but took their SIM cards from one phone to the next to keep their number and minutes. Therefore, while the hardware changed, the identity didn't. That's what did them in...
Dumbest criminals eh?
What makes you think that you would know better? Even if they changed SIM cards as well, it wouldn't help them.
Just about this specific issue - all modern intelligence agencies now know to recognize people by voice.
My advice to geeks - stick to the geek issues, and don't try to be experts in electronic intelligence - it makes you look funny.
Scientifically proven to be true.
Harvard CS department is not considered strong.
So you have someone's details. Can you prove he purchased something illegal?
You are being ridiculous.
Repeat after me: YOU CANNOT STEAL WHAT IS FREE.
You cannot "steal" any IP, you can only infringe on copyright.
There is nothing stopping you from pre-allocating a pool of objects to work with.
I prefer using languages which don't require workarounds.
How can Java be slow? It's a language. Languages typically can not be quantified by speed.
Unless the language assumes garbage collection. Not precisely "slow", but pretty much ruled out from real-time applications...
Being in Germany what language would you expect the speeches to be done? French? Dutch? Italian? Or is any other language on your mind?
Nice knee-jerk reaction. I hope you know that virtually all scientific conferences with international presence are done in English.
What it means is that obscurity is not sufficient for security. It does not mean that obscurity is not helpful as part of an overall security system.
It also doesn't mean that obscurity is helpful.
In most cases, security through obscurity comes in pair with lack of peer review, and is thus not beneficial to the overall security.
In cases where insufficient peer review is not a problem, obscurity is usually employed, for example in military installations where enough knowledgeable personnel has the clearance.
LMAO... I can't believe this joke is moderated as "Insightful". :)
NASA decided that the astronauts needed a writing utensil to take notes during space missions. NASA spend a large amount of money to develop the zero G ballpoint pen.
This is an urban legend.
"In D, function overloading is simple. It matches exactly, it matches with implicit conversions, or it does not match. If there is more than one match, it is an error."
Well, I remember reading in comp.lang.c++.moderated (can't find a reference), where a committee member said that it is most easy to define function overloading (arguably the most complex concept in C++) in exactly such terms (exact match / match via conversions / ambiguous), which makes everything fine and dandy, and also makes so many language idioms impossible, that it is simply not an option.
I hope that D's designers have reasons for function overloading done in such way (except for language simplification for sake of it), since this simplistic policy is fully supported by C++ - the language just disambiguates many other cases.
One has to remember, language features aren't added to the standard because someone feels sudden fountain of creativity, but rather to solve existing design problems.
Same goes to getting rid of the preprocessor - if someone finds a way to use (new) language features such that it is no more necessary, I am all for it, especially since using the preprocessor is optional. But till then...
Depends also on the alignment...
Man, now, that's scary. Stop it!
It's like everyone and their dog had some pet feature they wanted included in the standard, and the result is a huge mess of stuff that most people won't use but the compiler is forced to support.
You mean like templates, and member function templates, which allow for STL? Or operator overloading and references, which allow for *real* custom types.
Feel free to give specific examples, Mr. Insightful.
Sounds like you guys need to look at ACE. Multiple platform and implements all sorts of design patterns!
Just to warn the innocent... (Yes, I know that one can selectively use features, but this gives a perspective, don't you think?)
But with metaprogramming C++ becomes an entirely new system. The template system is computationally complete (see here for what that means) and so important work can be shifted to compile time. [...]
While I agree with your post, note that the same (and in much more native and generic way) is provided by Lisp. What C++ does is making metaprogramming type-safe.
See, for example, this "confession" by Andrei Alexandrescu.
That means that it's possible to write a program using templates that compiles legally if and only if Fermat's Last Theorem is false. This will be the ultimate test of the proof of the theorem. However, the time and memory requirements to compile the program are very large.
I think that you are a bit confused about computational hardness of various problems. For example, a program that does not compile legally would be an example for a program you talk about (since FLT is true).
It's also easy to do similar trick for a question you don't know answer for. You just write two programs, one saying "true" and another "false", one of the programs will give the correct answer.
You see, you need to have an input, such as a graph which the program is supposed to say is 3-colorable or not. :)
It's time for c++ to move into the 90s and get rid of the preprocessor. It's unnecessary with modern compilers, and it's a pain in the ass.
Why do I have a feeling that you never really used a preprocessor when you do claims like that? Preprocessor is most useful feature, see for example enforcer idiom by Alexandrescu and Marginean, even if it's just for __LINE__ and __FILE__.
My only complaint for C++ preprocessor is that it's actually C preprocessor, not C++ (performed at the stage before C++ parsing), and is not flexible enough (postponing conditional compilation until macro expansion would be nice).
There should be a rule... Everyone complaining about C++ should know it. Complain about overloading functions, be ready to cite Chapter 13 of ANSI/ISO C++98... It would really reduce S/N.