lundi, mai 28, 2007

Brèves américaines - Partie 2

Il n'y a que 2 choses certaines dans la vie: la mort, et les taxes

Les canadiens semblent avoir un problème avec les taxes. Et je pense plus particulièrement à la TVA. Dans la plupart des pays civilisés que je connais, il est de règle que les prix indiqués soient TTC. Il semble bien raisonnable que le prix indiqué sur l'étiquette corresponde à l'argent que je dois sortir de mon porte monnaie. Vous connaissez beaucoup de gens qui se font rembourser la TVA sur un cornet de glace?

Et pourtant, à Vancouver, presque la totalité des prix est indiqué hors taxes. Que ce soit au restaurant, dans les magasins de fringues, pour payer l'hôtel ou pour acheter une crêpe, le prix annoncé sera systématiquement majoré de la TVA. C'est dans les restaurants que ça fait le plus mal: entre la TVA, la taxe additionnelle sur l'alcool, et le pourboire (mais je reviendrai sur ce problème du pourboire, qui mérite bien un post à lui tout seul), la facture gonfle facilement d'un tiers entre le prix sur la carte et le prix effectivement payé. En dehors du choc pour le touriste qui pensait faire une bonne affaire, je trouve que ce système est pervers pour 2 raisons:

- D'une part, il empêche de préparer sa monnaie pour gagner du temps. Vu que le taux de taxes est souvent farfelu, à moins d'avoir sa calculatrice et la liste des produits taxés - non taxés (le chocolat est taxé, par exemple, mais pas le café), on se retrouve forcé d'attendre que le commerçant annonce son prix.
- D'autre part, en nous jetant ainsi à la figure les montants de taxes, le citoyen reçoit à chaque facture une piqûre de rappel sur ce qu'il verse au gouvernement, au mieux favorisant la droite "moins d'impôts, moins de social", au pire encourageant carrément le marché noir.

Bizarre.


Vancouver depuis Stanley Park - Vancouver from Stanley Park


American briefs - Part 2

There are only 2 sure things in life: death, and taxes

Canadians seem to have a problem with taxes. And I'm thinking more particularly of the VAT. In most civilized countries I know, prices are indicated including VAT. It seems quite reasonable that the price on the tag corresponds to what I'll have to get out of my wallet. Do you know many people who get the VAT reimbursed on an ice cone?

