Sergeant Calhoun

Wreck-It Ralph

Wreck it Ralph's face in 8bit art.

Another movie I saw in the plane was Wreck-It Ralph, I did not have particular expectation, as Alias was moderately positive about it and it was unclear to me where this movie stands in the Disney / Pixar situation. Still animation movies are a good match for my fried brain at the end of the flight.

The movie takes place within a gaming arcade, characters from one cabinet visit others while there are no humans playing the games. Wreck-It Ralph is the bad guy of the Fix-it Felix game, which is now 30 years old, and getting tired of his bad-guy role. Tired of his bad guy role, he manages to snatch a medal in another game, a first person shooter choke full of alien bugs, but ends up stranded with in a candy themed racing game, unleashing some serious troubles for the three involved games.

A blond woman in black armour and gun

There are two aspects to the movie, the bad guy trying to be good story, and a look at graphical culture of video games. The first is clearly aimed at a younger audience, while the latter is probably targeted more at people like myself. I found the plot pretty good, while the happy ending was predictable, I found myself surprised by the direction it took, maybe because I was tired.

I liked the way the world of video-games was depicted, a lot of references to existing games without them becoming too over-bearing, and a story set in three very different environment: an 8-bit platform game, Fix-it-Felix Jr (the Junior is typical of that time), a japanese style 16-bit racing game (including the japanese music), Sugar Rush, and a US style 32-bit first person shooter, Hero’s duty. Characters from the various look like their games, and move like they do in their games, Fix-it-Felix temps to hop around while, while Sergeant Calhoun actually walks and jumps. I also like the fact that while the main character is male, there are two strong female characters in the story and the player is a girl.

So while this movie is certainly no Toy Story, it was still a pleasant watch that brought back good memories of 8-bit games.

Flattr this!

Various Characters, one of them playing the piano

Cloud Atlas

Various Characters, one of them playing the piano

One of the few things you can do in a long-haul flight is to watch movies, among them, Cloud Atlas by the Wachowski siblings. I had only seen a trailer sometime last year and was generally to busy to hear about the various critiques of the movie, the explanation in the in-flight entertainment system was more confusing that anything else, so I was just curious.

Cloud Atlas is a set of stories in different times and place: a lawyer sailing back home in the 19th century, a young gay composer trying to make his way in the early 20th in England, century, a journalist in the US 60’s, a retired editor’s misadventures in the present day, a clone’s interrogation in some science fiction Korea and an epic quest in some post-apocalyptic earth. The various stories are connected first because of some birthmark that is common among all characters and some references from one story to the other.

A colleague found the story confusing, but I suppose that having read way to much cyberpunk novels, multi-threaded narration is not really a problem for me. I really like the idea of the movie, movies which are too new-agy tend to irritate, but here this was kept at a reasonable level, I also like the fact that the tone was not to moralising. I found the visuals gorgeous, and liked the acting, which also meant that the fact the same actors were present in the various story-strands was not too obvious.

My main problem with the movie is that it is slow, way to slow. Watching a movie that is nearly three hours long is OK when you are in a long flight, but still, there were a lot of places that could have been cut in a tighter fashion, in particular in the post-apocalyptic and the science-fiction story. I don’t think that those days, people really need twice as much exposition just because the setting is science-fiction. This slow pace also undermined the connection between the stories, I feel that shorter chunks, a better multiplexing, would have helped glue the various pieces together better.

In conclusion a good film that could have been much better had it been cut tighter. A must see for fantasy-lovers, but probably not a recommendation for people who don’t have the patience of looking at a three hour long movie.

Flattr this!

Cover of the book “The Electronic Link to Retail also Known as EDI (Electronic Data Interchange)” by Alan Castro

The Electronic Link to Retail Also Known as EDI

Cover of the book “The Electronic Link to Retail also Known as EDI (Electronic Data Interchange)” by Alan Castro

