Drapeau Espéranto

Nouveaux Langages

Drapeau de l'Espéranto

J’avais largement oublié l’, jusqu’à ce que les évènements européens m’y fassent penser, la blague officielle européenne de ploum m’encourageant a écrire un billet dans cette langue.

En relisant les textes, notamment sur la grammaire de l’europanto (how to cause international English to implode), j’ai été frappé par la pertinence des reflections sur le rôle du language et la relation entre l’ et l’Anglais international, qui évolue indépendamment de l’anglais natif parlé dans les îles anglaises ou au États-Unis. Coïncidence curieuse, l’Esperanto figure aussi dans les coulisses des origines de l’aïkidō, sujet sur lequel je lis ces temps-ci.

En programmation, un langage qui a implosé, c’est C. Au boulot on utilise C++11, qui a importé de nombreuses constructions venues d’autres langages : boucles simplifiées, lambdas, inférence de type, fonctions pures. Personnellement, je trouve ce nouveau langage très agréable à l’utilisation, dans les faits, la relation avec le C originel est assez ténue : il reste la structure de bloc, les boucles et le contrôle de flots, les opérateurs de base et c’est à peu près tout. Naturellement, C++11 est un effroyable bazar, avec une myriade de concepts et de constructions.

La domination du langage C est similaire à celle de l’anglais : son succès est largement lié à la domination d’Unix, et le fait qu’il est assez facile d’apprendre à programmer mal en C, personne ne prétend réellement le maîtriser. Les failles de sécurité qui font régulièrement les nouvelles en sont le symptôme le plus apparent.

Depuis 40 ans, différentes personnes ont proposé des cathédrales pour remplacer C, des langages plus clairs, mieux structurés, moins prompts aux problèmes de sécurité, bref des Espéranti informatiques. Java est parvenu un temps à menacer C, mais le comportement d’Oracle et les problèmes de sécurité et de performance font que le langage a perdu de son attrait.

Le langage est une autre tentative, qui semble aussi chercher à se rapprocher du C originel, avec certains archaïsmes, comme l’utilisation généralisée de tableaux – une sorte de romantisme qui me rappelle l’existence de l’accusatif en Espéranto.

Flattr this!

Flag of Europe

Offiziale Joke von Yuropske.

Flag von Yuropske

Nel blog von Ploum esse one lustigamusant storia von offiziale joke von Yuropske. Poiché nicht everytutti habla Sprache Inglese. Ich sam facit la traduzion nel Europanto.

Yuropske Paradiz

You siete invited nel Lunch offiziella. You siete velkommen von Inglese. Das cucina ist preparar von franskmann und amusamente sit von homine von Italia. Organization esse facit nel homine von germania.

Yuropske Infernale

You siete invited nel Lunch offiziella. You siete velkommen von Franskmann. Das cucina ist preparar von Inglese und amusamente sit von homine von Germania. Organization esse facit nel homine von Italia.

Questo esse meine Début von Europanto scribered, terribilissimo ist possibile. Nicht fare hara-kiri! Scirbete nel Kommentär. Vielen grazias.

Flattr this!

Machinimasound Epic

Machinimasound

Machinimasound Epic

As I work in an open-space area, I typically listen to music with noise cancelling earphone when I need to concentrate for coding. Soundtracks and electronic are types of sound that work best for me. I recently discovered the web-site which offers Creative Common licensed music, and found that the tracks labelled Epic are really nice to listen when coding, I suppose I need to feel epic about that. So if you are looking for some background music, for instance when building an animation, or simply to listen to, it is a web-site worth checking out.

Machinimasound Logo – Creative Commons Attribution 4.0

Flattr this!

Bluetooth Lightbulb

Bluetooth Lightbulb

Bluetooth Lightbulb

A lot has been said about the internet of things, but I have not yet seen the point of spending money to connect elements of my household to the net. My flat has central heating and the climate around here is temperate, so no need to control the heating remotely, light switches work fine for me.

Yet I’m curious about the concept, so when I discovered a bluetooth lightbulb on the website of a Chinese reseller, I did not resist and bought it: I have no speakers in my dining room, and no wish to have more things and wires, yet a speaker to listen to music or podcasts would be nice. Bluetooth also solves a recurring issue of connected household devices: proprietary protocols. Bluetooth audio is a mature technology that works pretty well – this is why it must be replaced by newer protocols.

