The Woman the Mercury Astronauts Couldn’t Do Without

Must-read article on “human computer” Katherine Johnson. Not only was she a key figure in pushing NASA’s efforts forward, but she did it while fighting misogyny and racism:

Outside the gates, the caste rules were clear. Blacks and whites lived separately, ate separately, studied separately, socialized separately, worshipped separately, and, for the most part, worked separately. At Langley, the boundaries were fuzzier. Blacks were ghettoed into separate bathrooms, but they had also been given an unprecedented entrée into the professional world. Some of Goble’s colleagues were Yankees or foreigners who’d never so much as met a black person before arriving at Langley. Others were folks from the Deep South with calcified attitudes about racial mixing. It was all a part of the racial relations laboratory that was Langley, and it meant that both blacks and whites were treading new ground together. The vicious and easily identifiable demons that had haunted black Americans for three centuries were shape-shifting as segregation began to yield under pressure from social and legal forces. Sometimes the demons still presented themselves in the form of racism and blatant discrimination. Sometimes they took on the softer cast of ignorance or thoughtless prejudice. But these days, there was also a new culprit: the insecurity that plagued black people as they code-shifted through the unfamiliar language and customs of an integrated life.

Katherine understood that the attitudes of the hard-line racists were beyond her control. Against ignorance, she and others like her mounted a day-in, day-out charm offensive: impeccably dressed, well-spoken, patriotic, and upright, they were racial synecdoches, keenly aware that the interactions that individual blacks had with whites could have implications for the entire black community. But the insecurities, those most insidious and stubborn of all the demons, were hers alone. They operated in the shadows of fear and suspicion, and they served at her command. They would entice her to see the engineer as an arrogant chauvinist and racist if she let them. They could taunt her into a self-doubting downward spiral, causing her to withdraw from the opportunity that Dr. Claytor had so meticulously prepared her for.

Source: The Woman the Mercury Astronauts Couldn’t Do Without

Political Compass: Being proud of your place of birth

I’m posting my answers and comments for the propositions of the Political Compass here. The test presents a series of statements and asks you to give one of four answers: Strongly Disagree, Disagree, Agree, or Strongly Disagree. These are for the test I took in the summer of 2016. You can find my result and the rest of this series here.

Political Compass, page 1, statement 3.

No one chooses his or her country of birth, so it’s foolish to be proud of it.

My answer: Strongly Agree.

I already wrote about blind support of your country and a lot of what I said there goes for the above statement as well.

You have zero influence on the place of your birth, so clearly being proud of the fact itself makes no sense. But I take it the statement actually refers to being proud of the place instead.

To me, it doesn’t make sense to be proud of a place either. You didn’t create the place so there’s nothing to be proud of.

Even the general idea of being part of something, be it a people or a nation, seems to me a little fuzzy.

An exception to this is when you actually do have a choice in the matter. You may have chosen an adoptive country and you might feel pride of having been chosen back (usually this is a requirement when it comes to changing one’s country of residence.) But even there I would find it questionable. And it’s irrelevant to the proposition above, since it specifically singles out a place of birth.

So yes, I find it foolish to be proud of something you had no choice in.

Political Compass: Blind support of my country

I’m posting my answers and comments for the propositions of the Political Compass here. The test presents a series of statements and asks you to give one of four answers: Strongly Disagree, Disagree, Agree, or Strongly Disagree. These are for the test I took in the summer of 2016. You can find my result and the rest of this series here.

Political Compass, page 1, statement 2.

I’d always support my country, whether it was right or wrong.

My answer: strongly disagree.

This is an interesting proposition. We need to figure out what it means by “country” first. It’s not as obvious as it appears.

When I think of “country”, I envision something like the Wikipedia’s definition —

A country is a region that is identified as a distinct national entity in political geography.

This definition doesn’t work with the proposed statement, though, as a region cannot hold an opinion and thus cannot be right or wrong.

I believe that in this case, the term “country” is probably used as either its government or the people who live in that country. They are two very different things. But as far as the political compass’ statement is concerned, it doesn’t matter much either way.

The sentence is divided into two phrases, the first of which is: “I will always support my country” (emphasis mine). This would be enough but the second phrase makes it a no-brainer: “whether it is right or wrong.”

There is no way I will support anything blindly like that. The only thing that comes close is my immediate family and even there I can imagine (hopefully unlikely) scenarios where I would have to take a stand and go against them. Surely not a government and neither a group of people whose only thing in common with me is their general place of birth.

Political Compass: Humanity vs. Corporations

