Search Results: "zed"

3 December 2006

Zak B. Elep: Who moved my sundae?

WTF IS THIS SHIT? Ok, that above would be what a newly-baptized “FOSS advocate-slash-zealot” would say upon seeing Federico Pascual Jr.’s PostScript regarding the FOSS bill. I suppose I could have said that myself a couple of lifetimes ago. But, there is more than meets the eye. While I would like to think of myself as a “FOSS veteran”–believe me, I have still so much to learn about it–I would like to step into the shoes of such a person when approaching an article as sensational as Mr. Pascual’s. Despite what seems to be a most interesting article on the mechanics of government software usage, it fails to address the one particular bit that is just as important as the proposed bill itself: the real Free and Open Source Software. Let me nitpick this article bit by bit:
FREE RIDE: A bill is being pushed in Congress forbidding all government agencies and state-controlled firms from buying and using any of the computer software sold in the market!
Alas, when I first heard of the FOSS bill sometime before September, I also had a bad impression of it. Perhaps I was just too politically allergic at that time (yeah right,) but I tried to adopt a wait-and-see’ approach first and let the dice roll. Perhaps because this bill was to be introduced by a very visible congressman with alleged leftist ties made me feel uncomfortable, but then, so was (and still is) with the current administration. Or perhaps I just felt it wasn’t damn right to legislate FOSS as an end-all solution, preferring instead of presenting is as a process for reforming the local software industry. Looks like first impressions definitely make a difference.
The proposed law to be called “Free/Open Source Software (FOSS) Act of 2006″ commands government offices to use only information and communications software that are given away for free and have no restrictions as to their use. The objectives appear to be to save money for the government and to encourage the making of free (non-commercial) software.
So? What’s wrong with these objectives? FWIW, the early FOSS bill draft did seem to have such a Draconian section as forcing the government and allied offices to use, and use only, FOSS. IMHO that by itself ran against the very fundamental ideal of FOSS: the freedom of choice. Not Hobson’s choice, but real choice. The current bill IIRC now allows this true choice; unless there is an extreme case where FOSS cannot be applied without becoming non-self-sustaining (not to mention self-liquidating,) agencies may implement their infrastructure using FOSS as their primary instrument, with the application of open standards (that is, open document formats, open communications protocols, etc) unifying the disparate components. Perhaps right now, this situation may seem kind of far-fetched, but its not really that far-off, considering what other nations and cities have done (or not done) with FOSS. Munich, Extremadura, Beijing… the list is not yet that long, but its bound to go a long way ;-) Now, while the government may now adopt open standards and open-everything, does not mean that the openness’ forgoes security, either; the government may opt to use well-known encryption protocols and even base their own security infrastructure on them. In fact, they are free to even look inside the source of these well-known standards, to study them, and to branch off new implementation that may even change the way these standards work. In fact, even without this bill in place, the government can participate in the production and development of FOSS!!! Wait a minute, wasn’t I supposed to defend this bill? Eh, well. I suppose this bill is good and all, but like I said earlier, there are those first impressions made by the parties involved in the making of this bill which unsettles me. IMHO I would rather see applications of this first in key cities (the happy works in Munich and in Extremadura are no accident, believe me) which in turn, would allow both local the national government to see just exactly how this FOSS magic works. Then, when the observations have been made, the papers are in, and the workers get hired, then, maybe, we’ll have a nation where FOSS can be mandated as a very strong preference, but never a forced one. Its all about growing up, really. I’m being reminded of Tom DeMarco’s The Deadline, where a newly-retrenched guy from a telco literally lands into the fantastic job of his life, managing an entire nation of software engineers and architects to develop several killer apps within a year (or so; raid you nearest Book Sale and be lucky ;) Its a great experiment: when it succeeds, you’ll be the first to be present, but when it fails, you’ll be the first to be nowhere.
But I can also hear in the background a call to an unholy war against multinationals whose popular software run virtually all maybe 95 percent? of the computers of the world.
Now this is a low blow. Maybe partly because of the prevailing images of the advocates–geeks and leftists, my, what a c-c-c-combo!–is what drives Mr. Pascual to make this point. But really, multinationals are not the main concern. FWIW, FOSS is multinational in nature: it is even multi-denominational and multidisciplinary. FOSS is one of the things that make anonymous people like you and me Internet superheroes. FOSS connects the Internet’s tubes and keeps away the trucks. FOSS makes the Internet serious business, yet also drives them crazy. The Linux distros that I have worked, am working, and continue to work on, are all multinational: Debian and Ubuntu. People from all over the world, from all 7 continents, participate and work on what would arguably be the biggest software distribution the human world may ever produce, freely, regardless of motivation or goal. I suppose all the folks involved have only one common goal, and that is to see a work created for the benefit of the community by the community. I suppose the background howl comes from somewhere altogether, but its hardly just from FOSS. FOSS is the epitome of what is truly multinational, and one thing that is not truly controlled by any one single person, corporation or not.

Amaya Rodrigo: Amayita in ProzacLand

[Absolutely nothing related in any way to Debian or Free Software here, so you can just skip ahead]

As some of you may be already aware of, I suffer from OCD, in a very mild form. If left untreated for long enough time, in my case it was years, it leads to depression. A good one. You can end up in Learned Helplessness Land, where your closest companion will be your inner voice, constantly criticising you, blaming you for anything that happens, I even used to believe I brought bad luck to the people I was with or met.

I strive for perfection, and the world is not perfect, not everything is under my control, and OCD is just a jail. In my case it is cleaning and re-arranging stuff. My perfectly shiny jail.

Some of my friends think it is so bourgeois that I have a person come clean my house every week. Maybe they do not understand that I can t clean, because I can t stop. The same way an ex-addict can t take $SUBSTANCE_OF_CHOICE. When I get stressed I tend to clean, and when I start cleaning I just don t stop. One stupid example of how ridiculous it can get: doing the laundry in an empty laundry machine so that it is clean inside. I can kill my plants by watering them too much, specially Cactus, dist-upgrading all my machines every morning, and then several more times a day, even if i know there will be no updates available at all.

And while I am doing it, I don t enjoy it. I can t stop, control it or decide anything. I follow very strict rituals, things have to be the right way, following a very complex set of rules that make sense to no one else but me. Well, not even me. But I have to, I don t choose to, and that is where the jail comes from.

I think it all comes from my childhood, in a very chaotic household, at a deeply disturbed family, with an abusive, alcoholic father and a very overwhelmed mother, the only thing I could control in my life was that my room was clean and arranged, as opposed to the rest of the house, and my homework perfect, as opposed to the rest of my life. The same way anorexics feel in control when they let themselves starve to death, because they control the food they eat, their hunger and their bodies.