Lately, I have been trying to get some basic understanding of the Electronic Data Interchange (EDI) protocol, so I started reading the book The Electronic Link to Retail Also Known as EDI (Electronic Data Interchange) by Alan Castro, a short (52 pages) book on the subject.

The Electronic Link to Retail also Known as EDI
(Electronic Data Interchange)


AuthorHouse
ISBN : 978-1-420875973

This must be the worst written technical book I have ever put my eyes on. There is no structure, no plan, no insight, just some badly written english intermixed with some poorly formatted, non-documented examples. Is the author a human that should forever banned of touching a keyboard, or a really bad markov-chain algorithm? I would tend to think the first, because algorithms tend to produce better english.

The section about the author is a pretty good example of the style of english present in most of the book.

My name is Alan Castro. I became a computer consultant for the past twenty years. In the 1980’s, I was part of the process of developing the Electronic Data Interchange, also known as EDI. I had put the first company in use with EDI. As the years went on I have developed EDI to flow thru the software packages so there would be no manual entry.

I have also developed an EDI package that can run on its own. This is when the data is transmitted in your system, the data is also ready to be transmitted as an invoice or an advanced ship notice.

In short, this is a really worthless book, that will not help anybody understand EDI.

Flattr this!

Une place encombrée de véhicules et d'étals

Premières impressions d’Inde

Une place encombrée de véhicules et d'étals

l’Inde est un de ces pays qu’il est difficile d’éviter lorsque l’on travaille dans l’informatique. Je suis donc allé pour le travail en Inde, une semaine à Hyderabad et un week-end à Jaipur. Naturellement c’est un laps de temps bien trop court pour comprendre un sous-continent, mais c’est au moins un contact concret.

Première impression : on dirait le sud, mais décuplé. J’ai retrouvé beaucoup de ce que j’associe avec le sud de l’Europe : une végétation colorée, une organisation chaotique et beaucoup de gens qui vaquent dans le décor. Il y a simplement plus de tout, de couleurs, de chaos, et de gens, avec dans les interstices des constructions modernes, beaucoup de saleté et misère.

Dans la plupart des villes où j’ai été pour le travail, Paris, Tōkyō, Pittsburgh, je pouvais aller de l’hôtel au bureau à pied, à Mountain View il me fallait soit une voiture de location ou un vélo. À Hyderabad, seulement 2.6 km séparaient mon hôtel du bureau, il était inconcevable que je fasse le trajet à pied. Non pas à cause de la chaleur, que j’ai trouvé très supportable, Hyderabad est loin de la mer, et l’air était plutôt sec, mais simplement à cause du chaos routier et des poches de misère qui parsemaient la route. Contrairement à Jaipur, je n’ai pas vu de vaches sur la route à Hyderabad, mais cela reste un tourbillon de piétons et de véhicules variés qui font du grand n’importe quoi.

Paranoïa justifiée ou non, mon employeur m’interdisait de me déplacer à pied, où même avec des taxis locaux, offrant en lieu et place un système de limousines. Chaque hôtel, chaque monument est équipé d’un détecteur de métal, mais le rôle exact de l’appareil semble être avant tout de servir de fétiche, la sonnerie est systématiquement ignorée, soit parce qu’on est toujours fouillé, soit parce qu’on ne l’est jamais. Je me suis demandé si le rôle de ces machines n’était pas simplement d’assoir l’autorité des gardiens des différents lieux, leur arbitraire pouvant ainsi être justifié par la technologie.

Ce qui est sûr c’est que l’autorité est une des notions les plus mystérieuse du pays, tout le monde fait n’importe quoi, mais en même temps une foule de gardiens, sous-chefs, militaires, guides se pressent pour essayer de faire valoir leur autorité, largement imaginaire.

Flattr this!

Bit maléfique et licornes invisibles

une licorne rose invisible

