Chat:Fr/2020-10-16
Zorg1: salut tout le monde et les bots au taquet, Automaton2000 & AutomatonNN
Automaton2000: c'est encore plus simple que ça
AutomatonNN: t'en penses quoi de tout le monde et AutomatonNN ?
dbdr: Zorg1: si jamais t'as besoin de chars: c'est quoi le "How is your CSB"? :D
dbdr: Legacy Softwares Division c'est bien trouvé
dbdr: ah tiens, splitted -> spit
dbdr: JBM tu vas faire quoi sur https://www.codingame.com/contribute/view/17003eec822217afc62c69b79111447a6448 ? 4 lignes de perl? un bootstrap?
Zorg1: dbdr : oui je peux mettre "How is ur CSB?" :D
dbdr: :D
Zorg1: mais je vais pas virer mon intro troll
JBM: oui alors en anglais c'est "how is *ur* csb"
dbdr: ben implementer le langage en lui-meme
Bob: fix ton memoire o/
dbdr: ça me semble Turing Complet
JBM: faut implem un BF avec pour verifier
dbdr: en voila une idée
dbdr: puis implémenter CGFunge en BF pour tester le tout
dbdr: et en faire une optim
Bob: optim it
JBM: ca va etre dur a bootstrap proprement sans instruction d'enree
dbdr: les entrées sur la stack?
JBM: y'a que des nombres sur la stack
dbdr: sinon faire un surensemble
dbdr: ya des choses qui sont pas des nombres en info?
JBM: le sur-ensemble est pas mal dans l'idee
JBM: va encore falloir que je me depeche de le resoudre pour etre sur d'avoir mon pseudo desus
dbdr: vanité des vanités
Haashi: miam les xp
Stilgart: dbdr: ne parle pas de stack, ça me rend nerveux :(
dbdr: haskell?
Stilgart: oui :(
Stilgart: JBM: de nos jours, le méta c'est juste de cocher la case qui dit qu'on a résolu le puzzle, pas de le résoudre vraiment
JBM: qu'on a valide les competences, tu veux dire?
Stilgart: ça c'est le deuxième temps
Stilgart: le 3e même
Stilgart: 1. tu acceptes sans résoudre
Stilgart: 2. tu copies-colles la solution de l'auteur pour faire 100%
Stilgart: 3. tu lootes de la compétence
JBM: mais elle est fausse la solution de l'auteur
JBM: bah j'ai qu'a corriger le statement
Stilgart: c'est pour ça que tu le fais sur des puzzles de gens connus/avec un gros niveau
Stilgart: ou alors... 2b. tu changes les jeux de test
Stilgart: (pas con, je vais la rajouter à ma roadmap)
Bob: ai-je le droit de dire que je ne comprends strictement rien a la config de webpack et webpack-dev-server ?
Bob: ok cool
CopperFr: qui a le droit ?
JBM: gare a pas te casser la voix
Bob: ni nous casser les noix
Bob: (plus important)
CopperFr: mais vous n'aurez pas ma façon de penser
Remoh69: bonjour, juste une question y'a t'il possibilte de down gradder de ligue pour tester un code sur une ligue anterieur?
Bob: non
Remoh69: je sais pas si ma question parait cohérente
MusicalScone_ea99: j'comprend rien à coders strike back wsh
JBM: oh oui, t'as loin d'etre le premier a te poser la question
Bob: il n'y a que dans les contribs multi en WIP ou tu peux choisir la ligue, pour verifier que tout fonctionne
Bob: mais une fois que c'est publie, non
MusicalScone_ea99: il demande quoi enfaite sur coders Strike Back
Remoh69: ouki
Bob: JBM : il y a un selecteur quelque part en haut de l'IDE je crois
Remoh69: sinon faut que je me fasse une simu nref on vera
Remoh69: bref*
Bob: bien sur il faut que le multi propose des ligues
JBM: voici qui me tranquilise un peu par avance pour tvc
JBM: benca faisait partie des raisons pour lesquelles je repoussais
Bob: MusicalScone_ea99 : tu dois diriger ton vaisseau pour lui faire faire le tour des checkpoints
Bob: pour ca, il faut que tu lui indiques un endroit a viser et une acceleration
MusicalScone_ea99: Oui ça j'ai compris mais en gros pour savoir l'endroit ou viser comment je fais ? je print la position ?
Bob: si tu veux aller en 200 455, tu printes 200 455, suivi de la valeur d'acceleration
Bob: c'est tres simple :)
Bob: apres, comment determiner le bon point a viser, c'est une toute autre histoire :)
JBM: yay, je passe le test1 de zorg
MusicalScone_ea99: Merci bien bob
Paikan2068: Hello, j'ai une question de compréhension C++, comme je me forme gentiment
Paikan2068: Je tente un DFS, qui semble bien marcher, je descends dans mon arbre et tout
Paikan2068: Mais à la fin, quand je veux remonter, les pointeurs sur l'objet précédent pointent sur l'objet courant
Paikan2068: Et le pourquoi du comment m'échappe : en fait, mon programme semble à tout moment avoir en tout et pour tout trois pointeurs, et oublier les autres, quitte à "réécrire" des trucs les uns sur les autres
Paikan2068: Il faut "copier" les pointeurs pour éviter qu'il ne soit réécrit par une boucle?
Bob: alors d'abord il faut bien faire la difference entre les pointeurs et les donnees sur lesquelles ca pointe
Bob: si tu fais const Bidule* a = new Bidule(); const Bidule* b = a;
Bob: tu as deux pointeurs mais un seul objet
Paikan2068: La j'ai un objet "Node" qui contient entre autres un pointeur sur un objet "Node", qui correspond à son parent
Bob: apres, c'est difficile d'en dire beaucoup plus sans voir exactement comment tu as code ton truc, mais a priori dans un DFS on a generalement besoin de conserver les etats "du dessus", donc tu devrais avoir un objet par etat
Remoh69: question bete en général quand je faisait rejouer dans les meme condition si je touchais pas mon code je reproduisait exactement le meme scénario je presume que si l'ia boss ou adverse inclu de l'aleatoire "rejouer dans les memes conditions" perd un peu de son charme lol
Bob: Remoh69: reponse bete : oui
Bob: sauf si ton code a toi n'a pas non plus un comportement deterministe, evidemment
Paikan2068: Je soupçonne du coup que l'état est "effacé" ou réécrit à cause de ma boucle
Bob: Paikan2068, c'est fort possible
CopperFr: les pointeurs :(
Remoh69: c'est con car j'ai un code dans l'arene qui me dit commande incorrecte et quand je l'ai tester win lol
Bob: d'une maniere generale des que tu vas descendre d'un niveau, tu crees un nouvel etat, donc tu devrais creer un nouveau Node
Bob: Remoh69, c'est moche
Bob: seule solution : trouver a la reproduire contre une IA deterministe
Paikan2068: Alors, je crée un nouveau node, mais son état disparait sans doute à un moment ou un autre
Bob: la, difficile d'en dire plus sans voir le code
Paikan2068: J'ai mis les principales lignes ici : https://pastebin.com/zTF6rFiC
Paikan2068: Le pointeur "current" devient à chaque fois un pointeur sur lui-même, sans que je comprenne pourquoi
Paikan2068: enfin dans le newNode
Paikan2068: et du coup, je bloque à la fin, parce que ma remontée d'arbre tourne en rond
Bob: tu fais un truc douteux
Paikan2068: J'apprends, donc je m'attends à faire des trucs merdiques haha
Bob: les Node que tu crees sont statiques
Bob: i.e. tu fais pas un "new Node()" mais "Node()"
Paikan2068: Faut que je me renseigne là-dessus alos
Paikan2068: J'ai pas dû bien comprendre la nuance du new
Paikan2068: Merci pour cette piste
Bob: bouge pas :)
Remoh69: je vais etre chiant quand on fait un system de log trop long au bout d'un moment dans les nombre de coup genre >100 il met mets le debut et ...
Remoh69: peut on avoir le log complet?
Bob: la en gros ligne 16 tu crees un Node
Bob: quand tu le pushes dans la stack, il faudrait verifier mais je pense que ca en fait une copie
Bob: donc la tu as deux objets au contenu identique
Paikan2068: Donc ça déjà c'est sous-optimal, je vois
Bob: en sortie de ton bloc for, en ligne 19, l'objet newNode est detruit parce que la variable sort de son scope
Bob: donc tu n'as plus que la copie qui est dans la stack
Bob: et je soupconne que quand tu poppes un node en ligne 9, il est detruit aussi
Paikan2068: Ah! Donc il faudrait que je les stocke dans une liste, et que ma stack contienne des pointeurs sur des éléments de cette liste?
Bob: mais il est tout fait possible (et meme en fait probable) que le prochain que tu vas pousser va etre remis au meme endroit en memoire
Bob: donc ca sera un objet different, mais avec la meme adresse
Bob: c'est ca
Bob: il te faudrait une stack de Node*
Bob: (des pointeurs vers des Node, et pas des Node "entiers")
Paikan2068: Et une liste de Node par ailleurs, du coup
Bob: et en ligne 16 tu fais new Node(...) pour les allouer
Paikan2068: Merci beaucoup, c'est beaucoup plus clair! Et je vais aller documenter la différence entre avec et sans new pour bien comprendre ce point-là aussi
Bob: quand tu fais Node newNode = Node(...), ca te cree un objet dans le scope (bloc) courant
Bob: il est detruit a la sortie du scope
Paikan2068: Avec new, c'est différent?
Bob: tu peux toujours recuperer son adresse avec &newNode, mais en gardant conscience qu'en sortie du bloc, l'adresse pointera sur quelque chose de mort (et donc indetermine)
Bob: new ca te cree l'objet dans un autre coin de la memoire et ca te donne le pointeur
Bob: et c'est a toi de le detruire avec delete quand tu determines que tu n'en as plus besoin
Alshock: en gros Constructeur seul = local, new = global, destruction à ta charge
Alshock: salut à tous (et surtout à Automaton2000 et AutomatonNN
Automaton2000: oui, c'est vrai que c'est super dur à faire
AutomatonNN: et tu peux pas te dire que c'est pas trop compliqué de comprendre le responsable des trucs que je tr
Alshock: "george perec".tr('e', ) C'est pas trop compliqué
CopperFr: ah oui faut delete ca se delete toujours pas tout seul :(
Alshock: heureusement
JBM: Answer: "OBSOLETE" (line 1, column 11):unknown parse error
JBM: tiens c'est nouveau pour moi ca
Alshock: C'est quoi ce monstre ?
Alshock: Du haskell ?
JBM: du parsec plus specifiquement
JBM: ah mais oui j'ai trop consomme
dbdr: sis tôt?
dbdr: *si
Bon[]Crayon: Bonjour tout le monde.
Bon[]Crayon: Bonjour AUtomatonNN
AutomatonNN: sur un destruction de contest juste pour toi Automaton2000
Bon[]Crayon: Bonjour AUtomaton2000
Automaton2000: Bon[]Crayon tu peux traduire ?
Bon[]Crayon: Automaton2000 Salut la tortue !
Automaton2000: bah en fait je sais plus combien
Bon[]Crayon: Automaton2000 tu as perdu des octets
Automaton2000: pour l'instant je n'ai pas encore trouvé pourquoi
Bon[]Crayon: Automaton2000 cherche encore
Automaton2000: salut tout le monde et Bon[]Crayon
Bob: pas mal, ca fait deux fois qu'il te repond directement :)
Bon[]Crayon: Automaton2000 re la tortue
Automaton2000: je sais pas coder en java
Bob: :turtle:
Bob: Automaton2000 c'est comme le C++ mais en moins bien
Automaton2000: sur le contest de contest
Bob: ah non Automaton2000 tu vas pas commencer toi aussi
Automaton2000: en fait c'est un peu lourd comme ide
Bon[]Crayon: Automaton 2000 n'a pas répondu au message d'automaton NN
dbdr: tu zorgises?
dbdr: quel talent
JBM: [il verifie bien pour les IFs imbriques]
JBM: ah ben tout le reste passe en fait
CopperFr: tu parles d'éclipse Automaton2000 ?
Automaton2000: merci mais je suis pas convaincu que ce soit le cas de test
CopperFr: c'est mieux que le Java le C++ ?
dbdr: définis "mieux"
JBM: mais c'est pas dans le HTML title
dbdr: RIP
Alshock: J'aime beaucoup le cercle vicieux : AtuomatonNN bug et boucle sur un contest de contest de contest, donc on le charrie, donc Automaton2000 répète nos conneries
Automaton2000: ca c'est un autre problème
Alshock: C'est incroyablement humain comme situation
dbdr: Zorg1: ya plus qu'à deWIPer
CopperFr: le problème c'est qu'ils stockent trop de conneries
CopperFr: en plus le stokage c'est pas bon pour l'écologie :(
CopperFr: tous ses serveurs qui consomment de l'énergie
Bon[]Crayon: Automaton2000 filtres les conneries svp
Automaton2000: après moi je suis pas en train de me demander si c'est pas dans la barre de recherche
Bon[]Crayon: Automaton2000 filtres les conneries sv
Automaton2000: je vois pas d'autre explication
Bon[]Crayon: Automaton2000
Automaton2000: y'a de la doc ?
Bon[]Crayon: Automaton2000 la doc c'est surfait
Automaton2000: bonjour a tous, je suis nouveau et je voulais savoir si ça vaut vraiment le coup
CopperFr: non ca vaut pas le coup Automaton2000
Automaton2000: je crois que j'ai une erreur
Bon[]Crayon: Automaton2000 Est-ce que ça te chatouilles ou ça te gratouilles ?
Automaton2000: c'est qui le boss ?
Lun4rIum: C’est moi :3
dbdr: allez-y mollo avec les automates
Bon[]Crayon: pourquoi ?
dbdr: parce que ça cache les vrais messages, et c'est pas de nature à encourager une vraie discussion, avec des nouveaux ou meme les anciens
dbdr: un automate de temps en temps, aucun problème. quand ya plus que ça sur toute la page, non
Bon[]Crayon: Automaton2000, en 2020 est-ce que ça vaut la peine d'apprendre le c++ ?
Automaton2000: merci de me le faire
Bob: il y a 5 ans on m'a dit "tu connais C++, tu seras jamais au chomage"
Bob: c'est sans doute vrai dans la mesure ou il reste des developpeurs cobol
Lun4rIum: Le mieux c’est d’apprendre le c# ou le c ++ ?
Bob: l'autre
dbdr: de toutes façon le chomage c'est pas trop le problème des programmeurs, si?
JBM: la pause automatique de youtube me faisait bien chier
JBM: jusqu'a ce que je decouvre que ma touche multimedia play/pause le redemarrait
dbdr: quelle pause automatique?
JBM: si t'es pas trop present, il met en pause automatiquement de temps en temps
JBM: parfois t'as la chance de capter l'avertissement avant
dbdr: non
JBM: t'as des pubs pour compenser?
dbdr: ublobk, donc non
Bob: +1
Bob: c'est quoi une pub ?
dbdr: j'avais d'abord compris "avertissement" comme "pub". merci le faux ami :D
dbdr: je me demande quelle est la logique ethymologique, d'ailleurs
JBM: bon il est quand meme penible ce IF/ELS/FI
dbdr: ah, annoncer
JBM: j'ai pas de maniere belle et propre de le traiter
dbdr: tu raffines?
JBM: je veux comprendre la moelle
dbdr: :)
JBM: la c'est mon code de "je verifie les cas de bord"
dbdr: c'est quoi pas propre?
JBM: ou j'implemente tout de la maniere la plus tordue possible pour verifier ce que dit le statement
Bob: dbdr : le code de noter app
dbdr: Bob?
dbdr: http://chat.codingame.com/pastebin/c9d0506b-61f5-40b2-b00c-0c89a893f2a3
dbdr: tu consideres que c'est sale je suppose? :)
dbdr: rf
dbdr: https://pastebin.com/Raa5jgbj
dbdr: le second est pour JBM
CopperFr: Y a quand même moins de job en C++ qu'en JavaScript, Java ou C# non ?
dbdr: et moins de programmeurs
dbdr: ce qui compte c'est le ratio
JBM: on en revient a la question des appariements des [] de BF, d'ailleurs
JBM: tu interpretes en direct ou tu parses?
dbdr: direct
dbdr: je penses
dbdr: -s
dbdr: https://pastebin.com/SVzq1rJs
JBM: tu en reviens a traiter le IF a 2 endroits
dbdr: oui
JBM: mais offre le nouveau pb de l'asymetrie du avec-ou-sans ELS
dbdr: pour moi l'asymetrie est dans le ||
JBM: oui, t'as pas vraiment le pb en interpreteur direct
JBM: t'as juste celui de l'appariement IF/FI
dbdr: ça m'amuse de pas parser en fait. un plaisir coupable d'etre inefficace :)
JBM: je pense pas que ce soit particulierement inefficace
JBM: c'est relativement lineaire de toute maniere
dbdr: c'est effectivement sans doute un facteur constant
JBM: tu stockes tes DEF en paires de (debut,fin)?
dbdr: non, en body
dbdr: defs.set(name, body)
dbdr: donc je "parse" ça, si tu veux
dbdr: ose donc ;)
JBM: moi je tourne avec ca: data RPN = Push Int | Call String | Define String [RPN] | If [RPN] [RPN]
dbdr: moi tout reste en String, c'est en ça que c'est "moins parsé"
JBM: ou en LIGHT SIDE: data RPN = Push Int | Call String | Define String [RPN] | If [RPN] [RPN]
dbdr: et IfElse du coup?
dbdr: ah oui
JBM: ca fait un [] dans le else s'il le faut
dbdr: trop habitué au if cond else then
dbdr: mais le language permet sans doute pas de larser comme ça
dbdr: tu peux avoir des branches qui finisse pas avec la meme hauteur de pile :D
dbdr: +nt
JBM: la pile est complement independante de l'AST
dbdr: pour parser avec du plus haut niveau, je pense que si
dbdr: If RPN [RPN] [RPN]
JBM: ca aurait quelle semantique ca?
dbdr: la canonique
JBM: je vois pas comment l'appliquer la
dbdr: if (e) S1 else S2
CopperFr: la canon nique ???
JBM: If (Define "ABC" [...]) [Push 1] []
dbdr: stack underflow?
JBM: [Push 42,If (Define "ABC" [...]) [Push 1] []] alors?
dbdr: la meme chose que Define "ABC" [...] If ... en Zorg
dbdr: en fait c'est pe ça la transformation
dbdr: tu mets tout ce qu'il y a avant comme condition
JBM: oui parce que pur l'instant... lift l'argument systematiquement, autant pas le mettre
JBM: et mettre tout ce qu'il y a avant....
JBM: je saais pas, qu'est-ce que ca permet de nouveau?
dbdr: RRPN
JBM: R comme un autre reverse, ou comme recursive?
dbdr: reverse²
JBM: soit je vois pas l'interet
JBM: soit t'as un chouette puzzle a proposer sous peu
dbdr: la réponse d
dbdr: tout ça parce que j'ai mal lu
JBM: les plus grandes inventions viennent souvent d'accidents
dbdr: je sens que ça va finir en Obsolete Programming++
JBM: moi mon parseur a la verrue que la version la plus propre que j'en aie pour le moment necessite de refuser explicitement qu'un appel de fonction soit "ELS" ou "FI"
JBM: si je fais sans, ca fait pousser un autre truc encore plus moche ailleurs
dbdr: DEF SINON ELS END
dbdr: mais tu le gères?
JBM: l'enonce est pas clair sur si c'est possible d'exister
JBM: ah ptet que si en fait ce serait ca l'explication du "les conditionnels sont dans les fonctions uniquement"
dbdr: en fait ELS tout seul le statement autorise pas
dbdr: IF RPN instructions 1 ELS RPN instructions 2 FI
dbdr: c'est le seul cas
JBM: IF 3 4 DEF truc 5 6 ELS 7 8 FI 9 10 END
dbdr: donc je gère un surensemble :)
JBM: (avec un DEF...END autour)
JBM: c'est pas vraiment interdit
dbdr: ouais
JBM: encore une faille tordue trouvee par brainstorming contre nature
dbdr: pas sur
JBM: pour moi la faille c'est qu'il definit jamais "RPN instruction" precisement
dbdr: je pense que non en fait
dbdr: c'est inductif, implicitement
JBM: donc qu'est-ce qui interdit mon cas sus-cite?
dbdr: RPN instructions 1 peut pas contenir DEF sans END
JBM: que y'a pas de reduction en instruction?
JBM: bah c'est bien l'assomption fondamentale de mon parser
JBM: de mon type RPN plus specifiquement
JBM: j'aimerais bien une reponse pour les REDEF ceci dit
JBM: ca influe beaucopu sur mon approche de bootstrap
dbdr: CLS PAIR INT INT END
dbdr: DEF PRINT PAIR OUT OUT END
dbdr: 1 2 PAIR PRINT
dbdr: class
JBM: je cherchais des variantes a base de closure
JBM: c'est pour ton OBSOLETE++ ok
dbdr: oui je brainsotrm
dbdr: DEF PRINT OUT END
dbdr: late binding
dbdr: ?
dbdr: en ++
JBM: il dit pas quand c'est resolu
Zorg1: si je crois que j'avais dit un truc là dessus
dbdr: DEF ADD PAIR PAIR ... END
Zorg1: are not executed immediately but stored to be executed when name appears as instruction outside, after its definition.
JBM: vite editer le commentaire
Zorg1: bon la récursivité j'ai un peu fait un flou artistique là dessus
JBM: after dans le temps ou dans le flux d'instructions?
dbdr: ça précise pas la redefinition
JBM: mais il y a une ligne pour
Zorg1: name must not be an already defined instruction or a number.
dbdr: bon, je vais faire mon extension d'un puzzle toujours en WIP :D
dbdr: extension d'extension
JBM: je prepare la contre-variante "functional obsolete"
dbdr: :D
dbdr: et après viendra le multiparadigme
JBM: on les rend source-compatible?
dbdr: ah si les mot clés clashent...
CopperFr: CLS c'est CLear Screen
dbdr: ben oui ce serait mieux
CopperFr: après MODE efface aussi l'écran
JBM: comme dans cet AoC tres bien d'il y a qqs annees
JBM: les duettistes si je me souviens bien
JBM: https://adventofcode.com/2017/day/18
Zorg1: c'est marrant j'ai utilisé des closures comme instruction élémentaire de mon implem ^^
Zorg1: pas forcément très efficace mais amusant
JBM: dans les langages de haut niveau on les voit meme plus
Zorg1: Lua
dbdr: Zorg1 elle est jolie ton implem
JBM: oh mais oui combien approprie
dbdr: et efficace je pense
JBM: ah j'ai meme pas pense a aller la voir
Zorg1: elle n'est pas tail rec
dbdr: ça revient à compiler, en fait
CopperFr: le Lua c'est bien ?
Zorg1: c'est en perte de vitesse je dirais
JBM: bon elle est un peu longue O:-)
dbdr: oui mais c'est un compilo
Zorg1: et ça n'a vraiment pas toutes les dernières features à la mode
CopperFr: supplanté par le C#
JBM: compilo, interpreteur... la nuance est si floue
JBM: moi aussi c'est un compilo usqu'a ce aue j'appelle evalState
CopperFr: compilation dynamique
JBM: mais c'est une bonne idee aussi, si ca vient a stream
JBM: deriver un compilo ou un interpreteur partant de la meme structure
JBM: pour dedramatiser les compilos de l'autre cote
CopperFr: je sais pas si ca existe encore les interpreteur pur comme les vieux BASIC
CopperFr: oui effectivement mais bon
Bob: Node ?
CopperFr: JavaScript y a de la compilation par moment
Bob: ah ?
Zorg1: le fameux JIT
Bob: dans mon esprit c'etait plutot lie a Java
Zorg1: c'est une méthode utilisé ailleurs
Zorg1: t'as une implem de Lua avec cette fonctionalité
CopperFr: JavaScript au début ca devait être 100% interprété mais c'est plus cas dans les navigateur modernes
CopperFr: node utlise la V8 de chrome
Bob: apres, de mon point de vue je suis pas convaincu que ca fasse une enorme difference
CopperFr: je pense que si
Bob: j'en suis pas du tout au stade ou je me pose ce genre de question
Bob: la j'en suis encore a "combien de fois ce bout de code va t-il etre execute et quand ?"
Bob: et qu'est-ce que ca va induire comme effet de bord a la con
Zorg1: après" 100% interprété" même initialement c'était compilé vers une VM
CopperFr: même dans netscape ?
Bob: xmosaic FTW
CopperFr: tu te posais pas des questions sur les performance de js à un moment Bob ?
Bob: non c'est pas une question de perf de JS en tant que tel
Bob: c'est plus au niveau de ce que fait React, en realite
CopperFr: ah oui ok je connais pas trop react j'ai juste vu qq tutorial ici et là
CopperFr: faut vraiment que je m'y mette à react ou vue3
Bob: par defaut, tout cmoposant refait son rendering au moindre truc qui bouge
Bob: du coup parfois ca peut faire que tu as du code qui est appelle plus souvent que ce que tu penses, et parfois pas avec les arguments que tu crois
CopperFr: oui mais y a des solution pour ca
Bob: oui oui
CopperFr: en vue.js y a les compute qui ne sont réévalué que si nécessaire
JBM: /tmp/Answer.hs:12:1: error: Cycle in type synonym declarations:
Bob: React fournit tout le necessaire aussi
Bob: mais ca implique de s'etre pose la question
Bob: on a les memo, les callback, les effects, les PureComponent etc
CopperFr: ca avait l'air plus simple en vue3 :D
Bob: pour le moment ma regle du pouce c'est de commencer sans et de n'aller sur ces trucs-la que si on a effectivement identifie un probleme
CopperFr: après c'est coté client donc pas forcménet super grave
CopperFr: (sauf sur mobile eventuellement)
CopperFr: après de manière générale j'ai du mal à voir comme ca s'articule une appli complète avec ses frameworks
CopperFr: par exemple comment ca se passe pour vérifier des saisies coté client et serveur
Bob: tout depend de quel cote tu fais les choses
Bob: t'as de bonnes chances de devoir dupliquer ou factoriser un minimum de choses
Bob: typiquement un truc de validation d'input, tu veux l'avoir cote client pour donner du feedback immediat dans la UI
Bob: mais tu vas aussi le vouloir dans le backend pour sanitiser ton API
WhatTrickeryIsThis: vous préférez sanitiser ton API ou trump?
Bob: pas pareil
Bob: une APi tu la sanitises avec du code
Bob: Trump, avec un lance-flammes et une couche de chaux vive par-dessus la tombe
JBM: tiens j'ai oublié de manger
Alpaa: Gemak
Vinzainer: Wazaaaaaa
Neumann: dbdr: il BF depth 10 en C# euler là ?
dbdr: il beame
Neumann: Avec mon implem naive du moteur je peux BF depth 9 mais pas 10
Neumann: naive *
Neumann: Et ça fait 2M, le BF depth 10 est sensé faire 55M, ça parait étrange
dbdr: pourquoi 55M?
Neumann: C'est toi qui m'a dit hier qu'un BF depth 10 ça rankait 7ème
dbdr: le leaderboard a progressé depuis
Neumann: Du coup ça faisait combien #7 quand tu me l'as dit ?
dbdr: dans les 20M il me semble. mais j'ai pu confondre qui fait quoi
Neumann: Et toi tu le tiens facilement le depth 10 ?
Neumann: Savoir si je dois cramer mon moteur avant de me lancer dans le beam
dbdr: je faisais 9 ou 10 aussi
Neumann: Ouki
Neumann: Time to beam then
dbdr: TTBT, ça peut prendre ça
JBM: c'est vrai qu'on manquait d'acros
WhatTrickeryIsThis: ce qu'est vrai c'est quand tu dit manques d'acros assez vite, ça fait maqureaux
CopperFr: y a plus d'escrocs ici
CopperFr: Vous préférez les maquereaux ou les sardines ?
Bob: le thon
Bob: le vrai, celui qu'on trouve au Japon
Bob: bien frais avec juste ce qu'il faut de soja et de shiso
Bob: putain je pourrais tuer la mere de quelqu'un pour une soiree a Shibuya
WhatTrickeryIsThis: 9200 inscrits au prochain contest wtf
CopperFr: y a pas de couvre feu à shibuya
Bob: il y a 3 ans j'etais en train de finir les bagages T_T
Bob: non
CopperFr: fallait monter ta boite au japon
dbdr: https://pastebin.com/wQ0vUcB0 j'ai cassé node?
WhatTrickeryIsThis: pastebin bloqué par le proxy de ma boîte xD
CopperFr: tu fais quoi avec node ?
dbdr: du js
CopperFr: c'est vrai ?
dbdr: et le truc crashes dans ses entrailles, pas mon code
CopperFr: t'en as de la chance
Alpaa: PY
Bob: thon
Bob: (le vrai, donc)
CopperFr: le thon petit navire c'est bien aussi non ?
Bob: vous preferez +inf/-Inf ou Inf/-Inf ?
WhatTrickeryIsThis: plus ou moins je dirai
CopperFr: je suis indécis
Bob: je me suis rendu compte ce midi que j'etais un dev de Schrodinger
Bob: je ne sais pas dire si je suis encore dans ma boite ou pas
dbdr: ah d'accord process.stdout.write(1)
CopperFr: je déteste le rust
dbdr: ça fait bien gerber node
CopperFr: pourquoi t'en fais si t'aime pas ?
dbdr: il faut bien en faire pour savoir que c'est mauvais :)
CopperFr: tu préféres quoi ?
PhOeNyX: Coucou
CopperFr: C'est nous
PhOeNyX: Le nouveau truc là de carte de missions, quand le puzzle de la semaine est un combat d'IA ça ne valide pas ?
PhOeNyX: Blbl
WhatTrickeryIsThis: si faut passer bronze il parait
PhOeNyX: Ah !
WhatTrickeryIsThis: +promote
PhOeNyX: Y a pas de ligue bronze
WhatTrickeryIsThis: :D
PhOeNyX: J'ai été promote bois 1 (dernière ligue du puzzle de la semaine...) et rien
WhatTrickeryIsThis: Dans ce cas il n'y à plus qu'une seule solution
WhatTrickeryIsThis: La fuite
CopperFr: attendre une semaine ou un puzzle normal sera l'élu de la semaine
PhOeNyX: Ce qui est c.. Bête, c'est que j'ai déjà fait des puzzles de la semaine
PhOeNyX: ça pourrait me le valider "par défaut"
CopperFr: en effet
CopperFr: moi j'ai aussi validé des contribution ca pourrait aussi valider la quête
PhOeNyX: Bon, je suis déçu
WhatTrickeryIsThis: Tu es surtout brocouille sur ce coups là
WhatTrickeryIsThis: mais t'es pas seul
WhatTrickeryIsThis: soit pas triste
PhOeNyX: Je réclame un [CG] sur le champ !
CopperFr: 2 mois pour corriger ca c'est un peu long quand même
PhOeNyX: C'est inadmissible
PhOeNyX: #RageQuit
WhatTrickeryIsThis: inadmetable
Zorg1: bon bah au prochain contest PhOeNyX :p
PhOeNyX: Y a un truc bientôt non ? J'ai reçu un mail
Zorg1: mi novembre
CopperFr: même dans l'entreprise de Bob ils sont plus réactifs
Zorg1: le Fall Challenge
WhatTrickeryIsThis: bob il sait plus son entreprrise
CopperFr: il va surement décider de monter une startup au japon
Bob: punaise un phenix qui renait de ses cendres
Bob: j'aurai vu ca avant de mourir
PhOeNyX: C'est pas la première fois Bob :d
PhOeNyX: :D
PhOeNyX: (que je disparais pendant des mois pour revenir de façon impromptue)
JBM: oui mais comme Bob le fait aussi il le remarque pas forcement pour toi
Bob: pas faux
PhOeNyX: MDR
PhOeNyX: J'ai fait en TS un puzzle facile (pas encore validé) et ça m'a fait la quête du puzzle de la semaine
PhOeNyX: Et évidemment ça m'a débloqué tout jusqu'à Légende...
WhatTrickeryIsThis: TS wins
CopperFr: TS :( JS :)
PhOeNyX: Ouais en fait j'ai repris ce que j'avais commencé la dernière fois : débloquer le trophée légende de langage pour tous les langages sauf 3
PhOeNyX: J'étais à 14/15 partout et je faisais Horse Racing Duals
PhOeNyX: J'ai abusé un peu, vu où j'en étais rendu j'aurais pu prendre le temps de finir quand même
CopperFr: en général mon code JS passe tel quel en TS
CopperFr: (a qq exception près)
PhOeNyX: Beh là c'est ce que je viens de faire en fait. J'ai copier/coller mon code JS dans l'IDE TS et j'ai lancé
PhOeNyX: c'est passé.
CopperFr: alors que le pascal ca passe qu'en pascal
Bob: au pire TS tu fous du any partout et ca passe :D
CopperFr: oui mais y a des truc qu'il aime pas
CopperFr: par exemple retyper une variable :D
CopperFr: (et les return quand tu n'es pas dans une fonction)
Bob: ah non mais forcement si tu fais du goret
CopperFr: c'est pratique pour certains puzzle :D
Bob: j'adore recuperer un nombre qui est manifestent +Inf sauf qu'apres etre passe dans 2 ou 3 couches de frameworks c'est plus assez +Inf pour matcher les tests classiques
Bob: if (n > 1e+300) et c'est marre
PhOeNyX: :nauseated_face:
BiMathAx: Salut je voudrais apprendre Pygame (Python) mais je peux pas regarder de vidéo YouTube... Y a t il un site internet en français qui permet de le faire ? Merci
kamiathe: hello
PhOeNyX: https://www.codingame.com/ide/puzzle/horse-racing-duals
PhOeNyX: J'ai un soucis avec le Groovy$
PhOeNyX: Quand je prends mon array avec le truc de base
PhOeNyX: array.sort()
PhOeNyX: C'est pas assez rapide
PhOeNyX: Alors que pour tous les autres langages ça passe
RemyVase: Bonjour ! Est-il possible que le puzzle "The Dart 101" soit bug ?
Zorg1: il est pas très clair je crois
RemyVase: Bha en fait, ils disent que si on dépasse 101, on revient au score du round précédent
RemyVase: Cependant pour l'une des solutions, pour avoir la réponse demandée, il faut continuer le round après le reset
RemyVase: Pour l'exercice 07 précisément
CopperFr: Faut le faire en Dart le puzzle The Dart 101 ?
RemyVase: Si jamais quelqu'un sait juste check ce puzzle, j'ai tout vérifier à la main et j'ai vraiment l'impression que l'erreur vient de l'énoncer ..
PhOeNyX: Quelqu'un a fait horse duals en groovy ?
CopperFr: The Dart 101 je l'ai validé en JS
RemyVase: J'ai fait en JS aussi là
RemyVase: Mais si tu as fais les 100% c'est que le bug vient de ma tête ahaha
Zorg1: mais groovy normalement c'est le même sort que celui de Java ?
Zorg1: sort=tri ^^
PhOeNyX: Bah je fais array.sort()
PhOeNyX: C'est certainement le même qu'en java
PhOeNyX: Pi = new Integer[N]
PhOeNyX: for (i = 0; i < N; ++i) {
Pi[i] = input.nextInt()
}
PhOeNyX: Pi.sort()
PhOeNyX: Les tests 1 et 2 passent, le 3 non
PhOeNyX: Et pour les validateurs ce sont les 2 derniers qui ne passent pas
PhOeNyX: euhhhh
PhOeNyX: J'ai relancé et c'est passé...
PhOeNyX: Il me manque Bash, VB et Pascal
PhOeNyX: youhou
PhOeNyX: ça sera une autre fois. :D
Zorg1: ta prochaine renaissance ?
CopperFr: VB et Pascal ca va c'est des langages simples
Bon[]Crayon: AutomatonNN ets-ce que tu es paré pour le 12.11.2020 ?
AutomatonNN: oui c'est que tu peux pas te dire que tu peux pas te permettre de faire un truc de ton code
Bon[]Crayon: AutomatonNN prépare ton chaudron !
AutomatonNN: merci tu peux pas t'aider :D
Thyl: Qui est pret à Troller !
Thyl: :)
JBM: pour ca ici y a toujours du monde
Thyl: Le nouveau challenge à l'air axer sur ça !
JBM: euh c'est quand le nouveau challenge deja
Thyl: dans 26 j
Tango74: quelqu'un a compris l'énoncé de Chuck Norris ?
JBM: chuck norris a compris l'enonce de chuck norrris
CopperFr: non seul chuck norris peut le comprendre
VilBoub: =)
Neumann: Bon, pas convaincant mon Beam Search
Neumann: Il fait quelle largeur le tien dbdr ?
Neumann: 1000 c'est déconnant ?
Neumann: Faut que j'introduise la notion de "trap" aussi, là je me base que sur le score, potentiellement je m'enferme pour des gains à court terme, c'est nul
CopperFr: dommage pas d'énonce jean claude vandamme
VilBoub: Chuck Norris a résolu le problème de Chck Norris avec un code ne comprenant qu'un seul caractère !
Tango74: non sérieux avec les chiffres binaires
Tango74: je passe mon temps a essayer de déchiffrer les énoncés
CopperFr: 1 + 1 ca fait 11
CopperFr: t'exagères il est en Français en plus
Tango74: mais ce n'est pas la langue le problème
CopperFr: c'est quoi le problème ?
TidyMaze: Hello world!
TidyMaze: Hello Automaton2000 et AutomatonNN
Automaton2000: moi je fais un effort
AutomatonNN: t'as aucune idée de comment tu peux pas te faire des trucs interessant de toutes façons ?
RyMe: l'énoncé est clair, c'est juste pas commun
RyMe: tu transforme en binaire le code ascii des charactères, donc tu as des suites de 1 et de 0
RyMe: et ces suites de 1 et de 0 tu les encode en mode Chuck Norris
RyMe: ça commence par 0 si c'est une suite de 1, ou 00 si c'est une suite de 0
Stilgart: AutomatonNN: tu en as eu marre de faire le mort ?
AutomatonNN: AutomatonNN c'est pas trop dur de faire un AG pour le puzzle de la boite :banana:
RyMe: suivi d'autant de 0 qu'il y'a de 1 ou de 0 qui se suivent
Stilgart: cool, il a l'air en forme :D
Stilgart: en plus, il a une :banana:
RyMe: donc 1111 serait 0 0000 Et 0000 serait 00 0000
Stilgart: heu....
Stilgart: (mon CN est rouillé)
Stilgart: (je comprends toujours pas ce choix de 1->0 et 0->00)
Stilgart: (du coup, à chaque fois je pense que c'est l'inverse mais non...)
CopperFr: moi aussi :D
RyMe: y'a que Chuck Norris qui comprend ce choix
CopperFr: après peut-être que ca vient de l"enregistement sur cassette des 1 et 0
CopperFr: genre sur amstrad cpc
RyMe: Le est séparé en 10, ceux qui comprennent le binaire, et les autres
RyMe: Le monde est séparé en 10, ceux qui comprennent le binaire, et les autres
RyMe: j'avais oublié un mot ^^
Stilgart: AutomatonNN: tu comprends le binaire toi ?
AutomatonNN: sur coders strike back tu peux pas te faire un bot qui n'est pas le plus proche de la transposition
Stilgart: (y'a pas à dire, le retour de AutomatonNN ça sauve ma journée)
AutomatonNN: hey je suis pas sur que c'était pas trop le temps de faire un stage de code pour que je suis pas ce
dwarfie: AutomatonNN : je te veut pas en tant que stagiaire ... tu commentes pas assez ton code :D
AutomatonNN: oui je viens de regarder le contest je crois
leojean890: pas si dur le puzzle "la résistance" j'avoue, je l'ai résolu en BFS avec mémoisation..
leojean890: et en python..
CopperFr: oui il resiste pas longtemps
leojean890: escaliers j'ai plus de mal à finir ;)
leojean890: je vais depth 85
leojean890: je représente pas le pbm de la bonne manière en fait
CopperFr: surement
dwarfie: j'avais prevenu pour resistance :D
dwarfie: pour escalier , j'ai un double for avec un if-else for ...
dwarfie: mais j'avoue , j'ai du mal a retrouver la logique vu qu'il y'a si peu de ligne :D
CopperFr: ah moi j'ai une fonction récursive avec mémoïsation
dwarfie: bon , plus que 3 medium a faire ... faudrait que je m'y mette :p
dwarfie: shikaku solver , c'est fait ... ca faisait longtemps que j'avais la solution, j'arrivais juste pas a la mettre en code :upside_down:
CopperFr: t'avais la solution depuis le level 29 normalement :D
dwarfie: :point_right: :door:
Zorg1: on voit bien que c'est pas toi qui poste une contrib, puis "tiens on a publié une contrib dans mon langage" pour voir que le gars a c/c ta solution ^^
CopperFr: tu l'a vois même s'il la publie pas ?
Zorg1: *publié une solution
dwarfie: ouais ... je l'ai toujours en travers celle la ...
Zorg1: non il faut qu'il la publie, mais y en a qui n'ont pas honte ^^
CopperFr: ok
Zorg1: CopperFr est rassuré ...
Zorg1: :D
CopperFr: oui
CopperFr: après il fait du go c'est louche aussi
Zorg1: pfff
Zorg1: je ne suis même pas dans le top 5 des gars qui ont résolu le + de puzzles en go
CopperFr: c'est moins pire que le rust
CopperFr: c'est bien plus lent que le js le rust
Zorg1: en IDE, mais en arène c'est bien rapide
Zorg1: je crois qu'en IDE c'est en mode debug
CopperFr: c'est pas en mode final quand on soumet ?
JBM: Zorg1: sisi, c'est moi (lag/scroll de la solution c/c)
Zorg1: :)
CopperFr: en haskell je prend toute les solutions jbm
Zorg1: "exigez la qualité" ?
CopperFr: haskell sont de qualité
CopperFr: Software you know and love, like Firefox, Dropbox, and Cloudflare, uses Rust.
CopperFr: je comprend mieux pourquoi je les utilise pas :D
BigUP: arf ! :) moi qui pensais que la bande passante du GPU était importante pour faire de l'IA ! ;) J'oscille entre 3 et 0% ! ;)
**Stilgart tend un "git clone stilgart" à CopperFr
JBM: 9 `shiftL` (-2) ca marche sur Integer mais pas Int
JBM: voici qui est contrariant
CopperFr: c'est quoi la différence entre int et integer ?
leojean890: l'un est une classe et l'autre un type primitif
leojean890: si on parle de java
JBM: ah mais y'a un `shift` qui marche pour les 2
CopperFr: ah c'est du Java
leojean890: s'il fait tvc ouais !
leojean890: sinon je suppose que non;)
CopperFr: il fait pas mes wc
leojean890: ah je pensais hehe
JBM: mon encodeur marche comme dans la spec
JBM: dans des conditions restreintes a "tous les defauts comme dans l'exemple"
JBM: mais quand meme, j'en ai une larme a l'oeil
JBM: jamais vu une spec w3c aussi mal fichue, soit dit en passant
JBM: ah non j'output un NUL de plus
Stilgart: go go go accept avant de dodo
Stilgart: arg, il est encore en wip ce puzzle de Zorg1
renode: ekip
renode: 667