My father also turned up to be psychotic, manic-depressive, and what not. When my mother finally forced^W helped him to stop drinking, I had this hope that things would be fine, but they didn t really improve. I was eleven. At the beginning it was the drinking, then the mental illness, then the aging, but my worst fear has always been to become him. To do onto others what was done to me. When I was 16 I already knew I would never have kids. I can t even bear to think that I could fuck up the way my family did. I can t even bear the thoughts of passing these genes onto an innocent baby. I specially hate the idea of bringing a new baby into this fucked up world, with so many kids out there so helpless, as myself as a kid, that nobody wants. I would definitely adopt a kid one day, if I was sure I would not repeat certain behaviours on him/her. If a doctor would put it in writing with his own blood.

In 2004, wanting to kill myself, even with a well thought plan and a written unofficial will (who gets my laptop, who gets my clothes, who gets my money, and so on) I went into treatment. Some of you might remember I was kind of MIA at the time. I was on Prozac, tranquilizers, and a year and a half therapy later, I was fine. I was even happy! That was by Debconf 5, after being fired from a job that was hurting me, giving up a 15 years relationship that had become unhealthy for both of us, the death of two very dear friends, and other looses not worth mentioning in this blog post that already gives too much away, I was finally happy. My life radically changed, my jail was almost gone, my fears were under control, I was finally free.

But, recently, a very dear friend of mine got sick, not any near what my father was or had ever been, but I saw myself in a mirror. My worst fears paralyzed me. My inner voice whispered I would end up being him. Again. And again. And some more. So I had to fight my I can do this alone pride, called my doctor and I am back on all the crap that will probably fuck my brain chemistry in the long run, and back on therapy, which is the only resource that will be really helpful for my life. I am not as bad as I once was, and it is going to be much easier this time, but I am scared as hell, because I though this was gone forever. But my friend got sick, and I had a stressful couple of months at work, and (yay!) I started cleaning again.

My physical health is also reflecting what I am going through. I am in a very acute UTI episode. The amount of pills I take in the morning is getting scary now. The pain and the burn are hardly bearable, and I have become unwillingly an early riser. I wake up at 5:30 or 6:00 am, and go to bed somewhere between 8:00 and 10:00 pm. One of the side effects of the painkillers is I can t really focus my sight at the moment, so my computing is painful and limited.

Being unable to concentrate on the computer I engaged in compulsive house improvement.

* I changed every light switch and power outlet in the house without turning the power off. Dangerous? Sure. Am I proud of my new skill? You bet!

* I revamped a very old and crappy piece of furniture I found in the trash. When the lady that cleans for you has a better cell phone than you, and you can t afford new shoes for the winter, you start looking at the stuff other people throw away in a different way. In a very different way.

* I lost ten kilos, and the clothes I wore to Brazil fit again. I am fixing the broken bits, because I can t really afford to get clothes of my new size anymore either.

Some pics of my achievements (some work is still in progress):



You might have noticed my web server is down at the moment. I hope this post explains why I am timing out. My server is called aenima, latin for soul, and quite incidentally.

2 December 2006

Jaldhar Vyas: The Real Meaning of Nalanda

Venkatesh Hariharan recently wrote an article on Indias traditions of knowledge and how Open Source meshes with them. Now having met him at foss.in and knowing of his work, I am 100% convinced he is on the side of the angels and their is no malice in what he wrote. However, his interpretation (really not his, but the conventional wisdom amongst the Indian elite.) of Indian history and culture is so monumentally wrong it bears correction. While I admit my hackles were raised by the cultural and theological mistakes made, there are implications for Open Source advocacy in India and the world at large too. He starts by giving the example of Nalanda, supposedly "the first university in the world." but more accurately a Buddhist vihara (monastery.) Its' very name indicated sharing. I use the past tense because Nalanda doesn't exist anymore. In fact except in a few border areas influenced by Tibet or Burma, Buddhism itself is so thoroughly extinct in the land of its birth, the place where it flourished for over 1500 years, that the only reason people like Hariharan or myself only know that there ever was such a thing due to the work of 19th century Western Indologists. How could this be? One theory is that a resurgent Hinduism coopted or persecuted the Buddhists into oblivion. However this is unsatisfactory. It does not explain why Jainism (a religion as old as Buddhism and equally heretical for exactly the same reasons from the Hindu point of view) still survives to this day and it doesn't explain how it could have happened for even the most advanced genocidal regimes of the 20th century have been unable to "disappear" undesirables to the extent which Buddhism disappeared. A more plausible explanation revolves around the fact that, as I mentioned before, places like Nalanda were Viharas. This doesn't mean that they can't have university-like properties too; after all the great academic institutions of Europe also had religious foundations but the monastic nature of a vihara is salient. A monastery is not a place you go to engage the world, its a place you go to escape it. To mix metaphors a bit, the viharas were cathedrals not bazaars. While there may have been a lively intellectual life within its walls, there is no evidence that Nalanda and its denizens interacted much with the surrounding culture. An economically unproductive institution of such vast size (15,000 monks at its peak) could only survive by the patronage of kings and other rich people. When that patronage dried up as for example when the medieval Muslim invasions swept away the old royalty, Nalanda and its sisters couldn't survive. Just as when a proprietary software company dies, its "intellectual property" often dies with it, when centralized Buddhism died, Buddhist ideas died with it. (Luckily Buddhism had spread to other countries by then and developed new, less monolithic forms so it was not lost to the world altogether.) In contrast Hinduism (and for that matter Jainism) while having all due respect for monks were and are primarily lay movements. The pursuit of morality (Dharma), wealth (artha) and pleasure (kama) in this world are equally valid human goals alongside liberation from the world (moksha.) and this manifested as the much maligned institution of caste. Hariharan quotes the conventional view probably familiar to Westerners from Anthropology 101, a lock-step hierarchy of four classes (varna is the Sanskrt word) with fixed occupations, with knowledge and privilege on top and ignorance and oppression at the bottom. The thing is, this view bears no relationship whatsoever with social reality in India now or historically. There is another Sanskrit word, jati, which can be translated as caste. There are thousands of these jatis and while Indian thinkers have periodically attempted to try and shoehorn them into the varna framework, they have had little success and varna is for all practical purposes just a theory. And this is not just a fall from some putative golden age (Like the canard that once caste was flexible and merit based and only later became rigid.) but the state of affairs throughout recorded history.