J’ai une solution très simple pour résoudre tous les problèmes du monde, une idée si brillante que je devrais certainement la patenter : il suffit d’obliger les méchants à annoncer leur intentions néfastes. Après tout, ça fonctionne dans Harry Potter, le chapeau magique met tous les méchants dans la maison appropriée, et on sait d’entrée qui sont les bons et les mauvais, ça simplifie.

Dans la monde de l’informatique, c’est pour cela qu’on a inventé le bit maléfique (evil bit) qui permet de marquer sur internet les paquets avec des intentions criminelles. Naturellement, cette approche ne fonctionne absolument pas, vu que les participants mal intentionnés doivent s’identifier eux même et collaborer au système. Le gros avantage du bit maléfique, c’est qu’il permet de découvrir non pas les méchants, mais les idiots : ils pensent que le bit maléfique est une solution.

Il faudrait formaliser un terme similaire dans le monde légal, avoir une lex malefica à laquelle se référer chaque fois que quelqu’un suggère de résoudre un problème grâce à la présence d’un indicateur extérieur simple, ou de compter sur la culpabilité des gens pour les juger. Après tous, il suffit de mettre un badge aux méchants, et tous les problèmes seront réglés.

Parler de sentiments comme base pour une loi, c’est pour moi aussi absurde et contre-productif que d’invoquer la lex malefica : les sentiments sont par définition quelque chose de secret, il est déjà difficile de réellement comprendre ses propres sentiments, les analyser depuis l’extérieur une tâche ardue, les utiliser comme fondation pour un acte légal revient à construire dans un marais.

Pourtant c’est ce à quoi s’entêtent la majorité de ceux qui s’excitent sur le mariage. L’expression preuve d’amour est un oxymoron utilisé principalement pour vendre des bijoux ou des chocolats. Je ne veux pas dire que les gens qui se marient ne s’aiment pas, simplement qu’il est impossible de confirmer ou d’infirmer si c’est le cas, autant exiger que les futurs époux possèdent une . Peut-être que Mario n’était pas réellement intéressé par la princesse, mais juste accro aux champignons, qui sait…

Cela dit, je réalise que l’idée de se concentrer sur ce qu’on peut observer et sur ce qu’on peut agir, au lieu d’agiter dans tous les sens des grand mots vides et des noms d’artistes ou de philosophes et une approche un peu ennuyeuse, elle limite sérieusement les possibilités de pouvoir troller efficacement.

Image: Pink Invisible Unicorn – Creative Commons Attribution 2.5 Generic.

Flattr this!

À propos du mariage

👬

Il est beaucoup question de mariages, ces temps-ci. Plusieurs blog que je lis régulièrement on des billets intéressants, notamment le . Je trouve intéressant que, par la force des choses, les religions monothéistes se retrouvent à défendre une position commune, en fin de comptes elles ne sont pas très différentes.

Le mariage est un de ces vieux machins institutionnels sur lequel on bricole depuis des lustres, et qui mélange allègrement tous les aspects légaux ou pratiques de la société: nationalité, autorité, taxation, héritage, reproduction. Même si c’est probablement difficile pour des raisons techniques, je serais, comme nolife pour que l’état cesse purement et simplement de faire des mariages, et offre quelque chose de plus censé. On pourra alors rendre le mot mariage, aux religieux qui pourront en faire un rituel avec jolies robes, cloches et sacrifice de kangourou.

Je ne vois pas trop pour moi l’intérêt de discuter des arguments des gens contre le mariage pour tous, qui sont à peu près aussi cohérents que ceux des créationnistes ou de ceux qui pensent que le pari de Pascal est ce qui se fait de mieux en matière de logique. Étendre le mariage a toute combinaison de deux adultes me semble simplement une évolution juste et logique, au même titre que le droit des votes pour les femmes.

