3,127 karma · joined October 6, 2012
Also - what cost should society pay in lost output due to the average ability of people allowed to enter certain occupations having been lowered by affirmative action (as it has to be if less capable candidates are admitted instead of more capable)?
Perhaps most interestingly - how much cost should a group supposedly "helped" by affirmative action pay for the dubious favor in (A) people being unable to successfully function at institutions who admitted them, not because of their abilities, but due to affirmative action and (B) perfectly capable people of the "helped" group being stigmatized because "everyone knows they only got to where they were due to affirmative action, and not due to their ability?"
(I guess you might notice that I'm not a huge fan of affirmative action, but if we could at least agree that there's no reasonable way to distinguish between "affirmative action" and "discrimination", that would be in itself awesome, even if we disagree about the merit of, well, that one thing with two names...)
To me success includes being able to find (not frequently replace - I like working with the same people for many years - but find new ones in order to grow) developers that can contribute to the code base, and some of the best ones I know can't be bothered to learn much of C++. Go figure. Maybe you and I legitimately disagree because we work on different things, and maybe one of us is wrong.
But I agree that in hindsight, I did not phrase my original comment to convey the above, I ended up conveying what you refuted...
Is C++14 a better language than C++98? It's hard to tell (I think it is - I think C++ is worse than C, but having gotten to C++98, perhaps it helps more than hurts to add all that other shit), but it's not an interesting question anyway because the upgrade is easy enough and it's worth it for most people for their specific reasons, so C++98 will die out.
But then it's not like Google aren't upgrading to the latest C++ standard, they're just doing it slowly AFAIK.
Ouch! That must have hurt 'em. Of course the original meaning of "Blub" is "anything which isn't Lisp", especially C++ (as well as say Java.) But what the heck, it has a good sound to it.
Anyway, I think their C++ style guide isn't bad. As to "modern C++ style", let's wait for a few years, shall we? When the STL came out, auto_ptr and for_each(v.begin(), v.end(), FunctorFromHell()) were marketed as the way to go for a long while; then the usual suspects became a bit more silent. Now again, despite their being a smart for loop, for_each with a lambda (with its crazy capture lists and all) is supposedly considered at least as good as a for loop, and typically better. And you're supposed to use unique_ptr and what-not. Maybe a few years down the road things will look different again.
C++11/14 has a ton of weird shit you ought to keep in your mind on top of the weird shit in C++98/03 and many "enterprisey megacorps" seem to apply a restricted subset of C++ rather successfully.
* QE was tremendously inflationary for all asset prices, including real estate prices which are not called "consumer prices" but it's not that easy to buy the argument behind it. Certainly for a lot of folks, real estate is their biggest expense, and it's very frightening to rent and not buy while housing prices go up all around you and you try to guess how far the cost of owning will become detached from the cost of renting. We can call people scared into buying overpriced houses "investors", but to me it's a bit of a stretch.
* Grandparent calls real estate, of all the asset classes inflated by QE, the new currency.
* You then, without agreeing with the grandparent, say QE isn't inflationary, as "understood" by many economists long ago. But if we stop calling houses "currency", is QE really not inflationary then? (I seriously don't think I fully understand it, BTW... So an honest question.)
* If I have a position, I'll want to convince everyone that I'm right because it'll make me right (if everyone thinks energy stocks are worthless, they will be.) That's why most people with lots of skin in the game, long or short, are very happy to publicly argue that their bet is correct.
* Someone very risk-averse can think, correctly, that he's likely right, but loathe the 10% probability to lose money. Conversely, someone can be near-addicted to gambling and make bets based on very little, or someone can just be wrong regardless of their risk preference.
Overall, a random commenter's arguments seem more interesting to me than their claim to have bet on being right, even if I trust this really hard to verify claim.
Another maddening thing is how Linux distributions can't agree on where any bloody thing is - even env, which in large part serves a workaround for the inability to count on absolute paths, is at /usr/bin/env on some distros and /bin/env on other distros. So is something as basic as tcsh. How to write a portable tcsh script in these conditions I don't know. (And "you should use bash" misses the point, and also brings fond memories of #!/bin/sh script breakage when it turned out that sh is bash on some systems but dash on others.)
Bill Gates said in the 80s that there are many different Unixes and this will remain a problem for a long while. Damn, did that man make a good prediction! As to Linux - Richard Stallman said that it's a kernel, not an operating system. Damn, did the various distributions go out of their way to prove him right, creating many different, not Unixes, but Linuxes!
(I don't have a firm opinion on what modern surveillance will do politically over time, just answering your specific question.)
Also I believe all the bugs in TFA are logical bugs where the circuit would have misbehaved in a logical simulation, not the kind where the circuit "flips zeros to ones" or vice versa because of physical implementation issues. In this sense advanced nodes make things worse only indirectly by enabling larger, more complex designs.
As to how well markets functioned wrt the 2008 crisis - one question concerns credit rating agencies. If you believe that they didn't do their jobs well, then it should be troubling that they didn't go out of business, quite the contrary, it's the same small number of firms which still operate in this business. If you believe that they did do their jobs well, because the government bail-out resulted in most junk debt being repaid to creditors, then you essentially don't believe that markets function very well, as they seem to have made a correct calculation that they can extract money out of taxpayers through this junk paper, and that is not what any economist would praise as markets functioning for the benefit of society.
(Two counterarguments to the above that I heard are, the government caused the housing bubble in the first place, or alternatively the government helped smooth/stabilize asset prices, including housing prices, which is a proper use of monetary policy, and the paper was never "really" junk since housing prices rebounded later. Dean Baker argues against the latter based essentially on buying homes getting costlier relatively to renting them in bubble years. The former counterargument is voiced more rarely which is perhaps why I haven't heard a counter-counterargument. Anyway, I think this whole thing is a bit muddy...)
Also - why single out Intel? Why is it OK for oil companies to operate in the Middle East where most oil-rich countries either wage war directly or subsidize it?
As to state-wide minimum wages - "the" argument against it is that less people are employed at a higher price of labor and that those priced out of the market are likely to be the ones hurt the most by it, though their numbers might be smaller than the numbers of those employed at the higher wage. (Of course this applies to the company with the $70K minimum wage as well: that company could have used the money it cost to implement this policy to instead hire more people.) There are counter-arguments along the lines of the demand for labor being inelastic and other such, but it's kinda off to not present a sensible argument against a minimum wage while presenting a crazy strawman argument against it, the latter implying with a high likelihood that the author supports a high minimum wage.
Regarding calloc (which indeed might be slower than malloc contrary to TFA) - a variable that should have been initialized to something but instead keeps zero bits written by calloc is not necessarily a great situation. If you use malloc, at least Valgrind will show you where you use the uninitialized variable. With calloc it won't, though it might still be a bug - a consistently behaving bug, but a bug nonetheless. Someone preferring consistently behaving bugs to inconsistently behaving bugs in production code might use a function my_malloc (not my_calloc...) which in a release build calls calloc, but in debug builds it calls malloc (and perhaps detects whether it runs under Valgrind and if not, initializes the buffer not with zeros, but with deterministic pseudo-random garbage.)
That said, Roskind's experience is more telling than the output of a static analyzer because generally and certainly with a compiler, actual testing shows orders of magnitude more issues than static analysis.