A jati consists of people who share a common (or fictive) kinship, who have particular food and ritual choices, and marry endogamously. While many jatis are associated with a particular occupation, many others are not. This is what caste means to a typical Indian (it is also the social organization prevalent amongst Jains, Sikhs, Muslims and Christians even if they don't accept its theological basis.) Yes, hierarchy and concommitantly oppression, are in some cases a byproduct of casteist thinking but they are hardly its raison d'etre. A comparison can be made to the Western nuclear family system. Some people think it is superior to any other form of social organization. Most people wouldn't go that far but go along with it as "the way it is." Some of those of a liberal persuasion might want tweaks of certain aspects of it. A very small fringe think it is nothing more than a nefarious plot to spread patriarchy, subjugation and racism etc. They are mostly considered kooks by the other groups. (Unfortunately when India and caste are concerned, the kooks are ruling the roost.) The diversity of jatis like the diversity of open source creates a certain resistence to disruption that a monoculture cannot. Thus though Hinduism also suffered grievously from invasions, it was able to hold on where Indian Buddhism could not. Brahmin (sic. That's an English mispronounciation.) is also misinterpreted as one who knows Brahma (masculine noun. The Creator God.) instead of Brahman (neuter noun. The supreme spirit pervading the Universe.) though even then it would be wrong because Brahmin, Brahma, and Brahman all come from a common root word brhati (feminine noun. Sacred speech.) as any Sanskrit dictionary will attest. Hariharan cites the example of the sacred scriptures (Sic. He means the Vedas) and the notorious statement of the Manusmrti saying that an unqualified person who hears them should have molten lead poured into their ears as examples of the proprietarization of knowledge. Now the long-suffering untouchables may have been afraid of many things but having lead earplugs was not one of them. There is no historical evidence that any such action was ever attempted. You can criticize the Manusmrti for even saying such a thing but that is a far cry from using it as evidence of historical attitudes. You see, the Manusmrti is not even in the most orthodox conception Hindu Sharia and the Vedas are not "Sacred Scriptures" in the sense that the Bible or Koran are. Rather they are part of a wide range of significant literary works respected in Hinduism of which other important examples are the two Epics the Mahabharata (which includes the Bhagavadgita), and the Ramayana, and the vast compendia of geneologies, philosophy, lore and legend called the Puranas. Hariharan actually missed a good chance to make his point here because while the Vedas are indeed "proprietary" the other works I mentioned are not and have in fact permeated all over India and even beyond its borders. Many Indian languages owe their literary existence to translation of the epics or Puranas. For instance one of the earliest monuments of Hindi literature is the Ramacharitamanasa, Saint Tulsidas's translation of the Ramayana. When he wrote it in the 16th century, he did face some opposition from those who didn't think such an august work should be rendered into a "vulgar" tongue, he also received encouragement from equally orthodox people (including those who believed the Vedas should be restricted to Brahmins) Today it is by many accounts the most popular Hindu holy book in existence. So really the whole idea that the Hindu canon shows a fall from open grace to rigidly controlled private property is just bogus. To those who have slogged their way though all this verbiage wondering what it has do with Linux and Open Source, let me assure you I am getting to the point :-) It's bad enough from my point of view as a devout Hindu that my religion would be misrepresented this way but from my point of view as a supporter of Free Software ideals, it is catastrophic. Linux and Open Source in India has spread, as in most parts of the world, primararily as a hobby amongst computer enthusiasts and for a hobby it's doing ok. However if you think of it as more than that, as a tool to enhance society and empower peoples lives, that is not nearly good enough. But how can one serve a society if one apparently has no clue about that societies history and mores? The developing world is littered with failed projects that were carried out with the purest of motives but no regard to what the putative clients actually wanted. Do we want Linux and Open Source deployments to go the same way? For a couple of years now I've been trying to get Indian and NRI programmers to get involved in localization in debian-installer and elsewhere but even with the small minority that are sympathetic to Open Source (a scandal in itself.) it is like pulling teeth. To their credit, Red Hat India pays people to work on such things but volunteerism is the heart of the Open Source movement as we all know so the apathy of Indian IT professionals is deeply troubling. Hariharan is trying to increase interest by appealing to the Indians' sense of cultural pride which is a good tactic--it has been successfuly applied by many non-western or minority cultures--but he is not going to be very successful if the vision of Indian culture he is presenting is as alien as Eskimo culture to the vast majority of the people. Western Open Source advocates also run into difficulties due to being tone-deaf in their understanding of how third-world cultures actually operate. When India declined to participate in the One Laptop Per Child (OLPC) project, some commentators on places like Slashdot were perplexed. Wouldn't a poor country want an inexpensive yet efficient pc using free software instead of high-priced imports? The thing they missed is that while people in India may be poor, thanks to a more-or-less democratic polity and more-or-less open communications, their frame of reference is no longer their village. Their trends are increasingly set in Mumbai, New York, Paris, and London. The forward-thinking amongst them know that computers are the key to the future. They also know Bill Gates is the richest man in the world thanks to something called "Windows" knowing which can get you a green card and your own chance of becoming rich. So if Linux comes along, presented as a cheap alternative which is "just as good", the fake Gucci handbag of IT if you will, it is not going to impress. Thinkpads and Dells appeal to the upwardly-mobile persons vanity, a third-world hand-cranked laptop does not. (This incidently is what is behind the "Nalanda university" meme too. Monasteries are yesterday. Universities are the in thing so we have to have some in our past and not just any but by golly, the first university in the world.) When they venture from pure technology into the realm of culture, Open Source advocates need to be a lot more sophisticated, not to mention accurate, in their arguments lest they fall on deaf ears. Platitudes and sentimentality about "spiritual" versus "material" culture aren't enough. There must be concrete demonstrations of the benefits of why the Open Source approach to knowledge is better. They must be more sensitive in their presentation to avoid needlessly antagonizing people who might otherwise be natural allies. I believe the Open Source ideal is good for India and the whole world, not just in software but for society at large and I wish Venkatesh Hariharan and all the others on the frontlines of the fight for openness the best of luck. But good intentions cannot excuse sloppy thinking.

1 December 2006

Pierre Habouzit: I hate closed-minded people ...

Edit: to be fair to the GCC crew, it seems the guy who closed me the bug to the face was not very representative of'em. Thanks to them to their very good compilation suite btw ! a bit of history I've been bitten today by a problem due to the fact that I use the gcc __attribute__((nonull(...))) as a hint in my C headers to say to the programmer that it's up to him to check if what it pass to my function is NULL, or not. I had written (erouneously) that bit of code:
/* in the .h */
__attribute__((nonnull(1)))
char *m_strrtrim(char *s);
/* in the .c */
char *m_strrtrim(char *s)
 
    ssize_t len = s ? strlen(s) : 0;
    while (len > 1 && isspace((unsigned char)s[len - 1]))
        len--;
    return s + len;
 
