Bienvenue sur PEBKAC.fr, le site qui recense les anecdotes où l’on se moque des utilisateurs ne maîtrisant pas l’outil informatique. PEBKAC est un acronyme signifiant « Problem Exists Between Keyboard And Chair ».
Le problème se situe entre la chaise et le clavier : soumettez vos histoires, donnez votre avis !
Ce site n'est pas le site original pebkac.fr. Je publie ici la liste des PEBKAC que j'ai pu sauvegarder avant que le site original ne soit mis hors ligne.
En reprenant mon vieux code ce matin pour une évolution sur des pages en place depuis pas mal de temps, j'ai retrouvé quelques perles, dont celle-ci qui m'a achevée :

bool b = BoolFunction(boolValue ? true : false);
this.BoolProperty = b ? true : false;

Il n'y a pas à dire, à mes débuts j'étais un bon… PEBKAC.
PEBKAC #8643 proposé par Shadam le 24/09/2013 | 14 commentaires | 👍🏽 👎🏽 +156
Un tel code, ça fout les bool
Commentaire #112433 écrit par spidermoon le 24/09/2013 à 08h33 | 👍🏽 👎🏽
Moi aussi je préfère utiliser mes propres fonctions pour les booléens lorsque je code.
C'est vrai quoi, les booléens par défaut n'acceptent même pas les valeurs "ni vrai ni faux", "schrödinger" ou "indémontrable".
Commentaire #112435 écrit par Gné? le 24/09/2013 à 09h00 | 👍🏽 👎🏽
Est-ce que ça accepte les valeurs "quantique" ou "paradoxe" ?
Commentaire #112438 écrit par ChainsawAxis le 24/09/2013 à 09h07 | 👍🏽 👎🏽
Tout le monde sait qu'il manque la valeur FileNotFound...
http://thedailywtf.com/Articles/What_Is_Truth_0x3f_.aspx
Commentaire #112453 écrit par Acné le 24/09/2013 à 10h22 | 👍🏽 👎🏽
Les soviétiques y avaient pensé. ^^;
http://jisseo.blog.lemonde.fr/2012/08/27/l-incroyable-systeme-ternaire[...]
Commentaire #112484 écrit par mAn le 24/09/2013 à 15h25 | 👍🏽 👎🏽
On bosserait donc avec des tits .... wait what ?
Commentaire #112486 écrit par mini le 24/09/2013 à 16h03 | 👍🏽 👎🏽
En ce cas, j'exige de travailler avec des boobséens.
Commentaire #112490 écrit par Ishido le 24/09/2013 à 17h12 | 👍🏽 👎🏽
Gosh. Merci mAn, je vais de ce pas me documenter sur ce système ternaire.
Commentaire #112497 écrit par Till Gray le 24/09/2013 à 18h36 | 👍🏽 👎🏽
Impossible de se baser sur le sens de transfert pour créer une marque de donnée supplémentaire.
Pourquoi ?
Bin parce que les données ne vont que dans un seul sens, ça peut être bidouillé pour du hardware local à la rigueur (j'en sais rien, je fais pas d'électro), mais pour du réseau... t'es bien dans la merde.
2 machines au bout d'un cable:
Machine A: "Aucun courant"
Machine B: "Ok"
Machine A: "Tiens du courant"
Machine B: "Cool merci"
Machine A: ...
Machine A: ..."Bin, tu m'envoies pas de courant ?"
Machine B: "???"

=> Non, pour envoyer une information, le courant doit aller dans un et un seul sens.
Commentaire #112514 écrit par Cartman34 le 24/09/2013 à 22h08 | 👍🏽 👎🏽
Je ne vois pas pourquoi le courant devrait se déplacer dans un unique sens. :)

Il faut différencier dans le courant électrique : le déplacement de la charge électrique (l'électron donc), et celui de l'information. Le premier est extrêmement lent, tandis que le seconde proche de la vitesse de la lumière si ma mémoire est bonne (d'où la quasi instantanéité).

Je ne saurai te prouver le déplacement lent des charges... mais en ce qui concerne le fait que les deux sens de parcours t'apportent de l'information est simple :

Imagine toi un circuit électrique tout simple, composé d'un générateur, d'une lampe et d'une LED en parallèle.
Comme tu dois le savoir une diode ne laissera passer le courant que dans un seul sens (et LED ne s'allumera donc que dans ce sens là), tandis que la lampe fonctionnera dans les deux sens.
Ainsi, on peut se retrouver avec 3 états différents dans notre circuit :
o) 1 : générateur dans le bon sens = ampoule et LED allumées
o) -1 : générateur dans le mauvais sens = ampoule allumée mais LED éteinte
o) 0 : générateur éteint = ampoule et LED éteinte

