Journal
Ce journal contient 13 entrées.
xkcd: Automation
C'est bien vu. Préférez toujours la réutilisation d'un code existant, une librairie ou un outil plutôt que vos propres codes (qui devront malheureusement être maintenus). Toutes proportions gardées, bien entendu.

Melody's Guide to Programming Language
Avec l'âge et l'expérience, je ne supporte vraiment plus les "frameworks" Java. Récemment j'ai du refaire du Spring et... franchement.
Quand un aigle d'Australie abat un drone en plein vol
Une solution au problème des drones ? :)
Bon ok, ça ne vaut probablement pas ces lasers portables à détection automatique :
http://www.boeing.com/features/2015/08/bds-compact-laser-08-15.page
https://www.youtube.com/watch?v=z9TL6sLnjA4

Bon ok, ça ne vaut probablement pas ces lasers portables à détection automatique :
http://www.boeing.com/features/2015/08/bds-compact-laser-08-15.page
https://www.youtube.com/watch?v=z9TL6sLnjA4
xkcd: Tasks
Cette planche est tellement vraie. Grossièrement traduit, ça donne :
- quand un utilisateur prend une photo, l'application doit vérifier s'il se trouve dans un parc national...
- ok, c'est juste une vérification à faire avec les coordonnées géographiques.
- ... et vérifier s'il s'agit d'une photo d'oiseau.
- j'aurais besoin d'une équipe de recherche et de cinq ans.
Légende : En informatique, il est parfois difficile d'expliquer la différence entre le facile et le pratiquement impossible.
Et le texte alternatif est très parlant lui aussi :
"In the 60s, Marvin Minsky assigned a couple of undergrads to spend the summer programming a computer to use a camera to identify objects in a scene. He figured they'd have the problem solved by the end of the summer. Half a century later, we're still working on it."
Pour info, Marvin Minsky est l'un des grands acteurs de l'intelligence artificielle.

