Posts

Showing posts from March, 2016

Libertarian confusions

Since I gave up on libertarianism, I have struggled to explain concisely why it doesn't work to people who still buy into it. This is an attempt to do so.

Incompatibility with desirable outcomes
Bluntly – libertarianism is a delusion that unconditional property rights can be had at the same time as some non-dystopian social outcome.

More specifically – we cannot have all three of the following:
Unconditional property rights.Freedom of reproduction.Equality of opportunity. (Not of outcome!)You can have any two of those, but not all three. The combinations that work are:
Unconditional property rights + freedom of reproduction: poor people give birth to more poor people, who do not have equality of opportunity and live and die in squalor.Unconditional property rights + equality of opportunity: this combination has not been seriously attempted, but it means sterilizing poor people so they can't have children who would have unequal opportunity.Freedom of reproduction + equality of opp…

The Louis Vuitton theory of happy marriage

Consider this:
Louis Vuitton bags are correlated with being rich.Therefore, to become rich, purchase Louis Vuitton bags.Does this seem silly?

Yet, people propose that we should aim to be monogamous, and stick with one partner; not because we want to be monogamous, and have found someone we want to commit to; but because monogamy is correlated with happiness.

Imagine three couples:
Couple A are both mentally healthy, and are a good match. Because they are a good match, they do not seek other partners. They live together happily, and for a long time.Couple B are both mentally healthy, but are not a good match. Because they are not a good match, they divorce. They each find new partners, and become happy.In couple C, one is mentally healthy, the other isn't. Because of this, the relationship suffers. Eventually, they divorce. The mentally healthy partner finds a good match, and becomes happy. The other goes through several relationships before getting help, and then finds happiness.Con…

CamelCase vs. underscore_case

If the STL could be designed again, I wish it would have chosen CamelCase instead of underscore_case.

Since STL uses underscore_case, we're stuck with two unattractive stylistic choices:
Use underscore_case in our programs, and suffer its drawbacks.Use CamelCase in our programs, and suffer the inconsistency with STL.A couple years ago, I tried to get over my distaste for underscore_case, and wrote a small library of 6,500 lines in that style. I thought I'd convert. Instead, I now want to burn underscore_case with fire.

Which person in their right mind decides to sacrifice 26 out of 63 perfectly useful symbols, and pretend they don't exist? Did this person spill Coke on the Shift key of their keyboard, or something?

If you allow uppercase – like normal people who aren't shooting themselves in the foot – you can do this:
    struct Thing { int thing; }; Thing thing;How do you do this with underscore_case? You don't. Both things have to be named differently.

You'…

Against signed integer types

It is often mentioned that Google's guidelines call to always use signed integers, and avoid unsigned.

One could argue, if I were as smart as Sergey Brin or Larry Page, I'd be as rich as they are. This may be true. But we tend to succeed for the few things we get very right, and despite the many things we don't. I'm pretty sure this one is the latter.

The preference for signed integers opens opportunities for a whole panoply of unnecessary bugs. It's a mistake of the same order as nullable pointers. You almost never need negative values, but now you need to check for them always. Signed overflow is even undefined behavior, when unsigned overflow is not.

I have gone the opposite route, and always use unsigned types. I find a signed type is not needed 99% of the time. I would further argue that most uses of negative values are hacks, and potential containment and security issues. It overloads a variable with potential meanings that the variable should not have.

There…

"Unreachable" beauty standards

Image
Half the time, I post because I'm slightly peeved. Today, it's because of censorship on Reddit. The following was a "Shower thought" post that got deleted:
I've never seen a man complain about a lack of plus sized male models.This was removed by a moderator when it reached the front page of Showerthoughts, with 1104 upvotes. The post had a number of popular comments which were also deleted, apparently due to wrong-think. The following was one of them:
We claim women in magazines are "unobtainable beauty standards". Nobody cares that men have airbrushed abs in the same magazine. Nobody cares about the young men who are doing steroids to obtain these standards. They don't consider the whimpy kid with a healthy weight who feels inadequate because he's not ripped with a stone jaw. (Not to mention a 8 inch wang.) Because in our culture, a weak female ego is expected, but a weak male ego is pathetic. (/u/Snoozetrain)Guess the reason moderators gave for …

Socialism and libertarianism: The two idiots

Following up to my previous post, here is what socialism and libertarianism get wrong. This post is harsh because responses to content in my previous post were harsh. Not on this blog – but elsewhere.

Socialism
"Socialism" refers to at least two different things.

Adherents of true socialism use the word to refer to an economic arrangement where all of the means of production are socially owned, and large-scale private property is abolished. These people scoff aloofly at others, who use the word to refer to a charitable state; often accusing such folks of ignorance.

The reason we use "socialism" loosely is not because we lack your clues. It's because the idea of "true" socialism is so stupid, we would prefer to ignore that people take it seriously.

The central failure of true socialism is that it takes an effective leadership promotion system, and replaces it with nothing. At best – it suggests to replace it with democracy.

Democracy does not select good…