La seule objection que j’aurais, c’est pourquoi deux personnes ? Si le mariage est obligatoirement hétérosexuel, et qu’on assume qu’il n’y a que deux sexes possibles, un mariage ne peut se faire qu’à deux. C’est naturellement une simplification très grossière que l’on ignore et oppresse ce qui dépasse : transsexuels, hermaphrodites et autres personnes qui n’entrent pas dans le schéma. Une fois que l’on accepte que la réalité est un peu plus compliquée, le dualisme hété/homosexuel n’est plus très utile, comment nomme-t-on l’union entre un(e) hermaphrodite et un(e) transsexuelle ?

Le constante 2 apparaît dès lors comme arbitraire, et mon âme de scientifique n’aime pas les constantes arbitraires. Est-ce que je veux qu’on légalise la polygynie tant associée à certaines religions? De fait, la construction serait assez différente : on ne parle pas d’un homme épousant deux femmes, mais de trois personnes s’épousant les unes les autres, dans ce cas précis, les deux femmes seraient aussi mariées l’une avec l’autre. Si certaines religions y trouvent leur compte, tant mieux, le but des lois n’est pas de faire chier tel ou tel groupe, mais d’être juste et équitable. Cela dit, un tel mariage à trois implique fatalement un élément homosexuel.

Est-ce que je pense que ce problème est important ? Non. Le nombre 2 me semble arbitraire, mais bien moins que de restreindre le mariage à certains couples. La raison pour laquelle je me pose principalement la question c’est que je me demande si, dans une vingtaine d’années, une fois le mariage pour tous accepté et assimilé, ça ne sera pas la question, suivante, et qu’il faudra une fois de plus bricoler un peu plus la notion de mariage.

Flattr this!

Le retour des codes barres de la Coop

Ticket de caisse de la Coop 
Vielen Dank für Ihren Einkauf 
990006007940903130003960
09:03:13 13:52 00794 00361704 006 0001910

Les rayons à la pesée ne sont pas le seule endroit où la Coop émet ses propres codes barres, il y en a aussi un sur le ticket de caisse, si on le regarde de plus près, on peut remarquer les choses suivantes :

  • Il est plus long que le code sur les produits
  • Il commence toujours pas le nombre 99

Code-barre 990006007940903130003960Le nombre est représenté grâce au système Interleaved 2 of 5, c’est un encodage différent de celui utilisé pour les codes barre sur les articles (EAN/GTIN). Le nombre représenté par le code suit le format GS1-128, mais n’utilise pas l’encodage GS-128, tout est simple. GS1-128 permet d’utiliser des codes barres pour des applications plus complexes que la simple identification de produits, il permet aussi de joindre les codes ensembles, un code barre peut ainsi contenir le numéro EAN, la date d’expiration, le numéro de lot, etc. Chaque code commence par une sorte d’indicatif, qui explique quel genre de code (quelle application en terme GS1) suit.

En l’occurence le code commence par la séquence 99, qui en parler GS1 signifie, je fais ce que je veux m’enfin !, chaque utilisateur est libre de mettre les données qu’il veut dans un code commençant par 99, naturellement de tels codes ne fonctionnent qu’auprès d’une seule entité, ici un ticket de la Coop ne sera compris que par la Coop.

990006007940903130003960

De manière fort classique, le code est découpé en sections de longueur fixe, cette fois-ci il n’y a pas de nombre de vérification à la fin, ce qui est probablement raisonnable, ces codes ne seront probablement jamais recopiés à la main. Les 4 chiffres suivants indiquent le numéro de caisse. Je comprends assez bien qu’on veuille garder cette information pour régler les questions de service-client, mais avec 4 chiffres, ils ont vu large. Les cinq chiffres suivants semblent former le numéro de transaction, vu les faibles valeur que je vois sur mes tickets, ce nombre est probablement relatif à la caisse et au jour.

