That’s it for the semester

I am just through with the corrections of the assignment I gave to my students : “do something with a GPS receiver”

All in all, it’s a success : most projects were good, and some very good. I have 2 (out of 30) perfect or near-perfect realizations. Congrats to all of them, they did a thorough and varied panel of applications. I just love when it’s that good :)


Voting machines

Today is THE day of the week for US citizens : Senate and House of Representatives reelections. I am no american citizen, but since I have quite a few friends who are, I tend to follow these stories closely.

How does that relate to computers? Well, for those who don’t know about it yet, as opposed to here, they have electronic voting machines.

I have been asked several times to do my duty as a french citizen, and count the ballots. Here, it looks like this : among the people who actually got to vote, they randomly ask if we would help. If you say yes, you have to be there at the closing of the voting center. Then, in front of you, the appointed man running the show compares the number of ballots with the number of signatures. If this number is correct, him and a few randomly chosen people validate the fact. The some other randomly chosen people make stacks of 100 ballots each.

Then, you are with 3 other people at a table, and a fair share of the stacks. For each stack, one person takes the ballot, one writes the result, and the two other validate. We are encouraged to change roles at each stack. If either one of us has a problem with a ballot, and wants to mark it down as null, we ask the appointed staff to give us some advice and guidance, because technically, you are supposed to leave out any ballot that has been marked in any fashion after the print. However, we, the people, have to be fair and discuss it among ourselves. And we note the result only when the 4 of us agree.
In the end (it takes roughly 1h or 1h and half to count), the staff recounts the number of ballots and checks that the same number appears in our stats. We all validate everything and sign. And we go back home, elated, and happy to have made sure that when you vote, it means something.

It may seem pretty archaic compared to a shiny computer that does that 1 000 000 times faster than a bunch of people. Besides, the computer leaves no room to interpretation : a ballot is valid, or it’s not.

It’s true that if the system is well conceived, a computer cannot be coerced, influenced, or misled. The ultimate referee. At worse, it can be shut down, and that’s it.

But as soon as you start writing programs and working with computers, you see that a perfect computer, like every other perfect thing, doesn’t exist. There are bugs. There are hardware failures, power outages. There are greasy finger that will ruin the touchscreen, kids with corkscrews who “just want to know what that would do”. There are so many things in fact that could be wrong that it’s a small miracle that computers work as well as they are on a day-to-day basis.

Rule #1 of computers : computers are as good as they have been built. Alone and without power, all they do is rust and rot.

So, even though our system is archaic, in the end, we are pretty sure of the results. There are ways to fraud, but they take place outside of this counting method. Usually, the Bad Guys find a way to vote several times, so it just goes past the verification process. With a human controlling, it might go “tick” if 27 John Smith came to vote 10 minutes apart… A computer won’t notice, since the votes are valid, somehow.

When I was in the US back in 2000, I followed the recount saga from within. Then, in 2004, I took a close look at the results. And I was outraged when I saw an “expert” on TV explaining that counting error were solved thanks to the electronic voting machines. He said that since less than 1% of the votes were badly accounted for, it was a much safer way to do democracy.

1%! Out of 300 000 000 people, that makes 3 millions of faulty votes! Do you remember how close the 2000 vote was? Certainly less than that. So, “democracy” is better served if we have several millions as an error margin. Gosh I wish my banker played the same tune! An unthinkable thing in our old-fashioned system…

Anyway… a friend of mine came with a huge grin on his face and said “the USA are the first mathematically exact democracy”. He started explaining how some people managed to reduce the error margin to 0%. No paper ballot. Your vote leaves no trace. I will most certainly be correctly included in the final count (within 99% margin). If your vote is not counted, or is counted for a guy you didn’t vote for, then how can you prove it? No proof? No error then.

But that won’t happen, the optimists say. There will be control people. And since the voting machine is a closed box, with secret innards, no one will be able to temper with them. However, a safe is only as secure as its key… I’ll let you read Bruce Scheier’s piece on the topic, he is a much better security expert than I am. As for the control people : Quis custodiet ipsos custodes?

Here, to validate a vote in a small voting center, there has to be at least 20 people, most of them selected at random, that will vouch for the results. Guess we watch each other… If we are all crooked, then it doesn’t matter that the result is crooked, because it’s a small drop in the whole. If enough of the results nationwide are crooked, then it means that there are more crooks in the country that the prisons can handle.

[UPDATE (11/13)]

Electronic voting machines might not be perfect in theory, but it’s hard to convince people that theory becomes reality quite often…

From ABC News

Randy Wooten figured he’d get at least one vote in his bid for mayor of this town of 80 people even if it was just his own.

He didn’t.

For the record, 36 votes and one error, that’s 3% error margin ;)


We are not gods

In the past few weeks, I have been helping out some friends and customers, and the comments they made were akin to “but you are a genius!”. While it is flattering and everything, I must say that (unfortunately?) it is not true.

