tribalism in our time

November 19th, 2007

People get into heated debates all the time, over the same old issues - politics, religion, historical facts, old scores etc. It should be clear enough that people who have a personal stake in the matter, like a member of their family having been wronged for example, have more obstacles to overcome in order to stay objective about the issue. That much is perfectly understandable. But so often we debate things where we have no personal interest, things that we consider to be "good for society" or bad for it. Even so, one really has to make an effort to remain objective in these matters.

While the central objective of debate is supposed to be the search for truth, what we often witness is people digging trenches and sitting in them for the sake of it. What should not come as a surprise is that this kind of strategy is detrimental to the debate at hand. If you aren't willing to give up your position in the interest of making progress in the discussion, then the undertaking is futile.

What is interesting is that people are much more reluctant to give anything up when they have the backing of a front, than when they stand alone as a rational individual. A person with a very strong conviction acquired on his own generally has nothing to lose except to admit the flaws of his own reasoning - which is something we are all willing to concede (some more than others). But take that same person when he identifies himself with a group, and he will require overwhelming, indisputable evidence of the most blatant kind to admit his error. Why is that? Because admitting to be wrong is not only an admission of your own imperfection. It is the first (and sometimes significant) step toward disassociating yourself with your group.

This is tribalism.

It is important for us to belong to something. The very presence of groups in society makes it irregular to stand completely unattached. But these associations come at a price. It gives people a license to stop thinking on their own. And it makes it harder for them to think independently whenever they may want to.

There are many important debates which need to be had, but more importantly need to be resolved. Many of these are stuck in a positional war of trenches, where the same tired arguments are exchanged and responses often come in the form of settling scores. Furthermore, because the debates do not concern people, but groups, they must be made accessible to all members of the group. This is where the issue and the arguments are trivialized and simplified down to a collection of slogans and other sound bites. You and I can have an intelligent argument about something, but if we are to make ourselves understood by our respective groups, we have to dumb it down a lot.

Looking at the hot issues today, this is exactly what we have. There is mac vs pc, pro-life vs pro-choice (what well chosen names too), for-the-troops vs against-the-troops, republican vs democrat (however this one didn't work as well, so they found a more fitting pair in conservative vs liberal), catholic vs protestant vs muslim vs whatever and so on. This is a very effective way of sidetracking the issue into a tribal battle. What matters is not what is true, but who is winning and who is losing. Did Clinton lie about Lewinsky? Did Kerry bad mouth the military? Huge talking points. Meanwhile, let's not care at all about anything remotely important.

As a long time sports fan, I have had the occasion to observe tribalism in its purest form. Just like any other grouping, sports fans have very strong ties to their groups. But what makes it so interesting is how abstract their affiliation is. They pledge allegiance to.. nothing in particular. To an abstract entity of a club, essentially. And their debates are just as vicious and intense as of any group, with the distinction that they aren't really fighting *for* anything. Whether a team wins or loses, global warming continues, people will kill in the name of a god, and we still pay the same taxes. Sports have no influence on society at all. And because this is so, it gives a valuable insight into tribalism, and how predisposed we are for it.

There are further characteristics of sports affiliation. Loyalty is the central principle. You must stick with your team whatever the circumstances may be. And you cannot choose several teams either, to buy yourself some insurance against failure, lest you be labeled an outcast. There are no concrete rules for how to treat disputes with other groups, but in practice these discussions are dominated by self serving arguments and self interest. What's interesting is that the debates that are had are not jaded by the same cynicism you might find in politics, because the underlying principles are still that of athletic excellence and justice. However, sports fans are incurable hypocrites. So even though people express themselves (their teams, rather) in the most noble of terms, there is no actual interest in seeing justice served. The only thing that matters is that my team wins. I say this on the back of a long process of gathering data and trying to disprove the hypothesis of hypocrisy, but alas.

Now, political or religious debates are really no more intelligent, fair, or honest than debates between sports fans. And they are no more incisive or focused either, a big part of it is mud throwing. Very little progress (if any) is made, because people are too busy defending the symbolic banner they are fighting under. Finding truth is a distant second objective.

KVM: the state of the game

November 16th, 2007

KVM is one of those things I've kept an eye open for ever since I heard about it. First of all, I should mention that there is currently a great deal happening on the virtualization front, here's a list of virtual machines to look over. What is more, it is not so much a wealth of competing products, because it seems that everyone has their own little twist on the matter, and none of these are completely equivalent solutions. There is a host of different terms to describe these techniques to boot.

I've known about VMware for 5-6 years, and that is how I originally started out playing around with linux in a safe and easy environment. Since then there have been many linux centric projects that have made waves at some time or another, not all of which I've tried. I think User Mode Linux was the first one I heard about. It ran a modified host kernel and could host multiple guest machines that would also be running a modified kernel. You could use it to host Virtual Private Servers, which has been common now for a while, but wasn't all that common back then. You could also set up honeypots with them. There was also a VMware competitor called Win4Lin (for Win9x) which was like a poor man's VMware. It would run fairly well, but it was far from being equally polished and feature complete. It also had the advantage of being strictly an application, no kernel hooks. A couple of years later there was a new project that was very loud, namely Xen. Xen is one of those odd projects that had a lot of potential and broad support, and yet didn't quite have the kind of adoption one would expect. It was quite a complicated piece of code that required a lot of setting up and so on, but Fedora shipped it by default (I'm not sure if they still do) and it worked out of the box. Again it was a modified host kernel, but the guests could run completely unmodified. I'm not sure how recent this is, but nowadays Xen also runs various operating systems, although in some cases they need to be modified. Then there was CoLinux, which approached the issue from the opposite side of the table: Linux as guest. I never got around to trying it as I never had to use Windows for long stretches of time, but a lot of people (those poor souls trapped on Windows) were very enthusiastic about it.