Address CC-C5-0A-65-1F-05
Major Type Loudspeaker
Minor Type Audio
Services
Paired Yes
Configured Yes
Connected Yes
Manufacturer Cambridge Silicon Radio (0x6, 0x21C8)
Class of Device 0x04 0x05 0x240414
RSSI -72
Role Master
EDR Supported Yes
eSCO Supported Yes
SSP Supported Yes

As could be expected the product I received is completely generic: no brand, no markings, nothing. In fact you could confuse it with any regular LED lightbulb. The lightbulb announces itself under the name BB Speaker and worked immediately, the light bulb basically pairs with the first devices that recognises it. You can un-pair it by turning the light off. It beeps when it pairs and un-pairs, exactly like more usual bluetooth speakers. Digging in a bit yielded the profile in the table on the side.

The sound quality is pretty average, better than the speaker of a phone, acceptable to listen to a podcast or some background music. The fact that the sound comes from the lightbulb has the advantage of having the loudspeaker in the center of the room, as opposed to the walls which is the usual position for speakers. In fact this lightbulb would be pretty good for public announcement system, except for the communication protocol.

I find it interesting that trivial applications work pretty well nowadays, but more interesting for of interactions are simply not available because of lack of standards to support them. It would not be rocket science to define Bluetooth profiles for light-bulbs and similar devices, but I doubt there will be a drive in that direction, so we will have a few more years before before the internet of things uses a sane protocol.

Flattr this!

Steam locomotive modernised by Dampflokomotiv- und Maschinenfabrik DLM of Winterthur,

Modern Steam

Steam locomotive modernised by Dampflokomotiv- und Maschinenfabrik DLM of Winterthur

While looking around for references for my dieselpunk roleplaying idea, I ended-up reading a bit about steam locomotives. While steam-engines are considered low-tech enough to be part of the romantic landscape of steampunk, they are quite complicated systems, they got constantly improved between the first prototype built by Richard Trevithick in 1804, and the demise of that technology, 150 years later.

Steam locomotive were supplanted by either electric or diesel-electric engines, with lower maintenance costs, and in the case of diesel-electric locomotives, better energy efficiency. Diesel locomotives typically have a 35% thermal efficiency, that is for each unit of energy it consumes, about a third translates into actual work (pulling trains). Steam locomotives typically had a thermal efficiency of 7%, although late prototypes reached 12%. Steam engines have the added drawback that they need water besides fuel. Unsurprisingly, steam technology appeared in a region where both water and coal were abundant.

Are steam locomotive really a thing of the past? Maybe not. There have been numerous technological advances in the last seventy years that would benefit a steam engine: better mechanical part, stronger and lighter materials, including improved insulation, computer based controls; so it seems conceivable to build locomotives with a thermal efficiency of 20%.

While this is still below the efficiency of a diesel locomotive, or even a car with a combustion engine (25%), steam locomotives have the advantage that they can run on a variety of fuels: coal, which is currently cheaper per energy unit than diesel, but also wood pellets, or even oil. It is also possible to build fireless steam locomotives that can run off some local source of steam, say the heat exhaust of a factory.

One interesting experiment is locomotive DLM 52 8055, a Kriegslok, i.e. a wartime locomotive built in occupied France, that ended up in Eastern Germany. In 1999 it was refitted in a modern way by Dampflokomotiv & Maschinenfabrik (DLM) in Winterthur, a spin off of the old Schweizerische Lokomotiv- & Maschinenfabrik (SLM). I could not get numbers about the efficiency of the new locomotive, but the conversion nearly doubled the locomotive’s power from 1176KW to 2205KW and its maximum speed was raised from 70 km/h to 100 km/h.

Currently the focus seems to be on repairing and upgrading the stock on exotic train lines (narrow gauge, cogwheels) only time will tell if the technology will do a more general come-back…

Modern Steam Dampflokomotive DLM 52 8055 © Walter Pöder – Creative Commons Attribution 3.0 Unported

Flattr this!

Shihōnage en position han-tachi – nage: Bak László, uke: Czéh Sándor

Portant et Ura…

Shihōnage en position han-tachi – nage: Bak László, uke: Czéh Sándor

Lorsqu’on pratique plusieurs activité, il est naturel de trouver les similarités. À un niveau très abstrait, la voile et l’aïkidō découlent de la même idée : utiliser une force extérieure à soi, dans un cas le vent pour se déplacer sur l’eau, dans le second l’énergie de l’adversaire pour se défendre.