Les 6 chiffres suivants sont faciles à interpréter : il s’agit de la date au format DDMMYY, i.e. deux chiffres pour le jour dans le mois, deux chiffres pour le mois, et deux chiffres pour l’année. On regrettera le fait que la date n’est pas au format ISO 8601, mais bon. Enfin les sept chiffres suivants sont le montant de la transaction en centimes, on appréciera le fait qu’il est donc impossible de faire des emplettes pour plus de CHF 99999.95 à la Coop.

Si ce qui se trouve dans le code barre est intéressant, j’ai surtout trouvé intéressant ce qui ne s’y trouve pas : le numéro de succursale. Il se trouve sur le ticket, sous le code barre, en dernière position. On peut se convaincre que la succursale de Wollishofen est la numéro 1910, en regardant les urls utilisée sur le site web de la Coop : la page d’information avec le paramètre betrnr 1910 affiche la succursale de Wollishofen, et avec le code 2194 celle de la Cour de Sainte Anne. Il serait donc techniquement possible que deux tickets émis dans des magasins différents aient le même code, même si c’est très improbable. Il est aussi possible que le numéro de transaction soit émis de manière à empêcher une telle ambiguité.

Flattr this!

Air en Eau

💧

Un thème récurrent dans les jeux de rôle médiéval-fantastiques est la magie. Créer un système de jeu qui gère quelque chose qui est, par définition, surnaturel, tient un peu de la gageure. Le résultat est très variable, certains systèmes sont précis, mais souvent un peu mécaniques, d’autres plus narratifs, mais souvent flous. Mon principal reproche est que la magie est souvent immatérielle, les effets du sort documentés ont lieu, mais les conséquences physiques sont ignorées. C’est dommage parce que ces conséquences sont le principal moteur d’équilibre dans le jeu.

Prenons un exemple concret, le sort de Rêve de Dragon air en eau. L’effet est simple : tout l’air dans une sphère donnée se change en eau, et ce pendant plusieurs heures. Cela semble être un bon moyen de détremper des adversaire, de les désorienter. Le sort est un peu plus puissant que cela. Les règles de la première édition donne comme exemple une zone de 3 mètres de diamètre, instantanément, ce sont 14 m³ d’eau qui apparaissent (et non pas 20 comme dit dans les règles), ce qui correspond à une masse de 14 tonnes. L’air va entrer dans la zone par le haut de la sphère et tomber par le bas.

Combien d’eau va apparaître ? Considérons une goute d’eau qui vient d’apparaître en haut de la zone. Après une seconde, elle aura atteint une vitesse de 9.81 m/s et parcouru 4.9 mètres. La zone de transformation effective et un disque de 1.5 mètres de rayon, ce qui nous donne une surface de 7.1 m² et un volume total de 34.65 m³ par seconde, ce qui correspond, en masse à sept éléphants par seconde. Comme point de référence, l’Arve a un débit de 74 m³/s.

Supposons à présent que le sort ait été lancé dans une grande crypte : 20 mètres de large pour 10 mètres de long. Cela nous donne une surface de 200 m². En imaginant que les murs sont raisonnablement étanches, l’eau va monter de 17 cm par seconde. En une minute, l’eau serait montée de 10 mètres, mais elle ne montera pas plus haut que la zone de transmutation, une fois entièrement submergée, celle-ci cesse de faire effet. En imaginant qu’elle ait été lancée à 3 mètres du sol, l’eau montera très rapidement jusqu’à six mètres de hauteur et ensuite cessera d’apparaître.

Évidemment la question suivante est de savoir si les parois de la crypte peuvent raisonnablement supporter la pression de 1200 tonnes d’eau. Mettons qu’un passage muré s’écroule et que l’eau se vide, la zone de transmutation se remettra immédiatement en activité.

Il est clair que faire ces estimations à chaud durant une partie n’est pas toujours trivial, lorsque ça m’est arrivé le week-end passé, j’avais largement sous-estimé le volume d’eau qui apparaîtrait par seconde, mais tant qu’on a une estimation à un ordre de magnitude près, ça vaut la peine de réfléchir quelques secondes aux effets des sorts…