- quand un utilisateur prend une photo, l'application doit vérifier s'il se trouve dans un parc national...
- ok, c'est juste une vérification à faire avec les coordonnées géographiques.
- ... et vérifier s'il s'agit d'une photo d'oiseau.
- j'aurais besoin d'une équipe de recherche et de cinq ans.
Légende : En informatique, il est parfois difficile d'expliquer la différence entre le facile et le pratiquement impossible.
Et le texte alternatif est très parlant lui aussi :
"In the 60s, Marvin Minsky assigned a couple of undergrads to spend the summer programming a computer to use a camera to identify objects in a scene. He figured they'd have the problem solved by the end of the summer. Half a century later, we're still working on it."
Pour info, Marvin Minsky est l'un des grands acteurs de l'intelligence artificielle.
Cars like computers?
Et tout comme les voitures, il faudrait un permis :)
Je vous traduis approximativement ma préférée (les termes automobiles en l'anglais n'ayant pas forcément d'équivalents logiques en français) :
Helpline: Service technique de General Motors, comment puis-je vous aider ?
Customer: Je suis entré dans ma voitures, j'ai fermé les portes et rien ne s'est produit !
Helpline: Avez-vous utilisé votre clé de contact pour enclencher le démarreur ?
Customer: C'est quoi un démarreur ?
Helpline: C'est un moteur électrique alimenté par votre batterie, qui démarre le moteur à combustion.
Customer: Contact ? Démarreur ? Moteur ? Batterie ? Pourquoi devrais-je connaître tous ces termes techniques juste pour utiliser ma voiture ?

Je vous traduis approximativement ma préférée (les termes automobiles en l'anglais n'ayant pas forcément d'équivalents logiques en français) :
Helpline: Service technique de General Motors, comment puis-je vous aider ?
Customer: Je suis entré dans ma voitures, j'ai fermé les portes et rien ne s'est produit !
Helpline: Avez-vous utilisé votre clé de contact pour enclencher le démarreur ?
Customer: C'est quoi un démarreur ?
Helpline: C'est un moteur électrique alimenté par votre batterie, qui démarre le moteur à combustion.
Customer: Contact ? Démarreur ? Moteur ? Batterie ? Pourquoi devrais-je connaître tous ces termes techniques juste pour utiliser ma voiture ?
Job Interview - Saturday Morning Breakfast Cereal
Tellement réaliste.
La version en français ici : http://cereales.lapin.org/index.php?number=3267

La version en français ici : http://cereales.lapin.org/index.php?number=3267
Esoteric programming language - Wikipedia, the free encyclopedia
Comme j'ai fait référence à Brainfuck et à Chicken dans le post précédent, voilà une liste de langage de programmation exotique/ésotérique, certains d'entre eux étant de vrais langages et d'autres étant conçus uniquement pour être difficile à lire ou à écrire :)
Mes petits préférés :
http://en.wikipedia.org/wiki/LOLCODE
LOLCODE, avec ses instructions basées sur les idiomes Kikoolol.
http://en.wikipedia.org/wiki/Whitespace_%28programming_language%29
Whitespace, un langage où les instructions sont codées par des espaces, des tabulations et des sauts de ligne.
http://www.dangermouse.net/esoteric/piet.html
Piet, dont les programmes sont des bitmaps qui ressemblent aux oeuvres abstraites de Piet Mondrian.
http://en.wikipedia.org/wiki/Ook_Ook
Ook Ook, une syntaxe alternative du Brainfuck qui encode les noms d'instruction dans des combinaisons de "Ook" (les lecteurs de Terry Pratchett comprendrons).
Et le grand prix revient au Malbolge (http://en.wikipedia.org/wiki/Malbolge), un langage type assembleur pour une machine virtuelle trinaire où chaque instruction a un comportement arbitraire qui peut dépendre à la fois des valeurs des registres mais aussi des adresses. De plus, un programme exécuté est naturellement polymorphe, les instructions étant ensuite remplacées par d'autres une fois exécutées.
D'autres détails amusants viennent perturber la compréhension des programmes, tant et si bien qu'il a fallu, je cite, "deux ans au premier programme Malbolge pour apparaître. Le programme n'a même pas été écrit par un être humain : il a été généré par un algorithme de recherche par faisceaux conçu par Andrew Cooke et implémenté en Lisp."

Mes petits préférés :
http://en.wikipedia.org/wiki/LOLCODE
LOLCODE, avec ses instructions basées sur les idiomes Kikoolol.
http://en.wikipedia.org/wiki/Whitespace_%28programming_language%29
Whitespace, un langage où les instructions sont codées par des espaces, des tabulations et des sauts de ligne.
http://www.dangermouse.net/esoteric/piet.html
Piet, dont les programmes sont des bitmaps qui ressemblent aux oeuvres abstraites de Piet Mondrian.
http://en.wikipedia.org/wiki/Ook_Ook
Ook Ook, une syntaxe alternative du Brainfuck qui encode les noms d'instruction dans des combinaisons de "Ook" (les lecteurs de Terry Pratchett comprendrons).
Et le grand prix revient au Malbolge (http://en.wikipedia.org/wiki/Malbolge), un langage type assembleur pour une machine virtuelle trinaire où chaque instruction a un comportement arbitraire qui peut dépendre à la fois des valeurs des registres mais aussi des adresses. De plus, un programme exécuté est naturellement polymorphe, les instructions étant ensuite remplacées par d'autres une fois exécutées.
D'autres détails amusants viennent perturber la compréhension des programmes, tant et si bien qu'il a fallu, je cite, "deux ans au premier programme Malbolge pour apparaître. Le programme n'a même pas été écrit par un être humain : il a été généré par un algorithme de recherche par faisceaux conçu par Andrew Cooke et implémenté en Lisp."
Guess the Programming Language | Tutorialzine
Un petit jeu où l'on doit déterminer à quel langage appartient un petit bout de code. J'ai fait un superbe 20/20 (je savais bien que lire un tuto Erlang me servirait un jour !).
Après sur le principe ce n'est pas très difficile. Scala, Go, Groovy, etc. ressemblent à du Java. C et C++ se reconnaissent facilement avec leurs pointeurs, tout comme Objective C avec ses abominables paramètres. Perl ressemble à du PHP. C# ressemble à Java. Quant à Brainfuck et Chicken, pas la peine d'en parler :p

Après sur le principe ce n'est pas très difficile. Scala, Go, Groovy, etc. ressemblent à du Java. C et C++ se reconnaissent facilement avec leurs pointeurs, tout comme Objective C avec ses abominables paramètres. Perl ressemble à du PHP. C# ressemble à Java. Quant à Brainfuck et Chicken, pas la peine d'en parler :p
Si on débattait de l'arithmétique comme de la religion
Une fois n'est pas coutume, trollons un peu.
Pour ceux qui ne connaissent pas les Saturday Morning Breakfast Cereal, c'est par ici : http://www.smbc-comics.com).
Et il y a même une traduction francophone chez Lapin.org : http://cereales.lapin.org

Pour ceux qui ne connaissent pas les Saturday Morning Breakfast Cereal, c'est par ici : http://www.smbc-comics.com).
Et il y a même une traduction francophone chez Lapin.org : http://cereales.lapin.org
"Yoda Conditions", "Pokémon Exception Handling" and other programming classics
Il y a beaucoup de vocabulaire "officieux" dans le monde de la programmation (yoda conditions, stringly typed, refuctoring, heisenbug, baklava code, etc.). Il s'agit souvent de critiquer de mauvaises pratiques en les nommant de manière humoristique.
Dans le genre, mais peut être moins drôle, il y a les antipatterns :
http://en.wikipedia.org/wiki/Anti-pattern
http://c2.com/cgi/wiki?AntiPattern

Dans le genre, mais peut être moins drôle, il y a les antipatterns :
http://en.wikipedia.org/wiki/Anti-pattern
http://c2.com/cgi/wiki?AntiPattern
funny-manpages : man c
Dans le même genre que le post précédent sur les RFC d'avril, il y a le package Linux appelé funny-manpages (http://packages.debian.org/stable/funny-manpages), qui contient un ensemble de page man humoristiques. Ma préférée est sans doute la page "man c" qui décrit une commande pour produire des boissons (du café, par défaut) sur la sortie standard, avec toutes les options nécessaires. Petit exemple :
-q [quantité]
Taille de la 'tasse virtuelle' à remplir. L'échelle couverte est relativement arbitraire mais devrait répondre à l'essentiel des besoins...
1 dé à coudre.
2 tasse à expresso.
3 tasse à café normal.
4 chope.
5 chope d'administrateur système.
6 sceau.
Man c, en anglais : http://pwet.fr/man/linux/commandes/fun/c
La liste des funny-manpages : http://pwet.fr/man/linux/commandes/fun

-q [quantité]
Taille de la 'tasse virtuelle' à remplir. L'échelle couverte est relativement arbitraire mais devrait répondre à l'essentiel des besoins...
1 dé à coudre.
2 tasse à expresso.
3 tasse à café normal.
4 chope.
5 chope d'administrateur système.
6 sceau.
Man c, en anglais : http://pwet.fr/man/linux/commandes/fun/c
La liste des funny-manpages : http://pwet.fr/man/linux/commandes/fun
April Fools' Day RFC
Les RFC décrivent les standards "officiels" d'Internet (protocoles, spécifications et procédures), mais connaissez vous les RFC poisson d'avril ? Il s'agit de RFC loufoques, dont la plus connue est sans doute HTCPCP (Hyper Text Coffee Pot Control Protocol), une RFC qui décrit un protocole de contrôle de cafetière basé sur HTTP dont l'erreur "418 I'm a teapot" est bien connue des informaticiens.
Et saviez vous que chaque 1er avril (quasiment), l'IETF publie une RFC humoristique ? Transport d'électricité sur IP (RFC 3251), extension de TCP pour décrire l'humeur des paquets (RFC 5841), conception de protocoles plus rapides que la lumière (RFC 6921), routage moral (RFC 4041), introduction du Domain Pseudonym System pour la non-découverte de services (RFC 6593) ou encore transport de paquet IP par pigeon voyageur (RFC 1149). Cette dernière a d'ailleurs même été implémentée en 2001 (http://www.blug.linux.no/rfc1149/).
HTCPCP en français : http://ylescop.free.fr/mrim/protocoles/rfc-fr/rfc2324.htm
Le même, en anglais : http://tools.ietf.org/search/rfc2324
Un site de traduction des RFC en français : http://abcdrfc.free.fr/

Et saviez vous que chaque 1er avril (quasiment), l'IETF publie une RFC humoristique ? Transport d'électricité sur IP (RFC 3251), extension de TCP pour décrire l'humeur des paquets (RFC 5841), conception de protocoles plus rapides que la lumière (RFC 6921), routage moral (RFC 4041), introduction du Domain Pseudonym System pour la non-découverte de services (RFC 6593) ou encore transport de paquet IP par pigeon voyageur (RFC 1149). Cette dernière a d'ailleurs même été implémentée en 2001 (http://www.blug.linux.no/rfc1149/).
HTCPCP en français : http://ylescop.free.fr/mrim/protocoles/rfc-fr/rfc2324.htm
Le même, en anglais : http://tools.ietf.org/search/rfc2324
Un site de traduction des RFC en français : http://abcdrfc.free.fr/
Ce journal est basé sur Ginger, un gestionnaire de lien minimaliste développé dans le cadre d'un stage de perfectionnement. Pour plus d'informations, consulter le wiki consacré à mes projets personnels.