Liste à trous en Python

L’autre nuit, j’avais besoin de fabriquer des listes à trous. Me demandez pas pourquoi, ça m’a pris comme ça… Plus précisément, il me fallait des listes de longueur arbitraire, se finissant par une plage de trous, commençant par une première partie avec les entiers dans l’ordre et juste une certaine proportion de trous.

Si j’avais représenté les trous par des zéros ça aurait donné ça par exemple : [1, 2, 3, 0,  5, 6, 0, 8, 9, 10, 11, 0, 0, 0, 0, 0, 0, 0]. Ou alors ça [1, 2, 3, 4, 5, 6, 7, 0, 8, 9, 10, 11, 12, 13, 0, 14, 15, 16, 17, 18, 0, 0, 0]. Le genre simple et de bon goût. Et on aurait été vite couché.
...
Ouaip.
...
Seulement voilà, j’ai décidé de représenter les trous par la valeur booléenne vraie. Qui se dit True en Python. Tout ça pour faire une « liste à True ». Je vous dis pas après, le reste du code qui utilise ce genre de liste, comment c’est crade ! Mais bon, « liste à True » franchement, ça valait la peine ! (ou pas).

Voici le code de génération de la liste. long désigne la taille de la liste. coef désigne l’inverse de la densité de trous dans la première partie de la liste. stop désigne la fin de la première partie de la liste(*). Par défaut la valeur de stop est choisie au hasard.

from random import randintdef
listeàTrue(long=32, coef=4, stop=0):
  stop=stop or randint(1, long-1)
  return [1]+[(not randint(0, coef) or i+2) for i in range(stop)]+[True]*(long-stop-1)
print(listeàTrue(256, 10, 128))

Ah oui, ça me revient maintenant pourquoi j’avais besoin de ça : c’était pour tester un truc. Parce que je suis geek. Et les geeks, ça teste des trucs. Toute ressemblance avec un réplique de Merlin dans Kaamelott Livre VI(**) serait parfaitement volontaire.

(*) Ma vielle obsession des noms de variables faisant pile 4 lettres. Il y en a 456976, en général ça suffit.
(**) Je rappelle que "Livre VI" ça se lit "Livre 6" et pas "Livre Vie-Aïe".

Comment se désintoxiquer des vampires ?


La question concerne nombre d’entre nous. Et bien pour tout vous dire, c’est difficile. Très difficile. Alors cœurs sensibles épargnez-vous la suite de ce billet. Pour les autres, c’est parti : plongée dans l’horreur de l’addiction vampire.

Première étape : repérez les signes
Des signes il y en a partout. Mais les voyez-vous ? Vous regardez les twilight en boucle, même l’épisode 4 tout pourri. Vous avez même téléchargé l'épisode 5 sorti aujourd'hui. Et vous aimez ça ! Vous vous tapez toutes les séries de vampire : les true blood, vampire diaries, mais aussi les beeing human et autres death valey. Et vous aimez ça ! Bien sûr ça ne suffit pas, alors vous relisez frénétiquement vos Anne Rice, vos BD du prince des ténèbres. Et comme ça ne suffit pas non plus vous replongez dans les classeeks : le bal des vampires de Polansky, le Dracula de Copola, même Irma Vep. Et vous aimez ça !



Deuxième étape : admettez que vous êtes accros
Et un beau jour, ou plutôt un crépuscule, tous les signes sont là. Vous frissonnez de bonheur devant Ursaff Cancras Carbalas . Vous faites exprès de transformer votre perso Skyrim en vampire. Vous kiffez le doodle de Google sur Brahm Stocker. Et bien ce jour-là, vous devez vous rendre à l’évidence : vous êtes accros. Que dis-je, vous êtes a crocs ! Complètement mordu ! L’admettre est surement l’étape la plus difficile. Mais c’est aussi votre premier pas vers la guérison, vers les premiers rayons de l’aube.



Troisième étape : substituez !
Vous voulez vous en sortir. Ça oui. Mais c’est difficile. Bon sang que c’est difficile ! Personne n’y arrive seul. On ne sort pas d’une addiction, on la remplace par une autre. Ça aussi il faut l’admettre. Mais la liberté est à ce prix. À ce jour, un seul produit de substitution au vampire est réellement efficace : j’ai nommé le zombie. C’est douloureux mais croyez-moi, ça marche. Il faut remplacer sans pitié tous vos films, toutes vos séries, tous vos livres et BDs de vampire par leur équivalent zombie. Sur le coup c’est un déchirement. Un authentique travail de deuil. Alors laissez entrer la nuit des mort vivants, Shaun of the dead, Zombieland, et l’excellent, mais alors excellent walking dead. Tant que vous y êtes, lisez donc le temps du twist de Joël Houssin. Barré de chez barré, bien zombie, et avec des vrais morceaux de Led Zep dedans en prime.


