Technically speaking, The only C++ features that are "slow" are ones that are not optimized for in the compiler. This happened quite a bit during early years of C++ and people mistook non-optimizing compilers producing bloated code as an indictment on the language itself.
that basically pensions off people who don't want to be there so that those of us who do - who are highly motivated and capable - can get on with things.
But this assumes people who are highly motivated (to earn) are also highly capable. This is highly untrue. What your argument implies is the subset of people who want minimum wage + people are not motivated to earn more would be eliminated from the working population. It does not imply anything about capability. There is no such causal link. As long as you are able to exchange money for services/goods, people will want more money.
Also if In fact the non-working population grows, the rest would have to work even harder to support them. Not something most people in a capitalist world will be willing to do...
I am no expert in the internal politics of India but I don't think bribes have anything to do with the current low status of the country on certain indicators. I think a lot of harm was done by colonization and its just been what.. 40-50 years since they become a country. I'd wait and see what happens in about 100odd years when there has been a change of a few generations in the population.
Also, I am not defending the bribe system, I am defending the degrees of outrage when comparing bribes with your elected officials committing criminal acts in your name, sabotaging governments in the middle-east and the like.
India's corruption puts any Western government to shame. Want to get anything done? You WILL pay a bribe, and a good one at that, down to the "untouchable" cleaning out poop out of the sewer.
If you belong to the banker "caste" in the United States.. the laws apply differently to you. You can steal from the people, defraud them, gamble their pensions on the stock market, and then get bailed out by the Government.. and never ever have to face any kind of criminal investigation.
If you belong to the executive branch "caste" you can do anything you want, including assassinate your own citizens abroad via drone strikes. You can lie your way into invading and killing civilians in other countries and much much more.
I think I prefer paying a small bribe to some poor dude so that he can feed his family.
The caste system still stays there, same with the attitude of helping people is considered bad juju since it interferes with their divine punishment.
Um.. what?
Also remember: India isn't a friend to the West. During the Cold War, they were doing their best to cozy up to the Russians, and were willing to do almost anything for them.
Why should India befriend the Western powers that colonized and oppressed them? Makes no sense...
India demanding keys from RIM is no surprise. I'm sure that any US or European messages in that region will wind up in the hands of them, or their Chinese buds.
Uh.. yeah.. because without RIM.. there is absolutely no means of sending a secure message to anyone. None-whatsoever ! Oh no ! What are we going to do now !
Not really. "Any publicity is good publicity" is deeply stupid.
Consider two cases for advertisements.
1. Advertisements that want you to think product X is better than Y,Z,.. 2. Advertisements that want you to simply know that product X exists.
Apple has no need for #2. With respect to #1 - Apple has historically been successful by the content of their advertisements. By that I mean the emotional reaction that average consumers have when they see an Apple product / marketing material is largely a function of the content, rather than it just being spammed to them for recall value.
Maybe the government is just turning a blind eye because the alternative is much worse. If the poor are unable to 'steal' power they'd probably be worse of than at present.
I'm pretty sure Vista shipped with XPDM support, so in theory you could install XP drivers (video) on Vista. In addition I think Vista also shipped with a software rasterizer to avoid the driver clusterfuck altogether. I agree with Vista being a bitch, but like you have to do with any Microsoft product.. install their OS after the first service pack or so.
How does it compare to the AMD Geode (x86) based SBCs? I've slapped on Voyage Linux (debian) on one of those for a project I'm working on. The great thing for me is that I can simply copy binaries of my project over from my ubuntu dev box without any cross-compilation. Makes debugging much easier.
IMO its not the users, its the developers. Because of a retarded default setup, XP allowed developers to ship code assuming the user will always run as root and Vista broke that. Developers are now forced to reduce the number of - Add Admin priveledges to this process token - UAC prompts which can be jarring to the end user experience. For that alone I think novice users should be moved away from XP as soon as possible. In the enterprise I think its not so bad since the software used can be carefully chosen and you can run XP as non-admin.
I disagree. A macro system needs BOTH type safety AND lack-of type safety, because only the programmer knows when he needs one, the other, or both.
Let's say we replace the preprocessor with a native C++ macro system..macro LOG( $ file, # line, $ func, void expr ) {
printf( "%s(%d) %s\n", file, line, func );
x }.macro IN( x ) LOG( __FILE__, __LINE__, __FUNC__, x )
Where the types for the arguments are $ string # number (int) % number (float) void generic anything, can be optional
Do we need a token to represent that the argument should be _x_ ? - character - pointer - array
We could just port the macro system from High Level Assembly. Its pretty nifty. But in general I'm not convinced we even need macros because the macro syntax being partially disjoint from the underlying language introduces its own edge cases and weird behavior.
We could simply mark code with a standardized compiler extension which is then evaluated like regular C++ during some some 0-pass. It easily could have access to the build toolchain data structures to make decisions using the build environment data and even change stuff like data packing. IIRC there have been several proposals for 'object oriented' (ugh) preprocessors but they have mostly been some meta language. I guess there is some value towards reduced implementation complexity in not having an entire language syntax be processed twice per translation unit, but there could be a subset of C++ used.
there was one self-installing bit of malware available for the Mac platform.
That is not only false, but it lies in the territory of "Liar Liar, Pants on Fire". Please stop commenting on security related issues till you obtain in-depth technical knowledge on the subject.
Lets evaluate how malware gets installed in the three most common scenarios.
1) User visits a website and is infected (aka drive by download)
Causes of Infection: remote execution vulnerability bug in browser (java script engine, rendering engine) or plug-in (flash, java),
Do such bugs exist in Safari/Firefox/Chrome/Flash/Java on OSX - YES.
Have people demonstrated ACTUAL attacks using them: YES
2) User opens an innocuous email containing an attached binary and executes it
Cause of infection: User executes attached binary file.
Does this happen on OSX: In most cases, no. The reason is the executable bit is unset for external files.
Have people demonstrated ACTUAL attacks using them: Probably, but I haven't seen any. (In theory you could craft the email in such a way that it triggers a bug in the email client causing remote execution)
3) User downloads Software A and installs it but it contains a trojan
Cause of infection: User installs software.
Does such software exist on OSX: YES.
Have people demonstrated ACTUAL attacks using them: YES.
Such as? OK.. I have my 2 yr old Win 7 install booted. I have process explorer loaded, and rammap available if needed. Tell us what "cruft" is loaded in memory or is actively consuming CPU cycles - either in kernel mode or in user land.
The reason for this is that windows locks files when they're in use,
This is categorically untrue. The OS does no such thing. You can delete files in use. What you say has some merit but to explain the practical observations of being unable to delete files in use and reasoning behind such perceived behavior would require several pages of text and a lesson in backwards compat.
I just hacked a sample out for you that does just that in under 2 minutes. http://pastebin.com/vDUc0Pts The key here is the FILE_SHARE_DELETE flag, without it, the processes locks the file.
Hmm, it looks like I was not looking at the developer aggreement. There is a mention of GPL there, but dont think there is any exclusionary language there.
Actually, he *does* write it in assembly. It contains very little run-time/lib bloat. I don't see why people think writing in ASM is particularly hard. Its just another language. For most people, if they took the time to learn it - its actually simpler to write code in ASM. Where you end up wasting time is interfacing with external system APIs and libraries. The higher you move up the abstraction tree from the bare metal the more difficult it is to explain (and think about) what all the stacks below you are doing. It might be easier to just hand-wave and say whats going on below you when you're using - say a managed language, but its hard to get a good handle on the internals.
Besides which, if you have ever used modern assembler with macros (which I'm almost certain he does) the language becomes very close to C.
These visa workers are far from the "best and brightest" they are ordinary workers, taking ordinary jobs
I personally know several people who graduated with me and who now work at big tech firms like IBM/Google/Oracle/Apple/Facebook on a work visa and they are definitely not ordinary - which is subjective anyway. Importantly - not only do they get paid the same as US citizens, but they are more expensive to hire because of the legal fees involved in their hiring. So, what evidence do you have for your claims?
This while the US suffers it worst long-term unemployment since the great depression.
The largest class of unemployed people in the US does not compare to these workers. The vast majority don't even have a college degree. And if they do, its in something like the humanities or some other area not covered under STEM.
I think you misunderstood the article. They did not give the government a possibility to "sign ssl certificates for any domain" - whatever that means. (private keys are used to sign things, and public certificates are issued to ensure that the private key used earlier was valid - as long as you trust the CA). Microsoft has no such power. But IE, like all current browsers maintains a simple list of trust worthy CAs and they allowed the Tunisian government's CA to be included in the list of 'safe' CAs. This by itself is not a problem - its only a problem because the government is repressive and could use this power to do much evil. This means that in theory the Tunisian government could conduct man in the middle attacks and the end user would not notice (only if using IE). I believe they were safe on other browsers. Ofcource but they could repackage firefox with their own CA and do the same to firefox users.
Technically speaking, The only C++ features that are "slow" are ones that are not optimized for in the compiler. This happened quite a bit during early years of C++ and people mistook non-optimizing compilers producing bloated code as an indictment on the language itself.
Then its a good thing that the old saying is not only false and meaningless, but also ridiculously uninformed.
What extra debug information did you require that the -g flag already didn't provide?
hmm..
gcc's -g switch already creates debug information with zero impact on performance. You can use -g with any optimization level you want.
What specific security concerns do you have that don't also apply to existing protocols?
that basically pensions off people who don't want to be there so that those of us who do - who are highly motivated and capable - can get on with things.
But this assumes people who are highly motivated (to earn) are also highly capable. This is highly untrue. What your argument implies is the subset of people who want minimum wage + people are not motivated to earn more would be eliminated from the working population. It does not imply anything about capability. There is no such causal link. As long as you are able to exchange money for services/goods, people will want more money.
Also if In fact the non-working population grows, the rest would have to work even harder to support them. Not something most people in a capitalist world will be willing to do...
I am no expert in the internal politics of India but I don't think bribes have anything to do with the current low status of the country on certain indicators. I think a lot of harm was done by colonization and its just been what .. 40-50 years since they become a country. I'd wait and see what happens in about 100odd years when there has been a change of a few generations in the population.
Also, I am not defending the bribe system, I am defending the degrees of outrage when comparing bribes with your elected officials committing criminal acts in your name, sabotaging governments in the middle-east and the like.
India's corruption puts any Western government to shame. Want to get anything done? You WILL pay a bribe, and a good one at that, down to the "untouchable" cleaning out poop out of the sewer.
If you belong to the banker "caste" in the United States.. the laws apply differently to you. You can steal from the people, defraud them, gamble their pensions on the stock market, and then get bailed out by the Government .. and never ever have to face any kind of criminal investigation.
If you belong to the executive branch "caste" you can do anything you want, including assassinate your own citizens abroad via drone strikes. You can lie your way into invading and killing civilians in other countries and much much more.
I think I prefer paying a small bribe to some poor dude so that he can feed his family.
The caste system still stays there, same with the attitude of helping people is considered bad juju since it interferes with their divine punishment.
Um.. what?
Also remember: India isn't a friend to the West. During the Cold War, they were doing their best to cozy up to the Russians, and were willing to do almost anything for them.
Why should India befriend the Western powers that colonized and oppressed them? Makes no sense...
India demanding keys from RIM is no surprise. I'm sure that any US or European messages in that region will wind up in the hands of them, or their Chinese buds.
Uh.. yeah.. because without RIM.. there is absolutely no means of sending a secure message to anyone. None-whatsoever ! Oh no ! What are we going to do now !
Not really. "Any publicity is good publicity" is deeply stupid.
Consider two cases for advertisements.
1. Advertisements that want you to think product X is better than Y,Z,..
2. Advertisements that want you to simply know that product X exists.
Apple has no need for #2. With respect to #1 - Apple has historically been successful by the content of their advertisements. By that I mean the emotional reaction that average consumers have when they see an Apple product / marketing material is largely a function of the content, rather than it just being spammed to them for recall value.
Maybe the government is just turning a blind eye because the alternative is much worse. If the poor are unable to 'steal' power they'd probably be worse of than at present.
I'm pretty sure Vista shipped with XPDM support, so in theory you could install XP drivers (video) on Vista. In addition I think Vista also shipped with a software rasterizer to avoid the driver clusterfuck altogether. I agree with Vista being a bitch, but like you have to do with any Microsoft product.. install their OS after the first service pack or so.
How does it compare to the AMD Geode (x86) based SBCs? I've slapped on Voyage Linux (debian) on one of those for a project I'm working on. The great thing for me is that I can simply copy binaries of my project over from my ubuntu dev box without any cross-compilation. Makes debugging much easier.
IMO its not the users, its the developers. Because of a retarded default setup, XP allowed developers to ship code assuming the user will always run as root and Vista broke that. Developers are now forced to reduce the number of - Add Admin priveledges to this process token - UAC prompts which can be jarring to the end user experience. For that alone I think novice users should be moved away from XP as soon as possible. In the enterprise I think its not so bad since the software used can be carefully chosen and you can run XP as non-admin.
They open sourced the passwords? :-P
I disagree. A macro system needs BOTH type safety AND lack-of type safety, because only the programmer knows when he needs one, the other, or both.
Let's say we replace the preprocessor with a native C++ macro system. .macro LOG( $ file, # line, $ func, void expr ) .macro IN( x ) LOG( __FILE__, __LINE__, __FUNC__, x )
{
printf( "%s(%d) %s\n", file, line, func );
x
}
void foo()
{
IN( { printf( "Hello from foo!\n" ); printf( "Multiple statements.\n"); } )
}
void bar()
{
IN;
}
Where the types for the arguments are
$ string
# number (int)
% number (float)
void generic anything, can be optional
Do we need a token to represent that the argument should be _x_ ?
- character
- pointer
- array
We could just port the macro system from High Level Assembly. Its pretty nifty. But in general I'm not convinced we even need macros because the macro syntax being partially disjoint from the underlying language introduces its own edge cases and weird behavior.
We could simply mark code with a standardized compiler extension which is then evaluated like regular C++ during some some 0-pass. It easily could have access to the build toolchain data structures to make decisions using the build environment data and even change stuff like data packing. IIRC there have been several proposals for 'object oriented' (ugh) preprocessors but they have mostly been some meta language. I guess there is some value towards reduced implementation complexity in not having an entire language syntax be processed twice per translation unit, but there could be a subset of C++ used.
I used to work with a team that produced a professional C/C++ compiler.
Was this pre c++03 or post?
Every year C++ is slowly turning into a clusterfuck LISP implementation by people who don't understand how to write a safe macro meta-language.
Except.. without even more ugly hacks to the preprocessor, there is no way to ensure any kind of tangible "safeness" to the macro system.
I'd prefer removing obsolete C & preprocessor crap from C++. It would improve the language in every conceivable way.
there was one self-installing bit of malware available for the Mac platform.
That is not only false, but it lies in the territory of "Liar Liar, Pants on Fire". Please stop commenting on security related issues till you obtain in-depth technical knowledge on the subject.
Lets evaluate how malware gets installed in the three most common scenarios.
1) User visits a website and is infected (aka drive by download)
Causes of Infection: remote execution vulnerability bug in browser (java script engine, rendering engine) or plug-in (flash, java),
Do such bugs exist in Safari/Firefox/Chrome/Flash/Java on OSX - YES.
Have people demonstrated ACTUAL attacks using them: YES
2) User opens an innocuous email containing an attached binary and executes it
Cause of infection: User executes attached binary file.
Does this happen on OSX: In most cases, no. The reason is the executable bit is unset for external files.
Have people demonstrated ACTUAL attacks using them: Probably, but I haven't seen any. (In theory you could craft the email in such a way that it triggers a bug in the email client causing remote execution)
3) User downloads Software A and installs it but it contains a trojan
Cause of infection: User installs software.
Does such software exist on OSX: YES.
Have people demonstrated ACTUAL attacks using them: YES.
Such as? OK.. I have my 2 yr old Win 7 install booted. I have process explorer loaded, and rammap available if needed. Tell us what "cruft" is loaded in memory or is actively consuming CPU cycles - either in kernel mode or in user land.
The reason for this is that windows locks files when they're in use,
This is categorically untrue. The OS does no such thing. You can delete files in use. What you say has some merit but to explain the practical observations of being unable to delete files in use and reasoning behind such perceived behavior would require several pages of text and a lesson in backwards compat.
I just hacked a sample out for you that does just that in under 2 minutes. http://pastebin.com/vDUc0Pts
The key here is the FILE_SHARE_DELETE flag, without it, the processes locks the file.
Hmm, it looks like I was not looking at the developer aggreement. There is a mention of GPL there, but dont think there is any exclusionary language there.
http://www.scribd.com/doc/97758216/20100127-iPhone-Dev-Agr
http://www.scribd.com/doc/97758244/Ios-Program-Standard-Agreement-20111004
It's Apple's policies that are incompatible with the GPL, whic was a deliberate decision on the part of Apple to maintain their power over users.
Sorry.. could you point out what those are? I just read the app store policy and cant find any mention of 'source code' or GPL.
http://www.hydrogenaudio.org/forums/index.php?showforum=59
I find head-fi to be more religious.
Actually, he *does* write it in assembly. It contains very little run-time/lib bloat. I don't see why people think writing in ASM is particularly hard. Its just another language. For most people, if they took the time to learn it - its actually simpler to write code in ASM. Where you end up wasting time is interfacing with external system APIs and libraries. The higher you move up the abstraction tree from the bare metal the more difficult it is to explain (and think about) what all the stacks below you are doing. It might be easier to just hand-wave and say whats going on below you when you're using - say a managed language, but its hard to get a good handle on the internals.
Besides which, if you have ever used modern assembler with macros (which I'm almost certain he does) the language becomes very close to C.
These visa workers are far from the "best and brightest" they are ordinary workers, taking ordinary jobs
I personally know several people who graduated with me and who now work at big tech firms like IBM/Google/Oracle/Apple/Facebook on a work visa and they are definitely not ordinary - which is subjective anyway. Importantly - not only do they get paid the same as US citizens, but they are more expensive to hire because of the legal fees involved in their hiring. So, what evidence do you have for your claims?
This while the US suffers it worst long-term unemployment since the great depression.
The largest class of unemployed people in the US does not compare to these workers. The vast majority don't even have a college degree. And if they do, its in something like the humanities or some other area not covered under STEM.
I think you misunderstood the article. They did not give the government a possibility to "sign ssl certificates for any domain" - whatever that means. (private keys are used to sign things, and public certificates are issued to ensure that the private key used earlier was valid - as long as you trust the CA). Microsoft has no such power. But IE, like all current browsers maintains a simple list of trust worthy CAs and they allowed the Tunisian government's CA to be included in the list of 'safe' CAs. This by itself is not a problem - its only a problem because the government is repressive and could use this power to do much evil. This means that in theory the Tunisian government could conduct man in the middle attacks and the end user would not notice (only if using IE). I believe they were safe on other browsers. Ofcource but they could repackage firefox with their own CA and do the same to firefox users.