Vive la liberté d’expressionotron

Voilà déjà quelques temps que mon twitter bot expressionotron a dépassé le nombre hallucinogénatoirement élevé de 30 followers. On en est même à 36.

Comme promis dans cet article, j’ai libéré le code source de cette incommensurable œuvre.

C’est sur mon compte github : tout bien documenté, avec la config de mise en production, la doc de conception, etc. J’aime la doc.

bande dessinée de Gaston Lagaffe documentation

Au départ, j’avais prévu de ne libérer que le code source, sans les listes de morceaux de phrases utilisés pour créer les expressions. Sauf que je me suis vautré et j’ai tout balancé d’un coup dans github. J’aurais pu supprimer les listes après coup, mais ça aurait toujours été possible de les retrouver en fouillant les logs. J’aurais également pu effacer tout le repository et repartir de zéro, mais j’avais la flemme.

De plus, je n’avais pas envie de maintenir une version publique sans les morceaux de phrases et une version privée avec. Donc, ça suffit les bêtises, on libère tout, c’est beaucoup plus simple. Ça n’en est que mieux pour vous. (À condition d’admettre le postulat initial que ça vous intéresse).

Pour la suite

L’expressionotron continue sa quête de célébrité. La prochaine étape sera d’accorder les adjectifs avec les noms. En effet, actuellement, tous les adjectifs sont au masculin, alors qu’il y a quelques noms féminins. Ce qui peut provoquer quelques incohérences grammaticales, tel que :

Ça corrode de la prostate néo-myxomateux au point godwin !! CXI !!1!

Pour diminuer le risque de faute, j’ai intégré assez peu de noms féminins. Il serait maintenant louable de corriger ce problème et d’implémenter l’accord nom-adjectif, afin de pouvoir se permettre d’ajouter des noms de tous genres.

Pour 40 followers, je me lance dans cette tâche.

Suis-je un vilain ?

D’aucuns et d’aucunes diront que mon expressionotron est sexiste, puisque je l’ai créé par défaut au masculin, et que ce n’est que bien plus tard que je songe à féminiser ses composants. Ouais c’est possible.

Je vais me permettre de poser la question : le masculin et le féminin, est-ce que c’est pareil que l’homme et la femme ?

Il existe des langages (l’anglais par exemple), dans lesquels le masculin et le féminin a moins d’importance : chaque nom d’objet est neutre (« it ») et les adjectifs sont invariables. Quelles sont les différentes manières, à travers le monde et les âges, de prendre en charge le féminin et le masculin dans une langue ? A-t-on absolument besoin d’y intégrer cette notion ? Comment est-ce pris en compte dans le langage des signes ? Est-ce qu’on se touche les seins ou les testicules à chaque fois qu’on veut accorder un adjectif ?

Je sais pas. Il faudrait peut-être chercher les réponses auprès des langages épicènes, dont nous parlerons peut-être dans un autre article.

De toutes façons, ce blog lui-même est sexiste, vu le type de photo incorporé à chaque article.

tumblr_o6utq94hzd1uaiz32o1_1280

Mais c’est comme ça. C’est vraiment ces images là que j’ai envie de vous montrer, que vous soyez une femme, un homme, ou entre les deux, ou totalement autre. J’espère que ça vous plaît.

Tondre un yak

Qu’est-ce donc que cela ?

En voici un exemple :

Il y a deux mois, j’ai voulu retirer des bitcoins pour faire des dons, ce qui a provoqué les problèmes que vous connaissez. J’ai alors créé mon propre service personnel de monétisation de liens (et plop). Ce service est hébergé sur pythonanywhere, lieu où officie également mon expressionotron. Cet ancien projet m’est revenu à l’esprit. Je me suis rappelé que j’avais promis une seconde version avec un panel de phrases élargi dans le cas où j’aurais suffisamment de followers sur le compte twitter associé. Je suis allé vérifier et il se trouve que j’ai récemment gagné le surcroît nécessaire à cette mise à jour. Youpi. Donc là je suis en train de bosser sur l’expressionotron, alors que l’action de départ consistait simplement à transférer des sous.