Dernière étape : profitez de la nouvelle vie que s’offre à vous
Persévérez pendant au moins deux saisons de walking dead, forcez-vous. Faites-vous la série ET les comics, histoire de mettre toutes les chances de votre côté. Suivez à la lettre les consignes de sécurité. Lisez et relisez le guide de survie en territoire zombie. Tapez-vous Brad Pitt dans World War Z (ou tapez-vous World War Z tout court, c’est selon). Explorez même le côté scientifique de la chose en lisant cet excellent papier. Et un beau jour, ça y est ! Vous ne pensez plus aux vampires. Vous êtes guéris ! Ou pas.

La dure loi du réseau

La trame, tu l’aimes ou tu l’acquittes !

Après la vie discrète, la vie en douceur

Qu'évoque pour vous le jeu de la vie ?
Ouaip, c'est bien au dernier que je pensais, la version de J.H. Conway. Si vous ne connaissez pas déjà, passez d'urgence quelques nuits devant en vous demandant si Dieu existe. Ou pas. Parmi les trucs qui me fascinent là-dedans : l'universalité du jeu de la vie, la recherche d'antécédents de configurations, la recherche de configurations sans antécédents dites jardin d'Eden (recherche qui fait singulièrement penser à "l'inversion" de fonctions de hachage), et tout les énoncés qui commencent par "la plus petite configuration qui...". Vous pouvez regarder ça pour vous faire une idée. Mon programme préféré pour expérimenter s'apelle Golly. Sa vitesse est absolument stupéfiante grâce à la mémoization.

Récemment une version continue dite SmoothLife a été publiée. Voici le papier et le code. Ça ressemble à ceci : 

Comment ça marche ? Le papier est bien expliqué et assez court, en voici les principaux éléments :
  1. Rendre le voisinage continu : la cellule de base est un cercle et le voisinage est un anneau autour du cercle. Typiquement de rayon trois fois plus grand, dans l'esprit du voisinage initial de J.H. Conway (les 8 cellules entourant la cellule centrale).
  2. Déterminer la vie et la mort des cellules en fonction de la proportion blanc/noir dans le voisinage. Le choix dépend de valeurs criteeks choisies au départ. C'est la fonction de transition.
  3. Rendre le temps continu, en calculant le taux de variation de la fonction de transition discrète, et en intégrant.
Après j'ai l'impression qu'il faut expérimenter beaucoup avant de trouver des valeurs limites conduisant à des phénomènes intéressants. Un phénomène intéressant c'est par exemple un planeur, qui permet notamment de "transporter" de l'information. 

Pour finir, je ne résiste pas à l'évocation du côté psychédéleek de la chose. Psychédéleek parce que les planeurs sont vraiment planant, parce que ça ressemble à un bad trip des années 70 en même temps j'avais deux ans, je me souviens plus trop, et parce que ça hypnotise très fort, comme cette vidéo d'une demi heure dont je ne me lasse pas ! Moins cher que l'aciiiide et meilleur pour la santé (ou pas).


(Flower Power by Villa-Chinchilla sur Deviant Art)

Concert d'Eluveitie à Rennes

Je sais pas vous, mais moi j'y étais. Pas le meilleur concert de ma vie, certes, mais plutôt sympa quand même.

Wisdom a correctement fait le boulot ; propre et avec conviction. Avec deux trois beaux trucs comme Heaven and Hell(*). Bon, j’ai quand même pas craqué mon slip non plus, faut pas déconner. Faut dire que le genre hair metal me va un peu moins avec l’age. Ouais je sais, sur Wipikédia ils disent power metal, mais en fait Wisdom c’est juste du hair metal. 