3 états, le courant qui peut circuler dans les deux sens.

-D'ailleurs à ce propos, j'imagine que le courant doit déjà circuler dans les 2 sens (mais avec 1 seul état associé) au sein d'un câble réseau, à l'initiative d'une carte réseau ou d'une autre... Quelqu'un de calé sur les couches bas niveau saurait-il confirmer ou infirmer ?-

Edit : Bon je me suis répondu tout seul en regardant les connecteurs d'un câble ethernet. Pour chaque sens de transmission est associé une paire de pins, donc un seul sens de circulation du courant.

Après pour un système ternaire/trinaire, on pourrait très bien rajouter deux paires supplémentaires pour le troisième état s'il est impossible en réseau d'inverser le sens du courant. :)
Commentaire #112519 écrit par mAn le 25/09/2013 à 00h32 | 👍🏽 👎🏽
Les électrons se déplacent très lentement, de l'ordre d'une cinquantaine de centimètres par heure :
http://fr.wikipedia.org/wiki/Vitesse_de_l%27%C3%A9lectricit%C3%A9

Il me semble que nos apareils électroniques ne font pas de ternaire parce que c'est plus compliqué de construire des circuits logiques dessus. Mais peut-être qu'on peut faire des transistors capables de gérer les données ternaires aussi petits que ceux que l'on a dans nos machines en ce moment.

@Cartman34 et @mAn : on peut très bien envoyer des données ternaires (ou même n'importe quelle base >= 2) à travers une paire de fils. D'ailleurs c'est déjà ce que tu fais avec ton circuit lampe/LED. Mais comme c'est techniquement plus complexe, et que toute notre électronique est faite pour gérer du binaire, on ne le fait pas.
J'espère ne pas dire de conneries mais il me semble que le matériel actuel est fait pour détecter des variations rapides dans un sens ou dans l'autre, plutôt que des voltages particuliers. C'est aussi une autre raison pour laquelle on fait du binaire en pratique.
Commentaire #112527 écrit par leafty le 25/09/2013 à 10h05 | 👍🏽 👎🏽
@leafty : en fait il y a les deux :
- soit les 2 états sont l'absence ou la présence de DDP, mais toujours du même signe (souvent par rapport à une masse commune) ;
- soit les 2 états sont caractérisés par le signe de la DDP.
DDP : différence de potentiel (qui est un meilleur terme que sens du courant).

Le principe de signe de DDP est utilisé par exemple par les transmissions LVDS : http://fr.wikipedia.org/wiki/LVDS
Commentaire #112528 écrit par Acné le 25/09/2013 à 10h11 | 👍🏽 👎🏽
J'ai du mal à voir comment un CPU pourrait fonctionner en ternaire. A l'heure actuelle, on envoi du potentiel d'un côté, et le courant circule à travers les transistors vers le neutre, comme une rivière dont chaque embranchement guide le courant d'un côté ou de l'autre.

Mais en ternaire, il n'y a pas de potentiel ou de neutre. Chaque transistor doit être capable d'émettre ou de recevoir des électrons. Il faut donc que chaque transistor ait accès à son propre potentiel et son propre neutre, afin de prendre ou jeter des électrons...

Ça rendrait la conception et l'optimisation des CPUs effroyablement plus complexe, les transistors seraient, eux aussi, plus gros et plus complexes. Ils chaufferaient plus, et ils seraient plus lents.

Au final, c'était une bonne idée d'abandonner ce projet.
Commentaire #112543 écrit par OzoneGrif le 25/09/2013 à 13h58 | 👍🏽 👎🏽
Grosse inexactitude dans cet article.

Il existe actuellement des circuits qui fonctionnent avec trois états (1/0/-1), mais ça n'en devient pas de la base 3 pour autant.

Au contraire, en gardant la base 2, ceci permet d'avoir plusieurs manières différentes de représenter une même valeur, et en particulier d'avoir une représentation canonique dans laquelle les 1 et -1 ne sont jamais consécutifs. On peut toujours transformer une séquence (1)1 en 1(0)(-1).

Avoir une représentation sans 1 ou -1 consécutifs élimine les longues dépendances sur les retenues qui forment en général le chemin critique d'un additionneur classique, ce qui permet d'avoir un circuit plus parallèle et donc plus rapide.
Commentaire #112616 écrit par b0fh le 26/09/2013 à 00h04 | 👍🏽 👎🏽