Happy new year and happy returns

🎉

あげましておめでとう!

Une bonne et joyeuse nouvelle année !

Happy new year and happy returns!

Guten Rutsch und ein frohes neues Jahr!

2013 was a pretty busy year, which brought forth a lot of changes, many of them positive. I have many things to write here, I hope to be able to catch up soon.

Flattr this!

Emballage

Emballage Recyclé

Une habitude que j’ai hérité de ma mère, je pense, est celle des emballages cadeaux recyclés. Cela veut dire soit ré-utiliser des emballages cadeaux à nouveau, mais plus souvent de simplement garder des emballages de produits qui ont un joli aspect pour emballer des cadeaux. Les paquets de douceurs japonaises s’y prêtent particulièrement bien, mais les grand sacs de riz on parfois de très beau designs.

Les graphistes qui créent les emballages ne considèrent probablement pas que leur travail peut avoir un impact écologique : c’est le rôle du designer qui a conçu l’emballage physique, et du consommateur qui va, on l’espère, recycler celui-ci. Le graphiste se contente de faire la communication ; pourtant, si l’emballage n’est pas assez beau pour qu’on ait envie de le réutiliser, il pollue…

Flattr this!

Ingénierie de Véga

Une des plaies de la programmation ce sont les frameworks, qui se distinguent des simples librairies par leur volonté d’être génériques, ce qui se solde généralement par des intrusions dans le modèle objet du langage, le système d’allocation ou celui de thread. J’ai toujours eu de la peine à comprendre comment ces framework sont conçus, jusqu’à ce que je réalise qu’en fait ils ont été construits par les forces de Véga. On peut apprécier leur ingénierie dans les engins de la série Goldorak, que ce soit le robot lui même ou les Golgoths qu’il affronte. Les piliers de cette approche sont les suivants :

Interface
Le cockpit rempli de boutons, ces boutons ne portent aucun signe distinctif et de toute manière ne servent à rien : toutes les opérations importantes sont contrôlées par une dizaine de boutons et deux leviers. Un système de Véga se doit d’avoir beaucoup d’options qui ne servent à rien.
Polymorphisme
Le même système de contrôle est utilisé pour un robot géant et une soucoupe volante, et cela même si cela requiert une énorme quantité de logique d’adaptation. Un système de Véga est polymorphique, même si cela n’a aucun sens et que cela complique tout le système.
Versatilité
Goldorak a toute une panoplie d’armes, mais seul le combo astéro-hache + fulguro-poing fonctionne. Les autres armes sont juste présentes pour démontrer que c’est une plateforme versatile. Un système de Véga comporte des sous-systèmes qui ne fonctionnent pas et ne servent à rien, sinon à démonter que le système est versatile.
Modularité
L’écosystème inclut différents engins : Alcorak, Vénusiak, Fossoirak, mais ceux-ci sont premièrement conçus pour s’adapter à Goldorak. Goldorak ne peut utiliser qu’un seul de ces modules à la fois. Un système de Véga est modulaire, mais seulement si on utilise le système principal. Le système principal est un singleton.
Communication
Aucune opération de Goldorak, ni aucune arme ne peut être activées sans qu’elles ne soit nommées. Tout système de Véga doit communiquer clairement l’activation de ses sous-systèmes, de préférence avec des messages intrusifs et abscons.
Isolation
Tout dommage infligé à Goldorak est immédiatement répercuté sur Actarus. Un sous-système de Véga ne doit pas isoler un composant des défaillances que subit un autre, cela nuit à la tension dramatique.

Flattr this!

Primary keys…

One UPC, one EAN and one ISBN-10

The idea of primary key is older than computer science itself: libraries have had indexes for ages, and defining a canonical numbering system for referencing things is pretty natural, this is why we have the alphabetical order, or musical notes can be referenced by position in the alphabetical order. Of course this idea works better when there is a single system used, or at least once system was without ambiguity the primary one.

One such key system was ISBN, which assigned a unique, 10 character code to each book. In parallel the UPC system assigned a 12 digit code to things you could buy in a grocery store, this system was US-only, but got extended to work worldwide by making it longer (13 digits). The extended system was called EAN in Europe, JAN in Japan, even though it is the same system.

In parallel, work was done to unify the EAN and ISBN system, and thus was born ISBN-13, which maps all ISBN codes into the EAN space, making it a single, unified system. This means a single barcode system that works both in book shops and grocery stores. This made it easier to sell books in supermarkets and sweets in book-shops.

While this worked out in Europe, it did not in the US, which is still stuck with the 12 digit UPC code. Officially the US should have migrated, but like with other foreign technologies, inertia won, this means foreign products need to be re-labelled when sold in the US and also that books, even when they use ISBN-13 barcodes, cannot be handled by regular barcode scanning systems (the scanner themselves are probably OK, the rest of the system is the problem).

So you end up with the weirdness presented in the image: a book with three identifiers: an ISBN-10 (0-8048-1905-X), an ISBN-13 (978-0-8048-1905-3) and an UPC (6-76251-81905-2). There are also three barcodes, one for the UPC, one for the ISBN-13, and one for the price. As you can convert a UPC into an EAN just by adding a zero in front, this book has two EAN codes: 0-676251-819052 and 9-780804-819053.

