A CEO, a Browser and Civil Equality

This post is late. Not much late, but it is.

Today Brendan Eich stepped down as Mozilla CEO. Brendan Eich, for those who don’t know who he is one of the fathers of JavaScript and was Mozilla CTO for a long time. Also, he contributed to the “PROP-8”, a constitutional amendment to band same-sex marriage.

Now I don’t live in California or even in the USA, but I can understand why this can outrage some people.

And I’ll say some things that may make the same people outrage at me, so let me put this right here: I’m in favor of same-sex marriage only because it has absolutely nothing to do with a religious ceremony and everything to do with civil rights and how the law sees “couples”.

(And before some idiot comes commenting some stupid bullshit like “so are you in favor of a man marrying a tree?” I’d say “yes, if the tree is capable of signing the damn document, which it can, you stupid moron.”)

But back to topic: After Eich was appointed CEO, a huge discussion about someone against civil liberties going to lead the company that talks a lot about “freedom” and “open to all”. I can understand that.

The reaction from his appointment was so huge that Mozilla co-founder Mitchell Baker posted about separating personal opinions and company opinions, which Eich himself addressed too, without saying he was sorry about funding the PROP-8 legislation.

And, to be honest, I get that: I bet my company board of directors are all in favor of a right-wing government, while I’m a pro-left-center government. My personal opinion do not reflect my working posture (and yes, I reckon both are not in the same level, but still…)

There is a huge discussion at Ars Technica when OkCupid warned Firefox users and I must say they raised very valid points (which is what made me write this blog post).

Some points were way over the head, like claiming PROP8 was against their very human rights, like it would burn them in sticks for staying with their same-sex partners. Again, this is a civil right — a right that should be recognized by the government — but Eich voted against it. Eich wouldn’t personally go to those people houses and slap bibles to their faces till they fall in love with someone else (of the opposite sex, that is). And Eich has been way less loud than, say, Orson Scott Card, someone that makes me regret even reading his books.

On the other hand, this kind of religious bullshit should stop and people should be free to be recognized as a couple with whatever person they love. Even as a straight guy I can see that those kind of people would not stop once they ban same-sex marriage: they would ban people using long beards because it’s a sign of another religion (which is completely bullshit) then ban computer games because someone else told them “it is evil work” (which is utterly bullshit).

In the end, as always, people said that you should boycott Firefox. And that’s where my moral compass got all confused.

You see, there are some companies around here that sponsor TV shows that I absolutely despise, which I believe does nothing good; I hate with all my strengths companies that market themselves as a product to “real fanatics for soccer/football” when you see those same fanatics hitting people with metal bars only because they root for the other team[1] and, because of this, I refuse to buy any of their products. So, if I’m against someone that tries to take civil freedom from other people, how could I still use their browser?

Is not that Eich would even dictate the behaviour of Firefox, for any chance. Some of the comments mention that Obama (again, not my president, but a president of a country, nonetheless) also was against same-sex marriage but, mid mandate, was in favor of it. You can claim whatever political maneuver you want, but as a president of a democratic republic, Obama is force to go with whatever the people of his country want. As per Eich post, I’d expect that he too would not enforce his personal views over Mozilla and Firefox.

Still the problem persist: How could I still use something that would give money to someone to sponsor things I believe are the opposite I want to see in the world?

But Eich stepped down, so now I’m not in a moral conflict between a browser by a company with a CEO that doesn’t believe in equal rights and a browser by a company that is effectively trying to block the free internet for everyone.

[1] Seriously, if you work for a marketing company that does this kind of bullshit and don’t know what the fuck a “fanatic” is and how hitting someone with a metal bar IS fanatiscism, go put a bullet on your head. Seriously.

Apple, Let’s Talk About “Explicit” and “Implicit”

Dear Apple,

I’m one of the guys who goes around saying “Apple API is one of the easiest GUI APIs I ever used”. Even when people complain about Objective-C, I point that since everything is a canvas, you can extended every component in any imaginable way.

I also get why Table Views go under the Navigation Bar, Tool Bar and Status Bar: To give the user the impression that the application stretches over all the screen instead of a small space in the middle.

But there is one thing I learnt with Python: Explicit is better than Implicit.

When you automatically add the default padding to an element dragged in the storyboard, I can see the padding in the Size inspector; when I set a relationship between two elements, I can see the constraint in the same Size inspector.

But when I drag a Table View to my View Controller and it automagically gets a padding to go under the navigation bar and there is nowhere to see this, then we have a problem.

When a UITableView is the first subview of the main view, it magically gets a padding; this is shown nowhere.

When a UITableView is the first subview of the main view, it magically gets a padding; this is shown nowhere (except in the storyboard, which makes you think you suddenly got a table header).

The same view as before, but the UITableView is not the first subview anymore; the padding disappears.

The same view as before, but the UITableView is not the first subview anymore; the padding disappears.

Things shouldn’t be like this. Sure, there is some obscure documentation saying “Hey, if your Table View is the first subview of a view, it will magically get a padding on the top”, but that is a total bullshit. What if I, somehow, want to keep some logical order that requires an element just below the navigation bar but my table view should still get the padding? What if I need a bigger padding, then?

This thing should never be magical. It should be a flag, a value, even a freaking constraint, but not a damn magical positional setting which is not obvious at first glance.

Seriously Apple, this is the kind of bullshit that ruins our relationship…