That is a good point. We should also push for changes in laws that offer incentives for being a contractor (and/or small business or part of a small business). One of the changes could be eligibility for assistance if you are at the poverty line -- the argument for it being that the state should protect the weak, not the middle class. In my view, if people can live modestly as contractors or workers at small businesses and know they can count on not starving when there's no work, that's still better than the the combination of large corporations and mass consumption that the current system favors, because it would be (I believe) more robust and sane. It might also solve the problem of migrant workers, if people in their own countries are willing to do lower-end jobs.
It's a change that would take time, but I think it should be embraced first by those who can take it more easily, like software engineers, to go back to the original post. (By "should" I mean it would be good for them, if they agree.) Btw I'm not blaming "the Man" for the current state, I think the system evolved that way b/c most of us believed large and more organized is better. I also think enough evidence is coming to show that's not the case.
That's nonsense. Science operates outside of policy, whereas policy takes into account science, politics, economy, "state of the union" and so on.
For science to define policy would mean that politics, economy, "state of the union" and so on would be input to science and output would be policy. That doesn't make sense because that is not what science is concerned about, nor can measure, or has credible theories about it. (I do not count economy, political science etc. as sciences.)
Maybe a solution is to move away from the job culture and into service/contract culture. Employment meant something when it was meant to be long term, when companies were stable. Tech world especially moves too quickly. Unless someone really likes the company, wants to be a part of it anyway and accepts that he or she may need to leave when the company's needs change, why be an employee at all? Why go through the pretense of loyalty and security when it doesn't exist? Simply work per project or as a contractor as long as the services are needed, then be quick and nimble and find other clients when the situation changes. Not much different than a taxi driver perhaps. All the while be your own boss and keep your dignity, even if you make a little less (or more, if you are lucky and willing) and accept the short term uncertainty. (Something we evolved to deal with anyway.) Arguably long term uncertainty is worse when you are employed.
That would be my recommendation. It takes as little space as a chair. I have a dark gray one that blends nicely in the office environment, and I didn't need to change anything -- I even kept my chair for visitors.
Does sitting on a ball helps your health? I don't know of any studies, but speaking for myself, when I sit on a regular chair for more than a couple of hours I get low back pain. With a ball I can work 10-12 hour days without any pain. (My theory is that's because the pressure point is constantly moving a little.) I'm constantly making little movements so I don't feel stuck. It works the abs for sure. It's fun -- when I'm thinking about a problem I can roll on my back and be lying on it and it definitely helps. I also bounce on it when I'm thinking or do balancing poses. I can do situps to shake up a little. When I'm tired I can lean on it at 45 degrees angle and it feels restful. It helps straighten my posture.
The downside is the posture -- I tend to slouch if I can't lean on something. To prevent that, I wear shoulder support straps when I work. That's why it improves my posture, otherwise would degrade it.
Another upside -- I can carry my "chair" with me anywhere (e.g. when I'm going overseas for a month). In that sense it's the opposite of a standing desk. I used a standing desk for about four years, but started having back pains with those as well. Similar reason I guess -- not much change in the pressure point.
I've been sitting on the ball for about 7 months now. It took me about a month or two to break in completely, during which I'd sometimes switch to the regular chair. Now it feels great and my body always prefers the ball.
You need the right size ball; they come in 75, 65, and 55cm diameter. I'm 6'0 and I use the 75cm. They are probably all similar in quality, but this is the one I use and can recommend: http://www.amazon.com/GoFit-75.... I have one for the office and one for home. For shoulder support I use this: http://www.amazon.com/dp/B00CM..., size Large (even though I wear mostly Medium for regular clothing). Hope it helps.
There is an alternative. In my town there is a small privately owned store that is well stocked with electronics part, in fact better than Radio Shack. That said I'd still prefer that RS keeps being around.
You would want to practice morality for your own mental health and well-being. That you even consider it means it is in your consciousness (and your conscience). You can compare it to a pilot who is dropping a bomb on a target that he thinks he knows is strictly military, vs. when he sees the target is also civilian. Now that you have the knowledge, you can't escape it. So what to do with it? The pattern is, as far as I can tell, that people who are aware they are breaking an ethical issue, which usually means harming others directly or indirectly, and who are perhaps concerned enough about it to ask others for opinions, but choose to ignore it under some rationalization, suffer later in life -- with depression and other things. It doesn't even matter if the majority of others are doing the same thing, what matters is your internal state of mind. If you do not know, or can't possibly see how that can be an issue, you do not have the mental consequences as when you do know, or suspect, but do it anyway. That's just how life is. You happen to both know and care at some level about the ethical issues (even if you might prefer that you did not), so that will affect your options. That's my opinion.
I have zero interest in the fire phone but that statement is not true: there is hardware and software engineering work done that make this product both new and useful, except not as much compared to market alternatives. But those engineers and designers and so on made the damn thing, unlike these idiot analysts who make nothing of value and give their opinion without having any skin in the game (or stand to make a profit in not-quite-not-yet-illegal ways -- there's a book called Conflicted by Michael Pulp which gives a good insight at what goes on in that world).
OK, when will that start? You still can't fucking even sort items by price until you drill down to a specific category, what year is it?
Are you kidding? They made a revolution in buying, reading, and learning about books. AWS made a revolution in online services. The rest may be convenience -- buying things on Amazon prime (been a member for years), watching stuff with Fire TV (I own it), and their line of tablets (of which I have none), but it's still useful and they did it. (Yes their price sorting sucks.) Amazon made a big change in the world, and mostly for good. IMO. And what good have those analysts done? Well maybe you can say Henry Blodget helped jack up the price of Amazon stock in 1998. From Wikipedia: "[Blodget] is permanently banned from involvement in the securities industry."
My point is, these people -- analysts and journalists -- in my opinion are not qualified to give opinions on things that matter. They should stick to reporting facts, to the degree they are able to without distorting them.
Henry Blodget is a clown. What business does he have still being around and giving opinions after all he said and did in 1999? Why would we care what he and others of his ilk say about the future when they have been so spectacularly wrong where it counts? "We think Amazon is just one of many stocks for which this narrative will ultimately prove false." Keep thinking douchebags while people at Amazon create something new and useful.
I have long suspected that Business Insider is junk content-wise, and now seeing that Henry Blodget is its editor-in-chief I know for sure. If FastCompany takes it seriously, they are not any better. Forbes always smacked of empty, they had an article a couple years back about how Jobs was wrong for not introducing a tablet earlier, so it was clear they have nothing of value to offer either.
It's all essentially entertainment on the topic of finance with no substance behind it whatsoever. Like that guy Cramer that yells booya.
Another anecdote for your hunch -- I have a friend who when he was around 13 decided (for unknown reasons) to condition himself to living in cold environment. He'd take baths in cold water, walk barefooted in his unheated room in the winter and so on. For the past 30 years he's been much more tolerant to cold than the rest of us, for example he'd just wear a sweater outside in the snow, and he seems to be in good health.
I believe we are adaptable even when we get older, though of course less so.
I think you're starting with the assumption that it is important for a religious person to know what exactly, objectively happened, rather then what the internal and psychological meaning of something in their religious text is. In my experience, those who do insist on what "really" happened according to the Bible aren't particularly spiritual -- they are just a flip coin of atheists who more than caring about the wonders of science insist on what "really" happened according to a current consensus on scientific theories.
And that's why I don't like what Tyson is doing -- I think he only helps entrench existing closed-mindedness on both sides. (Though I realize by bashing his supporters in my post above I'm not really helping matters either, FWIW.)
That is the essence of it. It doesn't matter if he's "right", what matters is the consequence of his actions, and that is turning religious people away from science further while making his "pro-science" (a ridiculous term) fans more, well, fanatical. I have an impression that his supporters care more about settling scores with religious people than about advancing science.
It's not about the intention but about the consequences. PG believes that great programming is a talent that can flourish in the right conditions that this country has. Also you're right that the companies are pushing for visas only to lower the price down. But regardless the consequence is that the good programmers can flow in greater numbers, along with mediocre and bad ones.
Without having RTA (but having read many others of his), I think essentially his argument is this: if we open the gates, one of the consequences will be is that we will have more great programmers than we would have otherwise, along with negative consequences -- a glut of mediocre programmers, lower wages, fewer jobs for domestic non-elite programmers and so on.
The question is, is having an extra few hundred or thousand super talents a year in the US worth it? PG seems to believe yes.
FWIW, I am of two minds there. Having more supertalent will likely lead to new and exciting stuff, and will likely make the lives of society overall a little worse. At least that has been the trend the last few decades ("everything is amazing and nobody's happy"). Still, is it worth it? I don't know.
Leap Motion was heavily overhyped and after $40M of investments they produced basically nothing useful. I'm very skeptical of companies that only talk about how great product they *will* have, and this hire goes squarely in that direction. Apple at least keep quit until they have something that works.
Another Leap in this category is Sinclair's QL -- though I'd take it any day over these other Leaps in their current form.
We're talking about cognitive ease (and cognitive strain) of reading code, so that is not the same: when I see hs.add(elem) it is very obvious that the "add()" is some hs' thing. But when I see hs + elem it goes against years of practice that the operands are numbers or strings and for a tiny fraction of a second I may have to ask myself what are hs and elem again. That's cognitive strain.
IMO though operator overloading is justified with template programming since the "+" operator is guaranteed to exist so it's like a standardized function name. So I guess what I dislike is that C++ encourages things that don't have purpose other than looking nice to some people. In C at least it's accepted practice that going wild with macros is bad but with C++ there are things that are done only because they appear "elegant."
Joel Spolsky's example touches on those too: "i might be of a type that has operator= overloaded, and the types might not be compatible so an automatic type coercion function might end up being called. And the only way to find out is not only to check the type of the variables, but to find the code that implements that type, and God help you if there’s inheritance somewhere" and so on.
It's a caricature of real world's examples meant to illustrate this: when you read competently written C++ code, you don't know in your head what's going on on the machine level without going outside of the code block you're reading to check. With competently written C, you do. I don't think there is much dispute over that.
The question is, does that matter? That's (more) up for debate. My conviction is yes, it matters for system code, and no not quite, it doesn't matter as much for app code. When I look at system code, I want to know what happens at the CPU level. When I look at app code, I want to know how these abstract elements combine to make something new.
As for operator overloading, I agree there are C++ things that are more invisible. With operator overloading, I just don't like it because of precedence and all. The sole purpose of overloaded operators, I believe, is to make the code more readable, by one person's standard, but readability is in the eye of the beholder. I prefer chained function calls as I find it easier to map the code in my head to the process at runtime.
The "i = j * 5" example is meant to cover reasonable cases, not to take it to the extreme. Of course you can do all kinds of obfuscations in both C and C++. The point is that in a well-meaning, reasonably competent team, C++ coders often out of best intentions overload operators and do other things that obscure your understanding of what is actually happening. You will have to either assume/hope that the code doesn't have side effects you're not aware of, or you'll have to go and check elsewhere, which interrupts your flow of reading and understanding the code. With C, in a team of the same quality, you don't need to do that -- what you see is what you get. What I'm saying is under normal conditions, your confidence in knowing what happens is higher when looking at C than at C++ code, and the more critical the code is, the more important your level of confidence in it is.
No one says it was you who overloaded the operator. You may be looking at code someone else in your team wrote, or an ex co-worker, or an open source contributor -- and it could be even you and don't remember it. The point is, the reality is if you are given code to work with and you see i = j * 5, if it's C you know what it does; if it's C++, you don't, regardless of who wrote it.
I think the danger of that happening for low level, frequent-running, system code outweighs the flexibility that C++ gives you, and vice versa for app code.
The downside of C++, is you can't look at the code and know what happens at the machine level. Joel Spolsky describes it below: (in an article on variable naming)
"In general, I have to admit that I’m a little bit scared of language features that hide things. When you see the code
i = j * 5;
in C you know, at least, that j is being multiplied by five and the results stored in i.
But if you see that same snippet of code in C++, you don’t know anything. Nothing. The only way to know what’s really happening in C++ is to find out what types i and j are, something which might be declared somewhere altogether else. That’s because j might be of a type that has operator* overloaded and it does something terribly witty when you try to multiply it. And i might be of a type that has operator= overloaded, and the types might not be compatible so an automatic type coercion function might end up being called. And the only way to find out is not only to check the type of the variables, but to find the code that implements that type, and God help you if there’s inheritance somewhere, because now you have to traipse all the way up the class hierarchy all by yourself trying to find where that code really is, and if there’s polymorphism somewhere, you’re really in trouble because it’s not enough to know what type i and j are declared, you have to know what type they are right now, which might involve inspecting an arbitrary amount of code and you can never really be sure if you’ve looked everywhere thanks to the halting problem (phew!).
When you see i=j*5 in C++ you are really on your own, bubby, and that, in my mind, reduces the ability to detect possible problems just by looking at code."
My opinion is, for code that lives closer to the OS (or the OS itself), where there are fewer lines of code but which run more frequently, C is king. For code that needs to multiply/grow/combine/evolve faster and still run fast, C++ is often a better choice.
I grew up in Serbia and Spectrum meant the world to many kids in my generation, even though we had no direct connection with the UK market whatsoever -- no magazines or TV programs or anything really. So it is fair to say that Spectrum was a cross-European phenomenon. C64 was (almost) equally present, though everyone I knew who had a Commodore just played games, whereas lots of Spectrum folks dabbled in programming, at least a little.
People react to people more than people react to concepts, I don't think it's that surprising. "There's been a murder" has less of an emotional weight than "Alice murdered Bob." (And note, different emotional weight than "Bob murdered Alice." The endless nuances of being human carry far more information -- infinitely more, actually -- than what is captured by a conceptual abstraction.)
B/c those rich white frat boys want to make shit such as Groupon and Zynga. That is the real problem (for me), their outlook on life and their values result in things I don't consider useful or beautiful but just something that makes them richer and the rest of the world poorer and dumber.
I would imagine it feels like the reflex-test kick in the knee -- you feel the sensation but are surprised it is happening since you are not willing it, and you're merely observing the process.
Taking it a step further, I imagine one day when someone else can press a trigger to create a vague thought or image in your mind, you'd feel the same -- feel the mental sensation but since you'd not be willing it, you'd be just observing it. (Perhaps similar with eg. a hallucinations? Also something you did not invite in your mental space, it just occurs.)
I'm curious what happens if there are multiple validations checks and if they don't all have immediate visible consequence. E.g. if some basic function in the game such as moving to the left deteriorates in the minutes or even hours/days after the validation check has failed, or if the failed check forces glitches downstream that make the game unplayable? In other words, how do you know if you have removed the protection (esp. if the game has genuine bugs)?
Thanks. "The bump is the rope; the wave and bump are one" is a good way to put it. I found a paper by Art Hobson of UARK claiming that "There are no particles, there are only fields" (http://arxiv.org/ftp/arxiv/papers/1204/1204.4616.pdf), this sounds similar. So phenomena appear to us as particles, and we model those phenomena as waves to predict how/where/when they will manifest to us. Seen that way, I think the double slit experiment isn't any more mysterious than any "ordinary" electron behavior, but it's always present as "this is where things get weird."
That is a good point. We should also push for changes in laws that offer incentives for being a contractor (and/or small business or part of a small business). One of the changes could be eligibility for assistance if you are at the poverty line -- the argument for it being that the state should protect the weak, not the middle class. In my view, if people can live modestly as contractors or workers at small businesses and know they can count on not starving when there's no work, that's still better than the the combination of large corporations and mass consumption that the current system favors, because it would be (I believe) more robust and sane. It might also solve the problem of migrant workers, if people in their own countries are willing to do lower-end jobs.
It's a change that would take time, but I think it should be embraced first by those who can take it more easily, like software engineers, to go back to the original post. (By "should" I mean it would be good for them, if they agree.) Btw I'm not blaming "the Man" for the current state, I think the system evolved that way b/c most of us believed large and more organized is better. I also think enough evidence is coming to show that's not the case.
That's nonsense. Science operates outside of policy, whereas policy takes into account science, politics, economy, "state of the union" and so on.
For science to define policy would mean that politics, economy, "state of the union" and so on would be input to science and output would be policy. That doesn't make sense because that is not what science is concerned about, nor can measure, or has credible theories about it. (I do not count economy, political science etc. as sciences.)
Maybe a solution is to move away from the job culture and into service/contract culture. Employment meant something when it was meant to be long term, when companies were stable. Tech world especially moves too quickly. Unless someone really likes the company, wants to be a part of it anyway and accepts that he or she may need to leave when the company's needs change, why be an employee at all? Why go through the pretense of loyalty and security when it doesn't exist? Simply work per project or as a contractor as long as the services are needed, then be quick and nimble and find other clients when the situation changes. Not much different than a taxi driver perhaps. All the while be your own boss and keep your dignity, even if you make a little less (or more, if you are lucky and willing) and accept the short term uncertainty. (Something we evolved to deal with anyway.) Arguably long term uncertainty is worse when you are employed.
That would be my recommendation. It takes as little space as a chair. I have a dark gray one that blends nicely in the office environment, and I didn't need to change anything -- I even kept my chair for visitors.
Does sitting on a ball helps your health? I don't know of any studies, but speaking for myself, when I sit on a regular chair for more than a couple of hours I get low back pain. With a ball I can work 10-12 hour days without any pain. (My theory is that's because the pressure point is constantly moving a little.) I'm constantly making little movements so I don't feel stuck. It works the abs for sure. It's fun -- when I'm thinking about a problem I can roll on my back and be lying on it and it definitely helps. I also bounce on it when I'm thinking or do balancing poses. I can do situps to shake up a little. When I'm tired I can lean on it at 45 degrees angle and it feels restful. It helps straighten my posture.
The downside is the posture -- I tend to slouch if I can't lean on something. To prevent that, I wear shoulder support straps when I work. That's why it improves my posture, otherwise would degrade it.
Another upside -- I can carry my "chair" with me anywhere (e.g. when I'm going overseas for a month). In that sense it's the opposite of a standing desk. I used a standing desk for about four years, but started having back pains with those as well. Similar reason I guess -- not much change in the pressure point.
I've been sitting on the ball for about 7 months now. It took me about a month or two to break in completely, during which I'd sometimes switch to the regular chair. Now it feels great and my body always prefers the ball.
You need the right size ball; they come in 75, 65, and 55cm diameter. I'm 6'0 and I use the 75cm. They are probably all similar in quality, but this is the one I use and can recommend: http://www.amazon.com/GoFit-75.... I have one for the office and one for home. For shoulder support I use this: http://www.amazon.com/dp/B00CM..., size Large (even though I wear mostly Medium for regular clothing). Hope it helps.
There is an alternative. In my town there is a small privately owned store that is well stocked with electronics part, in fact better than Radio Shack. That said I'd still prefer that RS keeps being around.
You would want to practice morality for your own mental health and well-being. That you even consider it means it is in your consciousness (and your conscience). You can compare it to a pilot who is dropping a bomb on a target that he thinks he knows is strictly military, vs. when he sees the target is also civilian. Now that you have the knowledge, you can't escape it. So what to do with it? The pattern is, as far as I can tell, that people who are aware they are breaking an ethical issue, which usually means harming others directly or indirectly, and who are perhaps concerned enough about it to ask others for opinions, but choose to ignore it under some rationalization, suffer later in life -- with depression and other things. It doesn't even matter if the majority of others are doing the same thing, what matters is your internal state of mind. If you do not know, or can't possibly see how that can be an issue, you do not have the mental consequences as when you do know, or suspect, but do it anyway. That's just how life is. You happen to both know and care at some level about the ethical issues (even if you might prefer that you did not), so that will affect your options. That's my opinion.
I have zero interest in the fire phone but that statement is not true: there is hardware and software engineering work done that make this product both new and useful, except not as much compared to market alternatives. But those engineers and designers and so on made the damn thing, unlike these idiot analysts who make nothing of value and give their opinion without having any skin in the game (or stand to make a profit in not-quite-not-yet-illegal ways -- there's a book called Conflicted by Michael Pulp which gives a good insight at what goes on in that world).
OK, when will that start? You still can't fucking even sort items by price until you drill down to a specific category, what year is it?
Are you kidding? They made a revolution in buying, reading, and learning about books. AWS made a revolution in online services. The rest may be convenience -- buying things on Amazon prime (been a member for years), watching stuff with Fire TV (I own it), and their line of tablets (of which I have none), but it's still useful and they did it. (Yes their price sorting sucks.) Amazon made a big change in the world, and mostly for good. IMO. And what good have those analysts done? Well maybe you can say Henry Blodget helped jack up the price of Amazon stock in 1998. From Wikipedia: "[Blodget] is permanently banned from involvement in the securities industry."
My point is, these people -- analysts and journalists -- in my opinion are not qualified to give opinions on things that matter. They should stick to reporting facts, to the degree they are able to without distorting them.
Henry Blodget is a clown. What business does he have still being around and giving opinions after all he said and did in 1999? Why would we care what he and others of his ilk say about the future when they have been so spectacularly wrong where it counts? "We think Amazon is just one of many stocks for which this narrative will ultimately prove false." Keep thinking douchebags while people at Amazon create something new and useful.
I have long suspected that Business Insider is junk content-wise, and now seeing that Henry Blodget is its editor-in-chief I know for sure. If FastCompany takes it seriously, they are not any better. Forbes always smacked of empty, they had an article a couple years back about how Jobs was wrong for not introducing a tablet earlier, so it was clear they have nothing of value to offer either.
It's all essentially entertainment on the topic of finance with no substance behind it whatsoever. Like that guy Cramer that yells booya.
Another anecdote for your hunch -- I have a friend who when he was around 13 decided (for unknown reasons) to condition himself to living in cold environment. He'd take baths in cold water, walk barefooted in his unheated room in the winter and so on. For the past 30 years he's been much more tolerant to cold than the rest of us, for example he'd just wear a sweater outside in the snow, and he seems to be in good health.
I believe we are adaptable even when we get older, though of course less so.
I think you're starting with the assumption that it is important for a religious person to know what exactly, objectively happened, rather then what the internal and psychological meaning of something in their religious text is. In my experience, those who do insist on what "really" happened according to the Bible aren't particularly spiritual -- they are just a flip coin of atheists who more than caring about the wonders of science insist on what "really" happened according to a current consensus on scientific theories.
And that's why I don't like what Tyson is doing -- I think he only helps entrench existing closed-mindedness on both sides. (Though I realize by bashing his supporters in my post above I'm not really helping matters either, FWIW.)
That is the essence of it. It doesn't matter if he's "right", what matters is the consequence of his actions, and that is turning religious people away from science further while making his "pro-science" (a ridiculous term) fans more, well, fanatical. I have an impression that his supporters care more about settling scores with religious people than about advancing science.
It's not about the intention but about the consequences. PG believes that great programming is a talent that can flourish in the right conditions that this country has. Also you're right that the companies are pushing for visas only to lower the price down. But regardless the consequence is that the good programmers can flow in greater numbers, along with mediocre and bad ones.
Without having RTA (but having read many others of his), I think essentially his argument is this: if we open the gates, one of the consequences will be is that we will have more great programmers than we would have otherwise, along with negative consequences -- a glut of mediocre programmers, lower wages, fewer jobs for domestic non-elite programmers and so on.
The question is, is having an extra few hundred or thousand super talents a year in the US worth it? PG seems to believe yes.
FWIW, I am of two minds there. Having more supertalent will likely lead to new and exciting stuff, and will likely make the lives of society overall a little worse. At least that has been the trend the last few decades ("everything is amazing and nobody's happy"). Still, is it worth it? I don't know.
Leap Motion was heavily overhyped and after $40M of investments they produced basically nothing useful. I'm very skeptical of companies that only talk about how great product they *will* have, and this hire goes squarely in that direction. Apple at least keep quit until they have something that works.
Another Leap in this category is Sinclair's QL -- though I'd take it any day over these other Leaps in their current form.
We're talking about cognitive ease (and cognitive strain) of reading code, so that is not the same: when I see
hs.add(elem) it is very obvious that the "add()" is some hs' thing. But when I see hs + elem it goes against years of practice that the operands are numbers or strings and for a tiny fraction of a second I may have to ask myself what are hs and elem again. That's cognitive strain.
IMO though operator overloading is justified with template programming since the "+" operator is guaranteed to exist so it's like a standardized function name. So I guess what I dislike is that C++ encourages things that don't have purpose other than looking nice to some people. In C at least it's accepted practice that going wild with macros is bad but with C++ there are things that are done only because they appear "elegant."
Joel Spolsky's example touches on those too: "i might be of a type that has operator= overloaded, and the types might not be compatible so an automatic type coercion function might end up being called. And the only way to find out is not only to check the type of the variables, but to find the code that implements that type, and God help you if there’s inheritance somewhere" and so on.
It's a caricature of real world's examples meant to illustrate this: when you read competently written C++ code, you don't know in your head what's going on on the machine level without going outside of the code block you're reading to check. With competently written C, you do. I don't think there is much dispute over that.
The question is, does that matter? That's (more) up for debate. My conviction is yes, it matters for system code, and no not quite, it doesn't matter as much for app code. When I look at system code, I want to know what happens at the CPU level. When I look at app code, I want to know how these abstract elements combine to make something new.
As for operator overloading, I agree there are C++ things that are more invisible. With operator overloading, I just don't like it because of precedence and all. The sole purpose of overloaded operators, I believe, is to make the code more readable, by one person's standard, but readability is in the eye of the beholder. I prefer chained function calls as I find it easier to map the code in my head to the process at runtime.
The "i = j * 5" example is meant to cover reasonable cases, not to take it to the extreme. Of course you can do all kinds of obfuscations in both C and C++. The point is that in a well-meaning, reasonably competent team, C++ coders often out of best intentions overload operators and do other things that obscure your understanding of what is actually happening. You will have to either assume/hope that the code doesn't have side effects you're not aware of, or you'll have to go and check elsewhere, which interrupts your flow of reading and understanding the code. With C, in a team of the same quality, you don't need to do that -- what you see is what you get. What I'm saying is under normal conditions, your confidence in knowing what happens is higher when looking at C than at C++ code, and the more critical the code is, the more important your level of confidence in it is.
No one says it was you who overloaded the operator. You may be looking at code someone else in your team wrote, or an ex co-worker, or an open source contributor -- and it could be even you and don't remember it. The point is, the reality is if you are given code to work with and you see i = j * 5, if it's C you know what it does; if it's C++, you don't, regardless of who wrote it.
I think the danger of that happening for low level, frequent-running, system code outweighs the flexibility that C++ gives you, and vice versa for app code.
The downside of C++, is you can't look at the code and know what happens at the machine level. Joel Spolsky describes it below: (in an article on variable naming)
"In general, I have to admit that I’m a little bit scared of language features that hide things. When you see the code
i = j * 5;
in C you know, at least, that j is being multiplied by five and the results stored in i.
But if you see that same snippet of code in C++, you don’t know anything. Nothing. The only way to know what’s really happening in C++ is to find out what types i and j are, something which might be declared somewhere altogether else. That’s because j might be of a type that has operator* overloaded and it does something terribly witty when you try to multiply it. And i might be of a type that has operator= overloaded, and the types might not be compatible so an automatic type coercion function might end up being called. And the only way to find out is not only to check the type of the variables, but to find the code that implements that type, and God help you if there’s inheritance somewhere, because now you have to traipse all the way up the class hierarchy all by yourself trying to find where that code really is, and if there’s polymorphism somewhere, you’re really in trouble because it’s not enough to know what type i and j are declared, you have to know what type they are right now, which might involve inspecting an arbitrary amount of code and you can never really be sure if you’ve looked everywhere thanks to the halting problem (phew!).
When you see i=j*5 in C++ you are really on your own, bubby, and that, in my mind, reduces the ability to detect possible problems just by looking at code."
My opinion is, for code that lives closer to the OS (or the OS itself), where there are fewer lines of code but which run more frequently, C is king. For code that needs to multiply/grow/combine/evolve faster and still run fast, C++ is often a better choice.
I grew up in Serbia and Spectrum meant the world to many kids in my generation, even though we had no direct connection with the UK market whatsoever -- no magazines or TV programs or anything really. So it is fair to say that Spectrum was a cross-European phenomenon. C64 was (almost) equally present, though everyone I knew who had a Commodore just played games, whereas lots of Spectrum folks dabbled in programming, at least a little.
People react to people more than people react to concepts, I don't think it's that surprising. "There's been a murder" has less of an emotional weight than "Alice murdered Bob." (And note, different emotional weight than "Bob murdered Alice." The endless nuances of being human carry far more information -- infinitely more, actually -- than what is captured by a conceptual abstraction.)
B/c those rich white frat boys want to make shit such as Groupon and Zynga. That is the real problem (for me), their outlook on life and their values result in things I don't consider useful or beautiful but just something that makes them richer and the rest of the world poorer and dumber.
I would imagine it feels like the reflex-test kick in the knee -- you feel the sensation but are surprised it is happening since you are not willing it, and you're merely observing the process.
Taking it a step further, I imagine one day when someone else can press a trigger to create a vague thought or image in your mind, you'd feel the same -- feel the mental sensation but since you'd not be willing it, you'd be just observing it. (Perhaps similar with eg. a hallucinations? Also something you did not invite in your mental space, it just occurs.)
I'm curious what happens if there are multiple validations checks and if they don't all have immediate visible consequence. E.g. if some basic function in the game such as moving to the left deteriorates in the minutes or even hours/days after the validation check has failed, or if the failed check forces glitches downstream that make the game unplayable? In other words, how do you know if you have removed the protection (esp. if the game has genuine bugs)?
Thanks. "The bump is the rope; the wave and bump are one" is a good way to put it. I found a paper by Art Hobson of UARK claiming that "There are no particles, there are only fields" (http://arxiv.org/ftp/arxiv/papers/1204/1204.4616.pdf), this sounds similar. So phenomena appear to us as particles, and we model those phenomena as waves to predict how/where/when they will manifest to us. Seen that way, I think the double slit experiment isn't any more mysterious than any "ordinary" electron behavior, but it's always present as "this is where things get weird."