Ils sont parmi les premiers acronymes que l'on apprend en informatique : RAM et ROM, respectivement pour Random Access Memory et Read Only Memory.
Si on comprend facilement qu'une mémoire « Read Only » (lecture seulement, si un anglophobe passe par là) ne change pas avec le temps et reste toujours la même, la pertinence du terme « Random access » (accès aléatoire) peut paraître plus discutable.

Pendant mes jeunes années, j'ai longtemps été obligé de retenir bêtement que « RAM = mémoire vive », ne voyant pas le rapport entre le sigle et son utilisation concrète. Pire, j'ai cru au tout début que cette zone servait uniquement au générateur de nombres aléatoires !
Et puis j'ai appris je ne sais plus trop comment la vraie signification. Mais j'ai pu constater que de nombreuses personnes baignaient toujours dans l'ignorance, et je me propose donc de partager mon savoir dans un acte de mansuétude d'une extrême munificence.

C'est un élément ambigu parmi d'autres de la nouvelle norme HTML5 : hgroup semble ne pas vouloir se dévoiler.

Si on lit la spécification officielle du W3C (en last call for comment actuellement), on reste un peu sur notre faim :

The hgroup element represents the heading of a section. The element is used to group a set of h1-h6 elements when the heading has multiple levels, such as subheadings, alternative titles, or taglines.

For the purposes of document summaries, outlines, and the like, the text of hgroup elements is defined to be the text of the highest ranked h1-h6 element descendant of the hgroup element, if there are any such elements, and the first such element if there are multiple elements with that rank. If there are no such elements, then the text of the hgroup element is the empty string.

— W3C

Autrement dit, hgroup ne permet pas de faire des tables des matières, mais au contraire d'aider à leur création !
Un minimum d'explications s'impose…

Je m'aperçois avec honte que je n'ai jamais parlé de Life Game sur ce blog.
Enfin si, une fois, un petit coup d'auto-promo dans les liens du jeudi, tome 12. Mais cette fois, je vais essayer d'en dire un peu plus.

Soyons compatissants pour le neamarophobe (ou noob-neamar) et décrivons en quelques lignes le concept Life Game. Ah, non… c'est impossible.
Life game est un jeu sans être un jeu, un moteur physique sans en être un, une application indispensable et inutile, un truc pour rêver ou perdre du temps.
C'est extrêmement difficile de justifier un concept inutile, alors plutôt que d'essayer de dire « pourquoi LG (Life Game) est intéressant », je me contenterai d'expliquer l'applet en lui-même.

Vous arrivez dans un univers tout noir. Par la puissance de votre souris, vous pouvez faire apparaître des particules de différentes natures, qui interagiront pour donner des réactions plus ou moins complexes. Par exemple, un mur de métal, vous faites couler de l'eau dessus, puis vous mettez du feu en dessous… et voilà, vous avez réinventé la casserole.
Pas convaincu ? Faites couler du sable dans une fournaise, récupérer le verre fondu qui en ressort pour des applications encore plus tordues.
Toujours pas convaincu ? Il va falloir essayer pour comprendre l'étendue des possibilités. Soyons clair : il n'y a strictement aucun but. Vous pouvez nettoyer votre écran à tout moment, changer la taille de votre pinceau, faire couler des milliers de particules dans une débauche de trous noirs, le programme n'affichera jamais GAME OVER. Pas plus qu'il n'affichera WELL DONE. En fait, LG est là pour catalyser votre pseudo-créativité en offrant un support de rêverie. Il n'est intéressant qu'avec l'esprit vide et décontracté ; sinon on a l'impression de perdre du temps.

Lors de la réalisation du jeu A-Graphe, je m'étais frotté à « la représentation graphique automatisée d'arbres mathématiques ». Ouch, dit ainsi ça fait mal.

Pour ceux qui ne connaîtraient pas, un arbre est une forme particulière de graphe dans lequel on n'autorise pas les cycles : c'est-à-dire que si on descend d'élément en élément, on atteindra forcément un nœud final (les nœuds atteints de cette façon sont nommés feuille). À l'inverse, si on remonte n'importe quel élément, on finira toujours par tomber sur le même nœud (la racine de l'arbre).

Un arbre au sens strict est une structure mathématique abstraite de sa représentation graphique : si l'on veut, on peut représenter tous les nœuds (le terme nœud désigne les sommets ; donc la racine, les feuilles, et les nœuds qui les relient) au même point (au détriment de la lisibilité) ou faire des imbroglios de « fils » en plaçant les éléments au hasard. Bien entendu, on a souvent besoin de présenter une information claire à l'internaute, et on ne peut se permettre de lui donner un pâté immonde (sauf si le but du jeu est de démêler ledit pâté). Le but de cet article sera d'envisager deux façons de structurer l'arbre automatiquement : d'abord, par un positionnement statique (le plus simple), ensuite par un positionnement dynamique (plus complexe, mais avec des meilleurs résultats).

Allez, la partie aride est terminée, maintenant on s'amuse !

Allez, je vais jouer franc-jeu : en commençant ma série « Le top 5 de la BD », je n'avais que trois titres en tête. Mais je pensais bien avoir des découvertes extraordinaires dans l'année sur laquelle la saga allait s'étaler… ce qui me plaça finalement face au délicat problème de choisir sans recul les deux nouveaux élus. J'ai hésité avant d'inclure « Zorn et Dirna », longuement considéré « Berceuse Assassine » pour finalement trouver mon dernier candidat : « la vengeance du comte Skarbek », scénarisé par Sente et dessiné par Rosinski.