I've added the __attribute__((nonnull)) by mistake, and indeed sometimes used m_strrtrim on strings that I knew to be NULL. The point is, gcc is able to use the nonnull attribute to optimize code, and that's very legitimate. In my case, it optimized the s ? strlen(s) : 0 into strlen(s). And without surprise, it caused segfaults. I had a hard time finding that bug, because I've never thought that it could come from the header. As it could not come from the m_strrtrim function, I've looked very hard for stack overwrite and so on in the caller, but even valgrind did not catched anything interesting (except an invalid read size of 1 in strlen). It's when (in order to see if it was a gcc optimization bug) I've generated the preprocessed source that I saw the damn prototype in the preprocessor output, and that was suddently obvious to me why it segfaulted. the wishlist bug Since it was quite an unusual problem, that can make you loose a lot of time, because the bug lies very far from where it's revealed, I've opened a wishlist bug in gcc to ask for a warning when you test some pointer against NULL that you should already know to be non-NULL. like the warning about always true (or always false) comparisons for e.g.:
size_t len;
// ...
if (len >= 0)   ... // always true
if (len < 0)   ... // always false
That's gcc bug#30043. Or I should say was. My bugreport has indeed be closed a first time as INVALID, because the reader thought I said the gcc optimization was not legitimate (*sigh*). I reopened it explaining more precisely that I only begged for a warning, not for anything else, and that YES I DID READ THE DOC. The bug has just been closed as WONTFIX this time, with an explanation that still makes me stare at it with a blank look:
I don't think a warning is the right thing in this case because the developer should have read the documention [ ]
WTF !? If reading the documentation can make you a perfect programmer that never do any mistake, then god, I must be a super-mega-coder that always write perfect code ! Sadly, reading the doc do not prevent you to avoid cuts (aka segfaults) when you juggle with razorblades (aka code in C). I can understand that it's hard to do in the present state of GCC, and that's it's not an urgent feature, given how peculiar that request is. But I'm completely stunned to see that a guy that is in the compiler business just consider that a warning is useless, and that the documentation is the key answer. I use an over-long compilation line in my projects [1] [2] especially because a compiler is really better than me to catch many kind of errors. And it's vital to do so. I've seen too many people that only compile with gcc -g -O2 and optionnally with -Wall when they don't forget it. But from a guy in the compiler business, well, that's just yet-another-illusion that collapses.
Notes [1] -g -pipe -O2 -funsigned-char -fstrict-aliasing -Wall -Wextra -Wchar-subscripts -Wundef -Wshadow -Wcast-align -Wwrite-strings -Wsign-compare -Wunused -Wno-unused-value -Wuninitialized -Wpointer-arith -Wredundant-decls -Wmissing-prototypes [2] I usually also add some format string checks, to forbid to pass a non immediate format string, and also -Werror because a warning is in 90% of the cases an error, in 9% of the cases tasteless programming style, and in 0.9% trivial to workaround.

30 November 2006

Jorge Salamero Sanz: Blog Voyage

Blog Voyage is a game begun by bashflyng with the following rules: you have to travel along the world and along the blogs. You choose a place: a city, a town, a building, a river, a mountain ... The only clue is a picture of the place from Google Earth. The first person to guess the answer gets to choose the following voyage in his blog. This is the current roadmap: Well, here we go: blog voyage UPDATE: george wins. It's New Zealand, the Mount Ruapehu.

28 November 2006

Daniel Jacobowitz: Triumph over emacs at last

I do about half my text editing in joe, and half of it in emacs. It's just what I've gotten used to; for a year or two I used primarily joe, and I gradually migrated until I did most of my programming in emacs instead, but I still do random text files in joe. I've been gradually trying to migrate to emacs; not least because upgrading joe has gotten to be such a pain. I use jpico rather than joe, you see. But I started using it a long time ago, probably around when joe 2.8 was current in Debian. And the jpico key bindings keep changing! Which is infuriating, so I keep having to rewrite my keybindings to stay mostly the way I like them. I like that emacs is such a smart editor. Especially since it defaults to all sorts of nice GNU-ish settings and most of my C is for GNU projects. But when I work on other things, I have to learn how to make it either disable smarts or use appropriate ones, so in self defence I keep learning new things about emacs... One things I've been annoyed at before is the binding for scroll-other-window. You can split a window into two (C-x 2). I often do that while writing a changelog up top of a patch file, whether I'm using joe or emacs at the moment. An advantage of emacs is that you can scroll the window that the cursor isn't in, paging down through the text you're describing while keeping the cursor where you're writing. But it's bound by default to C-M-v and C-S-M-v (control-meta and control-shift-meta). Hard to hit C-M-v, and impossible to enter C-S-M-v; you can not distinguish Control and Control-Shift in a vt100 terminal (like, say, inside of screen). Fortunately, you say, it's also bound to M-next and M-prior (meta-page down and meta-page up)? Well, yes... but... you can't type that either at a terminal. Normally. I can now though. Fixing it took two parts. First, I discovered that Meta-next sent the same sequence as plain next, in my xterms. I think I've convinced myself this is a bug in xterm. My keymap, which is a pretty standard pc(pc105)+us+altwin(meta_win), has Super_L and Hyper_L bound to modifier 4 along with Meta_L and Meta_R. xterm sees these strange keys and decides that mod4 must be some sort of "other" modifier, in code that looks like it's for handling num lock. Fortunately, I can work around this easily. I don't have a Super or Hyper key, so I deleted the bindings by adding this to my .xsession:
  xmodmap -e 'remove mod4 = Super_L'
  xmodmap -e 'remove mod4 = Hyper_L'