The interesting thing is that the number of the book is the same in all three systems: 1905. All systems use the same logic: a prefix is assigned to given entity (company or publisher) who assigns numbers with that prefix, the code of the item and a check symbol. The conversion from ISBN-10 to ISBN-13 is just done by changing the prefix (typically adding 978) and recomputing the check digit.

Here The ISBN block 0-8048 is allocated to Charles E. Tuttle Company, and the UPC prefix 676251 is also assigned to Tuttle Publishing. So the publisher is exporting the same book code (1905) into three systems for the sake of compatibility…

Flattr this!

Programme politique…

📻

Alias a écrit sur son blog un billet intéressant intitulé Demain : écrire un programme politique, où il propose l’exercice d’écrire le programme du parti politique idéal. Je me suis naturellement demandé ce que j’écrirais. Ma première réaction m’a fait penser à l’album Les héros de l’équinoxe : lorsque Valérian finit par triompher des épreuves et doit proposer sa vision pour le futur de la planète, il n’a que des vision nébuleuse, et finit par dire que les gens feront ce qu’ils veulent, l’important étant qu’ils soient heureux.

On ne peut pas dire que c’est un programme politique très avancé, mais en même temps c’est pour moi la base, la politique n’est qu’un instrument pour arriver à une société florissante où les gens sont heureux. Or c’est une des première choses que les partis et les politiques de tout bord semblent oublier, le fait qu’ils ne sont qu’un moyen : une ligne politique n’est qu’un principe directeur pour prendre les meilleures décisions pour la société.

La société est abominablement complexe, littéralement interconnectée avec le reste de la planète, et prendre les bonnes décisions est difficile, or les partis tendent à nier cette complexité vu que cela nuirait à la pureté de leurs idéaux, ils sont aussi embourbés dans les intérêts particuliers de leur meilleurs clients, leur base de vote traditionnelle, qu’ils doivent satisfaire même si cela faisant ils agissent en contre-sens de leur position officielles.

Pour en revenir à mon parti politique idéal, j’en aimerais un qui agisse à l’encontre de mon principal problème en politique : les lois. Je ne suis pas un anarchiste, je pense que les lois sont un mal nécessaire et je ne pense pas être non plus ce qu’on appelle aux États-Unis un libertarien, dans le sens que je n’ai rien contre l’état social. Par contre, je suis contre la complexité.

Il est impossible de refondre tout le système chaque fois que l’on remarque un problème, mais la tendance inverse, de vouloir tout régler par des règles particulières est particulièrement néfaste, chaque loi particulière, chaque nouvelle exception, chaque amendement spécifique rend la mécanique politique plus complexe, distancie le citoyen de l’état, et offre des opportunités de bricolages légaux qui ne profitent qu’aux margoulins, aux avocats chargés de démêler l’écheveau légal, et aux fonctionnaires chargés d’appliquer les règles. Aucun de ces trois groupes ne produit quoi que soit d’utile à la société.

Pour chaque loi, j’aimerais bien que l’on pose les questions suivants :

  • Est-ce que cette loi peut fonctionner, est-elle applicable pour de vrai ?
  • Est-ce que les parties affectées peuvent échapper à la loi facilement ?
  • Est-ce que l’on pourrait simplifier cette loi avec d’autres ?

Je pense que ces questions devraient être posées dans tous les cas, on les pose souvent lorsque les lois s’appliquent aux entreprises, moins quand elles s’appliquent aux particulier, notamment en matière de propriété intellectuelle.

J’aimerais donc un parti qui fasse de la realpolitik tout en cherchant à simplifier les lois, c’est pour cela que je trouve les idées autours du revenu universel intéressantes, elles pourraient permettre de rendre la société meilleure, tout en simplifiant énormément toutes les structures d’aide sociale.

Tout ce dont j’ai parlé reste relativement général, on est loin d’un programme politique, mais pour moi ça serait une base de départ pour un parti qui me convainc.

Flattr this!

Aikidō for Life

Aikido for Life – Gaku Homma

There is a nice second hand bookstore in Mountain View called , I alway go there when I’m in town, even if it is only for the smell of old books. One book I bought there is Aikidō for Life by 本間 学 (Homma Gaku), a direct student of Ueshiba and Iwama Ushideshi who moved to the US and opened his own dōjō. While the book is basically an overview of his beginner program, I found the observations and the insights around it interesting.

Aikidō for Life

North Atlantic Books
ISBN : 9781556430787

Clearly Homma is an outsider, 日本館 (Nippon-Kan), his dōjō, is un-affiliated and he seems un-impressed by most of the talk about ki or any mystical force, his book concentrates on the pragmatic aspects of running a beginner’s class. There is a quite a bit of work separating aikidō from other, more competitive and/or agressive martial arts, but also quite a lot of interesting insights in how the students behave, how they sit on the mat, how partners are chosen. In that sense, the book is refreshing because it describes what really happens in a dōjō, certains persons preferring cute girls as partners, people being tired, confused, or simply out of sync with their partners.

These explanations are interleaved with a few actual techniques, and some illustrations that help give a idea of what the author is trying to convey. I liked the fact that Homma insists early on that there is not so much right and wrong techniques, but more a sense of consistency between the techniques and that each technique must be adapted for the practitioner (tori) and the receiver (uke). There are also some insightful explanations on the relationship between tori and uke.

With 110 pages, this is a quite a short book and certainly a worthy reading. A scan of the book is available on the web-site of his dōjō.

Flattr this!