I’m posting my answers and comments for the propositions of the Political Compass here. The test presents a series of statements and asks you to give one of four answers: Strongly Disagree, Disagree, Agree, or Strongly Disagree. These are for the test I took in the summer of 2016. You can find my result and the rest of this series here.

Political Compass, page 1, statement 1.

If economic globalisation is inevitable, it should primarily serve humanity rather than the interests of trans-national corporations.

My response: Strongly Agree.

This should be straightforward, but let’s dissect it a little to make sure we’re all on the same page.

It starts with a conditional: if economic globalization is inevitable. We don’t get to discuss whether it is in fact inevitable nor whether it is a good thing. For the record, I believe globalization to generally a force for good but that’s irrelevant to this specific question.

Assuming as a fact that globalization is there to stay, the proposition asks us essentially to decide whether trans-national corporations’ interests are above humanity’s.

Asked as such, it is a no-brainer, I believe. An anarchocapitalist might argue that corporations’ interests and humanity’s will always be the same, but this proposition doesn’t allow for that; it presumes a conflict between humanity and a corporation. Given those constraints, I can’t see how anyone would disagree with it.

Political Compass, summer 2016

I’ve long enjoyed taking the Political Compass test from time to time to see how my views of the world evolve.

This time I decided to make it a little different. I’ll post my result as usual but then I will try to go into the responses to explain my rationale and maybe get some discussion going.

Here’s what my result looks like this year:


This is by far the leftmost I’ve ever been, which surprised me because I’ve changed opinions this year on points I thought would move me more to the centre-right end of the spectrum.

Anyway, I’ll be posting my comments on each of the test’s six sections and linking to the posts below:

Section 1: then country and the world.

Section 2: the economy

  • People are ultimately divided more by class than by nationality: Disagree
  • Controlling inflation is more important than controlling unemployment: Disagree
  • Because corporations cannot be trusted to voluntarily protect the environment, they require regulation: Strongly Agree.
  • “from each according to his ability, to each according to his need” is a fundamentally good idea: Agree
  • It’s a sad reflection on our society that something as basic as drinking water is now a bottled, branded consumer product: Disagree
  • Land shouldn’t be a commodity to be bought and sold: Strongly Disagree.
  • It is regrettable that many personal fortunes are made by people who simply manipulate money and contribute nothing to their society: Agree
  • Protectionism is sometimes necessary in trade: Agree
  • The only social responsibility of a company should be to deliver a profit to its shareholders: Disagree
  • The rich are too highly taxed: Strongly Disagree.
  • Those with the ability to pay should have the right to higher standards of medical care: Agree
  • Governments should penalise businesses that mislead the public: Strongly Agree.
  • A genuine free market requires restrictions on the ability of predator multinationals to create monopolies: Strongly Agree.
  • The freer the market, the freer the people: Disagree

Section 3: social values

  • Abortion, when the woman’s life is not threatened, should always be illegal: Strongly Disagree.
  • All authority should be questioned: Strongly Agree
  • An eye for an eye and a tooth for a tooth: Disagree
  • Taxpayers should not be expected to prop up any theatres or museums that cannot survive on a commercial basis: Agree
  • Schools should not make classroom attendance compulsory: Agree
  • All people have their rights, but it is better for all of us that different sorts of people should keep to their own kind: Strongly Disagree.
  • Good parents sometimes have to spank their children: Disagree
  • It’s natural for children to keep some secrets from their parents: Strongly Agree
  • Possessing marijuana for personal use should not be a criminal offence: Strongly Agree
  • The prime function of schooling should be to equip the future generation to find jobs: Agree
  • People with serious inheritable disabilities should not be allowed to reproduce: Strongly Disagree.
  • The most important thing for children to learn is to accept discipline: Strongly Disagree.
  • There are no savage and civilised peoples; there are only different cultures: Agree
  • Those who are able to work, and refuse the opportunity, should not expect society’s support: Strongly Agree
  • When you are troubled, it’s better not to think about it, but to keep busy with more cheerful things: Agree
  • First-generation immigrants can never be fully integrated within their new country: Strongly Disagree.
  • What’s good for the most successful corporations is always, ultimately, good for all of us: Strongly Disagree.
  • No broadcasting institution, however independent its content, should receive public funding: Disagree

