Spending money to intimidate everyone else against trying to kill you, so you can do interesting and useful things, however, is an entirely reasonable and proper thing to do. And I don't mean going on fishing expeditions to Iraq and bloodying noses in other places. I mean having a military industrial complex big enough and sufficiently effective (note I did not say efficient) to make any serious attack on us sound very much like a losing proposition.
Few of the geek persuasion have any qualms about movies and TV that hype science fiction and inspire kids to go into engineering, or better yet: Big Science, which has a 10-11 figure budget in the US, even though a sizeable portion of that research spending is either pie-in-the-sky, impractical, or an employment plan for academic or government scientists. I make a good living that way, and I certainly don't have a problem with it.
How, then, do you rationally have a problem with the military industrial complex having a light propaganda apparatus? Don't give me any crap about air raiding villages and killing civilians. Iraq and Afghanistan are brush fires compared to Vietnam, Korea, and WW2 in terms of casualties on both sides. More people die on the highways in the US each year than have died or been injured in combat in both wars, and the "collateral damage" isn't too far beyond that number either.
Lack of funding my ass. There's plenty of money to spend of laptops and HD projectors and electronic whiteboards and new sets of math textbooks with new sets of politically correct glossy pictures every other year. It ain't the money, it's the lack of an adult in the room to decree that it's the math that's important, not the glossy pictures. My dad showed me his 5th grade algebra textbook from 1950's Soviet Russia. The size of a DVD case, not a single picture, but all the math you need to learn in a simple package. And it probably would cost $20 to write, fact-check, print and distribute here in today's dollars.
Just because the hardware's made in China (we'll see how long that lasts, but that's another issue) doesn't mean the software can be. Software in many cases can't be one-size-fits all. Whether your business is sufficiently different that the off-the-shelf accounting or inventory software doesn't quite cut it or you want your web page to look *just right* and don't feel like playing email tag with some minimum wage drone 12 hrs away from your time zone, there will always be a need to people right here who know how to code. Nevermind all the embedded work that requires being physically present to get it to work.
In the Philadelphia public schools in the early 90's, 2nd and 3rd graders would have computer class with Apple 2e's 1-2 hrs a week, and LOGO was the tool of choice to teach programming. Loops, subroutines, conditionals, everything. And then it disappeared, only to be echoed weakly with the occasional 10-line TI calculator program in high school calculus.
My thinking is that when you're talking about young kids, they'd be open to it, but the school district would have to have the funding, patience, and political will to have a programming class for each grade, not just a one-off thing in elementary school. After all, math, English, history, and foreign language are multi-year sequences. It would be absurd to only have arithmetic in 3rd grade and then do no math until high school, or to have one year of Spanish in 5th grade and then expect fluency out of high school grads.
As an immigrant *to* the US, I feel insulted. My family worked quite hard to *get* US citizenship, and I know exactly why, and why it was worth it. People renouncing it to make a quick buck to me almost feels like selling their souls.
Nothing magic - say, find the position of the least-significant set bit in a uint32_t or something.
Oh hell. I've been doing this sort of thing for nearly 10 years and just today I was poking around on an FPGA and not only did I get the endianness wrong, I got the order of the bits in the bytes backwards! The fact that this was a 32 bit PPC machine talking over a 16 bit bus with Intel byte sex just confused everything.
Moral of the story: no one can find the LSB of any data type on any machine until they've gone and looked for it!
You can make a royal mess with just C by undisciplined use of basic language features such as goto's and function pointers. Good C programmers don't make messes.
Similarly, you can make a royal mess with C++ by mixing references, pointers, malloc's, delete's, new's, goto's, and operator overloading. Good C++ programmers know not to make those messes by using natural barriers in the language to create barriers in their design patterns in which different styles of code to solve different types of subproblems don't mix and spaghettify with each other.
To put it bluntly, when one complains that a language is stupid, it is worth considering whether it's really the language that's stupid.
Modern my foot. Almost every language you've listed there was around in some form 20 years ago, and evolved from established engineering practices in software work. Further, calling C "modern" is a stretch. It's one notch above assembly (that's a complement), and doesn't have any of these pinko computer science concepts in it. C++ does, Java does, but just as the determined Real Programmer can write a FORTRAN program in any language, so can a determined engineer be skilled, fluent, and effective with C++, Java,.net, and whatever without ever using an anonymous function, delegate, or any thing else that Turing or von Neumann wouldn't be familiar with.
The main complaint against FORTRAN and C and even C++ is that because they're compiled languages, debugging is more of an effort than it is in a MATLAB script, where individual lines of code can be executed with a single mouse click. For Big Data number crunching, it actually doesn't make a bit of difference, because your program isn't going to change in the middle of a dataset, the way it might when you're just debugging or dabbling.
I should also say that MATLAB, R, and all the rest are real programming languages, and can generally be used for all parts of a project. The complaint that statistics is painful in MATLAB is a symptom of not knowing MATLAB. I haven't used R, but I'm willing to bet the complaint that R isn't good for linear algebra is about just as credible.
Speed for both of them is another issue altogether.
Three launches and three failures. You get the sense these guys don't test their stuff before launch so much as they take the Dear Leader's word that it'll work just because. My understanding is that magical thinking is enforced from the top down in NK. Then again, I'd rather them be evil and stupid rather than evil and smart.
No, what I'm saying is that if an insurance company has exactly one client, then his premium has to be the full cost of his benefits, otherwise if something bad happens, there's no money to pay for it. Also, since you brought up quantum mechanics: ever heard of shot noise?
The probability of a widget failing is 0.001. The cost of a widget failing for us is $1000. Therefore, we should budget $1 per widget to cover the expected failures.
Trouble is, this only makes sense if you make 10000 widgets. Then you expect 0.001 x 10000 x 1000= 1000x(10 +/- sqrt(10)) failures (assuming widget failures are independent and uncorrelated events, which means the expected number of failures follow a Poisson distribution), so if yo budget
$20000 = 1000 x (~10 + 3*sqrt(10)), you'll be covered 99% of the time.
Note that "99% of the time" means that if you make 100 production runs of 10000 widgets, and budget $20000 for covering failures on each run, you'll be good for 99 of those 100 runs, and you might be over budget on the 100th.
When you make exactly one widget, and it costs you $1000 if it fails, and you estimate that the probability of failure is 0.001, and you budget exactly $1 to cover failures, what you've done is you've wasted $1, and you're still not covered, because if your one widget fails, you don't have the budget to cover it.
There was exactly one Fukushima plant, and when you talk about risk analysis for something like that, anything that is remotely likely to cause a catastrophic failure needs to be fully accounted for, because there is no such thing as an amortized catastrophic failure. It either works or it blows up in your face, not a small percentage of your face.
There's a (smallish) vocal segment of the scientific community--people who are, in fact, published, tenured faculty in science departments at real universities--who have a bias against capitalism and conspicuous consumption. They're also in the position of being able to put together hockey-stick charts and the like.
Take that one bit of data, and the investigator's zeal, and from Rachel Carson telling us that insecticide is evil (nevermind that N years later we've got mosquito-borne illnesses and bed-bugs popping up again) to Jim Hansen telling us that unless we stop using energy, we'll all get flooded out (nevermind that claims of causality from ~100 yrs of data on a timescale of thousands of years require more evidence than can possibly be extracted from known measurements and known physics), and what you've got is a situation where (some) scientists are Challengiing The Establishment, and Speaking Truth To Power.
As a scientist, who do you want to side with? Put it all together and you've got a stirred pot and distrust between people trying to go about their lives, and the scientific establishment (yes, it exists--you can't just go calling yourself a scientist--you have to go through the hoops, get your dissertation approved, get published in peer-reviewed journals, etc, etc) egged on by a small vocal and idealogical core and not really in a position to put the brakes on.
Just like "there's no more reasonable conservatives", there's no more reasonable scientists either. Conceding that you can't make a claim of causality from 100 years of noise is a sign of weakness. Conceding that cloud modeling isn't understood on a timescale of days* let alone weeks or months or years is a treacherous betrayal. Utter one word against a Jim Hansen and you're a Denier (you know, like a Holocaust denier), broach the fact that rooftop solar panels don't make economic sense when compared to centralized (fossil or nuclear) power plants and you may as well be proposing a scorched earth policy against your children in the view of a certain subset with influence over the tone of the national conversation.
Is it any wonder that people who don't drink the kool-aid by virtue of liking your politics have trouble trusting your thinking?
*I know, I work at an optical observatory--cloud forecasts are crap more than 36 hours out for a given area when there's a front anywhere within a few hundred miles.
I do, in fact, like not having to remember trivial stuff. I haven't remembered a phone number since I got a (dumb) phone with speed dial. But then I got a real job, where the company-issued phones on your desk don't have customizable speed dial, and you either had to look something up on a web directory, use the god-awful voice recognition service, or actually memorize people's (4-digit) phone numbers.
The reason I used the word "crutch" is that at this point of the technology, it can still be knocked out from under you, so you'd better know how to stand on your own.
Pen and paper are a crutch too (the earliest recorded materials from ancient Greece are bitchings about how writing stuff down lets people get lazy with their memory), but it's a much more mature and robust crutch that isn't so prone to failure. Paper is cheap, plentiful, and massively stockpiled. So are pens, pencils, markers, and crayons. Cell phone towers, wifi access points? Nothing a little extended power outage or a stupid software error won't take out like a hot knife through butter.
I don't know how much of this is a luddite streak of "I didn't grow up with it, therefore it's evil", but I remember when I was a wee lad 15-20 yrs ago, when you went on a road trip, you *did* study a (paper!) map of the area so you knew roughly what was where; when you wanted to go out, you *did* have to plan ahead more that 15 minutes; when you went to the supermarket, you *did* have to do some mental arithmetic to avoid ripping yourself off. Maybe it's unsubstantiated nostalgia, but it seemed that people *had* to be more responsible in the dark ages of the 1990's, because there were fewer technological crutches to remove the disincentive against ADHD thinking patterns and general inattention to detail.
Other than the "convenience" of being able to get at your email, a crutch for a stunted sense of direction, and a safety net for poor before-hand planning, the only reason I can see for having a smartphone is for keeping yourself entertained on the go. That brings me to: are people's minds so empty that they can't stand just a bit of quiet time without outside stimulation? Somehow we've been doing it for millennia without going completely bonkers, just sayin'.
All I can say is that Chevy's have had all-electronic throttle since the 90's and not a one of them magically accelerated of its own accord.
Spending money to intimidate everyone else against trying to kill you, so you can do interesting and useful things, however, is an entirely reasonable and proper thing to do. And I don't mean going on fishing expeditions to Iraq and bloodying noses in other places. I mean having a military industrial complex big enough and sufficiently effective (note I did not say efficient) to make any serious attack on us sound very much like a losing proposition.
Few of the geek persuasion have any qualms about movies and TV that hype science fiction and inspire kids to go into engineering, or better yet: Big Science, which has a 10-11 figure budget in the US, even though a sizeable portion of that research spending is either pie-in-the-sky, impractical, or an employment plan for academic or government scientists. I make a good living that way, and I certainly don't have a problem with it.
How, then, do you rationally have a problem with the military industrial complex having a light propaganda apparatus? Don't give me any crap about air raiding villages and killing civilians. Iraq and Afghanistan are brush fires compared to Vietnam, Korea, and WW2 in terms of casualties on both sides. More people die on the highways in the US each year than have died or been injured in combat in both wars, and the "collateral damage" isn't too far beyond that number either.
That a software token seed can be recovered given full access to the host is also obvious to anyone reasonably aware of the realities of cryptography.
Shhh!! Don't let Them know that. They'll take away my Linux DVD player!!!1!
Lack of funding my ass. There's plenty of money to spend of laptops and HD projectors and electronic whiteboards and new sets of math textbooks with new sets of politically correct glossy pictures every other year. It ain't the money, it's the lack of an adult in the room to decree that it's the math that's important, not the glossy pictures. My dad showed me his 5th grade algebra textbook from 1950's Soviet Russia. The size of a DVD case, not a single picture, but all the math you need to learn in a simple package. And it probably would cost $20 to write, fact-check, print and distribute here in today's dollars.
Just because the hardware's made in China (we'll see how long that lasts, but that's another issue) doesn't mean the software can be. Software in many cases can't be one-size-fits all. Whether your business is sufficiently different that the off-the-shelf accounting or inventory software doesn't quite cut it or you want your web page to look *just right* and don't feel like playing email tag with some minimum wage drone 12 hrs away from your time zone, there will always be a need to people right here who know how to code. Nevermind all the embedded work that requires being physically present to get it to work.
In the Philadelphia public schools in the early 90's, 2nd and 3rd graders would have computer class with Apple 2e's 1-2 hrs a week, and LOGO was the tool of choice to teach programming. Loops, subroutines, conditionals, everything. And then it disappeared, only to be echoed weakly with the occasional 10-line TI calculator program in high school calculus.
My thinking is that when you're talking about young kids, they'd be open to it, but the school district would have to have the funding, patience, and political will to have a programming class for each grade, not just a one-off thing in elementary school. After all, math, English, history, and foreign language are multi-year sequences. It would be absurd to only have arithmetic in 3rd grade and then do no math until high school, or to have one year of Spanish in 5th grade and then expect fluency out of high school grads.
As an immigrant *to* the US, I feel insulted. My family worked quite hard to *get* US citizenship, and I know exactly why, and why it was worth it. People renouncing it to make a quick buck to me almost feels like selling their souls.
Nothing magic - say, find the position of the least-significant set bit in a uint32_t or something.
Oh hell. I've been doing this sort of thing for nearly 10 years and just today I was poking around on an FPGA and not only did I get the endianness wrong, I got the order of the bits in the bytes backwards! The fact that this was a 32 bit PPC machine talking over a 16 bit bus with Intel byte sex just confused everything.
Moral of the story: no one can find the LSB of any data type on any machine until they've gone and looked for it!
I'd rather have good programmers and an OK language than an idiot-proof language and a bunch of idiots just to make sure,
make up conspiracy theories?
No, that's something that ought to be reserved for the Fluffy Bunnies Protection Act.
You can make a mess with any language.
You can make a royal mess with just C by undisciplined use of basic language features such as goto's and function pointers. Good C programmers don't make messes.
Similarly, you can make a royal mess with C++ by mixing references, pointers, malloc's, delete's, new's, goto's, and operator overloading. Good C++ programmers know not to make those messes by using natural barriers in the language to create barriers in their design patterns in which different styles of code to solve different types of subproblems don't mix and spaghettify with each other.
To put it bluntly, when one complains that a language is stupid, it is worth considering whether it's really the language that's stupid.
Modern my foot. Almost every language you've listed there was around in some form 20 years ago, and evolved from established engineering practices in software work. Further, calling C "modern" is a stretch. It's one notch above assembly (that's a complement), and doesn't have any of these pinko computer science concepts in it. C++ does, Java does, but just as the determined Real Programmer can write a FORTRAN program in any language, so can a determined engineer be skilled, fluent, and effective with C++, Java, .net, and whatever without ever using an anonymous function, delegate, or any thing else that Turing or von Neumann wouldn't be familiar with.
The main complaint against FORTRAN and C and even C++ is that because they're compiled languages, debugging is more of an effort than it is in a MATLAB script, where individual lines of code can be executed with a single mouse click. For Big Data number crunching, it actually doesn't make a bit of difference, because your program isn't going to change in the middle of a dataset, the way it might when you're just debugging or dabbling.
I should also say that MATLAB, R, and all the rest are real programming languages, and can generally be used for all parts of a project. The complaint that statistics is painful in MATLAB is a symptom of not knowing MATLAB. I haven't used R, but I'm willing to bet the complaint that R isn't good for linear algebra is about just as credible.
Speed for both of them is another issue altogether.
Three launches and three failures. You get the sense these guys don't test their stuff before launch so much as they take the Dear Leader's word that it'll work just because. My understanding is that magical thinking is enforced from the top down in NK. Then again, I'd rather them be evil and stupid rather than evil and smart.
Now everyone can screw up the priority between the gas an brake pedal in regen mode!
No, what I'm saying is that if an insurance company has exactly one client, then his premium has to be the full cost of his benefits, otherwise if something bad happens, there's no money to pay for it. Also, since you brought up quantum mechanics: ever heard of shot noise?
Too many people learn risk management like this:
The probability of a widget failing is 0.001. The cost of a widget failing for us is $1000. Therefore, we should budget $1 per widget to cover the expected failures.
Trouble is, this only makes sense if you make 10000 widgets. Then you expect 0.001 x 10000 x 1000= 1000x(10 +/- sqrt(10)) failures (assuming widget failures are independent and uncorrelated events, which means the expected number of failures follow a Poisson distribution), so if yo budget
$20000 = 1000 x (~10 + 3*sqrt(10)), you'll be covered 99% of the time.
Note that "99% of the time" means that if you make 100 production runs of 10000 widgets, and budget $20000 for covering failures on each run, you'll be good for 99 of those 100 runs, and you might be over budget on the 100th.
When you make exactly one widget, and it costs you $1000 if it fails, and you estimate that the probability of failure is 0.001, and you budget exactly $1 to cover failures, what you've done is you've wasted $1, and you're still not covered, because if your one widget fails, you don't have the budget to cover it.
There was exactly one Fukushima plant, and when you talk about risk analysis for something like that, anything that is remotely likely to cause a catastrophic failure needs to be fully accounted for, because there is no such thing as an amortized catastrophic failure. It either works or it blows up in your face, not a small percentage of your face.
There's a (smallish) vocal segment of the scientific community--people who are, in fact, published, tenured faculty in science departments at real universities--who have a bias against capitalism and conspicuous consumption. They're also in the position of being able to put together hockey-stick charts and the like.
Take that one bit of data, and the investigator's zeal, and from Rachel Carson telling us that insecticide is evil (nevermind that N years later we've got mosquito-borne illnesses and bed-bugs popping up again) to Jim Hansen telling us that unless we stop using energy, we'll all get flooded out (nevermind that claims of causality from ~100 yrs of data on a timescale of thousands of years require more evidence than can possibly be extracted from known measurements and known physics), and what you've got is a situation where (some) scientists are Challengiing The Establishment, and Speaking Truth To Power.
As a scientist, who do you want to side with? Put it all together and you've got a stirred pot and distrust between people trying to go about their lives, and the scientific establishment (yes, it exists--you can't just go calling yourself a scientist--you have to go through the hoops, get your dissertation approved, get published in peer-reviewed journals, etc, etc) egged on by a small vocal and idealogical core and not really in a position to put the brakes on.
Just like "there's no more reasonable conservatives", there's no more reasonable scientists either. Conceding that you can't make a claim of causality from 100 years of noise is a sign of weakness. Conceding that cloud modeling isn't understood on a timescale of days* let alone weeks or months or years is a treacherous betrayal. Utter one word against a Jim Hansen and you're a Denier (you know, like a Holocaust denier), broach the fact that rooftop solar panels don't make economic sense when compared to centralized (fossil or nuclear) power plants and you may as well be proposing a scorched earth policy against your children in the view of a certain subset with influence over the tone of the national conversation.
Is it any wonder that people who don't drink the kool-aid by virtue of liking your politics have trouble trusting your thinking?
*I know, I work at an optical observatory--cloud forecasts are crap more than 36 hours out for a given area when there's a front anywhere within a few hundred miles.
Now that complaint is just plain irrational.
No, I don't see. It's invisible.
I do, in fact, like not having to remember trivial stuff. I haven't remembered a phone number since I got a (dumb) phone with speed dial. But then I got a real job, where the company-issued phones on your desk don't have customizable speed dial, and you either had to look something up on a web directory, use the god-awful voice recognition service, or actually memorize people's (4-digit) phone numbers.
The reason I used the word "crutch" is that at this point of the technology, it can still be knocked out from under you, so you'd better know how to stand on your own.
Pen and paper are a crutch too (the earliest recorded materials from ancient Greece are bitchings about how writing stuff down lets people get lazy with their memory), but it's a much more mature and robust crutch that isn't so prone to failure. Paper is cheap, plentiful, and massively stockpiled. So are pens, pencils, markers, and crayons. Cell phone towers, wifi access points? Nothing a little extended power outage or a stupid software error won't take out like a hot knife through butter.
I don't know how much of this is a luddite streak of "I didn't grow up with it, therefore it's evil", but I remember when I was a wee lad 15-20 yrs ago, when you went on a road trip, you *did* study a (paper!) map of the area so you knew roughly what was where; when you wanted to go out, you *did* have to plan ahead more that 15 minutes; when you went to the supermarket, you *did* have to do some mental arithmetic to avoid ripping yourself off. Maybe it's unsubstantiated nostalgia, but it seemed that people *had* to be more responsible in the dark ages of the 1990's, because there were fewer technological crutches to remove the disincentive against ADHD thinking patterns and general inattention to detail.
Other than the "convenience" of being able to get at your email, a crutch for a stunted sense of direction, and a safety net for poor before-hand planning, the only reason I can see for having a smartphone is for keeping yourself entertained on the go. That brings me to: are people's minds so empty that they can't stand just a bit of quiet time without outside stimulation? Somehow we've been doing it for millennia without going completely bonkers, just sayin'.