But yet, in Vancouver, almost the totality of prices do not include taxes. In restaurants, in clothes shops, to pay the hotel, or to buy a pancake, the indicated price is systematically majored with the VAT. It is in restaurants that this hurts the most: between the VAT, the tax on alcohol, and the tip (but I'll come back on the tipping issue, this deserves a post for itself), the bill can easily gain a third from what was indicated on the menu. Outside the shock for the tourist who thought we was making a good deal, I think the system is quite perverse, for 2 reasons:

- First, it prevents people from preparing their money in advance to gain time. Since the tax level is often cranky, unless you are actually carrying a calculator and the list of all taxed - non taxed products (chocolate is taxed, for example, but not coffee), you are forced to wait for the shopkeeper to announce what will be the final price.
- Second, by throwing to its head the amount of taxes, the citizen gets a recall injection on what he is paying to the government, in the best case promoting the "less taxes, less social" right wing ideas, in the worst case encouraging black market.

Weird.

Une petite image de plus pour la route! Pour une fois, au lieu de calculer bêtement les normales par rapport aux faces (une moyenne plus ou moins heureuse des normales aux 4 faces sur le vertex), j'utilise directement le gradient de ma fonction génératrice (ça fait toujours du bien de se calculer un gradient à la main). De plus en plus, j'essaie d'avoir une approche complètement procédurale, à la recherche d'images moins variées, peut-être, mais beaucoup moins imparfaites. Voici le résultat, sur une grille de 250 000 polygones.




Another small image gor the road! For once, instead of calculating simply the normals from the faces (as an average of the normals for the 4 faces generated from a vertex), I directly use the gradient of my generating function (it's always a good refreshment to calculate a gradient by hand). More and more, I try to have a completely procedural approach, looking for images that are less varied, maybe, but much less imperfect too. Here is the result, on a 250 000 polygons grid.

dimanche, mai 27, 2007

Brèves américaines - Partie 1

Ayant passé quelques jours à Vancouver, je m'empresse, tel le BHL moyen, de vous faire parvenir mes pensées ricaines. Généralisations hâtives assurées.

Généralement, je trouve les voyages en avion rapidement ennuyeux. On voyage souvent de nuit, et quand il fait jour, on ne voit que des nuages. J'aime bien regarder les nuages, mais il y a une limite à tout!

Et là, coup de bol. Tout d'abord, on suit le soleil: départ 18h heure locale, arrivée 18h heure locale. Ensuite, on était dans la zone du "soleil de minuit". Donc, 2 bonnes raisons pour qu'il fasse jour! Ensuite, très peu de nuages, et donc une vue magnifique sur un pays qui commence décidément à m'intriguer: le Groenland.

Voici donc quelques photos prises de l'avion, la première correspondant à la côte, et l'autre au milieu du pays.






American briefs - Part 1

Having spent a few days in Vancouver, I could not prevent myself, as the average BHL, to spread here my American thoughts. Gross generalizations guaranteed.

Usually, I find plane trips quickly boring. Long trips are often by night, and when it is day, one can see only clouds. I like watching clouds, but there is a limit on everything!

And there, the lucky strike. First, we were following the sun, departure 6 pm local time, arrival 6 pm local time. Second, we were in the "midnight sun" zone. So, 2 good reasons to enjoy daylight. Then, very little clouds, and therefore an awesome view on a country which starts to interest me a lot: Greenland.

Enjoy the photos taken from the plane: the first one on the coast, and the second taken in the middle of the country.

dimanche, mai 13, 2007

Un petit update de mon graphe de scènes: sphère texturée!




A small update from my scene graph: textured sphere!

samedi, mai 12, 2007

A noter, l'apparition d'un nouveau site mariant "journalisme professionnel et culture de l'internet", Rue 89, crée entre autres par d'anciens du journal Libération. C'est certainement une innovation intéressante que d'avoir ainsi un média professionnel orienté totalement sur Internet. Les feuilles dites sérieuses s'étaient doucement lancées dans les contenus multimédias, les blogs, les chats (miaou!) et autres (voir Le Monde, Libérotschild et compagnie), mais Rue 89 est le premier site que je rencontre à tenter un journalisme d'opinion de qualité totalement en ligne (perso, les brèves de Reuters, ça me gonfle). Cependant, sa gratuité (et donc son modèle de revenus basé sur la publicité) soulève quand même d'intéressantes questions d'indépendance. En tous cas, leur feed est maintenant dans ma barre de signets. Tous mes voeux de réussite les accompagnent.




To note, the apparition of a new website linking "professional journalism and internet culture", Rue 89 (in French), created, among others, by former journalists from the Libération newspaper. It's certainly an interesting innovation to see a professional media fully oriented on the web. So called "serious" newspapers have been slowly providing more multimedia and interactive contents (blogs, chats), but Rue 89 is the first website I encounter which aims at providing a quality opinion journalism totally on-line (personally, I find Reuters news utterly boring). Nevertheless, as their business model is based on advertisements revenues, this raises interesting questions about their independence. Anyway, their feed is now in my bookmarks bar. All my wishes to them!

mardi, mai 08, 2007

Pour les fans des Monthy Pythons, un petit jeu flash tiré du film / de la comédie musicale de Sacré Graal. Le lançage de jardinet sur les chevaliers qui disent Ni vaut le détour. D'ailleurs, il va falloir que je me décide à aller la voir, cette comédie musicale, avant qu'ils ne partent en tournée!


For the Monty Python fans, a small flash game from the Holy Grail movie / musical. Throwing a shrubbery on the knights who say Ni feels really good!

lundi, mai 07, 2007

Voilà quelques captures du projet sur lequel je codouille dans mes moments de lassitude. Il s'agit d'un graphe de scènes, semblable par exemple à Open Scene Graph. La différence vient de ce que le mien est un graphe fonctionnel pur, écrit en Ocaml.

Fonctionnel pur, c'est à dire que chacun des nodes du graphe est immutable (pour ceux que le C++ parle plus, cela revient à n'avoir que des classes aux méthodes et attributs constants). Cela veut dire également qu'à chaque changement, il faut reconstruire le graphe. Cela peut sembler vaguement inefficace, mais c'est en tous cas très pratique à programmer. La garantie, une fois que le noeud a été crée, qu'il ne changera pas, permet une forte réutilisation du graphe. De plus, il y a un noeud spécial qui permet de placer les noeuds fils dans une liste compilée, afin d'accélérer le rendu. Enfin, (mais ce n'est pas lié à la contrainte de fonctionnalité pure), le GC d'Ocaml aide beaucoup à ne pas se soucier des problèmes mémoire. Pour comparaison, le compteur de références d'Open Scene Graph est un poil compliqué à utiliser au premier abord, et il est trop facile de faire des erreurs.

On verra bien ce que cela donnera et si j'arriverai à en faire quelque chose!






Here are a few screen captures of the project on which I am vaguely working now at my idle time. This is a scene graph, similar for example to Open Scene Graph. The difference is that mine is a purely functional graph written in Ocaml.

Purely functional means that each node of the graph is immutable (for those more on the C++ side, it would be more or less equivalent to have classes with only constant methods and attributes). It means that for each change of the scene, the graph needs to be reconstructed. It can seem inefficient, but it is very easy to program with such a data structure. The guarantee that once a node has been created, it will not change during its lifetime, is extremely useful for reusing entire pieces of the graph. In addition to that, I've created a node that creates a compiled list of the children nodes, to accelerate rendering. Finally (but that's not related to the purely functional side of the things), Ocaml's GC helps a lot for all the complex memory issues that arise with a complex graph. By comparison, the reference counter used in Open Scene Graph is slightly complicated to understand, and quite error-prone.

We'll see how it will evolve, and if I'll be able to do something out of this!

dimanche, mai 06, 2007

Bon, Sarko est élu. La démocratie a parlé.

Ce qui demeure, c'est surtout une vague crainte de ce que seront ces 5 années à venir. Je fais entièrement confiance à Nicolas pour "redonner le moral aux patrons", mais les points qui m'inquiètent le plus sont ceux des libertés individuelles, dont notre nouveau président (il va falloir que je m'y fasse!) a l'air de faire peu de cas. Je citerai en vrac le fichage, les DRMs, les logiciels libres, mais aussi les ordinateurs de votes, lesquels me semblent une des plus grandes menaces pour la démocratie à l'heure actuelle.


Sarko is elected, democracy has talked.

What remains is a vague fear of what the 5 incoming years will look like. I fully trust Nicolas on pleasing the upper class, but I am a bit more concerned about individual freedoms, of which our new president (I'll have to get used to it!) does not seem to care much. I'll cite for example DRMs and free software, but also voting machines, which seem to me as being one of the biggest threats to democracy.

mercredi, mai 02, 2007

Le débat Nico-Ségo est pour bientôt! Pour ceux qui n'ont pas les chaines françaises, vous pouvez le lire via ce feed : mms://live.france24.com/france24_fr.wsx de France24.


The Nico-Ségo debate is nigh! For those who do not get the French channels, you can use this feed from France24: mms://live.france24.com/france24_en.wsx de France24.

mardi, mai 01, 2007

J'allais pester contre ces gens qui achètent des places de concert / sacs de course design / vêtements de la ligne Kate Moss et qui les revendent immédiatement après sur e-bay en faisant un bénéfice non négligeable (et probablement non imposé), mais je me suis tout d'un coup souvenu que les entreprises pour lesquelles je travaille font strictement la même chose, à plus grande échelle. Cela s'appelle l'arbitrage.


I was going to rant against these people who buy concert tickets / designers shopping bags / Kate Moss's line clothes and sell them immediately for a healthy (and probably tax-free) profit, but I'm holing off as I just remembered that the industry I'm working on is doing exactly the same thing, just bigger scale. It's called arbitrage.