Et c’est pas fini, parce que pendant que je me penchais d’arrache-pied sur cet expressionotron, je me suis pris la tête avec la notion de package en python, et je me suis dit que ça mériterait un petit article ici ou sur le blog de Sam et Max, article auquel je m’attellerais ultérieurement, voire plus tard.

C’est ça la tonte de yak. On veut faire un tout petit truc au départ, censé prendre « juste 2 minutes ». Mais on s’aperçoit qu’il faut faire un autre petit truc avant, au sujet duquel on s’aperçoit qu’il faut faire un autre-autre truc avant, et ainsi de suite. On finit par devoir réaliser un truc pharaonique n’ayant aucun rapport avec le truc initial, et en général, ce truc, c’est tondre un yak.

La vie est faite d’enchaînement de ce genre. Mais j’ai l’impression que les activités liées à l’informatique sont encore plus sujettes à ça. Ça mériterait une réflexion plus approfondie, dans laquelle je ne me lancerais pas, sinon c’est pas un yak que je vais tondre, mais le troupeau entier.

milos-yak-heifer-grunniens-_med

J’ai découvert ce concept dans un commentaire de commitStrip (http:// www. commitstrip.com/fr/2013/09/24/yen-a-pour-2-minutes/?setLocale=1).

Son origine se trouve (à priori) ici (http:// projects.csail.mit.edu/gsb/old-archive/gsb-archive/gsb2000-02-11.html).

Bien évidemment, ça émane de gens n’ayant rien d’autre à foutre que de disserter sur la façon dont on peut perdre du temps, ce qui est en soi une perte de temps, ha ha ha, so meta. Ces gens sont des chercheurs du MIT. Moi aussi je suis chercheur, un chercheur tellement meta que j’en suis encore à chercher mon domaine de recherche.

À côté de ça, voilà presque 4 mois que j’ai changé de crémerie, j’ai promis un article à ce sujet que je n’ai toujours pas commencé. Mais tout va bien, c’est pas de la procrastination, puisque je fais quand même des trucs !! (C’est juste pas les bons trucs).

Allez, je me remet dans le code de ce génial expressionotron.

Je vous laisse avec une femme exerçant le métier de cowgirl. C’est plus simple que d’être informaticien-ne, car les vaches ont moins besoin d’être tondues que les yaks.

b5BVIqA

Ça destructure du schtroumpf clignotant à coups d’extincteur !!

Alors ces fêtes, bien ou bien ? Si vous avez chopé la gastro ces deux dernières semaines, sachez que c’est de moi qu’elle est partie. Ouais, je suis le patient zéro. Me remerciez pas, c’est naturel. (J’espère que je ne vous apprends rien lorsque j’annonce qu’une gastro, c’est naturel).

schtroumpf_pompier

Schtroumpf destructuré à coup d’extincteur.

Je me dois de vous expliquer l’origine du titre croquignolet de cet article. Pour cela, il faut remonter à un peu plus avant dans le temps.

Un peu plus avant

Je suis (du verbe suivre) avec une assiduité certaine le blog geeko-pythono-sexo-philosophile « Sam & Max ». Dans un de leur récent article, ils listent des services, gratuits et payants, permettant d’héberger des applications web (http:// sametmax.com/quel-hebergement-web-pour-les-projets-python/).

Je cherchais ce genre d’infos, car j’ai quelques petites idées de bidouilleries à offrir à l’internet. Malheureusement, je n’ai aucune expérience dans ce domaine. Figurez-vous que, malgré tous les trucs informatiques étranges que j’ai fait jusqu’à maintenant, je n’ai jamais eu besoin de créer/tuner/jackiser intégralement un site. Les services préconçus existants m’ont toujours convenu : ce blog, le magazine 42, SourceForge, InLibroVeritas, Ulule, IndieDb, etc.

Il y a longtemps de cela, je m’étais fait un site perso (avec un fond vert), hébergé par Alice/Tiscali. C’était du HTML statique, et je n’avais pas profité de toutes les folles possibilités de customisation offertes, alors que y’avait moyen d’y mettre du javascript, et peut-être même du php. Je n’ai pas honte de ce site perso, il brahmapoutrait du pingouin Linux freudien à la kqlqsh. C’était simplement une autre époque.

Or donc, pour tester et découvrir ces services d’hébergement, j’ai créé un expressionotron, c’est à dire un générateur de phrases d’exclamations époustouflantes. Et c’est ce que j’ai utilisé pour obtenir le titre de cet article.

J’ai codé la chose en python, avec la librairie Flask, et je l’ai encastré chez PythonAnywhere. Allez-y voir, et n’hésitez pas à marteler à outrance la touche F5, afin d’avoir une foule de formules cosmopolites à ressortir « en société » : http://recher.pythonanywhere.com/expressionotron

Des pythons (flasques) dans des flasques

Des pythons (flasques) dans des flasques.

Un peu après, mais quand même toujours avant

Fier de mes exploits, je poste un commentaire chez Sam & Max, annonçant la toute nouvelle existence de mon œuvre. Le concept est accueilli à bras ouvert, et Sam (le chien) me suggère de créer un twitter bot émettant une phrase à la con par jour.

Je connais encore moins les twitter bot que les bidouilleries web, mais puisque je suis en phase « découverte de nouvelles teshnologies », je me lance dans cette entreprise.

Comme on pouvait s’y attendre avec le fabuleux langage python : il y a une librairie pour ça. Elle se nomme, et c’est fort à-propos : twitter (http:// code.google.com/p/python-twitter/).

Cerise sur la choucroute, les gentils lutins de chez PythonAnywhere l’ont pré-installée. Quelques recherches internetienne, quelques lignes de code, quelques tests, et voilà-t-y pas qu’un robot à touitte sort vaillamment de mon cerveau (à défaut de sortir d’un robot-utérus fait en métal liquide).

Le premier twitter bot, créé en 1739

Le premier twitter bot, créé en 1739.

Je vous invite donc à consulter, et surtout à vous abonner au compte suivant : https://twitter.com/expressionotron

Je suis bien content d’avoir réalisé tout ça. J’ai découvert des nouveaux trucs, et je peux maintenant mettre sur mon CV : « expert en programmation web ».

Ces exploits ne méritent pas vraiment un article décrivant en détail les aspects techniques. De la documentation sur Flask et Bottle, il y en a à la pelle (voire à la bouteille). PythonAnywhere a son propre tutoriel intégré dans le site. Quant au twitter bot, j’ai trouvé assez rapidement un exemple, incluant du code et des infos sur les mystères de l’OAuth. Il est par là (http:// wilsonericn.wordpress.com/2011/08/22/tweeting-in-python-the-easy-way/).

Si vous insistez en me mettant plein de commentaire, je ferais un tutoriel maison ici. Mais honnêtement, je pense que vous n’avez pas besoin de plus que ce qui existe déjà ici et là. Bonne débrouille !

L’idée originale de l’exressionotron ayant été piquée chez nioutaik, je l’ai bien évidemment crédité. Je me suis également fendu d’un joyeux clin d’œil : l’avatar du twitter bot est une version pixel-art-paint minimaliste de l’OMG-tortoise, égérie (s’il en est) de l’expressionotron nioutaikien (http:/ www. nioutaik.fr/index.php/2007/09/06/386-l-expressionotron).

Coïncidence ? Mmmhh... Pas sûr.

Coïncidence ? Mmmhh… Pas sûr.

Et pour après ?

J’ai envie d’améliorer le concept, mais je ne le ferais que si des gens s’y intéressent, et sont prêts à flatter mon ego en échange de mon travail. Car : oui ! C’est du Travail !

Au fur et à mesure que le twitter bot atteindrait de plus en plus de followers, j’augmenterais les fonctionnalités et la diversité des phrases rigolotes. Voici les étapes prévues :

  • Si j’ai 24 followers, je corrige les fautes d’orthographes, j’améliore la gestion de la seed, et je rajoute 50 verbes, 50 noms, 50 adjectifs et 50 trucs de fin. Sachant qu’il y a actuellement une centaine de chacun de ses éléments.
  • Pour 30 followers, je libère le code du site et le mets sur github. Mais je ne libèrerai pas encore les listes de mots.
  • Pour 40 followers, je corrige les fautes d’accord entre les noms et les adjectifs, et j’en profite pour rajouter une cinquantaine de noms, majoritairement féminin.
  • Pour encore plus de followers (nombre restant à déterminer), je rajoute encore des mots, et je les regroupe par champ lexical. Vous pourrez alors générer une expression spécial Star Wars, spécial Magic The Gathering, spécial jeux de rôles, etc. Vous pourrez également mixer plusieurs champs lexicaux.
  • Pour encore-encore plus de followers, je publie les listes de mots des premières versions, je rajoute d’autres champs lexicaux, je crée une interface permettant de construire manuellement son expression en piochant ce qu’on veut.
  • Il est certainement possible de trouver encore plein d’idées bien débiles. Les possibilités d’extension sont infinies.

Il y a déjà 14 followers, la première étape devrait être franchissable, j’ai bon espoir.

Alors, venez vous agglomérer, petits twittos. Faites comme les mannequins du site Scoreland, mettez-vous en file indienne et suivez-moi !

score_sixpack14

Ni avant, ni après, mais d’autre part

J’ai écrit deux articles de pythonneries sur le blog de Sam et Max. Je vous en parle plus tard.

Le magazine 42 est paru depuis le jour de la fin du monde. C’est le dernier numéro. Notre aventure s’arrête là. Il y aura bien sûr un petit article récapitulatif de ce que j’y ai fait, et quelques explications de cet arrêt.

Seed expressionotronatoriale du titre de cet article : 183058273_001

Seed du brahmapoutrage des pingouins Linux : 238201767_001

On va pas se laisser brahmapoutrer comme ça ! Quak quak !

On va pas se laisser brahmapoutrer comme ça ! Quak quak !

Dernière minute, de type « et merde ! »

Pas merci à ce putain de WordPress, de foutre automatiquement des liens là où j’ai absolument pas demandé qu’il en foute, et que faut justement PAS que y’en ai. Putain de bordel de connerie de truc de daube. C’est trop demander d’avoir juste du TEXTE SIMPLE dans un article comportant du TEXTE SIMPLE ?

Donc à partir de maintenant, les liens en clair, que je mets à côté des liens avec intermédiaire publicitaire, seront écrits en gris, italique, et SANS LE H DE « HTTP » ! Sinon ce connard de WordPress me les transforme automatiquement en lien cliquable, et je veux justement pas qu’il le fasse ! Je veux obliger les gens à cliquer sur les liens à pub, tout en donnant quand même la cible du lien, si jamais un jour l’intermédiaire publicitaire sus-mentionné a un problème, me claque entre les doigts ou me supprime mon compte pour une raison quelconque.

Et maintenant je vais devoir reprendre TOUS mes articles, pour corriger cette connerie. SUPER WORDPRESS, SUPER ! J’avais exactement besoin de ça ! Putain, heureusement que c’est gratuit, sinon je serais VRAIMENT en train de râler !

Plus qu’à espérer que personne n’invente de protocole intitulé « ttp », sinon je suis bon pour tout re-re-faire. TROP BIEN ! ÇA DÉPUCELLE DU ZOMBI NEURASTHÉNIQUE À LA PELLE À TARTE ! JE SUIS TROP HEUREUX!

Edit 2013-11-24 : Bon, j’ai trouvé une astuce un tout petit peu moins dégueulasse. Si je colle des espaces en plein milieu de l’URL, ça vire la mise en forme automatique. C’est ce que je suis en train de faire, sur tous mes articles.