So what about KVM? Well, KVM is interesting because of how "close to the metal" it is. Obviously, any kind of virtualization adds some overhead due to the unavoidable indirection. But KVM actually does not position itself above the kernel, as most virtual machines do, but uses kernel primitives to host guests (in fact it sets up a whole new kernel execution mode guest for this). It also uses cpu virtualization extensions (current Intel and AMD chips) to gain speed. All of this is fairly recent stuff, KVM was merged into the kernel for 2.6.20. So, of course, the major advantage of KVM is that it's well supported and well tested in kernel mainline.

However, KVM is not a virtual machine in itself, in the sense of being a complete application. It's more like an access layer which exposes a /dev/kvm interface. The way to run KVM is through QEMU, which is actually an emulator. I haven't mentioned emulators so far, but they are in a sense the second type of virtualizer/emulator software. The difference is that a virtualizer creates a virtual machines with virtual hardware (eg. network adapter) for the guest operating system to run on, but the cpu is still that of the host. An emulator instead emulated the guest cpu, and therefore has to translate every machine instruction into a different one. This means that you can run say a powerpc guest on an x86 host. It sounds very cool, but it's orders of magnitude slower, so it's not as much of a hot topic.

But back to KVM. As I said, the application is still QEMU, but it's accelerated through KVM. I had been looking forward to taking it for a spin, especially now that I also have an Intel chip with the virtualizing extensions. On Ubuntu it's all ready to go, just install the userland applications from the repo (qemu and kvm) and you're set. Qemu is quite nice and simple to use, but the combo is temperamental and unforgiving. You can set up your guest machine in 2 minutes, but with Windows I had quite a number of fatal crashes (Exception 13) that aren't that obvious to figure out. Furthermore, it seems that even linux distros aren't trivial to run on KVM/QEMU. In terms of a complete machine virtualization it leaves something to be desired. Notably, the video flickers quite visibly while running on a vesa driver. That isn't to say that other virtual machines cannot or will not use KVM as part of their solution.

But for the time being VirtualBox (something of a lightweight VMware, which is also free software) is more convenient.

Disclaimer: This entry is something of a historical account of my exposure to virtual machines. I did not do any fact checking here, and the statements only reflect what I recall about the particular products.

two types of laughers

November 14th, 2007

Laughter is a delicate mechanism. It's hard to determine what makes us laugh and what makes us laugh more or less, depending on the particular context. In other words, if you take some group of strangers, it's hard to predict if they are going to laugh, and if so "how much". Not only because every person has a different sensibility, but also because laughter has a strong social influence.

When you react to something funny, you are affected by the reactions of people around you. Some people will burst out laughing even if they are the only person who thought it was funny. But a lot of people are a bit reluctant to be that exposed, so even if they are overcome they try to tone it down as much as possible.

Of course, when you are the recipient of something funny, you can't predict how it will affect you, there's no way to prepare yourself. It's like someone were to say "I want to try something on you, close your eyes". And you don't know what's coming.

But if *you* are the one making the utterance, with the expectation that it's going to be funny, it's like a controlled experiment. You can sort of plan it, what to say, how to say it, in what tone, in what expression etc. And when I say controlled experiment, what I mean is that you can examine how people's responses to your utterance affect you. For instance, if you say something that makes people laugh (intentionally), it often makes you laugh also, doesn't it? Or even if you were already laughing about it, it makes you laugh more. I'm surprised that it even works in cases where you wouldn't necessarily expect it to work. Like say if I send an email that is supposed to be funny, and hence the communication isn't continuous in time, I might get a response after 3 minutes, at which point I've moved on to something else, and getting a positive response to the joke makes me laugh again. Knowing that someone was laughing without even seeing or hearing it still triggers that reaction.

