Tuesday 25 March 2014

Welcome Brendan!

I could not be happier to see Brendan Eich become the new CEO of Mozilla :-)

Brendan has a vision, a unique vision that made Mozilla what it is today, and he is a great leader, respected all over the world, all over our geek's world. Reliable, hyper-smart, friendly and knowing perfectly - of course - the organization he co-founded.

But there is one thing I would like to come back to, because I read something too disruptive to me on planet.mozilla.org: yes, Brendan donated to the anti-marriage equality Prop. 8 campaign in California. I don't like, I don't like at all seeing that pop up again in public space because that's pointing an index at someone for his/her beliefs, that's something that should not happen in a community like ours. When Brendan was under attack, two years ago, I sent him my support. Not a support to his opinion, but a support to his freedom of opinion and freedom of expression of that opinion through all legal means. Including a donation.

Seen from Europe with a European point of view, I do not understand how one can complain about it. Mozilla promotes openness and freedom of choice, that's its Manifesto, that's our core values, why most of us contribute to Mozilla. I want that openness and freedom of choice to be a deep, anchored value of the whole Mozilla community. With that in mind, I entirely respect Brendan's personal choice, that was exposed only because of the Californian law and was attached to the name of Mozilla only because that law makes it mandatory to mention the affiliation of the donator above a given level of donation IIRC. I trust - we all trust - Brendan to be able to deal with the whole community - employees or contributors - equally, whatever their own beliefs or personal choices. I met Brendan 14 years ago and have never seen him behave in a different way.

The Mozilla community at large represents quite well the diversity of thoughts on the globe. We have people who love fire weapons; I don't like it but that's legal in their countries. We have people supporting death penalty; I hate it but that's legal in their countries. We have people from all political sides, including extremes; I don't understand it but I accept it. We have people based in countries one could easily qualify as antidemocratic and who support their regime; yes, diversity is a marker of the human kind. And we have people who have diverging opinions about major societal issues, within the limits of the law, absolutely. We even have true nerds, barely social, who can't understand what's a private and family life. So what? Again, seen from Europe and with a European point of view, not a problem at all.

Pointing an index at someone of our community for his/her beliefs can only have one side-effect: people will stop expressing their opinions because they will be afraid of the kickback, people will be blamed in public for legal behaviours and that's totally unacceptable to me as a European. That's not the world I want to live in, that's not my concept of democracy and freedom of opinion/speech. That's not the Mozilla I want. Brendan, I value your opinion, and that does not say anything about my agreement or disagreement with your opinion itself.

We, as a community, cannot promote openness and freedom of choice without a deep respect for individual beliefs. A reminder of Brendan's personal choices years ago is unfair and violates too much for me the core values of the Mozilla community. I am writing this article because I want it to be the very last time we read about it in public space. FWIW, and given the long chats we had about it in Europe two years ago, I think the above is a quite widely shared opinion in the European Mozilla community.

Welcome Brendan, and long life to Moz.

Update: following a private message, I want to say that, yes, I carefully read the message that triggered my response above. My take is that even in a positive message about Brendan, reminding the Prop8 story is putting, again, an index at him. And I feel it is just totally wrong because his opinion is not less respectable than others.

Update again: I did not intend to let the comments open here, my bad. What I feared did happen: hate messages. Closing comments then. My blog, my prerogative, and the French law makes me accountable for all comments on this blog. Period. Sorry for the people who left polite messages, agreeing or disagreeing; I hope you understand.

Thursday 20 March 2014

Samsung Web Tech Talk on JavaScript trends

SRA-SV LogoSamsung Research America will host a meetup about JavaScript trends in its San Jose R&D center on the 7th of april. This is a free event and anyone can attend.

Date: 07-apr-2014
Time: 5pm - 8pm
Location: 95 Plumeria Drive, San Jose, CA


  • 4:30pm - 5:00pm Welcome
  • 5:00pm - 5:30pm "Web Technologies on Mobile - Opportunities and Challenges", Andreas Gal, VP Mobile at Mozilla
  • 5:35pm - 6:00pm "Supersonic JavaScript", Ariya Hidayat, Shape Security
  • 6:20pm - 6:45pm "JavaScript in the Small", Satish Chandra, Samsung
  • 6:45pm - 8:00pm Open Discussion
  • 8:00pm - 9:00pm Networking

Feel free to attend using the link at the top of this article!

Wednesday 19 March 2014

A better CSS OM for parsed values

A large part of the current CSS Object Model sucks. More specifically, the CSSValue, CSSPrimitiveValue, CSSValueList, RGBColor, Rect and Counter interfaces are so poorly designed they're not implemented. I just tried to implement them for a project of mine and I must say the model is so weak and incoherent it cannot be implemented as is.

I have then tried to refine what's in the 2000-nov-13 spec of DOM Level 2 Style to reach something workable. I am NOT saying this has to be done or implemented. Call it a mental exercise I did just for fun, w/o caring about performance.

Let's first look at what's wrong:

