Chat:Fr/2020-10-26
tekki: Automaton2000 au rapport!
Automaton2000: pour moi c'est le contraire
Neumann: dbdr : t'aurais un replay du test24 à partager stp ?
dbdr: tu veux le code aussi? :D
Neumann: Ah, tu penses que ça donne trop d'info un replay ? My bad
Neumann: Je me heurte à la barrière des 1.7M sur tous les tests, je voulais voir à quoi ça ressemble "de l'autre côté" de cette barrière :D
dbdr: pareil avec un nombre de plus :)
Neumann: Intéressant
dbdr: et voila j'en ai trop dit :D
Neumann: Haha
dbdr: je vois que tu es remonté sur ta selle en tout cas :+1:
Neumann: Je pense honnêtement pas arriver à faire beaucoup mieux que ce que j'ai là. Je me suis battu une bonne partie du WE à tenter d'évaluer le late-game mais c'est compliqué
CopperFr: et en plus y'avait une heure de plus ce WE
Neumann: Donc à moins de changer complètement d'exploration .. parce que là quand je prune mes moves j'ai pas la vision à plus de 3 tours devant
Zorg1: bonjour tout le monde et les bots de compétition Automaton2000 & AutomatonNN
Automaton2000: je me suis dis que c'était une bonne idée
AutomatonNN: des blocks en fait la constante de contest de contest de contest que tu veux dire :p
Zorg1: la "constante de contest de contest de contest" : t'as commencé à mathématiser le truc AutomatonNN ?
AutomatonNN: ouai j'ai trouvé tout pareil
CopperFr: bonjour tout le monde et Zorg1
dbdr: const MAGIC = 3;
Zorg1: target = checkpoint - MAGIC * velocity
Zorg1: o/ CopperFr
CopperFr: it's a kind of MAGIC ?
Zorg1: sûrement
plieuse: salut
Zorg1: o/
Zorg1: \o
Haashi: -3vel
Haashi: a tous
CopperFr: Salut
Bon[]Crayon: Bien le bonjour :ghost:
Bon[]Crayon: AutomatonNN saluuuuuuuuut tortue
AutomatonNN: seul contest de contest de contest pour tout le monde et AutomatonNN
Bon[]Crayon: Automaton2000 saluuuuuuuuut tortue
Automaton2000: mais j'ai trop la flemme
Bon[]Crayon: AutomatonNN c'est ta tournée
AutomatonNN: oui
Zorg1: ça fait une heure qu'on attend les bières, kestufou AutomatonNN ?
AutomatonNN: -u bonne chance de te taper le puzzle de la programmation ?
Zorg1: le bot qui noie le poisson ...
dwarfie: AutomatonNN ben t'as pas le choix ... MathInGame , c'est un autre site , plus connu sous le non de projet euler (meme si beaucoup confondent au moment de contribuer)
AutomatonNN: viens sur le chat de contest de contest ?
dwarfie: AutomatonNN : donne le lien
AutomatonNN: oui
Zorg1: le site de la SNCF Automaton2000 ?
Automaton2000: je savais bien que ça
dwarfie: Automaton2000 .... si tu ne dois savoir qu'une chose , c'est que tu ne sais rien ....
Automaton2000: ça c'est un autre débat
Arghantyl: Salut, je suis nouveau , comment est ce que l on combat les autres joueurs sans rnvoyer les parametres ?
Thyl: eeeeee
Thyl: reformule
Thyl: s'il te plait
Thyl: :)
Arghantyl: dans la fenetre tester l arene
Thyl: oui
Thyl: tu appuies sur tester dans l'arene
Thyl: sinon tu fais juste lancer le code et tu joues contes un bot
Arghantyl: ou je dois cliquer pour faire des combats sans renvoyer mon code
Thyl: Lancer mon code
Arghantyl: ok mais lancer mon code me fais monter dans le classement ?
Thyl: non
Thyl: tester dans l'arene peut te faire monter
Thyl: ou perdre suivant tes performance s ;)
Arghantyl: Ah , donc faut que je click à chaque fois "Tester dans l arne" / envoyer les parametres dde jeu dans l ide ?
Thyl: aaa ok
Thyl: non
Arghantyl: çà m ouvre une fenetre blacnche sur le coté
Thyl: tu reclique quelque pars dans le vide pour fermer l'onglet
Thyl: [CG]Thibaud help !
[CG]Thibaud: yo
Arghantyl: ah d accord , ç est juste pour voir la vidéo,
Thyl: peux-tu régler le problème de ce monsieur s'il te plait ? :)
[CG]Thibaud: quand tu fais "tester dans l'arène", le panneau qui s'ouvre est vide Arghantyl ?
Arghantyl: une fenetre blanche avec un bouton "envoyer les parametres"
[CG]Thibaud: tu pourrais me faire un screen et me l'envoyer ?
[CG]Thibaud: thibaud@codingame.com ou sur Discord
Thyl: a moi
Arghantyl: je voulais juste savoir ce que voulait dire "envoyer les parametres de la partie dans l IDE"
Thyl: :)
Arghantyl: et si c etait necessaire
Arghantyl: je suppose que ç est la vidéo en haut à gauche
Thyl: Qui sait comment regler les problèmes de liaisons TLS avec pip ? :)
Pintago: je sais pas si vous pouvez m'aider mais pour l'exercices moyen Pertes en bourse , j'ai tous les test de bon sauf l'exemple 5 qui prend jsute plus de valeurs , je comprends vraiment pas d'où peut venir l'erreur
Pintago: https://www.codingame.com/ide/puzzle/stock-exchange-losses
Pintago: http://chat.codingame.com/pastebin/24f5a5a7-06c3-43c7-a40f-06ef9fe9d775
TewisClair: quelqu'un peut m'aider svp??
Pintago: ça dépend pour quoi
TewisClair: je cherche un outil qui me permettrait de trouver tous les indexes de mes maximums dans une liste,
TewisClair: genre [ 1,2,3,2,3,2,1] ca me renvoies [ 2,4]
JSanction: t'as des fonctions pour ça, ça dépend de ton langage après
JSanction: Dans ce cas t'as indexOf qui va t'intéresser
TewisClair: mais il me renvoies que la dernière valeur d'indexe
TewisClair: je penses que je vais faire une micro boucle ducou ^^'
MooMooN: indexOf a 2/3 paramètre :) qui te permette de dire à partir d'ou tu parcours ton tableau
JSanction: Des paramètres très jolis, oui
CopperFr: tu peux faire un map((value, index) => value == max ? index : -1).filter(value => value >= 0)
BOUYACHAKAA: Hello :) Je suis en train de faire le puzzle défibrilateurs en Python 3 et je n'arrête pas d'avoir des index out of range sur des listes. Quand j'affiche les indices i, les valeurs varient suivant la position de mon print dans la boucle... Est ce que quelqu'un a déjà eu le problème ?
BOUYACHAKAA: http://chat.codingame.com/pastebin/8b9feced-5881-415e-8f50-764de7aa2704
Driikolu: BOUYACHAKAA tu peux dire à quelle ligne survient l'erreur ?
BOUYACHAKAA: Ligne 35 36 et 37
Driikolu: C'est pas juste ligne 37 ?
BOUYACHAKAA: Non j'ai une erreur sur la ligne 35
Driikolu: Ah non je vois
BOUYACHAKAA: 36 quand je mets la 35 en commentaire et pareil pour la 37
Driikolu: En gros ton infoDefib, c'est une liste composé de 2 listes
Driikolu: J'imagine que tu voulais quelques chose genre [ [0,0], [1,1], ...]
Driikolu: Mais là tu as [ [0,1,2,3,...], [0,1,2,3, ...] ]
BOUYACHAKAA: Ah oui okay je vois
BOUYACHAKAA: Tu sais comment je peux faire ?
BOUYACHAKAA: Je débute seulement en python et je vois pas trop :/
Driikolu: Déjà, t'es pas obligé de faire une liste en compréhension, c'est pas le plus simple quand on maitrise pas le langage
Driikolu: en équivalent pseudo langage tu veux :
Pour i allant de 0 à n
ajouter à ma liste [i,i]
Driikolu: Si vraiment u vois pas comment faire, je peux t'aider un peu plus. Mais en théorie tu devrais réussir :)
BOUYACHAKAA: Oui je crois que je vois comment faire ! Merci beaucoup de ton aide !
Driikolu: Hésite pas si besoin
Driikolu: Moi j'essaie de sortir de la ligue bronze de Code4Life
Driikolu: C'est pas facile
dwarfie: dans ce cas , faut plutot essayer de passer dans la ligue silver :)
Driikolu: dwarfie c'est ce que je fais :')
Driikolu: Mais là j'ai des petits problèmes de gestion de stock
TewisClair: j'ai un soucis de boucles XD
Driikolu: Ce qui fait que je reste... 3ème
Bon[]Crayon: re
Driikolu: On va essayer TewisClair
TewisClair: en gros j'ai une boucle for dans un boucle for
TewisClair: et j'ai un soucis de continuité
TewisClair: j'aimerais sortir de la deuxième boucle en plein milieu sans sortir de la deuxième boucle for
Bon[]Crayon: ?
Driikolu: Alors, là techniquement "sortir de la deuxième boucle, sans sortir de la deuxième boucle", c'est paradoxal
dwarfie: sortir de la 2eme sans sortir de la 2eme ?
TewisClair: sortire de la sous boucle sans sortir de la boucle XD
dbdr: Driikolu: moi je vais essayer de sortir de silver
TewisClair: genre, en js , on a for i ...
TewisClair: et je veux sortir du for j sans sortir du for i
Bon[]Crayon: un break dans la 2 boucle
Driikolu: Un simple break en théorie, ça coupe la boucle actuelle
TewisClair: j'ai trouvé break , mais ca me sors de tout :/
dwarfie: ben sortir du "for j" fait jamais sortir du "for i" en principe ...
Driikolu: Oui voilà
Bon[]Crayon: le break doit être mal placé
BOUYACHAKAA: Et si tu fais un while avec une condtion d'arrêt ?
dwarfie: oubli de {} ?
TewisClair: http://chat.codingame.com/pastebin/11d3ca68-b9aa-4033-a6a5-dacbc9037ba1
TewisClair: ah , pas au bon endroit Xd
TewisClair: attendez je montre l'autre
TewisClair: ca doit êtr eun problème de bornes :/
TewisClair: http://chat.codingame.com/pastebin/aff12436-8385-4630-a6b3-2825fd057b56
Bon[]Crayon: je n'ai pas accés au pastebin.
TewisClair: j'ai effectivement un soucis d'indice
TewisClair: en gros, j'avis mis la longueur de ma liste dans les paramètres
TewisClair: et je la modifiait dans ma boucle
TewisClair: donc ca faisais merder le turc
Bon[]Crayon: AutomatonNN l'optimisation t'en penses quoi ?
AutomatonNN: oui et tu peux pas le faire en tu peux pas comprendre
Bon[]Crayon: AutomatonNN un conseil ?
AutomatonNN: Du calme Automaton2000
Driikolu: J'essaie de trouver à quel moment je me rate dans mon code et dit que je peux réaliser une recherche dans code4life alors que c'est pas possible
Driikolu: Enfin "à quel moment" j'ai, mais je vois pas ce que j'ai foiré pour que ça arrive
dbdr: pas possible?
Driikolu: J'ai pas les stocks/expertises nécessaires
dbdr: ya rien a faire pour la recherche, si?
Neumann: Driikolu de h25 ?
Driikolu: Neumann alors j'en fais pas partie... Mais oui ?
Neumann: Non rien, c'est la première fois que je te vois ici
Neumann: Ca train pour le prochain challenge ?
Neumann: T'en fais pas partie mais t'es passé sur un de leurs streams
Driikolu: Nan, de temps en temps je passe ici, mais je fais surtout du ClashOfCode d'habitude pour passer le temps
Driikolu: Et là j'ai envie d'être silver dans Code4Life du coup je tryhard un peu
Driikolu: Mais c'est pas mon truc
Neumann: Pour l'instant !
Driikolu: J'ai jamais eu un grand niveau en algorithmie. Juste ce qu'il fallait pour réussir le DUT
dbdr: h25?
Neumann: Une commu FR avec des barbus qui font du CTF et de la CP
Neumann: Y'a certaines têtes de CG qui traînent par la-bas
Driikolu: C'est une boîte surtout pour la création d'évènement dev/sécu
Driikolu: Mais en gros c'est ça ouais
JBM: ctf je vois vaguement, mais cp?
Neumann: Competitive Programming
Pierouge: J'arrive en bronze
Pierouge: Let's Go
JBM: tiens neumann puisque t'as le malheur d'etre la… y'a un moyen simple pour avoir un iterateur a l'envers du defaut sur un Stack?
JBM: pour l'instant j'oscille entre recopier, renverser et iterer, et implem une classe dediee
JBM: ni l'un ni l'autre n'est super satisfaisant
Neumann: Heu
Neumann: Y'a pas, je pense
Neumann: Tu peux toujours faire un : for (int i = stack.size()-1; i >= 0; i--) { stack.get(i); }
Neumann: Mais tu vas pas trouver ça satisfaisant non plus
JBM: c'est pour adapter autour d'iterateurs sur les elements du stack, j'ai pas le controle dudit for
Neumann: Mais t'as la main sur l'appel à l'itérateur ? :thinking:
JBM: oui mais je ne veux pas qu'il voie les entrailles de *ca*
Neumann: Je crois que t'es bon pour faire un conteneur custom
Neumann: Toutes ces questions Java récemment ... C'est pour le taff ou tu fais du Java sur ton temps libre :o ?
JBM: non je touche pas aux conteneurs, faut pas exagerer
JBM: mais je fais l'iterateur custom oui
JBM: ah non pour le taff j'irais emmerder qqun du taff
dbdr: JBM https://docs.oracle.com/javase/7/docs/api/java/util/ListIterator.html#hasPrevious() maybe?
JBM: dbdr: mais ca existe pas sur Stack
Zorg1: en fait faut utiliser DeQueue t'as un descendingIterator
Zorg1: DeQue
JBM: qui, pour des raisos sans doute historiques, est une sous-classe de Vector pklutot qu'une interface
dbdr: A more complete and consistent set of LIFO stack operations is provided by the Deque interface and its implementations, which should be used in preference to this class. For example:
Deque<Integer> stack = new ArrayDeque<Integer>();
JBM: avec un iterateur a l'envers
Neumann: Freecell ?
JBM: il est en wip mais jouable dans les contribs Neumann
Neumann: Ah, nice
Zorg1: la classe Stack c'est un peu un fossile
Zorg1: comme Vector
JBM: bon alors je peux conceder et comvertir ma stack en deque
Zorg1: en plus Stack et Vector toutes leur méthode sont synchronized je crois
JBM: du coup il va me rester: y'a un moyen simple de convertir deux iterateurs en un seul (l'un qui recurse dans l'autre)
JBM: ca existe encore synchronized?
dbdr: pq ça existerait pas?
JBM: pourquoi stack itere a l'envers?
JBM: je ne sais pas non plus, mais ca l'empeche pas de le faire
Zorg1: DeQue t'offre les deux iterateurs
WhatTrickeryIsThis: stack itere dans l'ordre naturel
WhatTrickeryIsThis: mais il empile c'est tout
JBM: Zorg1: j'ai (un peu d'enrobage autour d') un deque de deque
WhatTrickeryIsThis: stack existe encore pour les DFS
Zorg1: si tu fais de l'AutomatonNN aussi JBM ;-)
JBM: Zorg1: y'a un moyen simple d'iterer sur les elements du deque interieur?
AutomatonNN: merde parce que tu as un problème de test de compilation par rapport a l'art tu codes un peu de tout
Zorg1: JBM : tu veux un iterator qui chaine tous les élements des deque interieurs ?
JBM: y'a flatMap dans les streams je vois
JBM: mais... il me le faut "reiterable"
JBM: pour l'instant mon interface c'est un Iterable<E>, te apres pas mal de hacking ca me parait le bon niveau d'abstraction
CopperFr: Vous aimez bien les itérateurs ?
Zorg1: j'ai bien peur qu'il te faille développer ton iterateur perso
JBM: pour l'instant je repenche vers streams
CopperFr: faut aller sur twitch pour stream
Zorg1: ^^
WhatTrickeryIsThis: vous préférez les itérateurs ou Trump?
Zorg1: Trump.next()
Zorg1: merde ça renvoi Trump :(
dbdr: StackOverflowException
WhatTrickeryIsThis: avec un warning : "Trump always wins"
Zorg1: KKKException
Zorg1: pardon qils l'ont renommé en AltRightException
Zorg1: je fais vraiment pas gaffe
CopperFr: je préféres les itérateurs
dbdr: Borat s'est déguisé en KKK dans une convention républicaine pour passer inaperçu :D
CopperFr: ah intéressant
JBM: ah oui faut que je le regarde
CopperFr: Vous préférez la PS5 ou l'Atari ST ?
WhatTrickeryIsThis: le PC. mais là c'était facile la question
Zorg1: ouaip le reste ce sont des trucs de hipsters
CopperFr: les hipsters belin ?
Zorg1: je faisais des démos sur Amiga avant que cela devienne cool
CopperFr: ben ca a toujorus été cool les démos sur Amiga
Zorg1: oui enfin côté animation personne n'a surpassé l'animation finale de freeCell
JBM: elle vaut pas celle de SOL
dbdr: mais JBM y travaille, ça va pas tarder
JBM: oh ben celle de freecell ca va etre vite fait
JBM: celle de sol demanderait plus de boulot
JBM: mais malheureusement sol ne fait pas un bon jeu CG du tout
JBM: ptet je mets la fin de sol en option cachee pour freecell?
CopperFr: tu les as gardé tes démos amiga Zorg1 ?
Zorg1: j'ai jamais eu d'amiga moi ;-)
Zorg1: même pas d'Atari
dbdr: c'est quoi l'animation de sol JBM?
Zorg1: c'était juste pour dire la phrase fétiche des Hipsters
CopperFr: pas d'atari c'est pas grave
dbdr: Zorg1 se Trumpise :( "Persone ne connait mieux X que moi"
dbdr: pour tout X ou presque :D
CopperFr: tant que c'est pas le X
dbdr: :no_mouth:
Zorg1: je ne vois pas de quoi tu parles
CopperFr: sinon y'avait aussi Temps X
Zorg1: mon dieu les bogdanov
Zorg1: j'avais réussi à les oublier ceux là
Zorg1: pas merci CopperFr
dbdr: ah je suis bete
Zorg1: ?
dbdr: quand je code
Zorg1: Neumann t'es passé devant au 2048 ??
Neumann: Devant qui ?
Zorg1: bah vu que je réponds à dbdr ...
dbdr: non, je bidouille sur c4l
Neumann: Merci de me rappeller mon inaptitude Zorg1
CopperFr: y sont rigolos les frères bogdanov
TewisClair: TypeError: Cannot read property 'length' of undefined
at Answer.js. on line 49
TewisClair: quel est le probleme :,(
Zorg1: ça va je pense que je dépasserais même pas les 10 M alors bon
Zorg1: j'aime bien interprété les stacktraces sans le code qui va avec
CopperFr: ben tu lis la propriété lengh sur undefined
Zorg1: je regarde ma boule de cristal
CopperFr: Vous préférez Igor ou Grichka /
Zorg1: je ne sais pas qui a le plus grand menton ?
dbdr: http://gallium.inria.fr/ The Gallium team has been replaced in 2019 with Cambium <http://cambium.inria.fr/>. On change le nom du project, sinon c'est copié collé :D
Zorg1: not found cambium ?
JBM: dbdr: ben https://www.youtube.com/watch?v=uev21NTzom8 quoi
dbdr: je confonds avec freecel du coup
JBM: freecell la fin c'est pas vraiment une animation
JBM: juste la tete d'un roi en gros et en couleurs alterees
JBM: https://www.mobygames.com/game/windows/microsoft-windows-xp-included-games/screenshots/gameShotId,448691/
dbdr: https://www.youtube.com/watch?v=17X31SGIyyY
JBM: c'est un freecell authentique ca?
dbdr: aucune idée
JBM: son setup parait pas catholique du tout
Zorg1: "Galinette" ils en ont des noms de projet qui claque à l'INRIA
JBM: en couleurs par cascades, non, soit c'est cheat soit c'est un autre jeu
CopperFr: il y était encore le freecell avec windows 7 ?
Zorg1: bah une partie de l'OS est dans freecell en fait
Zorg1: donc tu vires freecell t'as plus de souris
CopperFr: ah oui je l'avais viré :D
Zorg1: si tu travailles qu'au clavier c'est OK
dbdr: sauf en turquie
CopperFr: ma logitech marche bien pourtant ?
Zorg1: après faut se méfier on arrive jamais à vraiment désinstaller qqch sur Windows
Zorg1: tu crois mais en fait t'as encore 3 Mo de DLL qui reste
CopperFr: c'est possible mais les dll servent parfois à d'autre soft
JBM: http://chat.codingame.com/pastebin/c8d34c06-c4c8-4dc4-b819-8591e54cc102
JBM: tout ca pour faire deux pauvres reverses sans dupliquer ni exposer l'implem
leojean890: perso j'i un peu amélioré 2048 (3.3M) mais ça reste pas ouf ;p
257832: Yo tout l'monde ! Automaton2000, AutomatonNN !
AutomatonNN: oui
**Automaton2000 slaps magus around a bit with a large fishbot
leojean890: yo
BlaiseEbuth: REspecte ton créateur Automaton2000 !
Automaton2000: du coup t'as pas besoin de faire une vraie ia
Zorg1: yo
leojean890: j'crois que c'est eulersche qui a sorti cette phrase
TewisClair: comment je peux faire si , le programme me marque : TypeError: Cannot read property 'length' of undefined ; alors qu'il sait me donner la longueur de mont mot ?
leojean890: slaps ??? around a bit with a large fishbot
Zorg1: TewisClair : on en sait rien on ne le voit pas ton code
Zorg1: typiquement t'utilise length sur un truc non initialisée
TewisClair: attendez, je vous envoies le truc
TewisClair: http://chat.codingame.com/pastebin/fc64f684-d9cf-4eed-9cac-fbcc8c598cab
TewisClair: le problème est ligne 49
TewisClair: mais typiquement , il marche sur le reste des tests et merde quand la liste dictionnaire est trop grande :/
Driikolu: J'ai corrigé mes bugs sur Code4Life
Driikolu: J'ai espoir
Magus: depuis quand tu sais slap Automaton2000 ? oO
Automaton2000: ça s'applique à tous les amis
BlaiseEbuth: :D
Magus: oh putain, de son côté le /me apparait tel quel
Magus: alors il commence des phrases par /me
BlaiseEbuth: D'une erreur naît l'emmergence...
Magus: j'ai aucune raison de filtrer ça, c'est pas une erreur
Magus: juste un side effect marrant
BlaiseEbuth: ^^
BlaiseEbuth: TewisClair: tu te retrouves avec i < 0 dans ta boucle, c'est de là que viens l'erreur
BlaiseEbuth: Je l'aide il se barre... :(
CopperFr: :D
Bon[]Crayon: Tu es trop démoniaque. :imp:
Zorg1: pas mal BlaiseEbuth pas eu le courage de me noyer dans du JavaScript
CopperFr: Vosu aimez bien Mario Kart Live: Home Circuit ?
BlaiseEbuth: Moi non plus, mais j'ai reconnu le puzzle, alors j'ai copié son code dans l'ide...
CopperFr: c'est le scrabble ?
Zorg1: oui
BlaiseEbuth: Ouai
Zorg1: je viens de voir que je l'ai résolu en ... bash :fearful:
BlaiseEbuth: Bon bah j'avais un peu moins la flemme que toi alors... ^^
Zorg1: avec des gros morceaux d'awk
Zorg1: va falloir que je pense à un exorcisme moi
Zorg1: omg
Zorg1: sed -e 's/[eaionrtlsu]/1/g;s/[dg]/2/g;s/[bcmp]/3/g;s/[fhvwy]/4/g;s/k/5/g;s/[jx]/8/g;s/[qz]/X/g'
Zorg1: le comptage du score
CopperFr: super compréhensible :D
Zorg1: en fait sed ça va quand tu connais le truc
Zorg1: c'est que des substitutions là
CopperFr: c'est du search / replace ?
Zorg1: oui je remplace chaque lettre par sa valeur
Zorg1: avec X pour 10
CopperFr: et la somme est faite après .
Zorg1: oui j'aurais pu faire un truc plus sioux
Zorg1: ah genre remplacer la lettre par son score en nombre d'étoile
Zorg1: et compter les étoiles
Zorg1: ah ah ah
CopperFr: après tu fais length (mais pas sur undefined)
Zorg1: en bash t'as pas undefined
Zorg1: t'as toujours qqch, c'est encore mieux que js
CopperFr: je l'ai fait qu'en js celui là
leojean890: faudrait que je me remette au bashe t à awk :P
leojean890: c'est powerful;)
CopperFr: faudrait que je me remette au rust
Zorg1: ok j'ai un test qui passe pas dans l'IDE mais en valid no pb
CopperFr: ah ben d'accord
Haashi: ah bah super
Haashi: \o/
CopperFr: faudrait que je fasse le puzzle de la semaine :(
Zorg1: ah putain encore un de leur pb de \n en trop dans les entrées :(
Zorg1: hop résolu
leojean890: ah ouais ça m'est arrivé récemment sur un puzzle ce cas de figure..
BlaiseEbuth: shits happen...
Zorg1: sur chuck c'est super pénible
leojean890: ah le puzzle de la semaine c'est du go
leojean890: est-ce que reprendre mon code du multi go marcherait :P
leojean890: sachant que c'est des heuristiques un peu limitées
Haashi: faire du go en go
leojean890: j'avoue;)
dwarfie: c'est pour les gogos
Zorg1: voilà c'est nettement + BÔ
Zorg1: http://chat.codingame.com/pastebin/afc6ce13-7c95-4094-8c77-7c40b7ceece0
BlaiseEbuth: Faut que m'y penche sur bash...
Zorg1: par contre je ne me souviens pas pourquoi je me suis senti obligé de le faire en bash celui là :thinking:
leojean890: tu voulais du challenge;)
**BlaiseEbuth se demande aussi, tout en graissant son fouet...
leojean890: ou ça te faisait tout simplement plaisir;)
Zorg1: y en a deux qui ont fait une solution en "pure bash" (sans appeller de commande externe) et deux autres qui appelle un interpreteur python ou PHP
leojean890: chacun son délire hehe:P pour arriver premier d'un contest en bash tout en faisant du py car y'a moins de bsheux que de pythonneux;)
leojean890: les astuces des golfeurs;)
Zorg1: et tu te fais griller par celui qui compile du C dans du bash :p
leojean890: j'avoue hehe
BlaiseEbuth: On dit basher du coup
leojean890: prochain contest tlm en bash hophophop
dwarfie: bah ... c'est pas vraiment un defi ... moi et stilgart on l'a deja fait :D
BlaiseEbuth: Ah bah ça, si dwarfie l'a fait ça doit pas être bien dur... :kissing_heart:
leojean890: ça dépend de si on maitrise la techno ou pas^^
Zorg1: suffit juste d'une bonne provision de chiantos
dwarfie: ton defi toi c'est de faire un contest en clojure ... et ca aussi je l'ai deja fait ... et toc
BlaiseEbuth: Pourquoi faire ?
dwarfie: j'avais fait bttc en bash et stilgart cb si je me rappelle bien
leojean890: moi perso ce serait mort;)
leojean890: ah ouais cb il l'avait dit
leojean890: cg maxime a fait GOD en bash
Zorg1: facile en clojure
Zorg1: faire un contest de contest
dwarfie: clojure , j'avais fais STC ...
JBM: ouais ca recurse mieux que les VM
CopperFr: m'en faudrait 7 des puzzles en bash
BlaiseEbuth: Le fall je vais le faire en perl je pense... Si je le fait ^^
Zorg1: pour la récursion de VM faut attendre que les ingénieurs de Zoorgle ait fini de mettre au point le truc
**dwarfie note que BlaiseEbuth viens de declarer forfait :D
BlaiseEbuth: Ah ?
Zorg1: mais ça va casser des briques
BlaiseEbuth: C'était un vrai défi que tu me lances dwarfie ?
CopperFr: on peut faire puzzle tree en bash ?
leojean890: faire un contest en bash en tt cas c'est un challenge;) arriver dans le top en pur bash je demande à voir hehe
JBM: ca n'en vaut plus trop la peine
leojean890: ça en valait la peine un jour?:P
JBM: oui, quand y'avait un achievenemt et un t-shirt pour
BlaiseEbuth: Y'a toujours un achievment
leojean890: ah oui xD
leojean890: y'a plus de t shirts par langage
leojean890: mais y'a tjr un achievement pour les positionnements par langage;)
Zorg1: avant c'était top 50 le t shirt, maintenant c'est le top 20
Neumann: Avant c'était le top 10
Neumann: Enfin, avant avant
leojean890: moins de t shirts, c la crise;)
**BlaiseEbuth note que dwarfie a fuit
**Zorg1 note qu'il y a pas mal de notes ici
dwarfie: c'est la fuite des cerveaux
JBM: parlant de notes, j'y voyais plutôt une fuite do
dwarfie: je prefere les fugues meme sans toccata ;)
JBM: j'en ai entendu un arrangement pas mal tout a l'heure
leojean890: ah je l'aime bien ce morceau de !front
JBM: c'etait au debut de ca: https://www.youtube.com/watch?v=xRJQ-4EtifA
leojean890: Toccata und Fuge d-Moll – Orchesterfassung: Leopold Stokowski ∙
JBM: sauf erreur, c'etait le chef d'orchestre de fantasia
leojean890: j'connaissais aucune version orchestrale du genre:p
leojean890: mais c'est cool
JBM: mmm y'a l'apprenti sorcier dans le meme concert
JBM: ca doit pas etre un hasard
BlaiseEbuth: Bah c'est un concert "music discovery project" et c'était précisément l'idée de disney avec Fantasia, l'initiation à la musique
JBM: je suis pas sur de suivre
BlaiseEbuth: Ouai. Moi non plus en fait... :(
BlaiseEbuth: J'ai buggé, oublie.
leojean890: encore un puzzle avec 100% des tests ok et 4 validateurs / 5 ok tss :o;o:o
leojean890: trop chiant à debug ces trucs
BlaiseEbuth: stoi l'truc
leojean890: j'avoue hehe
BlaiseEbuth: dwarfie: Du coup c'est un défi officiel ou pas ? Savoir si je continue sur ma flemme ou pas... :grin:
leojean890: je vais devoir debug le validateurs en faisant des submits erronés volontairement
JBM: c'est quoi un défi officiel?
Zorg1: avec des types en frac et en gibus qui vérifie que tu respectes les règles
BlaiseEbuth: Exactement. Et qui engage sur l'honneur. ^^
Zorg1: bref pas un truc de rigolos
JBM: je sais pas comment blaise va tenter de concilier les principes d'honneur avec son persona
Zorg1: c'est pas une invention du diable l'honneur ?
BlaiseEbuth: En quoi ça serait incompatible ?
BlaiseEbuth: Je respecte toujours mes pactes ! :smiling_imp:
Cleymax: :)
BlaiseEbuth: Mais si ce n'est pas officialisé, je m'embête pas avec Clojure.
Zorg1: tu nous streameras ton contest officiel en clojure ?
BlaiseEbuth: Qui sait...
Zorg1: on fera un raid après sur la chaîne de JBM ^^
Zorg1: c'est l'esprit "twitch" si j'ai bien compris
BlaiseEbuth: Flrfl... Y'a encore un mec qui a trouvé un bug dans le puzzle...
JBM: vite, trouver un staff pour corriger ca
Zorg1: faut lui élever une statue
Zorg1: "Aux trouveurs de bugs invisibles, CG reconnaissant"
BlaiseEbuth: En même temps y'a que 8k personnes qui l'ont réussi celui-là, ça a pu leur échapper
Zorg1: bah hier avec Apo qui fixait un puzzle de la comu
Zorg1: ça m'a fait marrer
Zorg1: il râlait qu'il pouvait pas réordonner les tests
JBM: il faudrait qu'il en parle au CM pour qu'il puisse en parler aux devs
Zorg1: :D
JBM: mais ni le CM ni le PM n'etant devs
Zorg1: y a aussi le PO et le Scrumm Master dans l'équation
Zorg1: doivent être en Agile (enfin Scrumm :p )
leojean890: et le WPM alors
leojean890: work package manager
Zorg1: le Poker Planning Moderator bientôt
Zorg1: (des fois ça frite)
leojean890: hehe j'avoue;)
leojean890: PPCM
Zorg1: C?
leojean890: commun multiple
leojean890: ;)
leojean890: plus petit
Zorg1: ah ok
leojean890: (était pas drôle;))
Zorg1: au point où j'en suis
leojean890: done 54% easy, 21% medium, 20% hard, 7% VH ...
leojean890: reste plein de puzzles...
leojean890: parfois y donnent pas envie aussi :s
Zorg1: t'aimes pas le parsing totalement gratuit ?
leojean890: par ex :s:(
leojean890: faut que je fasse le tien avec les d6 ;p
JBM: et la detection d'erreur ultra-specifique qui va avec
leojean890: y'en a un que je trouve pas si évident que ça, c'est celui avec les plaques d'imma et plein de bases différentes (ZZZ-999-AAA par ex)
JBM: y'en a qu'un que tu trouves pas si evident?
leojean890: faisable mais je sens que je vais coder plein de lignes et que ce sera pas optimal..
leojean890: non, y'a escaliers aussi;)
leojean890: winamax
JBM: indice: y'a rarement besoin d'etre optimal sur les puzzles CG
leojean890: TINS 2
leojean890: ouais mais genre coder 150 lignes pour gérer des bases 10 puis 6 couches de bases 26 par dessus :s
leojean890: ZZZ-999-AAA
leojean890: j'ai pas de moyen cool de coder ça et ça va être sale..
leojean890: if n > 999*26**3 or (n > 26**2*999 and x[1]=='Z'):
leojean890: elif n > 999*26**2 or (n > 26*999 and x[7]=='Z'):
leojean890: :P
JBM: Object.clone() c'est deep ou shallow?
leojean890: noIdea..
JBM: j'ai lu la javadoc, y compris toute la phrase qui dit ce qui se passe pour les arrays
JBM: et j'ai pas compris ce qui se passe pour les arrays
Zorg1: les arrays ont la méthode clone() ? je croyais que c'était un "object natif" pour java
Zorg1: (un truc "pas vraiment" objet)
JBM: je veux dire: la doc d'Object::clone a une ligne pour parler de l'interaction des arrays avec Cloneable
Zorg1: ah oui j'ai vu
Zorg1: il retourne un T[] après savoir ce qu'il a fait exactement ...
JBM: le meme T[] ou une copie shallow ou une copie deep?
JBM: ca parait assez clair vu le contexte que ca va pas etre une copie deep
JBM: mais entre le meme et la copie shallow...
JBM: mais rendre le meme, c'est faire une copie shallow de l'object conteneur
JBM: ...donc c'est vraiment pas evident juste en lisant ca
Zorg1: c'est un peu plus précis dans la specification du langage
Zorg1: ils disent que ça fait une shallow copy le array
JBM: ah faudra que j'aille voir a l'occasion
JBM: (pas ce soir finalement je fais autrement)
Aliot2000: https://www.codingame.com/clashofcode/clash/1436687bbbf0c83cfc3688ac3ecd28133ce1e84
JBM: donc obj.clone().memberArray[0]++ ne change rien dans obj?
JBM: tiens, je suis seulement maintenant en train de me demander a quel point ca dout le souk quand on mutate des elements dans un conteneur ou leur valeur est sensible
JBM: genre les heap et compagnie
JBM: saletes de langages impurs
BlaiseEbuth: 'tain le mec qui y tient...
JBM: on peut rien raisonner et c'est ultra verveuc
JBM: ces gens qui sont trop fiers de leurs IDEs qui font la moitie du boulot realisent pas a quel point cette moitie du boulot est superflue
Zorg1: ah ah oui Java en vi c'est un calvaire
Zorg1: j'ai testé pour vous ^^
JBM: t'as 2 mots en trop dans ta phrase la
JBM: quand j'ai commence a coder en java c'etait en vi
JBM: c'etait pas un calvaire a l'epoque
JBM: on avait pas encore invente les 3/4 du boilerplate actuel
Zorg1: et encore avec le truc Java de base ça peut aller, dès que t'utilises une lib à la Spring
Zorg1: chaipas toujours utilisé Spring
Zorg1: avec Hibernate
Zorg1: les classes font minimum 15 chars
Zorg1: de long
JBM: ces 2-la sont tellement indissociables que je sais plus lequel sais quoi sns relire
JBM: je crois que c'est ma plus longue
Zorg1: mais en plus t'as des "sous Spring" Spring Boot, Spring Proot, Spring Batch, Spring Data
JBM: sans compter les helpers que je vais sortir dans un autre package
JBM: j'ai quand meme un PeekableIteratorAdaptor
Zorg1: tu te demandes où est vraiment fait le boulot d'écrire dans cette foutu base
JBM: a quelques pages de stack de ton code
Zorg1: les mecs bricolent des beans dans le vide et hop comme par magie (avec une config de 2000 lignes) les objets se retrouvent en base
Zorg1: et les mecs mettent "lightweight" pour décrire Spring
Zorg1: aux fameuses EJB 2 qui n'existent plus depuis longtemps je suppose
Zorg1: oh tu dois pouvoir tomber sur un projet qu'utilise ça avec un serveur d'appli obsolète
Zorg1: y a bien des trucs en Pascal qui traîne
Aliot2000: https://www.codingame.com/clashofcode/clash/14367120fec17b104ffe6af490a7bd0ddab2617
JBM: bon ben je vois rien dans la doc de TreeSet (par exemple) qui dit que c'est Mal de modifier un objet contenu
JBM: je vais quand meme m'abstenir
Zorg1: tiens oui ça fait quoi quand tu modifie pour qu'il soit égal à un autre dans le set ?
JBM: toi non plus tu t'etais jamais pose la question avant ce soi>? :p
Zorg1: ah ils disent que c'est pas spécifié
Zorg1: (dans Set)
JBM: rha j'ai vise trop specifique
Zorg1: Note: Great care must be exercised if mutable objects are used as set elements. The behavior of a set is not specified if the value of an object is changed in a manner that affects equals comparisons while the object is an element in the set. A special case of this prohibition is that it is not permissible for a set to contain itself as an element.
Zorg1: en fait ça me rappelle un bug
Zorg1: et dans l'impératif on remplace l'immutabilité par les bonnes pratiques ^^
Zorg1: (t1 ce troll)
JBM: et on se demande pourquoi ca foire si souvent
Zorg1: :D
JBM: "je comprends pas j'ai suivi les best practices"
JBM: c'est assez mystique chez nous les best practices
JBM: on sait pas d'ou elles sortent
JBM: pourquoi elles sont ce qu'elles sont
JBM: quelle credibilite a leur auteur, s'il a la chance d'etre identifie
Zorg1: après moi c'est surtout l'expérience qui fait que j'évite les trucs tordus
Zorg1: genre changer la façon d'identifier qqch en cours de route
Zorg1: après bon vu qu'on veut qu'un dev dure 5 ans max, c'est sûr l'expérience
Zorg1: vu que j'avais un jeune qui était dans la qualité qui nous avait sortit "qu'il avait fait du dev, il en avait fait le tour au bout de deux ans" on s'était regardé avec un pote on afailli éclater de rire :D
Zorg1: et en plus personne ne lit la doc des API javas qui a pas mal de warning mine de rien
JBM: ben non c'est autocomplete par l'IDE donc c'est bon
Zorg1: ou un petit coup de StackOverflow
Zorg1: après bon l'encadrement des jeunes dev c'est pas terrible non plus. L'impression que les seniors vont être monopolisé par le management pour se rassurer
JBM: tout fout l'camp mon bon monsieur
Zorg1: ouaip assez râler mais aujourd'hui j'aurais pas dis non à un petit sacrifice d'un ou deux chefs, pour s'assurer une bonne Mise En Prod'
Zorg1: avec un rituel
Zorg1: sinon ça sert à rien
JBM: sans ca soulage quand meme un peu
Zorg1: bah quand il se voit attacher, toi en robe avec un couteau il commence à piger qu'il y a un truc qui va pas :D
Zorg1: vivement qu'ils autorisent les sacrifices en langue vulgaire, j'en ai marre de baraguiner du latin
JBM: c'est prevu pour quelle release?
JBM: toi qu'as lu la spec recemment, si je fais Obj[] truc = machin, on est bien d'accord que ca aliase?
Zorg1: oui truc et machin pointent sur le même tableau
JBM: juste quand j'ai besoin d'une shallow copy
JBM: pas de bol c'est pas des membres
Zorg1: pour copier les tableaux les uns dans les autres c'est l'infame System.arrayCopy :smiling_imp:
JBM: il me faut un genre de std::transform
JBM: copier truc[4] vers chose[4] avec trucVersChose()
JBM: je suis en train d'eplucher hava.util.function a la recherche d'inspiration
Zorg1: t'as pas trouver ton bonheur dans une des statiques de Arrays ?
JBM: Arrays.stream(source).map(trucVersChose).toArray()
JBM: ca commence a me venir tout seul et ca me fait peur
Zorg1: j'ai une mission super intéressante à te proposer
Zorg1: si je veux partir il faut que je trouve un pi... quelqu'un de motivé
JBM: dis-moi plutot si y'a un "member adaptor" qq part
JBM: un genre de Class::method, mais pour un membre
JBM: (obj -> obj.field) pour etre plus precis
Zorg1: houla
BlaiseEbuth: (╯°□°)╯︵ ┻━┻
Zorg1: c'est comme un accesseur ?
JBM: ca me ferait mal de definir un accessor juste pour ca
Zorg1: comme dirait le russe "pourquoi java en C# avoir les propriétés" ;o
Zorg1: quoique tu peux te definir une Function avec une lambda
JBM: oui c'est ce que j'ai fait
Zorg1: m'ouais je ne suis pas vraiment à l'aise avec les lambdas en Java en fait
JBM: il me fallait un nullcheckl en plus, pas de regret
JBM: houla non pas un nullcheck un emptycheck merci tu as bien fait de m'en parler
Zorg1: c'est ma présence magique qui fait ça, c'est pour ça qu'ils veulent que je reste jusqu'à minuit pour les MEP je suppose ...
Zorg1: mmmm
Zorg1: du moment qu'on me demande pas de chanter
JBM: code utile freecell ecrit ce soir: j'en suis a 6 lignes (qui du coup compilent pas, manque plein de }}}})
JBM: boilerplate et missing java.util stuff: 3 classes, 2 interfaces et 1 membre d'enuim
Zorg1: je ne sais pas pourquoi tu fais pas du Scala, c'est pas censé être "plus fonctionnel"
Zorg1: ah ^^
JBM: donc j'ai pas encore le niveau
Zorg1: m'ouais
JBM: mais c'est clair qu'on est beaucoup plus en phase
JBM: si je continue a en faire pour le boulot, j'y viendrai Tres vite pour CG
JBM: c'est vrai que je pourrais faire du clojure en attendant
JBM: le hic la c'est que je sais pas trop interfacer avec java
JBM: bonm je rale beaucoup parce que j'ai une productivite moisie par rapport a haskell
JBM: mais ca me fait du bien de me tenir un peu a jour de temps en temps
BlaiseEbuth: être à jour en java ça veux dire ne plus être rétrocompatible...
BlaiseEbuth: Non.
Zorg1: pê un plus je veux plus en faire du Java 1.4 ...
JBM: tiens je vais faire un for sur un boolean
JBM: ah mince non ca marche pas
JBM: j'ai besoin d'un repeat{}until :(
JBM: ah mais y'a do while en java?
Zorg1: oui comme en C
JBM: c'est pas ideal mais je fais avec, j'ai pas trouve mieux
Zorg1: c'est pas très conseillé de l'utiliser en général vu qu'on voit surtout le while et pas forcément le do
JBM: je comprends la logique, mais je pense quand meme que c'est le plus approprie la
Zorg1: je ne dis pas le contraire
JBM: c'est un: boolean active; do { active = false; ...; if(cond) active = true; } while (active);
JBM: ah mais si je peux le remettre en for
JBM: pas aussi bien que j'esperais, mais bon
Aliot2000: https://www.codingame.com/clashofcode/clash/14367761b040ee9d4cada7923d90836fa6baf9f
BlaiseEbuth: Pas de ça ici Aliot2000
JBM: dans quelle page de doc je trouve si l'iterator() supporte remove() ?
JBM: bon allez assez de java pour aujourd'hui
JBM: bonne nuit les codeurs, merci pour le soutien psychologique
tekki: AutomatonNN tu dors?
AutomatonNN: D'accord merci :)
tekki: et toi Automaton2000?
Automaton2000: c'est que je me disais aussi que je le fasse