Dans les deux cas, les angles jouent un rôle primordial : le but est de rediriger l’énergie, et dans les deux cas, une direction est bloquée : il est impossible de naviguer directement contre le vent, il faut louvoyer ; attaquer de manière frontale l’adversaire n’est plus de l’aïkidō.

Assez naturellement, les allures d’un voilier se divisent en deux catégorie selon que l’on navigue contre ou avec le vent : le près et le portant. En aïkidō, on distingue les techniques où l’on va contre le mouvement de l’adversaire – omoté – et les techniques où l’on suit ce sens – ura.

Shihōnage Technique © Magyar Balázs – Creative Common CC BY-SA 3.0.

Flattr this!

Falsehoods programmers believe about online shopping…

2_CHF

Selling stuff is a pretty old human activity, and merchants had found ways to distinguish themselves from their competition way before Archimedes had shouted Heúrēka. Trade is a complicated business, and online shopping has not made that simpler, quite the contrary. So when programmers build system to support online shopping they tend to stumble on their own erroneous, assumptions.

This post is similar to the one I made about geographic assumptions, but about online shopping, again this list is not exhaustive, and some of the falsehoods are disputable.

A product has a price
Products sold on auction site do not yet have a price. The moment the price is known is actually the moment the item will not be on sale anymore.

Except for auctioned items, products have one price
Products do not have one price, they have many prices: with or without taxes, then there is the sale price, the regular price, the list price, the manufacturer approved price, the mandatory publisher price.
Products have one final total price
The total price paid typically depends on a lot of variables: time of the transaction, location of the buyer, shipping methods, memberships, sometimes even the profiling of the buyer.
A product has a strictly positive price
Many phones are sold for “free”, there is typically a subscription behind it. Some online shops also add samplers and documentation as free items to their inventory.
A price is a number
Without a currency, a price is meaningless on the internet.
A price is a floating pointer number and a currency
Using floating points for price is incorrect: no currency is defined for transaction below two decimal points, 3.1415 is a valid floating point number value, but USD 3.1415 is not a valid price for a transaction. Some currencies like the Japanese yen don’t accept any decimal position at all (the fraction of the yen, the sen, was removed from circulation in 1953). More generally floating point representation has rounding and approximation behaviour which are bad for monetary values which need to be exact.
Currencies need to be rounded to some decimal position
The Swiss franc needs to be rounded to five centimes.
Currencies symbols uniquely identify a currency.
The peso and dollar sign $ is used my many countries: USA, Cananda, Australia, Brunei, Namibia. The ¥ sign is used both the Japanese Yen and the Chinese Yuan.
Currencies have a unicode symbol
The Swiss franc does not, and until 2010, neither did the India rupee.
Currencies have zero or one unicode symbol
The dollar and peso symbol appears three times in unicode: 0x24 ($), 0xFF04 ($), 0xFE69 (﹩)
Currencies have zero or one unicode symbol after normalisation
The Japanese yen can be represented by the following symbols: ¥, 円, 圓.
Currencies can be described by a single three letter code
The ISO 4216 code for the Russian ruble is RUB, the three letter code руб is widely used, so is CA$ for the Canadian dollar.
Each stock keeping unit translates to a product
Some bulky items have to be kept in the warehouse as two or more boxes, hence two stock keeping units, but can only sold together as one product.
Each product has an picture
Many generic, or bulky items are sold online without pictures: pocket books in Japan, but also packs of screws etc.
You can put all products in database
Increasingly products can be customised, a shop that sells T-shirts with custom text as an infinite number of products, which won’t fit in a database. Even if you consider some good whose dimensions can be customised, the combinatorial growth of possibilities will quickly go beyond the capacity of a database.
There is a common keying system for products
GTINs are the closest thing, but many smaller manufacturer do not participate in the system, some items have multiple keys. The system also does not support custom goods.
There is a common system for annotating web-pages with products
There are multiple micro-data and micro-format variants.
In stock means the item is in the warehouse
Many online sellers do not have any actual warehouse, they ship directly from their suppliers (Drop shipping)

Flattr this!

Machine Volante – Léonard de Vinci

Imprimantes 3D & marxisme

Machine Volante – Léonard de Vinci

Je suis toujours un peu ennuyé lorsque les gens s’extasient sur les dessins de machines volantes de Leonard de Vinci ; les dessins sont magnifiques, et l’ingénierie sous-jacente très intéressante, mais les gens tendent à se fixer sur l’idée.