Flattr this!

Teaching Algorithms

💻

I have always been a little wary of calls for computer science or programming to be taught at school. Most of them felt like basic corporatism, trying to get people started in a given trade early, similar calls have been made by lawyers, and music teachers managed to get music teaching into the constitution in Switzerland. I had some computer science course when I was in Collège, the Geneva equivalent of high-school, and they were pretty random in quality in scope, nobody knew exactly what computer science was exactly, and what such a course should teach, coding? using a word-processor?

Later, just after I finished my computer degree, I did some hours standing in for a sick teacher in Cycle d’Orientation, the school before high-school in Geneva. The course was officially computer science, and I felt very proud of teaching with my brand new degree. Problem was, what was given was in fact a recycled typewriter course, one part was something I cannot do even today – touch type with 10 fingers – and the other one is something I abhor – using a word processor like a typewriter, using the courier font and doing the line breaks by hand. This was twenty years ago.

Teaching maths properly is already something hard, and math, at least at pre-university levels, is a pretty much stable and agreed-upon subject. Designing a proper high-school computer science course is far from trivial, in particular when considering the course should be stable long enough to be able to train the teachers, evaluate them, integrate the course into the general teaching framework. While computer hardware is cheaper and cheaper, whatever is used for the course will need to be adapted very often, this means a reasonable supporting staff. Finding proper teachers is also not going to be trivial, there is a strong demand for people with technical degrees, so there is a high risk you end up with computer science teacher that only have a superficial understanding of the subject.

In short, there are many things that can go very wrong and few people that would be able to judge the quality of the course: not the parents, not the other teachers, certainly not the politicians. Getting a hot new technology into schools has always been a good way for contractors and consultants to get juicy contracts.

So why did I change my mind? Algorithms. More precisely, the level to which programs affect our daily lives. Inventing stupid t-shirts, doing , simulating new planes, or even driving cars, things in the real world are increasingly done by computers. A baby born nowadays will interact with algorithms way more often that with, say animal farms. Currently they are taught basic facts about animals, but nothing about the algorithms. They are told stories about the bad wolf in the woods, but nothing about the nasty program that lurks behind the the firewall.

I don’t think that kids should be taught computer science and programming as a trade, but as a way to understand one increasingly important part of our society, algorithms.

Flattr this!

Rapporter le cirque chez les dieux

सत्

Avant de voir Hiver Nomade, on a eu droit à quelques bandes annonces pour des petits films dont je n’avais jamais entendu parler, dont Sâdhu qui raconte, en Inde, le pèlerinage d’un ermite dans une grande ville. Une phrase qui m’a frappé dans cette bande annonce, c’est la phrase « What I see here is a big circus », qui s’applique pour moi assez bien aux différentes religions. Toutes semble vouloir à un point où un autre contrôler les passions et le cirque qui s’ensuit, à la recherche d’une pureté ou d’une autre, mais toutes se font en fin de compte absorber par le cirque.

Si je suis assez sceptique par rapport à la singularité, j’ai par contre bon espoir que les ordinateurs nous permettent une chose : transférer tout ce cirque dans le monde virtuel. La raison, à mon sens, pour laquelle l’humanité n’a jamais réussi à se libérer de ce cirque, c’est qu’il fait partie intégrante de la condition humaine. S’il semble difficile de s’en débarrasser, il me semble facile de le transférer dans le monde virtuel : tout y est plus grand, plus beau et tout y est possible. Certains objecteront, à raison, que ce monde est complètement imaginaire, fictif, une simple illusions, mais cela ne me semble pas être un problème, ce sont exactement les caractéristiques des rituels religieux.

Et imaginez comme le monde serait calme si toute cette agitation pouvaient disparaître simplement en éteignant son écran, son téléphone ou ses lunettes…

Flattr this!