Sabaton était plutôt bon dans le genre qui saute dans tous les sens et qui envoie du gros pain, avec un Joakim Brodén survolté et plus musclé que jamais (l'enfoiré !). J’adore son look, un peu comme si David TMX avait le rôle de Wez dans Mad Max 2 et une gestuelle à la Bruce Dickinson. J’dis ça j’dis rien, c’est juste pour vous donner une idée


Eluvetie a littéralement MIS LA GUERRE ! Sérieux, j’étais venu pour eux et ben j’ai pas été déçu (comme à chaque fois). Certes c’était un peu court : pour moi il manquait deux chansons. Notez bien qu’ils auraient fait deux chansons de plus, j’aurais quand même trouvé ça un peu court. Et puis j’étais là où ça bougeait vraiment, genre 100% immergé à deux mètres de la scène. Du coup, à fond dans l’ambiance, mon temps subjectif s’est peut-être écoulé un peu rapidement... Ils nous ont administré un bon mix de chansons, du massif, du bretonnant, du classeek... Le nouveau grateux, Rafael-Salzmann (comme ça se hurle) est un bon p’tit gars : bien thémateek genre barbelé et gros son poilu. Il en a même pété sa guitare dès la deuxième chanson, c'est pour dire !

Ce qui m’amène à l’ambiance. Alors là pardon ! Du bon, du très bon. Surtout sur Eluveitie bien sûr mais aussi sur les autres. C'est pas pour la ramener mais la scène rennaise ÇA POUTRE ! Et tous les zikos l’ont carrément senti : ça se lisait sur leurs bonnes mouilles chevelues. Ils étaient juste heureux d’être là. Authenteek ! (Ahhh le sourire d’Anna Murphy :). Tiens, tant que j'y pense, spéciale dédicace à la jolie hardos qui a craqué sa robe en grimpant sur les épaules de ses potes. Personne ne lui en a voulu.

Quant à la salle, « l’étage » au liberté, elles est un peu moins bonne que l’Antipode point de vue acousteek et visibilité. Un peu trop en longueur en fait. À l’Antipode il y avait un peu plus de place pour tournicoter. Ceci dit on s’est démerdé quand même pour gigoter gentiment :)

Bon tout ça pour dire quoi ? Concert plutôt sympa, Eluveitie au top.


(*) Rien à voir quand même avec le Heaven and Hell de BlackSabath, le vrai, l’uneek. Avec son riff massif, à se poignarder de bonheur !

451eme degre

Bien inspiré le blog 451ième degré. Un peu geek, un brin cineek et impertinent, avec des visuel bien réalisés techniquement (pas comme les miens :). Vaut le coup d'oeil.

GeekWashing (bis repetita)

Allez hop, deux nouveaux GeekWashing. Le premier pour overcloacker son canapé. L'autre pour faire un bon mot de passe (ou pas).


Compte rendu de soirée

Pour faire simple : un très belle soirée entre potes. Parmi les sujets évoqués, et avant que tout ça ne s'efface de mon avant bras gauche :
  • "GeekEa" : juste une idée pour geekwasher IKEA dans un prochain billet.
  •  Psyopus : du bon métal qui colle sous les bras. À explorer, mais déjà le morceau "The Burning Halo" poutre sérieusement.
  • Cephalic Carnage: du solide de chez solide, séverement burné, avec renforts en titane, cf. "Endless Cycle of Violence" ou "Ontogeny Of Behavior" qui rappellent les plus belles heures de Kreator (Endless Pain) au vieux métalleux que je suis.
  • Trois couleurs Bleu, puis blanc, puis rouge : avec cette scène sublime où Juliette Binoche se déchire le poing contre un mur.
  • Asking Alexandria : que du bonheur à s'injecter bien profond, par ici et par là. Prenez le temps de regarder les vidéos, avec de superbes parties en slomo. Ou pas.
  • La turbulence des fluides : juste pour prouver qu'Europa Corp fait aussi du bon, du très bon (IMHO).
Et puis spéciale dédicace au Lambrusco Amabile, aux brasseries Lancelot et à la Chouffe.




 


GeekWashing (encore)

Je sais pas vous, mais le greenwashing me gave. Je passe au geekwashing, voir billet précédent. Et hop, voici deux nouveaux logos geekwashés. Quand on a commencé on s'en lasse pas... Merci au créatif de 15 ans (pile aujourd'hui !) pour l'idée du Copié-Collé. 



GeekWashing (suite)

Je sais pas vous, mais le greenwashing me gave. Je passe au geekwashing, voir billet précédent. Vu l'actualité, je ne pouvais pas faire mieux que geekwasher les anneaux olympeeks ; ce qui donne les carreaux olympeeks. Et hop, deux nouveaux fonds d'écran (ou pas).



GeekWashing

Ça fait quelques années qu’on nous rabat les oreilles avec le GreenWashing (in french, l’écoblanchiment). Or les oreilles on en a besoin pour s'enfoncer ça très très fort dedans.

En fait GreenWashing c’est juste un nom pour l’habituel pipo écolo. L’exemple de base c’est le logo McDonald’s qui passe du rouge au vert. Il y a eu aussi la lessive le chat qui ajoutait du colorant vert dans nos rivières (en plus des tensio-actifs et des phosphates), et bien d'autres. On attend avec impatience les cigarettes bios, la corne de rhinocéros équitable et le mazout à faible empreinte carbone.

Alors pour pas trop m’ennuyer dans l’intervalle, je me mets au GeekWashing. C’est tout pareil : relooker des marques pour qu’elles fassent geek, alors qu’en fait non. Allez tiens : je vous mets deux logos écoblanchis aux petits oignons. Dans le domaine alimentaire, histoire de commencer...