Interface CSSValue

      interface CSSValue {
        // UnitTypes
        const unsigned short      CSS_INHERIT                    = 0;
        const unsigned short      CSS_PRIMITIVE_VALUE            = 1;
        const unsigned short      CSS_VALUE_LIST                 = 2;
        const unsigned short      CSS_CUSTOM                     = 3;
                 attribute DOMString        cssText;
                                              // raises(DOMException) on setting
        readonly attribute unsigned short   cssValueType;

"inherit" is here considered as a special identifier despite of the fact a CSSPrimitiveValue can be a CSS_IDENT. There is no UnitType for "initial". A CSS_CUSTOM is, according to the spec, a "custom value"; but a custom value still has to be valid per CSS syntax so it should be representable with CSS_VALUE_LISTs and CSS_VALUEs.

Interface CSSValueList

interface CSSValueList : CSSValue {
  readonly attribute unsigned long    length;
  CSSValue           item(in unsigned long index);

All in all, this one is simple and should be quite ok. But one thing is missing: a property can accept a comma-separated list of whitespace-separated values. The current CSSValueList cannot express if the serialization of a CSSValueList should be whitespace- or comma-separated.

Interface CSSPrimitiveValue

interface CSSPrimitiveValue : CSSValue {

  // UnitTypes
  const unsigned short      CSS_UNKNOWN                    = 0;
  const unsigned short      CSS_NUMBER                     = 1;
  const unsigned short      CSS_PERCENTAGE                 = 2;
  const unsigned short      CSS_EMS                        = 3;
  const unsigned short      CSS_EXS                        = 4;
  const unsigned short      CSS_PX                         = 5;
  const unsigned short      CSS_CM                         = 6;
  const unsigned short      CSS_MM                         = 7;
  const unsigned short      CSS_IN                         = 8;
  const unsigned short      CSS_PT                         = 9;
  const unsigned short      CSS_PC                         = 10;
  const unsigned short      CSS_DEG                        = 11;
  const unsigned short      CSS_RAD                        = 12;
  const unsigned short      CSS_GRAD                       = 13;
  const unsigned short      CSS_MS                         = 14;
  const unsigned short      CSS_S                          = 15;
  const unsigned short      CSS_HZ                         = 16;
  const unsigned short      CSS_KHZ                        = 17;
  const unsigned short      CSS_DIMENSION                  = 18;
  const unsigned short      CSS_STRING                     = 19;
  const unsigned short      CSS_URI                        = 20;
  const unsigned short      CSS_IDENT                      = 21;
  const unsigned short      CSS_ATTR                       = 22;
  const unsigned short      CSS_COUNTER                    = 23;
  const unsigned short      CSS_RECT                       = 24;
  const unsigned short      CSS_RGBCOLOR                   = 25;

  readonly attribute unsigned short   primitiveType;
  void               setFloatValue(in unsigned short unitType, 
                                   in float floatValue)
  float              getFloatValue(in unsigned short unitType)
  void               setStringValue(in unsigned short stringType, 
                                    in DOMString stringValue)
  DOMString          getStringValue()
  Counter            getCounterValue()
  Rect               getRectValue()
  RGBColor           getRGBColorValue()

This is so completely crazy I don't know where to start...

  • CSS_UNKNOWN is supposed to represent a "value that is not a recognized CSS2 value". Then it should be thrown away by the parser as invalid and never reach the OM, right?
  • the list of units is long and not easily extensible
  • attr(), counter(), counters(), rect() and the more recent gradients or var() calls are all functions; adding a new setter and a new getter for each new type is overkill
  • attr() was extended by recent specs and can now take more than one argument. The above does not allow to individually modify those arguments.
  • "initial" and "inherit" are, as I already said above, covered by both CSSValue and CSS_IDENT here
  • let's suppose we have a CSSValue that is a CSSPrimitiveValue. Setting its cssText to "10px 10px" will then trigger an exception since a CSSPrimitiveValue cannot transmute magically into a CSSValueList...
  • I love how the spec prose says setStringValue() has "No Parameters"...

Interface Rect

interface Rect {
  readonly attribute CSSPrimitiveValue  top;
  readonly attribute CSSPrimitiveValue  right;
  readonly attribute CSSPrimitiveValue  bottom;
  readonly attribute CSSPrimitiveValue  left;

This looks and smells like a CSSValueList far too much.

Interface RGBColor

interface RGBColor {
  readonly attribute CSSPrimitiveValue  red;
  readonly attribute CSSPrimitiveValue  green;
  readonly attribute CSSPrimitiveValue  blue;

This cannot represent rgba(), hsl() and hsla() colors. We also have to use three CSSPrimitiveValue for the three color components because they can be a percentage or an integer...

Interface Counter

interface Counter {
  readonly attribute DOMString        identifier;
  readonly attribute DOMString        listStyle;
  readonly attribute DOMString        separator;

Again, something is missing here: nothing says if it's supposed to be a counter() or a counters() value. And no, the separator could not do the trick since it can be the empty string.


To have a better OM for Values, i.e. an extensible OM that allows an application to deal with parsed values of all kinds, we need to change of perspective. First, the list of reserved idents, the list of units and the list of functions are not extensible. Secondly, we have cast issues between PrimitiveValues and ValueLists and we need a single interface. We can deal with all the issues with a single CSSValue interface:

New interface CSSValue

interface CSSValue {

  // ValueTypes
  const unsigned short      CSS_SYMBOL                     = 0;
  const unsigned short      CSS_NUMBER                     = 1;
  const unsigned short      CSS_UNIT                       = 2;
  const unsigned short      CSS_STRING                     = 3;
  const unsigned short      CSS_URI                        = 4;
  const unsigned short      CSS_IDENT                      = 5;
const unsigned short CSS_VALUE_LIST = 6; readonly attribute unsigned short type; attribute boolean commaSeparated;
readonly attribute unsigned long length;
CSSValue item(in unsigned long index);

void setFloatValue(in float floatValue) raises(DOMException); float getFloatValue() raises(DOMException);
void setStringValue(in DOMString stringValue) raises(DOMException); DOMString getStringValue() raises(DOMException); };

Definition group ValueTypes

An integer indicating the type of the Value

The value is a single character than cannot be interpreted otherwise. For instance the / character in the font shorthand property. The value can be obtained by the getStringValue() and set by the setStringValue() method.
The value is a simple number. The value can be obtained by using the getFloatValue() method and set through by setFloatValue() method.
The value is a number followed by a unit. The number part of the value can be obtained by using the getFloatValue() method and set through by setFloatValue() method. The unit part of the value can be obtained by using the getUnit() method and set through by setUnit() method
The value is a string. The value can be obtained by the getStringValue() and set by the setStringValue() method.
The value is a URI. The parameter of the url() function can be obtained by the getStringValue() and set by the setStringValue() method.
The value is a CSS identifier. The value can be obtained by the getStringValue() and set by the setStringValue() method.
The value is a list of values or a function. It is a function if the getStringValue() method does not reply the empty string. The list of values is whitespace-separated if the commaSeparated attribute is false and comma-separated otherwise.


type of type unsigned short, readonly
The type of the value as defined by the constants specified above.
commaSeparated of type boolean
The separation type of the list of values. Meaningful only if the type attribute is CSS_VALUE_LIST. The list is whitespace-separated if the attribute is false and comma-separated otherwise.
length of type unsigned long, readonly
The number of CSSValue in the list. The range of valid values of the indices is 0 to length-1 inclusive.
INVALID_ACCESS_ERR: Raised if the CSS value is a not a CSS_VALUE_LIST.


Retrieves the value of a CSS_NUMBER or the number part of the value of a CSS_UNIT. If this CSS value is not a CSS_NUMBER or a CSS_UNIT, a DOMException is raised.
Return Value
float The float value of this CSS_NUMBER or CSS_UNIT
INVALID_ACCESS_ERR: Raised if the CSS value isn't a CSS_NUMBER nor a CSS_UNIT.
For a CSS_SYMBOL, retrieves the single character used as a symbol.
For a CSS_STRING, retrieves the string. Enclosing quotes or double-quotes are NOT included.
For a CSS_UNIT, retrieves the unit of the value.
For a CSS_URI, retrieves the argument of the url(...) notation. Enclosing quotes or double-quotes are NOT includedt.
For a CSS_IDENT, retrieves the identifier.
For a CSS_VALUE_LIST and if that list of values is passed as the parameters of a function, retrieves the function name. Retrieves the empty string otherwise.
For a CSS_NUMBER and CSS_UNIT, a DOMException is raised.
No Parameters
Return Value
DOMString The float value of this CSS_NUMBER or CSS_UNIT
INVALID_ACCESS_ERR: Raised if the CSS value is a CSS_NUMBER or a CSS_UNIT.
For a CSS_VALUE_LIST, Used to retrieve a CSSValue by ordinal index. The order in this collection represents the order of thevalues in the CSS style property. If index is greater than or equal to the number of values in the list, this returnsnull.
For all other value types, a DOMException is raised.
index of type unsigned long: index into the collection.
Return value
CSSValue The CSSValue at the index position in the CSSValueList, or null if that is not a valid index.
INVALID_ACCESS_ERR: Raised if the CSS value is a not a CSS_VALUE_LIST.
Sets the value of a CSS_NUMBER or the number part of the value of a CSS_UNIT. If this CSS value is not a CSS_NUMBER or a CSS_UNIT, a DOMException is raised.
floatValue of type float;
No Return Value
INVALID_ACCESS_ERR: Raised if the CSS value isn't a CSS_NUMBER nor a CSS_UNIT or if the attached property doesn't support the float value or the unit type.
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.
For a CSS_SYMBOL, sets the single character used as a symbol.
For a CSS_STRING, sets the string.
For a CSS_UNIT, sets the unit of the value.
For a CSS_URI, sets the argument of the url(...) notation.
For a CSS_IDENT, sets the identifier.
For a CSS_VALUE_LIST and if the parameter is not the empty string, make the list of values become a function and sets the function name. Make the list become a plain list of values if the parameter is the empty string.
For a CSS_NUMBER and CSS_UNIT, a DOMException is raised.
stringValue of type DOMString
No Return Value
INVALID_ACCESS_ERR: Raised if the CSS value is a CSS_NUMBER or a CSS_UNIT, if the type of the value is CSS_SYMBOL and the string can be parsed as an other type of value, if the type of the value is CSS_UNIT and the string is not a valid CSS unit, if the type of the value is CSS_URI and the string is not a valid URI, if the type of the value is CSS_IDENT and the string is not a valid CSS identifier, if the type of the value is CSS_VALUE_LIST and the string is not a valid CSS identifier or the empty string.
NO_MODIFICATION_ALLOWED_ERR: Raised if this property is readonly.


The above should be enough to describe any CSS value, specified or computed. The model will become a bit complex for complex values but it ensures any web application can have access to parsed values, deal with their types and modify them. Let's take an example:

background-image: linear-gradient(to bottom, yellow 0%, blue 100%), url(foo.png);

This will result in the following OM (click on the image to enlarge it):

OM example

Again, I'm not saying the above is the thing to do or implement. It can certainly be improved, for instance for colors. A totally different perspective is also perfectly possible. I am only saying that making a better CSS OM allowing a full representation of parsed values in stylesheets and computed values is feasible. I hope the CSS OM will offer such power in the future.

UPDATE: the new CSSValue interface above lacks one thing, the ubiquitous cssText for parsing and serialization. Sorry for that.

Wednesday 26 February 2014


I have just discovered Haxe and haxecpp and I am totally blown away. This is what I was dreaming of and I did not know about it. I am going to use it immediately for my personal projects. Wow, just wow.

Monday 10 February 2014

Réponse à Nicolas Rousselet

Cet article, une interview de Nicolas Rousselet (le fils de son père André), intitulé « On a parmi les meilleurs taxis du monde ! », me reste en travers de la gorge... Il est tellement à l'encontre de mon expérience avec les taxis parisiens que je ne peux pas ne pas répondre.

Les VTC ne sont pas faits pour se substituer aux taxis, mais c'est ce qui va se passer si la loi de 2009 n'est pas respectée. Ils font du taxi sans payer la licence grâce à l'électronique

Non. Les VTC ne peuvent racoler. Ils ne peuvent prendre un autre client après avoir dépose quelqu'un quelque part sans réservation. Les VTC existent depuis des décennies aux USA et au Canada. On commence seulement à leur mettre des bâtons dans les roues parce que les taxis ne fournissent plus un service à la hauteur et sont dépassés par les VTC qu'ils ont eux-mêmes favorisé en n'évoluant pas.

Je demande simplement que les charges des VTC et des taxis soient alignées et que la loi soit respectée

Et si on demandait que la situtation dominante du groupe G7 qui contrôle 10 000 des 18 000 taxis parisiens soit cassée et le Groupe démantelé ?
Partout, on fixe des règles pour réglementer les VTC. A Bruxelles, la course est de 90 euros minimum. Elle est de 75 dollars canadiens (50 euros) à Vancouver, en Colombie-Britannique.

C'est malheureusement exact. Mais « First they ignore you, then they laugh at you, then they fight you, then you win ». Les taxis vont devoir faire des efforts énormes pour contrer les VTC et c'est bien.

70 % de l'activité des taxis relève de la course sur réservation

Et bien, basculez ces commandes sur vos propres VTC qui n'auront pas de licence à payer. Les taxis seront plus disponibles pour le racolage, ce qui contentera les parisiens et les incitera peut-être à tenter de chercher un taxi aux heures de pointe. C'est mission impossible à l'heure actuelle. Soyez pro-actifs ou la « disruptive innovation » vous tuera. Sans regret.

A condition, encore, que tout le monde paye les mêmes charges. C'est l'image de la France qui est en jeu : quand le touriste débarque à l'aéroport de Roissy, il est assailli par des VTC, des mototaxis.

Non ce n'est pas vrai. Il n'y a quasiment que des VTC attendant spécifiquement quelqu'un mais le racolage est rare et la police esy active contre cela, je le vois à chacun de mes passages à Roissy. Il arrive que de temps en temps je croise UN gars qui propose "Taxi, monsieur ?" mais cela arrive moins souvent qu'un taxi refusant de me prendre à cause de ma destination, refusant la carte bancaire, dont le taxi pue ou qui roule comme un pied, qui est odieux, voire qui tente un parcours nettement plus long parce que je suis en train de parler en anglais avec un étranger.

Moi, je dis qu'on a parmi les meilleurs taxis du monde !

J'en éclaterais bien de rire si ce n'était aussi tragique. Nos taxis parisiens sont à chier. Ils sont malpolis, mal équipés en terminaux bancaires, peu serviables, souvent arnaqueurs et n'ont souvent pas le respect de leur client.

Sur 100 millions de courses tous les ans, il y a forcément des mécontents. Au moins, cela leur permet de raconter des histoires dans les dîners en ville…

Le problème, c'est évidemment le ratio... Oui, il ya forcément des mécontents. Mais à Paris, il y a en a de tas. Il n'y a pas qu'à Paris. Les taxis londoniens pris à Heathrow arnaquent notoirement leurs clients non anglophones et cela fait des décennies que ça dure. Les taxis ont créé leur concurrence par leur mauvaise qualité de service, c'est tout.

Et à New York, les particuliers n'ont pas de voiture.

La plupart des jeunes parisiens que je connais n'ont pas de voiture non plus, ce qui n'était pas le cas quand j'avais leur âge.

En plus, les VTC sont plus chers que les taxis…

Certainement pas. Je ne prend plus que des VTC entre mon domicile et les aéroports. J'économise entre 15 et 30 euros PAR COURSE. Le VTC arrive chez moi à l'heure, à la minute près. Il est super-poli, conduit à la perfection, m'envoie une facture par mail, je connais le prix de la course à l'avance et l'intégralité du processus est nickel.

Marrant hein, Rousselet oublie de parler par exemple du Über qui a été massacré par des chauffeurs de taxi. Une attitude responsable, digne, pas dangereuse.

J'évite les taxis parisiens autant que je le peux. Disons que sur dix trajets en taxi, 7 sont des mauvaises expériences, deux sont normales et une est très agréable et je suis un client content. Prenons un parallèle simple : quand vous êtes très content dans un restaurant, vous êtes tenté de laisser un pourboire. Je ne laisse quasiment jamais un pourliche à un taxi, il y a presque toujours quelque chose qui me déplait fortement.

Nicolas Rousselet, vous voulez que les taxis fassent la nique aux VTC ?

  1. rendez obligatoire la présence d'un terminal carte bancaire dans TOUS les taxis
  2. rendez obligatoire l'acceptation de la carte bancaire par TOUS les taxis, quelque soit la course
  3. sévissez durement contre les arnaques à la course envers les touristes étrangers - et parfois même les parisiens - qui sont légions
  4. apprenez la politesse, le sens de l'accueil - et la propreté du véhicule - aux taxis
  5. arrêtez de brandir des mesures protectionnistes. Le capitalisme débridé qui a besoin du protectionnisme d'Etat, c'est un peu fort et cela passe mal auprès des clients

Saturday 8 February 2014

NKM et ses projets pour la station Arsenal

Je vais jouer encore l'emmerdeur, mais une chose m'étonne très fort dans les très beaux projets de NKM concernant les stations fermées du métropolitain parisien. En particulier la station Arsenal...

La station Arsenal a été fermée pendant la seconde guerre mondiale et jamais réouverte. NKM propose de la transformer en piscine ou en nightclub. Les images soutenant ces projets sont superbes.

Mais, car il y a un mais, Arsenal est une station fermée d'une seule ligne, la ligne 5. Il n'y a donc qu'une seule voie avec quais dans cette station. Bref, si on transforme la station en autre chose, où passe donc la ligne 5 ?!? Aujourd'hui cette ligne traverse la station fermée sans s'y arrêter. J'aimerais bien être contredit, avec par exemple une affirmation qu'il existe DEUX voies avec quais mais je n'ai jamais entendu parler de cela, alors que j'ai habité toute mon enfance à proximité et que j'avais longuement questionné mes parents sur les stations Arsenal et Saint-Martin (de mémoire, la situation est différente à Saint-Martin).

Bref, si j'ai raison, ces projets sont peut-être beaux, mais ils sont surtout impossibles à réaliser pour la station Arsenal... Ahem.

Thursday 6 February 2014

Next Game Frontier, The conference dedicated to Web Gaming

Last October, I was attending the famous Paris Web conference in Paris, France. In the main lobby of the venue, two Microsoftees (David Catuhe and David Rousset) were demo'ing a game based on their own framework Open Source babylon.js. Yes, Microsoftee and an Open Source JS framework over WebGL... I was looking at their booth, the people queuing to try the game and started explaining them there are conferences about Gaming, there are conferences about Web technologies in general and html5 in particular but there are no conference dedicated to Gaming based on Web technologies...

To my surprise, the two Davids reacted very positively to my proposal and we started immediately discussing a plan for such a conference.

Next Game Frontier LogoPeople, I am immensely happy to announce the First Edition of the Next Game Frontier conference, the conference dedicated to Web Gaming, co-organized this year by Microsoft and Samsung Electronics.

Web site: Next Game Frontier

Location: Microsoft France campus, Issy-les-moulineaux, France

Date: 13th of March 2014

Next Game Frontier on Lanyrd

Free registration but number of seats limited so register ASAP!


9:00 - 9:30 Breakfast

9:30 - 9:45 Opening Keynote (D. Glazman, D. Catuhe & D. Rousset)
9:45 - 10:45 Microsoft session - Create a 3D game with WebGL and Babylon.js (D. Catuhe & D. Rousset)

10:45 - 11:00 Break

11:00 - 12:00 Mozilla session - Le Web en tant que plateforme pour les jeux, de WebGL à AsmJS (T. Nitot)

12:00 - 13:15 Lunch

13:15 - 14:15 Create 3D assets for the mobile world & the Web, the point of view of a 3D designer (M. Rousseau)
14:15 - 15:15 Samsung session - Enhancing HTML5 gaming using WebCL (Samsung) & Turbulenz (Partner)

15:15 - 15:30 Break

15:30 - 16:30 Three.js (J. Etienne from http://learningthreejs.com)
16:30 - 17:30 Minko.io (Jean-Marc Le Roux from http://aerys.in)

17:30 - 18:30 Roundtable - Open discussions about Web Gaming - Microsoft, Mozilla, Samsung, Ubisoft moderated by a journalist

Save the date, and register now but please, don't register if you don't plan to come. Thanks!

Friday 31 January 2014

CSS Regions

If there is one and only article you should read about CSS Regions, that's this one. And the conclusion is quite clear and I agree with it:

CSS Regions give us the ability to do a lot of things that are otherwise not possible without them

Friday 24 January 2014

Mais zut à la fin...

En marge de la rencontre des deux François (l'un Président de la République Française et l'autre Calotte Chantante au Vatican), un catho censé représenter les cathos de France s'est lâché ce matin à la radio, je crois que c'était sur France Info mais je ne suis plus certain. À l'entendre, les catholiques n'ont pas le droit de s'exprimer dans la rue et ils se sentent rejetés à cause de leurs opinions.

Je vais passer délicatement, sans trop m'énerver, sur le « droit d'expression ». Les cathos ont battu le pavé pendant des semaines en acceptant toutes les franges les plus répugnantes de leur extrémistes voire des chemises bien bronzées, tenant des propos appelant parfois à l'insurrection violente. Alors la seule chose que j'ai vraiment envie de répondre sur ce point précis, oui je l'avoue, cela va les conforter dans leur croyance qu'on les muselle, c'est « ta gueule, connard ». C'est certes grossier, mais cela a au moins le mérite de représenter très exactement ma pensée, et surtout ça défoule c'est très agréable.

Quant à leur opinion rejetée, oui. Elle est rejetée. Écoutée, même entendue, mais rejetée et bien rejetée. L'église catholique a rejeté pendant 2000 ans toute opinion déviant de la sienne jusqu'à brûler des gens en place publique et continue encore aujourd'hui au 21ème siècle à nous les brouter menu-menu. Ils ne sont pas tous seuls. Cela fait entre 1300 et 2000 ans que les religions monothéistes nous pompent l'air avec des dogmes sociétaux héritées de l'Antiquité, alors merde. Il est temps de faire avancer la société, avec ou sans eux. Qu'ils restent donc confits dans leur esprit rétrograde.

Monday 20 January 2014


Une chose m'étonne beaucoup dans les « règlements de compte » récurrents qui émaillent l'année marseillaise... Ça shoote tous azimuths, on zigouille des types qui à leur sortie de prison, qui dans leur voiture alors qu'il s'apprêtait visiblement à commettre une action criminelle, etc. Et bien entendu, on ne retrouve jamais aucun indice probant. Je commence sérieusement à me demander s'il n'y a pas à Marseille un commando de « vengeurs » qui font du « nettoyage » en-dehors des lois de la république. J'ai une très étrange impression à la lecture des conditions de tous ces règlements de compte, très très étrange. J'espère me tromper.

Wednesday 8 January 2014

Même pas drôle

J'ai lu ici ou là que non la « quenelle » n'est pas un geste connoté. Utilisé même par Coluche il y a plus de trente ans, il aurait uniquement la signification originelle d'un doigt ou bras d'honneur.

Évidemment, le sieur Dieudonné M'bala M'bala a fait évoluer ce geste et son action est politique. On a clairement quitté le registre de l'insulte pour aller plus loin, trop loin. Certains font ce geste en parfaite connaissance de cause et je les conspue. Certains sont tellement cons qu'ils font ce geste sans savoir ce qu'il représente (Tony Parker par exemple... Si, si... Vous avez vraiment cru que seul Anelka s'était livré à une telle preuve d'hydrocéphalie ?) et pour cela, je les conspue aussi, la connerie et l'ignorance étant impardonnables.

Il est inutile de pénaliser la « quenelle ». Cela shiftera vers un autre geste et il faudra tout recommencer. Il faut juste lui répondre avec à-propos, et si les circonstances jettent un doute sur un antisémitisme potentiel associé au geste réalisé, l'arsenal juridique existant doit largement suffire.

Confronté à une quenelle, je ne répondrai donc pas par un bras d'honneur, geste pris en photo juste ci-dessous à seule fin d'information :

bras d'honneur

Non, cela serait trop. Je vais donc faire un bras d'honneur à l'envers, geste qui me coûte à réaliser car ce n'est plus mon bras directeur (essayez, vous verrez). Attention regardez bien, ce n'est pas du tout pareil :

bras d'honneur à l'envers

Face à un Dieudonné, il est utile de rappeler la réponse de Benjamin Disraeli à un député : « Yes, I am a Jew, and when the ancestors of the right honorable gentleman were brutal savages in an unknown island, mine were priests in the temple of Solomon ». Pour le reste, c'est bien trop de publicité faite à une ordure. Pendant ce temps, le Sénat a refusé de lever l'immunité parlementaire de Serge Dassault et ça, c'est vraiment un scandale qui mérite qu'on en parle.

Monday 23 December 2013

Espagne et avortement

L'Espagne est devenue folle - ou plutôt le gouvernement espagnol est devenu fou. Non seulement cette nouvelle loi sur l'avortement a été proposée par un collège composé uniquement d'hommes, non seulement elle aboutit à un retour en arrière à ce qui prévalait sous Franco, mais en plus la peine encourue pour un avortement illégal est nettement supérieure à celle encourue pour un viol. Mais quels sont les tarés rétrogrades et obscurantistes qui ont osé faire ça...

Quand Aznar a décidé d'envoyer les troupes espagnoles en Irak, j'étais en Espagne. Il y avait des manifestations dans le plus petit village du pays, partout, souvent avec des pourcentages de participation absolument hallucinants. Genre 50% de la population d'Almeria dans les rues quoi. Les espagnols ayant le sang encore plus chaud que les français et détestant être pris pour des cons (rappelons-nous comment Aznar a été ejecté manu militari pour avoir essayé de profiter des attentats de Madrid en accusant l'ETA...), je m'attends au pire en Espagne. Rajoy est soit complètement con, soit complètement acheté par la très riche Eglise catholique espagnole (qui s'est engraissé la couenne à ras-bord pendant la période franquiste), soit suicidaire. Soit les trois. Dans tous les cas, c'est du grand nimportawak et le silence officiel des autres pays de l'UE est un scandale sans nom.

Tous ceux qui nous parlent des Droits de l'Homme en Europe et de l'immense réussite de l'interdiction de la peine de mort en UE feraient bien d'ajouter la contraception et l'avortement à la liste des libertés fondamentales sans la garantie desquelles on ne peut être Membre de l'Union Européenne. Cela ferait les pieds à l'Irlande et l'Espagne et cela serait Une_Bonne_Chose.

Wednesday 11 December 2013

NKM, Paris et la qualité de l'air

J'aime bien ma chère khâmarade NKM. Si, si, sérieusement. Bon, je ne suis pas toujours d'accord avec elle, mais il y a chez elle à la fois un animal politique et un animal totalement non-politique et ce mélange des genres est parfois très sympathique. Mais pas toujours. Aujourd'hui par exemple, elle vient de nous pondre un communiqué de presse « Mesures d’urgence pour la qualité de l’air à Paris » qui fait très Sarkozy-pondant-une-loi-après-chaque-évènement-quotidien...

NKM propose donc deux mesures d'urgence pour lutter contre la dégradation, cette semaine, de la qualité de l'air à Paris. Bon, certes, Paris est polluée mais m'enfin on n'est pas à Pekin ou Shangai hein... Commentons donc ces deux mesures :

  • Cesser immédiatement toute acquisition de nouveaux véhicules diesel, et limiter au maximum l‘utilisation des véhicules diesel par la mairie

    Voui, voui. Bon. Combien de véhicules dans Paris par jour, combien de la mairie et services municipaux. Sur ces véhicules municipaux, combien de neufs répondant aux dernières normes environnementales, combien de vieux et sales. Comment va être financée l'augmentation de la valeur du parc si on passe progressivement à l'électrique. Quels sont les soucis liés à l'autonomie des véhicules électriques. Dans le cas de véhicules au gaz, à l'essence ou hybrides, quel est le surcoût lié au changement de carburant. Comment tout cela sera-t-il financé. Et surtout comment cette « mesure d'urgence » espère-t-elle une seule seconde impacter sérieusement « en urgence » la qualité de l'air parisienne ?

  • Mettre en œuvre une ZAPA (zone d'action prioritaire pour l'air), à laquelle se refuse l’exécutif, pour interdire l’entrée dans Paris aux poids lourds et aux cars de tourisme les plus polluants

    Pourquoi pas... Mais quel est l'impact projeté sur le commerce, les livraisons, l'industrie ? Quel est l'impact sur le tourisme et où propose-t-on de garer ou faire patienter les cars de tourisme interdits dans Paris intra-muros ? Quelle est la banlieue défavorisée qui va accepter les particules fines dont les bobos parisiens ne veulent plus ? Comment va-t-on transporter les touristes concernés entre les portes de Paris et leurs destinations ? Et leurs bagages ? Quel sera l'impact, la surcharge, sur les transports en commun ? Les stations concernées sont-elles adaptées au passage de centaines de touristes armés de grosses valises ? Quel est l'impact d'image sur notre ville ?

Bon, tout cela m'a l'air de participer d'une maladie bien connue, la cystite du communiqué de presse. Étoffées, étudiées, détaillées, planifiées, ces mesurettes feraient peut-être un peu de sens. Mais en l'état, c'est surtout de l’esbroufe sans beaucoup d'intérêt, désolé.

Nota bene: j'espère que le type qui gèrera cette « ZAPA » s'appellera Franck :-)

Monday 18 November 2013

Gestion de crise par Julien Nicolaï, UMP

  1. Être un n-ième couteau de l'UMP mais avoir des rêves de gloire, se réveiller le matin du 18 novembre 2013 en ne se sentant plus pisser, découvrir qu'un type vient de blesser grièvement par arme à feu quelqu'un au siège du journal Libération, et twitter une ignoble connerie profonde sur un compte mentionnant «Responsable UMP de la ville de Chaville».
  2. Voir dans les secondes qui suivent des réactions évidemment outrées
  3. Commencer à publier des tweets disant que (je cite) le tweet de départ a été mal compris, qu'il a même été détourné !!!
  4. Voir la twittosphère exploser, encore une fois évidemment...
  5. Protéger son compte twitter pour que plus personne sauf les followers ne puissent lire les conneries. Surtout ne pas poster d'excuses. Ne rien reconnaître. Une fois qu'on a la tête dans la merde, on ne doit plus sentir l'odeur.

La gestion de crise, cher Monsieur Julien Nicolai de l'UMP de Chaville, ça commence par éviter de raconter absolument n'importe quelle connerie débile au seul prétexte de vouloir exister politiquement, c'est aussi d'arrêter de croire que l'existence politique ne passe que par la communication. Si vous cherchez un coach en gestion de crise, j'ai une experte internationale à vous recommander. La « responsabilité », cela doit passer par ça aussi, même à l'UMP. À bon lecteur...

Thursday 14 November 2013

Libertarien mon cul !

Quand je vois un article de Pierre Chappaz apparaître sur son blog « Libertarien », je m'inquiète avant même de l'avoir lu tellement c'est en général du grand n'importe quoi. Le dernier opus, « Retour au pays? » n'échappe pas à la règle. Nota bene pour Pierre Chappaz qui ne manquera probablement pas de lire ces lignes à un moment ou un autre : en typographie française, il y a un espace entre "pays" et le point d'interrogation... Et encore, je vous évite le quart de cadratin (insécable puisque c'est du cadratin n'est-ce pas), voilà voilà.

Pierre Chappaz oublie juste de mentionner que la fraude fiscale aurait comblé - et continuerait à combler - en grande partie sinon totalement le déficit de la France. Je ne parle pas ici des évadés fiscaux, qui sont des animaux qui ne feront pas pleurer ; en effet quand on a les moyens de se barrer en Suisse ou ailleurs pour protéger ses avoirs, c'est qu'on a aussi les moyens de payer ses impôts en France et qu'on ne veut en général pas, une preuve de civisme exemplaire. Je ne suis en général pas trop affolé par ceux qui se tirent en criant « ça vaaaa paaaaaas » puis donnent des leçons depuis leur retraite dorée. La leçon numéro un étant évidemment qu'ils rentrent si et seulement si leurs conditions ultra-favorables sont acceptées. On passera évidemment sur le fait qu'elles ne sont favorables qu'à eux, les petites gens elles ne devant pas râler si leurs conditions déjà mauvaises se dégradent franchement au bénéfice de ceux qui sont déjà plein de thunes, tellement plein de thunes que la plupart des français n'arriveront pas au centième de leur patrimoine en une vie de labeur...

Qu'on ne se trompe pas, ce qui précède n'est pas un discours de gauche. C'est un discours de ras-le-bol. J'en ai ras la casquette de ceux qui n'essayent rien **ICI** et nous expliquent comment faire depuis **LÀ-BAS**. Dans tout ce qu'il a proposé, « supprimer l’ISF, diminuer l’impôt sur les plus-values et les bénéfices des entreprises, ainsi que les charges sociales. Pour financer, il faudrait s’attaquer à l’armée des fonctionnaires inutiles, aux parasites qui abusent de l’assistanat, ou encore aux élus et ministres en surnombre. », il n'y a que trois choses de valables:

  • supprimer l'ISF. Oui, absolument. Mais pas parce que ça fait fuir du monde. Juste parce que c'est con, que ça coûte quasiment plus cher que ça ne rapporte vu la complexité du dispositif et surtout ses effets ultra-pervers sur par exemple des agriculteurs au SMIC.
  • s'attaquer à l'armée des fonctionnaires inutiles. Oui mais non. Ce n'est pas aux fonctionnaires qu'il faut s'attaquer mais à la structure qui les embauche, le mille-feuille institutionnel qu'est notre pays et qui amène par exemple aux livres de Zoe Shepard. En clair et en décodé, c'est à nos élites qui ont créé ce mille-feuille qu'il faut s'en prendre.
  • diminuer les charges sociales. Oui, il a raison. Mais s'il a bien vu les symptomes, il a tort sur le diagnostic. Les charges sociales sont élevées à cause de tous ceux qui se sucrent sur les entreprises et particuliers, organismes privés recevant un pourcentage des charges prélevées, de la Sécu qui ne peut être qu'éternellement déficitaire tant que le Ministère de la Santé sera à la botte des laboratoires médicaux (ne me dites surtout pas que c'est une surprise pour vous hein...). On peut diminuer les charges sociales sans diminuer la qualité des remboursements pour les usagers, aucun problème. Évidemment, je conseille fortement à celui ou celle qui s'attaquera à ça de porter un gilet pare-balles et s'entourer de quelques gardes du corps. Je suis très sérieux...

Le reste, c'est du pur délire ulta-libéral sans aucun intérêt constructif. On ferait bien mieux de réformer ou même supprimer les droits de succession - ce qui est je le rappelle le cas en Corse. Cela aurait exactement le même effet que toutes les mesures stupides préconisées par Chappaz pour favoriser les retours et cela s'appliquerait à tous les français, quelque soit leur niveau de vie. Et une absence de droits de succession ne ferait pas que ramener les exilés, elle attirerait les étrangers.

Quant à la France qui s'en sortirait si ses « élites » rentraient, je me retiens de pleurer de rire. Chappaz n'a rien compris. La France crève non pas parce ses élites sont à l'étranger mais parce que ses élites, dans l'héxagone ou en dehors, n'en sont plus. Et ce n'est pas probablement pas en des libertariens qui rentreraient au pays que les Français pourraient avoir de nouveau foi. On a surtout besoin de quelqu'un déjà sur place, avec une vraie vision stratégique de moyen et long terme, capable de l'exécuter, de s'entourer de personnes capables de l'exécuter et se fichant de ne pas être réélu à cause de ça. Une perle rare donc. Je ne crois pas du tout non plus à l'injection de capitaux dans l'économie réelle que ces "rentrants" effectueraient.

Pierre Chappaz n'est resté en France que 18 mois, le pauvre, assommé par le discours anti-riche du roitelet du Fouquet's. Mais quelle horreur ! Insoutenable ! Comment ose-t'on traiter de la sorte quelqu'un qui a bâti sa célébrité sur une vente en 1999 et a investi plus ou (voire souvent) moins heureusement depuis ? Sacrebleu !

Allez, je vais faire une pause, laisser tomber mon code ce soir, et me demander pourquoi Bernard Charlès n'a pas encore déménagé a Genève ou Singapour avec sa superbe entreprise Dassault Systèmes sous le bras.

Un mot : pathétique...

Thursday 7 November 2013

Beauty of the Web

One of the questions I'm often asked is « Did Tim Berners-Lee expect porn and terrorists on the Web when he designed it? ». Honestly, I don't know and I don't care since all technologies always have good and bad sides. And in our case, the good sides are so huge they make me proud to be a small part of that technology...

Yesterday, some friends of Molly Holzschlag started for her a fund on GoFundMe. Molly needs money to pay her chemo-therapy and given the state of social health in the US when you're not a white-collar in a large company, that's not an easy task.

The fund was started roughly at 0am my time. When I discovered it, some 14 hours later, it had $2,300 out of a $25,000 target. I donated to the fund, and tweeted immediately about it. Some other people tweeted about it too at the same time. Right after that, the donations started pouring in at fast pace. $3,000, $10,000, and wow $25,000 21 hours after the launch of the fund!

We're now a day later and the people who started the fund increased the goal to $50,000 because of the overwhelming response. The fund has already collected almost $45,000, 80% over the initial goal!

I'm happy for Molly, I'm insanely proud and happy the Web allowed that, this is the best incentive I could ever find for my daily job. YAY!

Thursday 31 October 2013

Lettre ouverte à Mediamétrie

Très chère - voire trop chère - Mediamétrie, permettez-moi d'exprimer ici mon courroux. Mon courroux même pas coucou comme ne dirait pas Pierre Desproges. En très gros, en trop gros, j'en ai ras la casquette de vos téléopérateurs et téléopératrices qui m'appellent chez moi pile au milieu du dîner pour me demander je ne sais quoi en votre nom.

Qu'ils sachent parfaitement qu'ils me dérangent et ne me demandent pas s'ils me dérangent passe encore, la politesse étant une vertu qui se fait rare de nos jours, surtout quand on est payé au lance-pierre dans un centre d'appels situé dans un pays en voie de développement et que sa productivitié est comptée en nombre d'appels passés par heure.

Qu'ils ne me laissent pas placer un mot quand je tente de leur expliquer que je ne suis pas intéressé par leur proposition commence à me prendre la tête.

Que je sois obligé de leur raccrocher au nez après un dernier "Je vous répête ne pas être intéressé, bonsoir madame" me les brise menu-menu.

Mais qu'en plus ils me rappellent dans la foulée pour me dire "C'est encore Mediamétrie, mais pourquoi ne voulez-vous pas participer ?", là c'est le bouquet.

Je vous prie donc de chercher mon nom dans l'annuaire à Saint-Germain en Laye et supprimer mon numéro de téléphone de vos listes d'appels. Je l'ai déjà demandé plusieurs fois et visiblement mes droits les plus élémentaires en la matière ne sont pas respectés. À défaut, je ferai un signalement à la CNIL.

Je vous prie d'agréer, très chère MediaMétrie, trop chère Mediamétrie, l'expression de mon énervement le plus épidermique.

Sunday 27 October 2013

Pas un prof, même pas un enseignant

Je viens de retrouver, sur le Web évidemment, mon prof de Dessin du collège de la 6ème à la 3ème. Collège Grenier s/l'Eau à Paris. On dirait aujourd'hui Arts Plastiques je suppose. Cet homme est toujours vivant, appelons-le JD. Il nous regardait de très haut, lui le vrai artiste qui s'abaissait à devoir enseigner à des chiards. Il faut dire que quand il est tombé sur moi, il est tombé sur un gamin pas comme les autres : j'avais plusieurs années de moins que tout le monde et je n'avais que très peu dessiné. Après les premiers travaux dirigés en classe, dès le mois de septembre de la 6ème, le verdict est tombé, péremptoire, cassant, définitif : « Glazman, vous n'arriverez jamais à rien dans cette matière ». Pendant quatre très longues années, JD s'est consciencieusement appliqué à ne jamais rien m'apprendre ni à jamais me faire progresser. Je dis bien jamais. Il passait derrière moi de temps en temps et maugréait un « ahlala ». Il n'a consacré son temps de classe qu'à ceux qui avaient déjà un petit talent ou une petite réussite. Les autres, les gribouilleurs, n'étaient pas au niveau d'un artiste de son talent. Alors qu'un enseignant digne de ce nom aurait tenté de donner un niveau minimal à sa classe, lui s'emmerdait à enseigner à des mioches, c'était visible comme le nez au milieu de la figure.

Trente-quatre ans plus tard je suis toujours une bille en dessin, en grande partie à cause de JD qui non seulement ne m'a rien appris mais m'a surtout totalement découragé. Pourquoi me faire chier à savoir dessiner ou peindre en me faisant quasiment insulter alors que je torchais les devoirs de maths et physique deux fois plus vite que les autres. Quand mes enfants me parlent de leurs notes en Arts Plastiques aujourd'hui, je cache difficilement un sourire devant mon désintérêt total.

Au même moment, mon prof de sport de ces quatre mêmes années de collège, qui nous demandait de l'appeler M. Serge (son prénom) à cause de l'imprononçabilité totale de son patronyme que nous n'avons jamais connu, n'a jamais laissé tomber le poussin que j'étais quand les autres étaient minimes. Il m'a appris à nager, à grimper, à courir, m'a encouragé sur le 1500m que j'aimais.

Parents, si votre enfant a un prof du genre de mon prof de dessin, quelque soit la matière, agissez. Un enseignant qui ne s'occupe que des talents et pas des autres n'est pas un enseignant ; le fautif c'est lui/elle, pas votre enfant.

Sunday 29 September 2013


  • in S06E02, Castle helps investigating the case because he has only a day to live and that way helps so well solving the case he becomes again an assistant to Beckett's team, praised by the federal agents even if he should not be involved ; smart way to have him work again with Kate I think, and good job on the script.
  • at some point in the future, captain "Iron" Gates leaves the 12th precinct or is killed and Beckett is offered the role of captain there, accepts and goes back to NYC, reuniting with Esposito and Ryan and of course Castle.

Tuesday 24 September 2013

META Seal of Recognition

META Seal of RecognitionI am extremely happy and proud to let you know BlueGriffon received last thursday in Berlin, Germany, the « META Seal of Recognition » Award from the Multilingual Europe Technology Alliance for being the very first editor to implement the three main data categories of the W3C Internationalization Tag Set 2.0 (ITS 2.0) :-)

That implementation was done under a contract from DFKI and funding from the European Commission (project LT-Web), 7th Framework Programme (FP7), grant agreement n° 287815. The code is Open Source and will be available with forthcoming version 1.8 of BlueGriffon.

Here is the press release about it:

At the fourth annual META-FORUM conference in Berlin on September 19/20, it was announced that Disruptive Innovations was awarded the META Seal of Recognition for BlueGriffon. The META Seal of Recognition recognises excellence in software, products, and services which actively contribute to the European Multilingual Information Society. The META Technology Council, a panel of 30 experts drawn from the European Language Technology landscape, recognises the contribution BlueGriffon makes to the European Multilingual Information Society.

META, the Multilingual Europe Technology Alliance brings together researchers, commercial technology providers, private and corporate language technology users, language professionals and other information society stakeholders. META is preparing the necessary ambitious joint effort towards furthering language technologies as a means towards realising the vision of a Europe united as one single digital market and information space.

The META Seal of Recognition is awarded annually to select products and services which actively contribute to the initiative’s goals. This year is the third time the META Seal of Recognition has been awarded at a special ceremony as part of META-FORUM 2013 held in Berlin, Germany.

For more information see http://www.meta-net.eu/meta-seal

- page 2 of 281 -