UPDATE: This will be fixed in xterm #223, since Thomas Dickey agreed it was a bug. Next, I discovered that emacs didn't recognize the sequence produced after that fix. It didn't recognize C-next or A-next either. So I added this to my .emacs:
  ; Key magic.  Emacs nor terminfo normally have bindings for these.
  ; The meta binding in particular takes a bit of X magic also; see
  ; the xmodmap call in /.xsession.
  (define-key function-key-map "\e[6;5~" '[C-next])
  (define-key function-key-map "\e[6;9~" '[M-next])
  (define-key function-key-map "\e[6;3~" '[A-next])
  (define-key function-key-map "\e[5;5~" '[C-prior])
  (define-key function-key-map "\e[5;9~" '[M-prior])
  (define-key function-key-map "\e[5;3~" '[A-prior])
That really should be conditionalized on the terminal type, but I didn't want to mess with it any more. And now it works. Woohoo!

Antti-Juhani Kaijanaho: Upgrading WordPress the sane way

I finally got around to upgrading the bunch of WordPress blogs that I administer. I do not use the the Debian package, instead each blog is a separate copy, some with customizations. The official instructions make it a pain to upgrade customized WordPresses, so I have used another technique for a while now. This technique assumes a Unix-style system with all the usual goodies installed and command-line access, as well as Unix competence of the person performing this operation. I leave it to others to write step-by-step instructions for people lacking such competence (feel free to leave a comment). Step 0: Back up all your WordPress installations! Step 1: Make sure that you have a copy of the vanilla WordPress directory (unpacked from the zip or tarball and not changed afterward) for the version that you are currently running. I have it (in this case version 2.0.4) as the directory wp-2.0.4. Step 2: Download the new version, unpack it and rename the unpacked directory to include the version number (in this case, wp-2.0.5). Step 3: Create a patch file for this upgrade by running diff -Naur wp-2.0.4 wp-2.0.5 > ~/wp-2.0.4-2.0.5.diff. Step 4: Eyeball the patch to see if it looks sane. (I have on one occasion created a patch that deletes the whole WordPress installation. That is not fun. So check that the diff is sane!) Step 5: Apply the patch to your WordPress installation by changing to the WordPress installation’s directory and running patch -p1 -i ~/wp-2.0.4-2.0.5.diff. Step 6: If patch rejected some hunks, eyeball the .rej files to see if you need to manually merge the changes in. This should only happen if you have customized the installation. Step 7: Run the database upgrade script by going to the admin page and following the instructions. Step 8: Verify that it all works. *** It is also possible to manage the installations in darcs or in other version control systems. I haven’t bothered with that yet.

Joey Hess: end to second-guesing

A couple of years ago I had a nice chance to be employee approximatly #10 at Caonical and work on Ubuntu. I turned them down at the eleventh hour, and have been second-guessing that decision on and off ever since. Today I realized I can stop worrying about whether I made the right decision back then, because it seems very likely that if I had joined them as employee #10, unless my contributions somehow made it develop much differently than it has, I would have left Canonical by now, for one reason or another.

Matthew Palmer: VLAN adventures

Have you ever had a need for a large number of "real" network interfaces on a Linux box? For security reasons, you don't just want to hook everyone up to a single switch and use virtual interfaces (because it's too easy for one of the connected devices to play silly buggers with his neighbours). Up to a certain point, you can stuff more NICs into a box, and when it fills up you can switch to those outrageously expensive 2- and 4-port NICs. But eventually you're going to run out of space[1] or money. At that point, you need something more interesting. For me, this week, that "more interesting" has been Ethernet VLANs. Linux Journal has a good intro to the technical aspects of how to setup VLANs and Linux. VLANs are some crazy stuff. They're implemented by wrapping a little number around every Ethernet frame indicating which VLAN the packet is "on", and the switch (you need a higher-end device, appropriately configured) makes sure that packets don't roam onto ports they're not meant to be on. For a single switch, this isn't very interesting, and you don't really need an IEEE standard to make it work -- just a lot of little jumpers. However, VLANs are mostly useful on larger networks, which tend to use more than one switch. So you need a way for your VLANs to roam amongst your switches -- hence the packet tagging. You stick the tag onto the packets and fling them off to another switch, and packets coming in with the tag are corraled into their VLAN. Naturally, you don't want end-user devices whacking their own VLAN tags onto packets (untrusted data, and all that), so you define most of your ports as being "untagged". Packets that come in on these ports are treated as regular ethernet frames and tagged with the appropriate VLAN ID, and packets that go out have their VLAN IDs stripped before being sent. (This implies that you can tunnel VLANs in VLANs, and I'm pretty sure that is doable in most switches, modulo some nasty problems that can, and probably will, occur). The ports that aren't designated "untagged" spit out tagged packets -- and this is where my interest lies. Like most every other computer-related standard, Linux can decipher and work with VLAN tags (the 8021q module is what you're looking for). You just load up the module, hook your NIC into the appropriate port on your very expensive switch, define your VLAN tags with vconfig, and suddenly you've got vlanN interfaces, which map to real RJ-45 ports, and you can hang network devices off these and get lots and lots of "real" network interfaces on your Linux router. It's all so simple, right? Nothing ever is, of course. The trials and tribulations I've had over the past two days have included: Thankfully, once all those dramas were done, the whole thing just kind of fell into place, and now I've got a machine which has up to 2048(ish) network interfaces (with huge, glaring caveats on that upper bound, of course). With a bit of luck, the live installation in a couple of days will go smoothly. You can stop sniggering now.
1. In this case, there wasn't a lot of space to begin with, as it's a 1RU box I'm working on, and the 4-port NIC didn't want to place nice with me for some reason anyway.

27 November 2006

Ben Armstrong: Home video hub on a shoestring

In our family, we have centralized all our best entertainment technology in a single system, a white box amd64 with PVR, 3D graphics, 1G, a 21” monitor, DVD burner and VCR. A number of older, far less capable systems have always surrounded this “hub”. A K6-2/400 with a less-than wonderful ATI Rage IIc graphics card presently serves as my wife’s system, and my PII/300 laptop roams the house on wireless B. This has always been the model for our home network, dating back to the late 90’s when the hub in our cramped apartment was a P/100 delivering sound through a $30 pawn-shop stereo to two main rooms, and the satellite node in the family room was a DEC VT-420 on a long serial cable. So, house-wide delivery of sound has always been possible. But doing the same for video remained unsolved until just this weekend. Kudos to the Videolan team for making it possible. A number of years ago, I recognized their vlc player was ideal for playing DVDs on my K6-2, handling the job with less CPU and less frame drop than other alternatives at the time. Not too long afterwards, though, we upgraded our hardware so saving CPU cycles was no longer an issue, and switched to other players to take advantage of features they offered over vlc. But a recent email from a friend brought me back. This friend asked if I had seen a certain Linux documentary video he had found. I hadn’t, and was intrigued. But since the hub was tied up by the kids at that moment, I figured I’d try watching on the old PII laptop. I didn’t really think it would work, but remembering how well vlc did on my other old hardware, I gave it a try. It worked! No frame drop at all. Buoyed by that victory, I recalled that I had downloaded the Debconf 6 DVD ISOs some days ago, but had not yet been able to watch them. You probably can guess why … yup, the single hub system, the only one really capable of doing a good job displaying video, was pretty much always tied up by various other family members. Now, I knew there was no way I could get those DVDs onto the laptop, as it has no drive and only a 4G hdd. Nor was I willing to go to the bother of ripping individual tracks to transcode and send over one at a time. But I then recalled that vlc, as well as being an excellent standalone player, is primarily the client for a streaming video system. So I set out to learn how to stream video. Back when I was first introduced to Videolan, I knew there was a server program, vls. I had a quick look at that and was overwhelmed by the wide variety of possible MRLs and codecs, and a bit mystified as to which magic spells were needed to make it stream to the laptop. It then occurred to me I had probably plunged in too quickly, and should back off and go look for more docs than just the man pages. Sure enough, they have plenty of excellent docs, leading to the discovery that the vlc gui itself has easy to use Wizard and Open dialogs to set up streaming. With that sorted out, I was streaming in no time. At this point, I was delighted to discover that I could successfully stream a 1024 kbps mp4 stream across wireless B form the basement to any other room of our two-story semi. And ever since then, I’ve been having great fun with the family, trying a wide variety of other video sources lying around: music videos, home videos made by friends, TV shows recorded from the PVR, DVDs direct from disc, and yes, finally, those Debconf 6 ISOs. I tell you, it’s like Christmas come early! Thanks, Videolan. You’ve made my week.

26 November 2006

Evan Prodromou: 4 Frimaire CCXV

It was a pretty day in Montreal today, and since I was taking care of Amita today I knew I wasn't going to get any computer stuff done. So I decided to take care of some tasks that needed doing around the house -- cleaning up our storage room, changing some light bulbs, fixing some furniture and putting plastic on the windows for winter. This is one of my least favorite jobs for preparing for winter. Probably the biggest sink of heat for an apartment is the windows and doors, so we do our best to insulate them. Doors get insulated foam around the cracks, and windows get covered in a thin film of clear plastic, which forms a pocket of air and provides an extra insulating barrier from the outside. It sounds crazy, but it's remarkably effective -- it really makes the difference between a cold house and a cozy home. It's extremely labor-intensive, though: it involves putting up lots of double-sided tape, cutting just-right rectangles of gossamer micron-thin plastic sheeting, climbing up and down ladders, hanging, measuring, moving. Probably the silliest part is that you blow on the plastic with a hot hair drier to make it contract tightly over the window so it's easier to see out. That takes like 10 minutes to do. Last year I waited until mid-January to do the job, and we were all walking around the house shivering and wheezing. This year I'm getting it done before winter's really upon us, but that doesn't mean I like it any better. I guess I'll just be happy when it's done. tags:

My JavaScript workbench So, I've been working on making a Wikiwyg plugin for PmWiki. Wikiwyg is an ingenious Javascript library for doing WYSIWYG editing in the browser, but keeping all communications with the server in wiki syntax. Every wiki engine should be using it, but for some reason it's not well-implemented. I think it's mostly a community-marketing problem, but that's a separate subject. I want to eventually get it working on Wikitravel, which runs MediaWiki, but I wanted to give it a try on an little more deterministic wiki syntax. So I started an extension for PmWiki. I've learned a lot so far; I'm far from done, but if you use darcs you can see my work so far by running:
darcs get http://evan.prodromou.name/darcs/pmwikiwyg/
Since the code's mostly in Javascript, I've been getting my JS workbench back into shape. By "workbench", of course, I mean "loose collection of tools for documentation, debugging, and editing". For documentation, I've been using the excellent JavaScript and DOM docs from Mozilla Developer Center -- itself a wiki. The docs are (almost) complete, well-written, and well organized. And, of course, Free -- it's all under the CC attribution-sharealike. For debugging, I've been using the Venkman JavaScript debugger for Firefox. It's been a while since I've worked with a half-decent debugger, so it's been a pleasure to use. And for editing, I'm sticking to my favorite programmer's editor, JED. I first started using JED because it had the same name as the founder of Spock Mountain Research Labs, but eventually I've grown to like it on its own merits. I was a longtime Emacs addict, and JED has been my editorial methadone. It's got all of Emacs's advantages -- same keyset, different but valuable extensibility -- without the long load times and heavy weight on system resources. I'm at the point where JED is my only editor. One nice thing about JED is that writing language modes is pretty easy, so there are a lot of them out there. I found a half-decent one for JavaScript floating around on the Internet a few years ago, and it seems to still be the best there is. As mentioned above, I've pretty much transitioned fully to Darcs as my version control system for whatever projects I can help it. It's a great piece of software -- all the strengths of GNU arch without the idiosyncratic naming conventions. And that's my workbench. It's no Eclipse, but I'm having fun working with these tools. tags:

24 November 2006

Evan Prodromou: 3 Frimaire CCXV

I think there's a certain special sloth that Americans get to experience on the day after Thanksgiving that we don't get on other parts of the year. Something about the combination of gluttony and wholesomeness makes Black Friday a very mellow, enjoyable time. Maybe it's the fact that it's officially now The Holiday Season, but the stressful tasklist of December hasn't started yet. Or maybe just that it's a day off of work for no good reason except it just is. Maybe it's the fridge full of leftovers that still taste kind of good. I dunno. We had a good Thanksgiving dinner yesterday evening. Maj, Amita June and I had planned to go visit family in New Brunswick (New Jersey) for the holiday, which was really nice to do last year. But our visas are running out in December, and although we're (probably) not going to have a problem renewing them, our lawyer said it was a bad time to leave the country. So, we stayed in Montreal for Thanksgiving. Canadians have their own Thanksgiving, of course, on the 2nd Monday of October, but not having grown up with that day as Thanksgiving, and with most of our family celebrating in November, it's hard to get motivated around Canadian Thanksgiving. And it's just not that big a deal in Quebec, anyways. So we had a good dinner here; John Usher, Niko, Jeff Waye, Meg and Patti all came over and had a good time of it. I cooked my first Thanksgiving dinner -- a big salmon, potatoes and sweet potatoes, roasted broccoli and wax beans, a great big salad. Every family has a Thanksgiving dish tradition -- one of the Prodromous' is a big pot of macaroni and cheese. So I made that, too. We all ate pretty well, drank some wine, talked about the future of music and how fun it is to play hockey. Unfortunately, I managed to miss my Blinky Hockey practice last night -- I tried to put the (overtired) baby to bed at 10PM and ended up falling asleep myself. All in all a good TG, even though far from family. tags:

Speaking of home All of Canada is abuzz right now about a recently-proposed bill by the ruling Conservative Party in Parliament to declare the Quebecois to be a nation within Canada. Sovereignty of Quebec has been an extremely contentious issue in Canada over the last 50 years (two sovereignist parties are major players at the federal and provincial level), and this form of recognition is an interesting step. The whole thing began with Michael Ignatieff, a candidate for the leadership of the opposition Liberal Party. He has stated publicly that Quebec is indeed a nation, and his followers are pushing to have that be part of the Liberal Party platform. The sovereignist Bloc Quebecois tried to steal their thunder by introducing a bill in parliament to the same effect. Their thunder was in turn stolen by the Government with the latest bill, which now has the support of all the parties and will almost definitely pass. The wording of the bill is interesting. First, it calls the Quebecois a nation -- the people themselves, not Quebec qua territory or government. Although the government has stated that this includes all people in Quebec, it's still pretty obviously targeted towards recognition of an ethnic group, French-speaking Quebecois, more than everybody who's living inside the borders. Second, it recognizes this group as a nation within Canada -- deflating the suggestion that it may become an independent state. I have to admit that the ambiguous nature of Quebec's status is one of the things I find fascinating about living in Montreal. As far as I can tell, few sovereignists hope for anything like a total split with Canada, but instead are looking for some sort of autonomous status. On the other side, even the staunchest federalists have seemed comfortable with granting Quebec more of an international profile, such as giving Quebec a formal role in UNESCO. My guess is that the nature of Quebec's relationship with Canada will change gradually until it reaches some stable point where everyone's comfortable. I don't know where that stable point is, but I think it'll be interesting to find out. At the turn of the 20th century, if you had told people that the British, Austrian, Turkish and Russian Empires would be dissolved and almost forgotten within 100 years, they would have scoffed. But in that short span of time, the idea of empire, spheres of influence, and Great Powers has passed from the world stage. We simply don't think in terms of Empire any more, but in terms of nation-states. My guess is that the 21st century will see a similar change in the idea of nation-state. With pressure from supranational organizations like the UN, EU, GATT and the International Criminal Court, as well as pressure from unrecognized nations like Quebec and Catalunya and Wales, I think the firm borders of the nation-state are going to loosen up a lot. What it will mean is anyone's guess, but I think if we're lucky we'll have a richer tapestry of nations and people participating in global politics and culture. And I think Quebec will be an important part of those changes. tags:

Thanks, Biella! I'm glad to see that Biella is going to give us the goods on PR. Our Wikitravel 2007 Get-together is going to be on the island of Puerto Rico, and Biella's from there, so she's going to make up a list of good places to check out. Great news! tags:

Lars Wirzenius: Random thought: Bzr book outline

While cleaning up my hard disk, I found the beginning of an outline for a book on Bazaar (bzr), the version control system. I wrote it one weekend this summer, when I felt I had lots of free time. I don't, and won't, for the foreseeable future. Therefore I'll dump the outline here in my web log, so that perhaps someone will be inspired to write it for me. The Bazaar distributed version control system For most of the 1990s, the free software world relied on CVS for version control. It was the best free system for the purpose. During the early 2000s, a number of new systems started getting into public knowledge. One such system is Bazaar. This is the outline for a book to explain how Bazaar is used in different kinds of scenarios. The book is not a reference manual: the software's own documentation is best suitable for that; this avoids having to constantly update the book. The book is structured as a series of case studies of common scenarios, starting with the simplest one, and getting increasingly more complicated. This approach allows the reader to quickly learn the things they need for a particular kind of situation. Introduction This chapter explains what version control systems are, and gives a summary of their history so far. It explains various basic concepts, such as centralized versus distributed, but briefly; these will be expounded on later in the book. It compares Bazaar to other well-known systems. It explains the cumbersome naming history of Bazaar. It explains how to install Bazaar by referring to the website and to the package repositories of various Linux distributions. Quick overview This chapter is intended for those with some experience with other version control systems, such as Subversion. It gives a quick run-through of the central concepts of Bazaar, and how to do common tasks on the command line. The web page project This is the first case study chapter. It explains how to use Bazaar to keep track of changes to a web site. A web site only changes linearly: only one version exists at a time. My little program This chapter explains how to use Bazaar to maintain the source code for a one-person programming project. The program has a stable version, which gets bug fixes, but no new features. There is also a development version, which gets the new features. Sometimes a bug needs to be fixed in both, and Bazaar can help with this. Additionally, sometimes it is not clear whether a new feature can be implemented cleanly, or there are several possible approach to how it can be implemented. Thus, the chapter also explains these so called feature branches. Further topics for this chapter include making releases, and using repositories to avoid excessive disk usage. Tight teamwork This chapter explains how to use Bazaar when the one-person program becomes an internal project in a company, with a well-defined set of developers. Thus, we discuss how to set up a centralized branch in a way that all the developers can commit to it. Distributed free software development This chapter concentrates on a typical successful free software project, with contributors from all over the world, and the problems that this involves. Thus, we discuss how to publish a branch for anyone to see (but not change); how to share changes (patches/bundles) between developers; how to co-ordinate the development of the whole project (at least from the version control point of view). Switching a project to Bazaar That's it. If you write it, please send me a note when it's published so that I can get a copy. Thanks.

Gunnar Wolf: Honest spammers

Wow...This time I'm truly amazed. A spam just hit my debian-devel mailbox. That's sadly not strange at all, I know. Only that I started reading it. It says:
Spammers don't seem to target us for their random alias generation
tools, or        maybe they haven't got to the letter 'o' yet. com
for subsequent posts, but that whole barn door thing comes to mind.
In so doing, values are overlooked often and mistakes are made. Maybe
Microsoft will let me        change my alias.
Maybe some of it would actually be useful to me. For whatever reason, my
Microsoft email address didn't ever get        spam.
Then it goes on talking nonsense splattered with all kinds of garbage talk, some news (or whatever) about stock options of a China Health thing, and goes on throwing nonsense blabber.
Sorry, I'm not linking to it (I'll probably later update this entry), it's still not available in the Web archive of debian-devel.">

23 November 2006

John Goerzen: hpodder to be multithreaded... done right.

I'll be hacking on my hpodder program this weekend. hpodder is a full-featured podcast aggregator that runs on the command line, and has many features over other command-line podcatchers like bashpodder, and even over GUI tools like iPodder.

I originally envisioned hpodder to be something that I'd cron up and run in the background. But I have tended to run it in the foreground more than in the background. Some others have too, and the #1 requested hpodder feature is parallel downloads.

So I am working on that. I already have code working, in fact, that will parallelize both the hpodder update (downloading the feeds) and the hpodder download (downloading the actual episodes) commands.

Unlike ipodder, my code will make sure that no more than 1 thread will ever be downloading from a given server at a given time. ipodder had the terribly annoying habit of pointing all of its threads at a single server, thus pounding it while also providing little benefit for someone with a pipe fatter than the server's.

Before all this multithreaded stuff could be written, I needed to write my own status bar code instead of just letting curl display its own status bar. (That wouldn't work when there are 5 curls running at once)

I decided that I would write some generic status bar code, rather than something specific to hpodder. I took the apt-get status bar as an example, and whipped one up in Haskell and added it to my MissingH Haskell library.

But a status bar just begged for another feature: a generalized progress tracker. Something that could keep track of where a task (and its sub-tasks) are, calculate ETA, estimated time remaining, speed, etc. So I wrote that and made the status bar use it.

AND, a status bar begged for a generalized numeric formatter: something that could render 512 as 512, 2048 as 2K, 1048576 as 1M, etc. So I wrote that, and it's general enough that it can render into both SI and "binary" units by default (and others that users may want).

Finally, I wrote a function to take a number of seconds and render it in something friendly like 23m5s like apt uses, and shoved that in MissingH as well.

So now hpodder will have a status bar, and any other Haskell program can use the same status bar code in minutes because it's all generic. Or if someone just needs to render a number in megabytes, they can do that.

I really enjoy it when a program needs a solution that is generic enough to put in a larger library. I try to put as much of my Haskell code in MissingH as I can, so as to make it useful to others (and my other programs).

22 November 2006

Steve McIntyre: BSP Marathon - Helsinki, 11 - 12 Nov 2006

Travelling again, this time to Helsinki. Droidy generously hosted us for the weekend in her apartment, and over the 2 days something like a dozen people showed up. It was nice to fly into Helsinki airport on Friday night to find that they were having some proper winter weather already, with snow on the ground. Much better than the miserable cold rain and drizzle we're having in Cambridge so far this year... *grin*. I also got to see why so many good rally drivers come from Finland - the taxi driver calmly drove me from the airport into the city on frozen roads, catching skids one-handed while he had a conversation on his mobile phone in the other. We worked through a series of bugs throughout the 2 days, and very late on Saturday night Droidy and Jukka helped me with some testing of the Etch d-i RC1 CD and DVD images so we could release them. Hanna/Kenny? As most of the people at the BSP were interested users rather than DDs, I was aiming to help other people get up to speed on reproducing and fixing bugs rather than just diving in myself - in the longer run, it's more useful. Nonetheless, I got a fair number of bugs polished off (#396361, #395858, #395857, #382843, #397620, #397693) along with my usual bit of debian-cd work. Of course, while I was in Finland there was no way I'd miss out on the sauna! On Saturday night we put the world to rights in the sauna and then over some beer. It was cool to meet up again with Lars and Jesus that night, and we discussed the details of Lars' tattoo. Lars also still has some cool ideas for Debian, which I'm sure he'll be publicising himself over the next few months. *grin*

Steve McIntyre: LinuxWorld Expo in London, 25-26 October 2006

We had a good, successful show again this year. The show itself seems to be continuing the trend of fewer visitors each year, but we're still seeing a good number of visitors at the Debian stand. Not many wanted to buy DVDs this year, another continuing trend. As Noodles found ("Use Debian! It's great!"), a large number of those visitors were already Debian users. The common questions were predictable: Phil, Neil and I also took the opportunity to wander round the hall to try and pick up some more sponsors for Debconf next year, and this was very useful. The stand Thanks to all the people that helped, either by turning up on the stand or by organising the .org area. After all these years, it's still fun to turn up and help people find out more about Debian. :-)

21 November 2006

Evan Prodromou: 29 Brumaire CCXV

Well, I finally got around to doing it -- I signed up for an i-name on 2idi. i-names are a universal identification format for the Internet -- kind of like OpenID, but a lot more centralized and a lot more authoritative. My i-name, for example, is =evan.prodromou -- a brief little string that doesn't really say that much. But you can make it an URI with an "xri:" prefix, and it can be resolved at http://xri.net/=evan.prodromou is the canonical link to my blog, and =evan.prodromou/(+work) is the canonical link to my work. I can change the forwarding when I change blogs (or work, or whatever). It's a neat system, and I guess it's pretty complimentary with OpenID. OpenID 2.0 will support i-names for login, although I'm not sure how well it works. I'm going to be upgrading Wikitravel to use the new OpenID libraries soon, so it'll be i-names capable... and I'll need a testing account, of course. tags:

ikiwiki supports OpenID Ikiwiki is a wiki/blog/CMS engine by the unstoppable hacker Joey Hess. He just announced that he's made an OpenID plugin for ikiwiki. I think that's pretty cool. tags:

19 November 2006

Jose Carlos Garcia Sogo: Cities with no traffic signals

According to this article, also referred on Slashdot, an European Union project has been developed aimed to check if streets free of any traffic signal or other rules are viable. Seven cities and regions are involved, no one of them in Spain. And I hope things to stay as now. Perhaps this can work in those civilized cultures in which people try to respect others rights. But I am 100% comfident that this won't work in Spain. If people does not respect signal even if they are there and can be fined for not following them, I don't want to imagine what will people make if there are no signals and no rules. The most used motto will be: "And who the ***** are you to tell me that I can not do this?". yay!

Jos Parrella: Elections in Venezuela

In two weeks (Dec 3rd) there will be presidential elections in Venezuela. This will be the third time where Hugo Chavez, the current President, will be participating in the elections. The first time, in 1998, he won by 62%, then dropped to 59% in 2000 and currently some polls are giving him between 50 and 60 percent of vote intention. Since 1998, we’ve got a very active electoral movement and controversial situations which have raised very diverse opinions about our electoral system. If I recall correctly, in 1998 people voted using optic forms. In that moment, spanish Indra was the company in charge for the machines and most of the technology used in the elections. That was the time where the Supreme Electoral Council depended on the Executive power, i.e., the President. In 1999, Chavez proposed to rewrite the Constitution, and the National Electoral Council became an independent power. This Constitution was approved in two referenda in 1999, where touchscreen machines were used. In 2000, after the new Constitution was approved, new presidential elections were made. The same touchscreen machines were used and we made a transition between Indra and a multinational holding named Smartmatic. In 2004, after two millions and a half of signatures were gathered to recall Chavez presidency, the revocatory referendum was made, using the Smartmatic machines. Almost six million people voted to maintain Chavez in power. Of course, after eight years of the same party in the power, as well as other problems (namely a national strike and a Coup d’Etat in 2002), several ideas arised regarding the legitimacy of the election process.
Today, the National Electoral Council released a flyer in the press, where they try to issue these topics. I must recognize that, being a newbie voter, I was unaware of several of the things they published today. For example, 8 of every 10 venezuelans over 18 are signed for voting in the elections. That’s one of the higher percentages of public awareness about elections in Latin America, higher than, for example, Colombia. That means 16 million people are able to vote, and we’re used to get around 60 percent of participation. We do vote with touchscreen machines, and the results are completely computerized. The military guards all the equipment, and provides security to the randomly elected civilian which work as temporary personnel. Members of every involved party are present in all the election centers, as well as national and international observers. After you’re checked to vote, you have to give your fingerprint in a special biometric device. This is transmitted live, were possible, avoiding two people voting in the same day. After you vote, your finger is marked with silver nitrate, which goes away after two days or so. Of course, you’re only allowed to vote if you don’t have the mark in your fingers. The touchscreen machines prints a paper which you put into the traditional box. After the voting has concluded, more than half of the boxes will be opened and checked against the information in the machine. The boxes subject to this check are randomly selected, as well. A brief thought about the software used in the machines. In 2004 or so, we (the Free Software Community in Venezuela) struggled and made pressure to the National Electoral Council to reveal the code and publish it wide open. This has been achieved until some point, since every interested person or organization is allowed to take a peek at the code. Dozens of organizations have already done so and are impressed by the features that are now present in the code. Before the first vote is registered, the machine prints a zero-vote confirmation, and then subsequently randomizes the order of the votes registered in memory. Only after all the election centers are closed, the machines start transmitting information. This year, three hours past the closing time we’ll have the results. The final and most important, from my point of view, argument held to support our election system is the random queue organization at the election centres. The registry is sorted by ID number, the votes are randomly stored in the memory and the biometric device is used in a per-arrival basis. Therefore, since nobody takes the same time to vote, the queues will be unarranged therefore making it quite difficult to determine a possible vote sequence. This has been certified lately by the European Union, the Organization of American States and other organizations. Whoever wins this election, I’m quite confident about our election system. I just hope that other institutions in our Country start using reliable systems (for example, the national ID office) in order to give at least the feeling of being in a rightful State.

Next.

Previous.