In my view, there are three different aspects in computers:

The hardware

Knowing anything about the innards of a computer is just like knowing the innards of a car. Yes, it does require a good memory, and some experience, but there is absolutely nothing exceptional about it. Almost no one congratulates a mechanic, although he certainly deserves is much more than we do. After all, a computer crash isn’t likely to cause any fatalities, at least not the home/work computer…

If you open your computer, what you will find is just a bunch of cards, big and small, connected to each other. Each card has a specific role, but in theory, a computer can work without everything but the main one : the motherboard. When you have a hardware problem, its just a matter of guessing which one of the removable parts is faulty. Nothing esoteric here : we just remove everything we suspect until the computer works again.

The Operating System / Applications

This is more complex, as there is no visible part. It’s purely virtual. Supposing your hardware works correctly, a software problem lies in one of the various layers of the execution stack. Let’s clarify :

  • the hardware is powered up
  • the kernel (smallest possible set of instructions making a computer “usable”) starts, and inspects the hardware
  • the OS is booted, helped in that by the kernel
  • the applications run on top of the OS

So you see, just like with the hardware, the key thing is to identify at which point of this chain things go awry. Here too, the “repair” work is mechanical in essence : the pieces are virtual, but they all connect in a very specific way for a very specific role. Identifying and replacing the faulty one is the key. Nothing magic in there either.


Here, we change scope a bit. We don’t repair, we create. We are still based on a computer, though, so it helps to know the software well enough, as well as some tidbits about the hardware.

However, we operate in a very tight universe : the OS. The second constraint is the language. Basically, once we know the language and the boundaries of its effectiveness, we create a “formula” that answers to a specific problem.

Without going into too many details, developing is practicing a language in a specific context. Not so different than learning a foreign language and learning the specific customs of the country then. There too, no genius.


We are no aliens. We don’t have special powers. It doesn’t take more than any other technical skills to get. While it’s true that sometimes I feel like a computer has a personality rather than life, it usually takes after its owner. Mine is grumpy, but sturdy ;)

Just like doctors or mechanics, we have an area of expertise that doesn’t come without dedication. Just like them, the ultimate goal of our jobs are to put ourselves out of employment. Even though it means we would have to go in the mountains raising goats or suchlike, we strive by making the end-user capable of living without our help.

Another conclusion (because it’s what gets me itchy)

By the way, if you are yourself a non-technical person, and have a problem with your computer, and you know a “computer guy”, make sure his area of expertise includes your problem. Most of the people I went to computer class with wouldn’t know a thing about your printer. And most of the hardware-repair people won’t know the difference between IPv4 and IPv6, even if they both bit their backsides… Just like doctors and mechanics, each and everyone of us has a specialty, a specific area we like to work on. Don’t trust people who say they know everything about every hardware and every OS and every application and every language.

I’m sure you wouldn’t go to a proctologist to fix your eyeballs…


Book Review : Thud!

ISBN : 0-060-81522-1
Author : Terry Pratchett
Title : Thud!

Pitch : Sir Samuel Vimes, Commander of the Watch, His Grace the Duke of Ankh, is a very worried man indeed. The Watch is busier than ever, and it seems like the Battle Of Koom Valley Day will see dwarves and trolls reenact that famous double-sided ambush. To complicate matters a bit more, a dwarf seems to have been murdered by a troll. The Watch officiers will have to set aside their differences to dig into history and customs, or to see Ankh-Morpork burned to the ground.

Every book from Terry Pratchett that takes place in the Discworld is like Christmas coming early (or late, or … well it’s like Christmas, OK?). His wits and humor always turn a somewhat “standard” plot (a king accessing to the throne, a murder in a city, some psychology education, …) into a deep and hilarious journey. I don’t think I have ever skipped a single line in any of his books yet, they all contain something that will either advance the plot a little bit further, or make a cunningly accurate remark on human behavior, or twist everything upside down, inside out and sideways, too.

In the Discworld series, there are several different “styles” : the heroic-fantasy, with Rincewind or the mages as central figures, the theatre/classics, with Esme Weatherwax and the other witches, the detective stories, with Sam Vimes and the Watch, the children books, with Tiffany Aching and the Wee Free Men,… Each one follows the rules of it’s “parent” category, and twists them to accept the Discworld oddities, such as races, magic, etc…

I have a thing for the Sam Vimes series, as it is usually considered very dark compared to the others : Sam Vimes is not incompetent like Rincewind, not encrusted in old rules like Esme Weatherwax, and not naive like Tiffany Achings. He is a somewhat regular copper, and has to follow through mysteries that usually involve a plot to destroy the world as he knows it. While he is generally out of his depths after a few pages, he compensates by being driven by sheer anger at everything, including his hard-earned situation.