Section 4: the wider society

  • Our civil liberties are being excessively curbed in the name of counter-terrorism: Strongly Agree
  • A significant advantage of a one-party state is that it avoids all the arguments that delay progress in a democratic political system: Strongly Disagree.
  • Although the electronic age makes official surveillance easier, only wrongdoers need to be worried: Strongly Disagree.
  • The death penalty should be an option for the most serious crimes: Agree
  • In a civilised society, one must always have people above to be obeyed and people below to be commanded: Strongly Disagree.
  • Abstract art that doesn’t represent anything shouldn’t be considered art at all: Disagree
  • In criminal justice, punishment should be more important than rehabilitation: Strongly Disagree.
  • It is a waste of time to try to rehabilitate some criminals: Strongly Disagree.
  • The businessperson and the manufacturer are more important than the writer and the artist: Strongly Disagree.
  • Mothers may have careers, but their first duty is to be homemakers: Strongly Disagree.
  • Multinational companies are unethically exploiting the plant genetic resources of developing countries: Agree
  • Making peace with the establishment is an important aspect of maturity: Strongly Disagree.

Section 5: Religion

  • Astrology accurately explains many things: Strongly Disagree.
  • You cannot be moral without being religious: Strongly Disagree.
  • Charity is better than social security as a means of helping the genuinely disadvantaged: Disagree
  • Some people are naturally unlucky: Strongly Disagree.
  • It is important that my child’s school instills religious values: Strongly Disagree.

Section 6: Sex

  • Sex outside marriage is usually immoral: Strongly Disagree.
  • A same sex couple in a stable, loving relationship should not be excluded from the possibility of child adoption: Strongly Agree
  • Pornography, depicting consenting adults, should be legal for the adult population: Strongly Agree
  • What goes on in a private bedroom between consenting adults is no business of the state: Strongly Agree
  • No one can feel naturally homosexual: Strongly Disagree.
  • These days openness about sex has gone too far: Strongly Disagree.

Star Wars sorted by awesomeness

Because of reasons. From worst to best.

The Phatom Menace


There really isn’t any redeeming aspect to this movie other than the fact that it brought Star Wars back into mainstream, which isn’t that small a feat. Other than that, though, it really is bad.

Attack of the Clones


I barely remember this movie at all. To be honest, I had to google for its name. I only remember a few scenes like Obi Wan arriving in that rainy planet and the beginning when Anakin is creepily guarding Padmé’s bedroom.

Revenge of the Sith


Another generally forgetful one, but it does have its moments. Anakin finally giving in to the Dark Side is interesting to watch. The purge of the Jedi, the fight with Obi Wan. By far the best of the prequels.

A New Hope


Greatly flawed in hindsight but it’s still the Star Wars. A lot to enjoy in it. My favourite part: the whole rescue of Lea.

Return of the Jedi


This movie keeps changing places in my head with A New Hope. I don’t like the Ewoks but overall this is a thoroughly enjoyable movie. The “heist” to rescue Han from Jabba, Saarlak, the epic space battle around Endor and the final battle between Luke, Vader, and the Emperor. These are all fantastic moments.

The Force Awakens


This movie surprised me so much. I strongly defend that this movie belongs with the original trilogy in ways the prequels do not. I love so much about this film: the acting, the special effects, and the story. Rey is such an amazing protagonist, while Kylo Ren is so greatly flawed as a villain. I absolutely love this movie.

The Empire Strikes Back


Hoth, Tauntauns, AT-ATs… these are just the first minutes of the movie! This is the movie of Dagobah, Yoda, Cloud City, “No, I am your Father”… it keeps giving and giving and giving. It will be difficult to beat this movie, but I hope they’ll keep trying.


New stuff coming in C# 7.0

Mads Torgersen wrote a blog post highlighting what’s new in C# 7.0:

C# 7.0 adds a number of new features and brings a focus on data consumption, code simplification and performance.

The changes all seem to be in line with the recent trends of borrowing syntax sugar from other languages to C#. Nothing wrong with that: copy what’s good and shed what’s bad.

One of the changes is related to out variables. These are the C# way to deal with not being able to return multiple values (see below for good news on that front). It’s basically the same as passing by reference in, say, C. For instance:

int myOutVar;
changeMyOutVar(out myOutVar);

You could have the value of myOutVar set inside changeMyOutVar. Simple. What is changing in C# 7.0 is that you would no longer need to predeclare myOutVar:

changeMyOutVar(out int myOutVar);

The scope of the new variable will be the enclosing block. I have to say it: I don’t like it. It feels obfuscated to me. The variable doesn’t look like it should be in that scope. Compare with this popular Go idiom:

if err := DoSomething(); err != nil {
    return err;

The variable err is created inside the if and its scope is there as well. I know a lot of people who hate this for the same reason I don’t like the way the new out variables are to be created in C#. I find it much more clear in Go though.

The feature I absolutely loved to read about is tuples. Error handling in .NET is often done with exceptions, which I find clunky and cumbersome. With tuples, we might be able to move to something more Go-like:

(User, bool) FindUser(string username) {
    var found = _userList.Find(u => u.Username == username);
    if (found == null)
        return null, false;
    return found, true;

So we could do something like:

var (user, ok) = FindUser("someusername");
if (!ok) {
    // user not found, deal with this

Check his post for more features.

Millie 0.9.6, or “installers are hard”

I’ve been terribly busy with work lately and so I haven’t really had much time for my side projects. I did however managed to get a new version of Millie out of the door.

Got get it here.

Changes are mostly infrastructural though.

User “visible” changes:

  • Add .deb installation files for Linux
  • Add support for electron-builder
  • New settings system
  • Fix missing icon on Win64 installer
  • Split generation of 32- and 64-bit installers on windows

Minor changes and fixes

  • Merge branch ‘builder’ of
  • Ignore backups
  • Add missing dependency
  • Ignore
  • Remove warning on unknown props
  • Cleanup
  • Move background declaration to MillieView
  • Stop loading old settings
  • Add script to generate release files
  • Remove log file left from first commit

That said, this release reminded me of how hard installers are to get right. Actually, they’re hard to do at all.

MacOS installers can basically only be made on macOS due to there not seeming to be decent implementations of DMG anywhere else. You can compile and create a ZIP file with your binaries, sure, but who wants that? To create a nice DMG, you need to be on macOS.

Windows is also hard to do in other systems. Not impossible, just annoying. You can get by with Mono in Linux or macOS but you need to get around a bug here and there. It works though.

Linux installers (meaning .dpkg and .rpm) are easy to do in macOS but barely doable on Windows.

In practice you end up having to create each installer on its own environment. Linux and Windows are easy to do with VMs, but you’ll need a macOS box eventually.

Windows has its own share of problems though. I hear they’re working on finally fixing their dumb limitations on path length but it’s definitely not there yet. This is important when working with things like npm that create paths hundreds of levels deep. Trying to something simple like deleting a node_modules directory on Windows is an exercise in frustration.

The installers for this release were all created in a Linux VM though. It was the closest thing I got to building it all in a single platform. No DMG for macOS though.

A Swede Returns to Silicon Valley from China

Nils Pihl is a Swede entrepreneur living in China and his blog post about his feelings on Silicon Valley is making the rounds today.

I found a lot to sympathize with.

I was told not to discuss religion and politics, which is really all we talk about in Sweden, and I was confused by the sheer amount of narcissistic Ayn Rand followers.

What’s the point of innovation if you’re not building a better society?

I encountered levels of homelessness and mental illness that I was entirely unprepared for, but was repeatedly discouraged from donating any spare change by my new American community. It’s not your problem, that was the mantra that un-ironically flowed from the lips of entrepreneurs that otherwise convinced themselves that they were making the world a better place, presumably for themselves and the people who were their problem. There was something absurd and almost obscene about watching the technocrats step over and around the homeless to get to jobs where they’re given free food and drink.


Not long ago I was talking to my wife about Silicon Valley. She’s never been there and we were talking about (what I view as) the differences between her perception to the reality (I saw there.)

Where Silicon Valley was once heavily subsidized to be a place of technical innovation, it is now an expensive but well-funded hub focused on business execution.

This right here.

I was very disappointed at the US tech culture, of which Silicon Valley is the flag bearer. That’s one of the reasons I chose to move to Canada.

I’m sad today

So this is me today.


Years ago, my wife and I had a friends couple we worked with for some years. Someday they stopped talking to us. They refused to answer our calls or answer our emails. They never accepted out friend requests on Facebook.

We never knew why.

This happened over 10 years ago so naturally life moved on. From time to time, it happens that I see something from them on Facebook seen as we have a lot of friends in common, but neither of us acknowledges the present of the other.

I recently joined a Slack team and to my (and I’m sure his) surprise, my former-friend was there as well. Over the course of the next few weeks, we’d be talking in the same channel to other people but again, never directly to each other. I wanted to but I knew he was mad at me for something and I didn’t want to force it. What I did try doing was to engage in the channel as if nothing ever happened, just like everyone else.

But it was unconfortable. There was always that elephant in the room. So last Thursday I send him a message in private. I told him I never knew what I had done but that I apologized for whatever it was. I told him that he didn’t have to forgive me but I would really appreciate knowing what it was.

But he wouldn’t answer. So today I decided that there was no point in making two people uncomfortable all the time and I left the channel.

In the end, it’s no big deal. As I said, this was something that happened (whatever it was) over 10 years ago. But it makes me sad that I’ll never know what I did wrong.

(Image CC-BY-SA by Wikimedia Commons)