Blog

  • “A Republic, If You Can Keep It”

    NSA 9000

    I’m really disturbed (surprised isn’t quite the right word) at what I’m learning about the government’s massive, untargeted surveillance of millions of American citizens over the last 7 years. I thought we had this debate during the Bush administration and all decided it was illegal and should stop. Apparently, folks at the NSA and in the Bush and Obama administrations had different ideas.

    In case you aren’t aware, a secret court has created secret law supposedly authorizing the federal government to spy on you, your friends, and your family. That means every email you read or write, every search you run on Google, every call you make on Skype. And the bureacracy asking the secret FISA court for approval to do this is so massive and so obscured by secrecy that there exists no single list of all of its activities. It’s called Big Brother, after all.

    In my mind this is a clear violation of the fourth amendment:

    The right of the people to be secure in their persons, houses, papers, and effects, against unreasonable searches and seizures, shall not be violated, and no warrants shall issue, but upon probable cause, supported by oath or affirmation, and particularly describing the place to be searched, and the persons or things to be seized.

    No, it doesn’t mention electronic communications (not having been invented by 1789), but they are the modern analogue to “papers”. The wide sweep of surveillance as currently conducted seems to blatantly violate the requirement that no warrant be issued without a specific description of the people, places, and things involved. There is nothing specific about monitoring all phone calls.

    The Constitution provides strong protections on privacy that are in this case being clearly disregarded in the name of national security. Combine it with the recent revelations of IRS targeting of conservative groups, and Justice Department intimidation of journalists, and a picture emerges of a gartantuan bureaucracy in which the systems, processes, and perceived mandates of government overwhelm by its very nature the interests of the individual.

    Sign me up for the class-action lawsuit.

  • Young Tsarnaev

    Photo: FBI
    Photo: FBI

    There’s your bomber.

    You’re looking at the face of the kid the Boston paramilitary police were hunting for. By the time they found him hiding in a boat, his brother had been killed in a firefight. Children of one of imperialism’s most brutal conflicts, five thousand miles from their parents, drifting in a place not quite home, it’s easy to imagine how they went astray. How do kids like that not go astray?

    A joke from the young man’s social network page:

    В школе задают загадку..
    Едет автомобиль. В нем сидят – дагестанец, чеченец и ингуш.
    Вопрос – кто ведет машину ?
    Мага отвечает: – Полиция.

    Translation:

    At school they pose this riddle:
    A Dagestani, a Chechen, and an Ingush are riding in a car together.
    Question: who’s driving the car?
    Magus (?) answers: the police.

    Just a silly political joke for a central Asian audience. Not long after, the Chechen who posted it found himself being driven to the hospital under arrest.

    Our country has had its fair share of crazies and murderers in the news in recent years. For some reason, this most recent (alleged) bomber has evoked a more sympathetic response from me than usual. Sure, the guy could be genuinely evil. But my guess is that more likely he is genuinely confused.

    Pray for the kid. Good or bad, he’s going to need it.

  • A Nerdly, Software-Engineering-ish, Computer-Sciencey Approach to the Gay Marriage Debate

    Gay marriage is a proposed change that’s hoped to be an optimization. Advocates say that the current system (society) is sub-optimal in that a particular sub-system (marriage) is not sufficiently general (same-sex couples aren’t allowed to participate). Let’s say marriage is a function by which a man and a woman are combined to create an object conforming to the Family interface:

    marriage(Man,Woman) : Family

    The proposed optimization generalizes this function:

    marriage(Person,Person) : Family

    A general rule in software engineering is to maximize the generality of the input parameters (Person instead of Man or Woman). In this light, the second marriage function represents an improvement because it makes the marriage function applicable to more people.

    However, this focus on the function signature obscures some important issues. For one thing, the marriage function does not stand in isolation, but is embedded at the core of an extremely complex network of functions. In software this is known as the call graph. For example, the network of function calls in one relatively small piece of software looks like this:

    seL4 microkernel call graph

    Each node (circle) represents a function, and each edge (line between circles) represents one function calling (using) another. Now imagine the complexity of such a graph for our entire society, in which marriage constitutes only a single (though essential) node, connected to things like employment relationships, governmental functions, child-rearing, religious organizations, and so on. A key function like marriage would be at the center of the graph, like the large green dot in the middle of the picture. Messing with that node can affect not only it and its immediate neighbors, but actually every other node in the graph.

    It should also be noted that the proposed optimization not only redefines the function signature (who can participate in marriage) but actually provides a new implementation for the function:h

    class GayFamily implements Family {
    // a bunch of experimental code...
    }

    In software, the new implementing class could be automatically tested to make sure it meets the requirements of the Family interface. In society, such automated tests are unavailable, and the impacts of this new implementation may not be fully known within the natural lifetime of anyone now living.

    In fact, it’s essentially impossible to conduct the sort of experiment needed to assess whether gay marriage is a good idea. We’re not just interested in effects on individuals or families (important as they are) but on entire societies. It would require many societies under many circumstances randomly assigned to either implement or not implement the change, and for sufficient time to pass for the network effects to work themselves out.

    Obviously this line of reasoning could be applied to various types of radical social change, and I’m certainly not saying that such change is never justified. But I am saying we need humility and caution when hacking a key function like marriage that the entire system is built around. In the end, this isn’t software. This is society. It’s parents, it’s children, it’s lives.

    Because an robust empirical evaluation of this change at the civilizational level will not be soon forthcoming, anyone with an opinion must come to it by non-empirical means. And my opinion is that this change isn’t worth the risk.