But back to saying funny things. People have different styles for this. Usually the funniest people are the ones who don't laugh (at least not initially) at their own jokes. They just say it, and sort of "put it out there", they *offer* the joke to anyone who will take it. And if it's obvious that it was a joke, and no one laughs, then it's awkward. But otherwise it could just be dismissed as an off the cuff remark. In fact, trying to disguise a joke so that either it's funny or it's not figured out as a bad joke is quite a skill in itself, some people do it really well.

Have you ever seen people who can't even get through the joke because they start laughing while telling it? I would still include them in this category, because if you can't help laughing you can't help it, plain and simple. So before you can even express what makes you laugh you're already laughing. Of course, if you do this then someone can't really determine whether you meant to laugh or not, if you hadn't been overcome, so it's a bit sketchy.

But then there's the other category of people, who utter something, pause and then start laughing hysterically. This is pretty strange, because you made it through telling it before it made you laugh, but then it seemed to have kicked in. So either you are saying something not (yet) realizing the joke in it, or you are purposely delaying your laughter to afterwards. Of course, the former can happen from time to time, but for people who always do this it makes me wonder what is happening. The thing is, if you laugh hysterically at your own jokes, and no one else does, this makes you look like a mental patient. This is why it's a lot more important for these people that you laugh with them, because they've already committed themselves with respect to the joke.

Typically, it's the people who laugh at their own jokes who put pressure on you to laugh also. This can give different results depending mostly on who the person is. If it's a person you are *used to* laughing with, it's almost like you laugh anyway even though this particular case isn't actually all that funny. However, if it's a person who is either never funny or just someone you don't know, most likely you won't laugh and you either make yourself laugh (which feels so uncomfortable and phony), or you stand your ground and don't laugh. At which point certain conceited people will accuse you of not having a sense of humor, to which you can respond "I do have one, and you just killed it."

However, there is also another angle to the self-laugher. Some people laugh very outwardly, like they care that other people should laugh too, this is important to them. There are also those who laugh more discretely. I would say semi-discretely, in the sense that they are not actually suppressing, but they are nevertheless laughing to themselves and not laying claims on other people's laughter. But I think that when they laugh in response to their own jokes, this is actually because they only then realize the joke in what they said, so this would place them closer to the first category, those who laugh because they can't help it, except the reaction comes late.

I was asleep before my head hit the pillow

November 11th, 2007

Have you heard people say this? It's a pretty popular expression. I find it a bit unlikely (or at the very least unsettling) myself.

The first thing to take into account is that falling asleep generally isn't instantaneous. So depending on the person it takes something like a few minutes to half an hour (or maybe more) to fall asleep from the moment you go to bed. Now, suppose you are exceptionally tired, then perhaps the time is shortened. But instantaneous? That seems unlikely.

Secondly there's a safety concern in play. Depending on the elevation of your fall, and the material the pillow is made from, you could have a concussion. If you were actually standing up at the time and you just literally *fell asleep* then let's hope it was a clean landing.

But the most striking omission here is that people never mention how aggravated they felt by being woken up less than a second after falling asleep! The first period of sleep, much like the last, is not deep sleep, it's not coma material. It's sensitive sleep, and if someone were to wake you up right after you fell asleep you would easily wake up. So a fall would definitely wake you up. How frustrating that must have been for you.

let's make Bill Gates happy

November 11th, 2007

In the annals of computing we find his Open Letter to Hobbyists, which attempted to appeal to our morals so that we stop pirating software.

The problem, of course, is that software is just not worth paying for. If we didn't run pirated software, we just wouldn't use software. That's the reality of it, pure and simple.

If you're a seasoned Windows user, somewhere in your house you have a cd/dvd kit. Or a dedicated partition on your disk. And what you have there is a full suite of install programs for all the software you run. Windows is unstable and insecure, and since it's also impossible to backup fully, the only solution is to keep copies of all software in installers, so that you can restore your system when the need arises (and if you've used Windows for a few years, you've done this several times already, or you have "a geeky friend" that you call and he does it).

This is the reality of Windows, you need all these crappy little programs like WinZip (who the hell is gonna pay for that?), because otherwise your system is unusable. Windows by itself is unusable, the first thing you have to do is install all these little "helper" applications that help you get anything done.