Hors l’idée est bien plus vieille (Icare) et il a fallu plusieurs siècle d’ingénierie pour arriver à une machine qui vole effectivement. Si on n’a pas réglé les détails d’implémentation, une idée, aussi brillante soit-elle, est aux mieux inutile, au pire dangereuse : la cire est un adhésif pitoyable. Il aura fallu quelque siècles et pas mal d’ingénierie pour que le vol soit devenu banal.

Une belle idée qui a échoué dans les grandes largeurs, c’est la distribution des moyens de production du marxisme ; les grand bonds en avant, quand l’implémentation ne suit pas, c’est un bon moyen de tomber de haut. Évidemment, on a blâmé l’idée, et le sujet ne semble plus survenir souvent en politique…

L’ironie c’est que cette idée est implémentée par des gens qu’on n’associe pas exactement avec le marxisme : les hackers. D’abord par le biais de l’informatique personnelle, qui donné des ordinateurs aux gens, et non plus seulement aux institutions. À présent c’est au tour de la fabrication, avec les différentes machines de production personnelle : imprimantes 3D, coupeuse laser, machines CNC, etc. Toutes ces machines permettent à des individus de produire des biens de relativement haute qualité de manière décentralisée.

Ces machines sont aujourd’hui au même niveau de développement que l’étaient les ordinateurs personnels dans les années 80, le domaine d’enthousiastes qui les utilisent dans des clubs (hackerspace), on peut s’attendre à ce que ces technologies soit dans quelques années aussi disruptives pour la société que l’est aujourd’hui l’informatique, il faut d’abord régler de nombreux détails d’implémentation, rendre les machines moins couteuses, plus fiables et plus faciles à utiliser, bref ce qui sépare l’Apple I de l’iPhone.

La grande ironie, c’est que les politiques de gauche ne soutiennent pas massivement ces technologies, quoique, la politique a toujours été le domaine des idées, pas de l’implémentation.

Flattr this!

Schneider GL 90 – 325_007

Service après-vente

Schneider GL 90 – 325_007

En cette époque de gestion par flux tendu et d’outsourcing, avoir un service après-vente médiocre est devenu la norme. Pourtant on a parfois de bonne surprises. Il y a dans ma salle de bain une armoire tout ce qu’il y a de plus classique : miroirs sur les portes, étagères en verre, illumination néon et une prise électrique pour connecter un rasoir ou une brosse à dent électrique.

Cette armoire n’est pas nouvelle, elle était dans l’appartement lorsque je l’ai pris, il y a sept ans, et je doute qu’elle ait été neuve à l’époque. Récemment, un des supports plastiques pour les étagères en verre s’est brisé. Rien de tragique, mais j’ai été incapable de réparer la pièce, qui s’était brisée au niveau d’un des picots qui s’insère dans les parois, même en le recollant, la pression était suffisante pour rompre la pièce à nouveau.

L’armoire est le modèle GL-90 de la marque Schneider, je leur ait écrit un e-mail leur demandant où je pourrais me procurer une pièce de remplacement, il m’ont envoyé une paire gracieusement, ce que j’ai beaucoup apprécié.

Flattr this!

Lego Movie Poster – Hemmet running away from an explosion

Lego Movie

Lego Movie Poster – Hemmet running away from an explosion

I went to see the Lego movie, the reviews were good, and as a geek I always had some fondness for Lego bricks. This was my second 3D movie, and of course I forgot to take the glasses I had, so now I have more of them cluttering my flat.

The plot is pretty standard: completely non-interesting main character has to save the universe and in the process discovers his inner qualities, but the movie manages to treat it interestingly, giving some depth to the various secondary characters and making fun of many franchises in the process (Batman in particular) and a light take on the theme of creative chaos versus order, which, if you think about it is nature of Lego bricks as opposed to other toys.

I really appreciated the fact that the movie understands Lego both as a toy and as an historic phenomenon, the tension between the assembly according to the instruction and free-form creation, the structure and style of bricks depending on the years. Unsurprisingly I found myself rooting for the 80s spaceman with his broken helmet (they really always broke) and the faded logo. My only regret was that there did not seem any traces of pre-80’s bricks. I somehow would have like seing pre-technics gears; oh well…

The 3D felt more natural that in the Thor movie, as everything changes and moves in all directions and the soundtrack was catchy. All in all it was an entertaining movie that I recommend if you want to have a fun moment.

Flattr this!