In this installment, he has to dive into one of the most carefully hidden secrets by dwarves and trolls : the reason behind the hatred between the two races. Through this metaphor, Terry Pratchett shows that history is not always what it seems, and that two clans may think they have a good reason to hate each other, but in the end it’s always self-fueled. We fight because we’ve always fought. Sounds Shakespearian to you?

It seems that the darker the story, the brighter the humor and flashes of wit. I though Night Watch was the best book written in the Sam Vimes series, I guess I’ll have to update that… “Thud!” shows characters out of balance, forced by the outside events to change and adapt, and a Samuel Vimes definitely on the road to Enlightenment… however bloody that may be.


Book Review : The Black Sun

ISBN : 0-00-719017-4
Author : James Twining
Title : The Back Sun

Pitch : A pair of retired art thieves are dragged into a sordid affair from the Past. They will try to uncover a lost fragment of history from the end of WWII, and will fight their way through old-fashioned Nazis, Neo Nazis, spies and crooks. Enigmas, clues, and devious characters protect something big…

In the same kind as the Da Vinci Code, this book takes a few characters who are drowned in a series of events too big for them, generally hopping from dire to unmanageable situations. The events take place in a “realist” framework, something not quite true, but believable.

It is by all accounts a good thriller, something that gets you surprised or misled pretty often. But that’s exactly what bothered me in the Code : they are in an impossible situation, but lo! they are (with) the only person on the face of the Earth that can do something about it ; or better, thousands of people have tried fruitlessly to solve the puzzle, or to understand the clue, but hey! it you take a look at it with a shiny-technology-that-wasn’t-invented-at-the-time-but-still-works-great, you can find the answer.

Therefore, the question is not “who did it?”, “how will they escape?”, or “what is that thing anyway?”, it is “what will happen to them next?”. The framework being well documented or known, the artistic licence is by essence limited. “What if there was a secret order of SS capped by Himmler?” might or might not interest the reader, but what such a mysterious group could be responsible for has to be unobtrusive, or else it would be common knowledge, and therefore useless.

While I like a good thriller as much as the next guy, the vein of books trying to get as much borderline unbelievable material as possible within the confine of the “real world” is not my favorite. It’s almost as if there was a challenge : “how far can we push the secret underworld before they stop believing?”. Well, books are fiction. You can have pink rhinos flying, as long as it doesn’t contradict the book’s background, that’s fine with me. But, until I see a pink rhino hovering by my window, appreciating the book doesn’t mean I believe its contents to be true. I think the story should be consistent within itself, and good by itself. Going for the border between book and reality doesn’t necessarily beat having an unrealistic flying dragon.


Back from Mac Expo

And so I’m back from the Isle Across the Channel! It turned out to be quite an interesting trip, however “roots” it was looking to be.

Just like for Apple Expo, I am part of the technical support for a small area, making myself useful whenever possible. I can’t say it is always easy, but it’s a rewarding job in terms of contacts and general appreciation.

I’ll skip the embarrassing trip from Paris to London in a lorry full of useful stuff, manned by me and Pierre-Henri, a skilled communication and events guy, but as worthless as me with directions, and with understanding the cryptic signs in the Shuttle compound.I’ll also skip the frightening drive downtown London but let’s just say that the British will not soon forget our car plates…For the die-hard mac fans of the Continent, Mac Expo represents a threat to our beloved Apple Expo, the Mass for the company around here. For years we have heard that this exhibition will eventually replace our event. This inside peek over the sea makes me doubt this hypothesis, for several reasons.

First of all, this is a very very small exhibition. It’s roughly the quarter in size, and not capped by Apple. Whereas the iPod and Macintosh company holds the reins in France, and imposes its law and methodology, in England the show is run by smaller and above all local companies, mostly press, from what I heard.

Second, the show is rather expensive. Life in London costs a lot more than in France, and the average tourist can’t really spend a week there without denting the budget big time. Here, we get the entrance ticket for free if we register early (yes I know this might not be the case forever, but as of this year, it’s still the case), there it’s a 12£ fee.

But what gives me the impression that the show is more like a local event than a corporate show is that everywhere you look, it’s community based. The show management is, in the first sense of the term, a family, and the show has this unique “we are like you” quality that, while it makes you feel welcomed, may prevent a really huge expansion in the foreseable future.

The fauna, therefore, is not the same at all. Most of the visitors I had a chance to talk to when I was allowed out of the black corners were here to get expert help, or to buy. They were not looking for a range of accessories more or less extravagant, or to see some mind-blowing-but-not-affordable demos, they were here to learn new things about their way to use a Mac, and to buy software or accessories that they need. And I say Macintosh. The iPods were here of course, but not overly present. That may account for the relatively small size of the show, in part.

Of course, since my job was finished, I stayed only the first day, but I had a very different feeling from the Paris show.

All in all, it was as I said earlier interesting in many respects. I even had enough time to take a few pictures.