Chat:Fr/2020-05-03
Stilgart: te plains pas... d'habitude c'est le luxe ultime de pouvoir affronter un boss
Palmipedus: leojean890 moi c'est une question de temps, j'aimerai bien faire plus de multi mais avec la famille et le boulot je ne peux juste reserver un peu de temps pour les contests
Stilgart: pffff, désolé pour le bruit, mais trop c'est trop !
Alshock: Qué pasa? Por qué eres bruyando?
leojean890: Stilgart luxe ultime carrément ?:P la ligue 1v1 contre le boss j'avoue c'était moyen :P
leojean890: et ouais la bois 1 m'a calmé je suis 9/26
leojean890: Palmipedus je comprends, moi j'ai + de temps en cette période de confinement (en temps normal je sors bcp et j'ai 5 groupes de musique ce qui prend aussi pas mal de temps..)
leojean890: dans KD faudrait que mon algo essaye de garder son château au milieu.. il le fait pas du tt
leojean890: et faire un truc propre sans laisser des espaces d'une case au lieu de défausser à la fin..
Stilgart: leojean890: cf ooc
Stilgart: si les gens avaient plus rencontré le boss, tu serais passé légende
leojean890: plus ? comment ça ?
leojean890: ah oui
leojean890: s'ils l'avaient fait baisser
leojean890: :p
Stilgart: Alshock: encore un puzzle ou encore magicien-d-oz se encore vautre parce qu'il n'a encore pas compris que c'est encore de la prog dyn
leojean890: mais en vrai je méritais pas de passer car j'avais que 30-40% de winrate contre le boss^^
leojean890: mais sur un malentendu quand j'étais à 28.55 j'aurais pu par chance :P
Stilgart: l'idée n'est pas mauvaise en soi... mais là c'est trop... marre que ce soit les approvers qui fassent le boulot et lui qui loote l'XP
leojean890: vous parlez d'un puzzle en contrib ?
Stilgart: oui
Stilgart: enfiin, je
leojean890: la catégorie "entrainement" avec les puzzles, c'est une zone totale de découvertes futures pour moi :P
dbdr: Stilgart les approuvers recoivent plus d'XP, non? c'était mieux avant?
Stilgart: en vrai, si j'arrivais maintenant je pense que je n'aurais pas le courage de m'y mettre tellement c'est le chaos
Stilgart: dbdr: non
leojean890: dbdr premier sur KD ;P
dbdr: *ne receoivent plus, pour etre clair :)
Stilgart: 15XP pour 2h à patcher une contrib
Stilgart: c'est la même chose que 0
leojean890: bah ils devraient car ça demande du temps qd même :P
Stilgart: en vrai, je suis content que ce soit tombé à 0
Stilgart: ça attire moins les vautours
leojean890: le chaos de quoi ? les puzzles ? les contrib ?
Stilgart: bon, j'aurais préféré perdre mon paquet de 15xp du coup... ça ça me gène un peu
Stilgart: leojean890: le nombre de puzzle est infini
Stilgart: c'est trié n'importe comment
dbdr: leojean890 c'est quoi KD?
leojean890: dbdr KD = https://www.codingame.com/ide/puzzle/coders-of-the-realm :P
Stilgart: KingDomino
leojean890: Stilgart donc faut choisir les bons ^^
Stilgart: (CotR c'est déjà pris)
leojean890: mais pas évident quand on débarque :P
Stilgart: leojean890: ça serait possible avec un meilleur tri peut-être
dbdr: Koders of De realm
Stilgart: mais là, tu cliques sur medium et tu as une popup mentale de gandalf qui s'ouvre
leojean890: ouais les initiales auraient pu être prises différemment :P
leojean890: du coup, il faudrait les trier comment selon toi ?
Stilgart: sinon, KD parce que c'est quasi KingDomino
Stilgart: alors
Stilgart: 1/ tu remets toutes les contribs dans le même pot pourri
leojean890: et ça aurait pas pu être appelé KD ? :P
Stilgart: 2/ ???
Stilgart: 3/ profit
dbdr: KD c'est un jeu de plateau?
Stilgart: oui
leojean890: ouais donc ajouter un tri supplémentaire contrib/not contrib quoi
Stilgart: enfin, c'est la même en jeu de plateau
leojean890: bah checkers ils l'ont bien appelé checkers
leojean890: donc kingdomino ils auraient pu non ?:P
Stilgart: leojean890: non
Stilgart: rétablir ce tri
dbdr: c'est pas grave le clash, je suis premier sur tousles CotR ;) </bragging>
leojean890: sinon y'a the great escape, c'est le jeu de société korridor remodelé
Stilgart: qui a existé pendant longtemps
leojean890: pk ils ont enlevé ce tri
leojean890: gg dbdr hehe
Stilgart: les puzzles CGs sont hautement plus "polished" que les contribs standards
Stilgart: rappelons que certaines étaient à la base des clashes de 10 / 20 min.
leojean890: bah jvois pas l'intéret d'avoir enlevé ce tri
Stilgart: noyer le bon travail de CG dans la masse
leojean890: ceci dit parmi les multis ils ont pas fait de tri(mais il y en a moins)
leojean890: ils sont tous dans le même sac eux aussi:p
Stilgart: les mutlis ça devient déjà infernal
Stilgart: cf Palmipedus
dbdr: c'est leur but de migrer vers du content généré par la cimmu, donc c'est cohérent
dbdr: meme si c'est pas parfait
Stilgart: nous sommes très nombreux à penser comme lui
dbdr: *commu
Stilgart: dbdr: oui et non
Stilgart: ça n'empêche pas de garder une vitrine historique
dbdr: enfin c'est vrai qu'ils ont arreté pour les contests
dbdr: avant de reprendre :D
Stilgart: surtout quand elle fait moins peur pour le casual gamer
leojean890: ouais ça devient légèrement le bordel car y'en a déjà 50 des multis
dbdr: la seule chose constante, c'est le changement ;)
leojean890: bah c bien ça laisse du choix aussi :P
leojean890: mais bon du tri ça peut pas faire de mal
Stilgart: ha non... le changement, c'était avant. -- François Hollande
dbdr: après un tri par auteur ça aurait du sens
dbdr: et un auteur parmi d'autres c'est CG :)
leojean890: ouais j'avoue
leojean890: eulerscheZahl en a créé pas mal aussi :P
leojean890: des optims/multis et aussi puzzles ?:P
dbdr: genre tu te sens en état de grace et tu veux faire tous les puzzles de JBM ;)
Stilgart: dbdr: why not... mais ça n'empêche pas que quand tu débarques et qui tu n'y connais rien
leojean890: donc JBM est aussi ung rand contribueur niveau puzzles ?:P
Stilgart: tu fuis devant les medium
dbdr: c'est vrai
leojean890: pk fuir ? y'en a trop ??:P
leojean890: sinon tu les choisis random:P
Stilgart: vas trouver les qqs perles dans le tas :(
leojean890: j'avais fait le puzzle "there is no spoon" en contest
Stilgart: (surtout que c'est pas les mêmes pour tout le monde)
dbdr: je suis curieux de voir leur systeme de quetes
dbdr: ça pourrait etre une solution pour savoir quoi faire apres les tutos
leojean890: c pas les mêmes prios pour tlm tu veux dire ?
Stilgart: c'était pas un poisson d'avril ça?
dbdr: les quetes?
Stilgart: oui
Stilgart: j'ai vu passé ça une fois il y a .... long time ago
leojean890: enfin dans le sens où chacun a des gouts diff ?
dbdr: je crois pas, je me rappelle d'un trello assez rempli
Stilgart: un trequoi ? :p
**Stilgart ne croit pas en ces outils...
dbdr: je l'utilise comme todo liste simple, c'est correct
leojean890: merde j'ai essayé de copy paste mon code dans COTR 1V1 et ça marche pas
leojean890: xD
leojean890: inputs diff
Stilgart: disons que, expérience de rapports de stage d'étudiants, plus tu l'affiches, et moins il y en a
Stilgart: leojean890: ma faute :D
Stilgart: je faisais parti des gens qui ont milité pour gérer le pb des inputs en cassant le puzzle en 2
leojean890: pk t'as voulu changer les inputs ? car "nb_players"n'a pas de sens ?:P
leojean890: plus tu affiches quoi moins il y a quoi ?:p
Stilgart: à la base, il n'y avait qu'une version... mais les inputs menaçaient de devenir infernales
leojean890: infernaux pk ?=p
Stilgart: faut ressortir les discussions pour les détails
**Stilgart n'a pas testé la version 1v1
dbdr: Last November, we revealed a first mock-up of what we had in mind for a reworked home page, and specifically a quest map. We've created a Trello board of ideas: join the discussion and give your feedback!
dbdr: ça avait l'air serieux
Stilgart: ok
dbdr: le trello est plus accessible
leojean890: j'aurais pas du hardcoder une taille de 9 hehe
leojean890: dans le 1V1 c'est plus 9:P
Stilgart: mais genre cette idée... elle date à peu près de l'époque du "ranking v2" v2.1
dbdr: const est ton ami
Stilgart: donc il y a 2 (3?) ans
leojean890: et changement de règle : L'extension horizontale et verticale du territoire ne doit pas excéder 7 carrés.
leojean890: au lieu de 5
leojean890: snif snif le copier coller :P
Stilgart: ça se généralise
leojean890: oauisavec une variabe width
leojean890: IK :P
Stilgart: mais gérer tout ça à coup d'input, plus le tour qui ne se passe pas pareil
leojean890: height
Stilgart: c'était trop inutilement compliqué pour la version 2-4j
leojean890: bon faut faire un code plus généralisé alors :P
leojean890: bon va falloir que je bosse à pas laisser des trous de 1 case aussi:p
leojean890: éviter de défausser
leojean890: centrer le chateau
leojean890: ....
dbdr: https://www.codingame.com/forum/t/codingames-home-rework/68840
dbdr: et oui ça date
leojean890: et vous, vous en faites bcp des contrib ?:P
dbdr: pas encore. j'ai fais des patchs pour améliorer 2-3 multis commu
leojean890: améliorer c'est bien aussi :p si tu as foi en 1 jeu et tu veux qu'il soit livré mais dans un meilleur état quoi :)
Stilgart: dbdr: améliorer les contribs ?
Stilgart: c'est pas vraiment possible ça
Stilgart: (mettre à jour un multi commu ça a plein de conséquences non désirables)
dbdr: par ex j'ai corrigé le generateur de maps de bandas pour qu'il soit moins injuste
Stilgart: bandas il n'aurait jamais du exister
Stilgart: ou sous forme de puzzle contre un boss fixe
dbdr: pourquoi?
leojean890: il était injuste en quel sens ?
Stilgart: à l'époque, la conclusion était que ça ne pourrait jamais être fair
leojean890: bandas c'est un de mes premiers multis
Stilgart: j'ai suivi de loin, donc si tu as fix le problème ça serait super cool
leojean890: juste car je le trouvais plus simple
dbdr: j'ai aussi contribué à Tower Dereference, un peu plus conséquemment
Stilgart: mais sinon, un bon puzzle avec GUI contre un boss ça faisait l'affaire
leojean890: je savais direct quoi faire comme éval avec minmax
dbdr: j'ai pas dit que je l'ai fix completement, mais c'était clairement mieux
leojean890: enfin je suis que 29/154 donc c pas parfait of course
leojean890: pas fair genre celui qui commence gagne ?
dbdr: leojean890 https://forum.codingame.com/t/community-puzzle-bandas/101048/6?u=dbdr pour les détails, y compris la pull request :)
leojean890: thanks:)
leojean890: ah non 27/147
leojean890: les dernières places sont toujours dures à atteindre
leojean890: quelques élus ont le secret pour ça ;P
dbdr: c'est une subtilité sur la façon de partager 2N elements en deux sous ensembles de façon aléatoire
leojean890: ah d'accord
leojean890: faut que je lise tt ça:)
leojean890: ah bah mon KD timeout sur une taille de 13..
leojean890: c'est balo quand même
leojean890: vive le python et les timeouts ;P
leojean890: enfin il timeout pas pour ttes les parties non plus mais bon
leojean890: jvais pas le submit direct je pense
Stilgart: tu es sûr que c'est du timeout ?
Stilgart: et pas un stack overflow genre fonction trop récusive
leojean890: oui du pur :P
Stilgart: ?
Stilgart: (cg affiche les choses bizarrement parfois)
leojean890: non il me fait des print jusqu'à un certain point
leojean890: enfin à vérifier après
leojean890: je fais pas un gros parcours récursif
leojean890: faut que j'ajoute des élagages
leojean890: je simule bcp de trucs
leojean890: même quand ça ne sert pas
leojean890: jdevrais pouvoir élaguer ça
dbdr: ce serait bien que CG dintingue crash de timeout, d'ailleurs
leojean890: en vrai je fais juste une simu PUT et une PICK par tour mais pour plein de positions
leojean890: je vais pas simuler à depth plus profonde que ça
leojean890: genre les tours suivants, ni l'adversaire
leojean890: ça peut être des todos intéressants
leojean890: mais qui me feraient timeout de ouf:P
leojean890: sauf si élagage bien bien fait
dbdr: leojean890 si tu veux faire des simus, ne fais pas dupython
leojean890: je fais simu avec éval
leojean890: yep bah je suis bloqué niveau depth en général
dbdr: c'est dommage
leojean890: genre bandas je suis bloqué à 4-5 alors que mini fcteur de branchement de 4
leojean890: mon minmax
leojean890: ouais je sais :P
dbdr: C# ou Java c'est pas bcp plus compliqué et sans comparaisons niveau perfs
leojean890: en vrai j'ai fait 1 an de C++ en entreprise il y 5 ans
leojean890: et java j'en fais en entreprise à l'heure d'aujourd'hui
leojean890: donc aucune excuse :P:P
leojean890: C++ ça commence à faire vieux mais possibilité de m'y remettre mais mon dieu comment je ferais trop de bugs et je galèrerais à debug
leojean890: :p
leojean890: enfin au début, après ça viendrait :P
leojean890: C# j'ai regardé ça semble faisable quand on fait du java^^
leojean890: en plus concis
leojean890: petit mélange entre java et CPP ce langage
RomanceDawn: en C++ tu peux codé comme du java :p
leojean890: j'avoue
darkhorse64: Si tu veux carburer dans les jeux de plateau, il faut utiliser un langage compilé
leojean890: avec la stl
leojean890: plus lent que n'utiliser que des tableaux mais bon:P
leojean890: bon le C pur c'est le mieux mais mon dieu le nb de bugs que je ferais :P
RomanceDawn: meuh nan
leojean890: ouais je sais que c'est mieux darkhorse64
leojean890: sinon comme Fangel j'apprends à utiliser numpy en python pour aller plus vite^^
dbdr: C# et Java c'est compilé JIT
dbdr: il reste un avantage disons de 1 à 2 pour C/C++/Rust contre C#/Java
dbdr: mais C à python c'est du 1 à 100
leojean890: ah ouais à ce point carrément ?:P
dbdr: à la louche
leojean890: ça fait mal quand même:p
dbdr: effectivement si 95% de tes calculs sont faits par numpy ç serait bcp mieux
leojean890: allez faut que je fasse un MCTS en c++ pour UTTT^^
leojean890: ouais numpy je maitrise pas, jem'en sers que pour random gen et random shuffle
leojean890: j'ai essayé le mcts en python et c'est laborieux avec les perfs
leojean890: dans breakthrough
dbdr: ça dépend de ton niveau, mais si tu es pas super à l'aise en C++ c'est courir à la catastrophe, à mon avis
leojean890: je suis passé au minmax et je suis genre 40/160 dans ces eaux là
leojean890: ouais à voi, au pire je prends mon temps sinon^^
leojean890: voir*
leojean890: ouais ça fait un moment le C++ malheureusement
leojean890: sinon java que je connais mieux
dbdr: tu peux tres bien faire MCTS en java
RomanceDawn: hum
leojean890: ouais
leojean890: mieux que python sans numpy !
RomanceDawn: tu va te manger des timeout de l'enfer par contre ^^"
dbdr: il faut savoir gerer la mémoire
leojean890: les passages de GC ??
RomanceDawn: yep
dbdr: mais en C++ aussi, dans une moindre mesure
leojean890: genre les collections majeures
leojean890: de la old génération
dbdr: tout préallouer au tour 1. que ce soit c++ ou java, ça reste le mieux
leojean890: oui je vois
leojean890: je le fais souvent en python ça
leojean890: C++ faut que je gère parfaitement les new et delete
RomanceDawn: l'stuce c'est de pas faire de new
leojean890: après si je fais ça pour un UTTT je peux prendre mon temps
leojean890: pour un contest pour le moment je vais éviter car dans le temps imparti je vais me ramasser ;P
leojean890: faut + d'entrainement préalable
leojean890: pas fair de new et déclarer des tableaux à taille fixe :P
leojean890: ou faire du bitset comme les pros du genre MSmits mais alors là ça va être la galère sans nom:P
Nagatwin: Quelqu'un aurait des conseils pour code vs zombie ?
leojean890: tu peux regarder l'article feedbacks and strategies
leojean890: ils ont des trucs sympa
leojean890: MCTS orienté
Nagatwin: thanks
leojean890: sinon hardcoder
leojean890: les sol à l'aide des valideurs
Nagatwin: C'est genre bruteforce les submit ça ?
leojean890: les premiers hardcodent souvent
leojean890: mais les gagnants du contest c'était genre générer des strat aléatoires dans le temps imparti et simuler, retourner la meilleure
Nagatwin: C'est ce que je fais
Nagatwin: So far
leojean890: après moi je suis à la rue pourle moment dans c vs z
leojean890: mais c'est dans ma todo list en passant dans un autre langage ou en numpy
Zorg1: ah CvZ en python, oui c'est un défi interessant
leojean890: Zorg1 j'ai fait 100% de python sur cg depuis le début hehe
dbdr: JBM pq arf?
dbdr: mais encore?
Zorg1: "puzzle d'or" ? y a qqn qui a commis un truc avec les nombres de fibonacci ?
dbdr: OK merci :D
JBM: il a encore soumis un puzzle bugge qu'il ne comprend pas, et ca a encore enerve stilgart
Zorg1: ah j'ai compris ^^
JBM: avec encore un statement "encore une histoire alambiquee pour expliquer pourquoi vous devez programmer un robot pour faire un truc" plutot que juste "faire un truc"
dbdr: tu aurais pas fait d'histoire alambiquée déjà? :D
JBM: mais pas du style ajouter de l'indirection
dbdr: c'est subjectif du coup
dbdr: yen a pas un ou tout est dans l'alambication?
Alshock: Quand mon MCTS en C casse quand j'y touche, c'est signe qu'il faut que je... ?
dbdr: un puzzle de toi
dbdr: Alshock faire un break?
JBM: il a du etre degage en fait
Alshock: ça peut pas être un puzzle à JBM et à lambiqué en même temps
Alshock: c'est une collab ?
dbdr: :door:
Alshock: Je crois que le break est une bonne idée :D
JBM: j'hesitais entre "touche pas" et "modifies sans toucher"
JBM: le break c'est pas legal hors de for/while/switch
Alshock: je pensais le passer en C++, mais c'est mal parti j'arrive même pas à le faire e nC :P
Alshock: alors un puriste te dirait que le break dans un for c'est une hérésie
dbdr: j'aime bien le message de github https://i.snipboard.io/nq2rZA.jpg
Zorg1: le genre de puriste qui te casse les couilles pour n'avoir qu'un return par fonction ?
Alshock: J'ai un code que je casse en faisant des modifications indolores, alors le revamp pour le passer en objet ça me semble douloureux
JBM: et je ne le comprendrais pas
dbdr: Zorg1 0 return pour les vrai puristes ;)
JBM: pas super bien defini en C
dbdr: Alshock sinon: rajouter des tests. rajouter des assertions?
JBM: a moins de tout passer par des globales, et tu te heurtes a un autre type de puristes
dbdr: je pense à une fonction donc le corps est une expression
dbdr: pas besoin de return :)
dbdr: *dont
Alshock: @dbdr des tests ? Ah oui tu veux dire faire plus de printf ? :P
dbdr: ya pas que C dans la vie :)
Boulet: Coucou les petits
Boulet: les grands
JBM: non, mais c'etait le contexte en cours
Alshock: ya le sexe aussi ?
Boulet: les tortues
Boulet: les licornes
Alshock: coucou Boulet
Boulet: automaton2000 et automatonNN
AutomatonNN: vu que tu as une magic number automaton2000
Automaton2000: parce que je me pose des questions
Zorg1: o/
Boulet: dbdr: tu pourrais me filer le validateur 5 de Temperature si tu l'as stp ?
dbdr: on n'a pas les validateurs de temperatures
dbdr: AFAIK
dbdr: :eyes:
Boulet: je prends JBM
Boulet: stp
dbdr: Boulet c'est pour un truc tordu en golf?
Boulet: parce que bon 100% tests et 5 (*&^&^%%^$ de validateur qui ne passe pas
Boulet: oui
JBM: ah pour le golf je suis pas sur
JBM: oui clairement je les ai qq parts
Boulet: :beers: si tu me file celui la
Boulet: :D
dbdr: 170? c'est du random?
Zorg1: sur un de tes 38 PCs ?
Boulet: non de la recherche de reverse
Alshock: Boulet le 5eme c'est pas une liste vide ?
Stilgart: nan mais...
dbdr: c'est pas en test le cas avec 0 temps?
Stilgart: le test 5 / validator 5 c'est 0
Stilgart: voilà
dbdr: Boulet est pas cohérent du coup
Stilgart: si si
dbdr: il a 100% en tests
dbdr: et fail sur un validateur qui est pareil?
Stilgart: j'ai compris qu'il passait pas non plus le test
JBM: ptet une espace qui traine
Stilgart: et puis je le connais bien
Alshock: ya peut-être un appel à rand() dans son code ?
Stilgart: oublier de gérer le cas "0 <empty>" c'est complétement son genre :)
Alshock: c'est le genre de tout le monde en vrai, surtout en golf
Stilgart: non, tout le monde il relit le sujet et il se rend compte du problème ;)
Alshock: Hum
dbdr: je cas 0 c'est 95% du probleme en golf
Alshock: Vous savez mon code UTTT en C que si j'y touche il aime pas ? Si je le passe en C++ le même code (avec quelques static_cast en plus) me fait un segfault, je trouve ça déroutant
dbdr: Alshock undefined behaviour
Stilgart: meme pas
dbdr: ça peut non?
Stilgart: Alshock: répète après moi : C != C++
Alshock: sans doute, mais ça aurait pas dû lâcher un warning quelque part en -Wall -Wextra
Stilgart: ça peut, mais surtout
Stilgart: C != C++
Alshock: @Stilgart ah mais ça je suis bien d'accord
dbdr: essaye objective C ;)
Alshock: C'est bien pour ça que je veux lâcher ce vieux C de mort
Stilgart: Alshock: sur la source la plus courante, à savoir variable non initialisée... tu devrais avoir un warning en C
Stilgart: (en C++ c'est initialisé par défaut)
dbdr: Alshock aucune garantie que -Wall -Wextra te le dise
dbdr: c'est des rustines tout ça
Alshock: Ouais je sais bien, mais j'ai pas ça, je suis con mais je me soigne
Stilgart: après,si tu utilises malloc, fait super gaffe
dbdr: pun non intended
Stilgart: il n'a pas exactement le même type en C et en C++
Alshock: xD j'en ai que deux je crois, mais je vais me pencher là-dessus
dbdr: sinon c'est pas valgrind qui trouve pas mal de problemes?
Alshock: dbdr j'ai cherché longtemps j'ai pas trouvé le jeu de mot
Stilgart: aussi
Stilgart: (il compile plus sous freebsd d'ailleurs /flip )
Alshock: valgrind je m'en suis jamais servi pour autre chose que les memleaks
Stilgart: bah
Stilgart: segfault c'est le memleak par excellence
Stilgart: tu es tellement à coté de la plaque que même le système le remarque :)
Alshock: Ah ? pour moi memleak c'est de la mémoire pas rendue, pas de la mémoire trop rendue
Stilgart: disons memcheck
Stilgart: (c'est effectivement plus correct)
dbdr: ça sent le 20ème siècle tout ça
Stilgart: valgrind il est très fort pour t'indiquer les invalid read
Stilgart: ie, tu récupères un truc en mémoire... sauf que c'est pas ta mémoire
Stilgart: en général, ça fait segfault qqs lignes plus bas
Alshock: D'ailleurs fun fact, quelqu'un parmi vous a déjà utilisé valgrind sur code compilé avec -fsanitize=address de clang sur mac ?
Stilgart: dbdr: tu veux dire le moyen age, quand les gens avait moins de 1Go de RAM ?
Alshock: il essayent de se monitor l'un l'autre et ça crash le PC
Stilgart: fake
Stilgart: tu as dis mac ;)
Stilgart: ça peut donc pas crash le PC
Alshock: Alors je sais pas qui est le connard qui a décidé que personal computer c'était windows, mais je suis en guerre contre lui
ioqt_00: C'est Mac pour sa com
dbdr: bien d'accord Alshock
Alshock: Sur ce, je vous abandonne bon appétit à vous chers gens ! <3
dbdr: bon ap
Stilgart: Alshock: ça n'a plus trop de sens de nos jours... mais jusqu'à OS 9 c'était juste pas possible de ne pas faire la différence
dbdr: PC ça veut dire quoi? pas mac? Windows? c'est juste pas défini?
Zorg1: ça n'a pas été utilisé par IBM pour son premier PC justement ?
dbdr: si, IBM PC, PC compatible, etc
dbdr: d'ailleurs, vous avez regardé Halt and Catch Fire?
dbdr: c'est pas mal je trouve
JBM: pourtant en c comme en c++, c == c++
dbdr: c'est malin
dbdr: :D
Zorg1: mais c'est exact :p
Zorg1: ah "Halt and Catch Fire" c'est une série
dbdr: https://fr.wikipedia.org/wiki/Halt_and_Catch_Fire_(s%C3%A9rie_t%C3%A9l%C3%A9vis%C3%A9e)
Zorg1: oui je viens de le faire ;-)
Zorg1: (je croyais initialement que tu parlais de puzzles CG, je ne les trouvais pas)
dbdr: "ya yn monde en dehors de CG? :O" ;)
Zorg1: ouaip il s'appelle youtube :p
Boulet: désolé mais j'ai arreté de suivre (pb info à la maison)
Boulet: du coup c'est le 0 le validateur 5?
Boulet: parce que chez moi le test c'est le 6
dwarfie: :zzz:
dbdr: Zorg1 on y trouve ça: https://www.youtube.com/channel/UCJ6woCHjGCBXqpf91SsAcoQ
dwarfie: :scream:
Zorg1: dbdr t'es dans une boucle infinie. ne panique pas. on va faire un break. ça va bien se passer
dbdr: HCF
dbdr: c'est là pour ce genre de situation
Zorg1: je fais un reboot moi
Zorg1: la vieille école
dbdr: https://en.wikipedia.org/wiki/Halt_and_Catch_Fire_(computing)
Zorg1: et on pète pas le matériel
dwarfie: moi j'ai la rechnique qui fait disparait le probleme ... si y'a un logo µsoft , je jette un seau d'eau
Boulet: non non je passe 100% des tests Stilgart mais je fail sur le validateur 5
Zorg1: ça marche pas mieux un exorciste avec un sacrifice de poulet ?
dbdr: noob ;)
dwarfie: Zorg1 ... s/p/b/ caché ? ;)
Zorg1: je crois que ton inconscient parle à ta place là ... ;-)
**dwarfie se cache avant que boulet reagisse :p
dbdr: ça marche bas mieux?
Boulet: non putain
dwarfie: dbdr , je sais , je sais , j'ai foiré ma regexp ;)
**dbdr sait que sed ça change la première occurence
Boulet: pas avec un /g
Boulet: :D
dbdr: oui mais pas de /g
Boulet: pas faux
Zorg1: t'as pas une option pour considérer qu'il est là quand t'appelle sed ?
dwarfie: ouais ... et tropp faineant pour trouver comment changer le derniere occurence ...
dwarfie: et pourtant , ca m'aiderait bien de temps en temps
Boulet: ...
dwarfie: (sans passer par un rev bien sur)
Boulet: chuuuuuut
Boulet: Bon donc PERSONNE n'a ce ^&%$#@!# de validateur 5
dwarfie: pourquoi faire ... fix ton code
JBM: je l'ai juste toujours pas retrouve
Boulet: dwarfie: comment je fixe mon code alors que je fait 100% validateurs ?
dwarfie: comme dirait stilgart ... tu créés tes propres tests ;)
Boulet: Non mais ça pue le double espace
Boulet: ou une saleté du memegenre
dwarfie: ou le retour a la ligne manquant ...
dwarfie: ou en trop comme a CN
Boulet: voila
Boulet: ce genre de merde
Boulet: non c'est pas ça
dwarfie: ou alors ... tu aimes pas quand y'a -1 et 1 ;)
Boulet: Passerait pas les autres test
Boulet: genre le 3
dwarfie: je repete .... -1 e 1
Boulet: non ça passe
Boulet: 5 -1 -2 -8 4 5 1
dwarfie: et dans l'ordre inverse ?
Boulet: aussi
Boulet: et oui je sais le 5 est faux
Boulet: mais on s'en tape
Boulet: vu que c'est du bash
Zorg1: c'est marrant ça, dire qu'il y a N valeurs en donner plus que si tu les lis ça foire le test
Zorg1: (mais je crois pas que CG soit vicieux à ce point là)
dwarfie: non ... mais nous on pourrait ... un puzzle avec ce piege ca serait tellement mechant :smiling_imp:
dwarfie: le titre ... "read the $#@ statement"
JBM: Boulet: https://pastebin.com/THMH8yGa
Boulet: Merci JBM
Boulet: C'est lequel le bon tableau ?
dbdr: https://pastebin.com/raw/THMH8yGa pour les boulets
Boulet: ok merci
Boulet: et oui j'ai un bug
nicola: Vous causez de quel puzzle ?
RomanceDawn: temperature ?
Boulet: ui
RomanceDawn: oups
Zorg1: températures en golf
RomanceDawn: ah ok
nicola: Version golf ?
Boulet: oui
nicola: OK.
Zorg1: bon Automaton2000 prêt à être déconfiné le 11 ?
Automaton2000: ça marche pas non plus
Zorg1: tu veux qu'on reste cloitré jusqu'à la fin de l'année ?
Zorg1: Automaton2000
Automaton2000: donc quand tu fais une boucle for
RomanceDawn: en vrai 2 semaines de plus j'aimerais bien moi
RomanceDawn: :(
Zorg1: pas envie de retourner bosser ?
RomanceDawn: pas trop nan
Zorg1: enfin moi je suis en télétravail mais si c'est pour m'entasser dans les transports
RomanceDawn: on s'y ferrai presuqre à la vie de rentier
RomanceDawn: a mon avis les transport seront vide :p
Zorg1: je pense qu'ils vont continuer le télétravail
RomanceDawn: yes + ceux qui vont prendre leur voiture
Zorg1: transport vide j'y crois pas trop mais bon
Zorg1: en train de lire le plan de déconfinement
BigUP: Zorg1, ouais enfin le deconfinement, c'est jacques à dit ... ;) peut-etre on fera comme ca, mais peut-etre on ne fera pas comme ca ...
RomanceDawn: c'est de l'agilité ;)
BigUP: du en meme temps
BigUP: ou alors, on fera plutot l'inverse
Zorg1: pas été convié au daily meeting tiens
Zorg1: si Jacques a dit c'est bon normalement, si je me souviens bien c'est s'il n'y a pas la formule qu'il faut pas faire
Zorg1: ou alors ils utilisent les règles avancées ^^
Zorg1: "Advanced Simon Says"
dwarfie: c'est ancien comme methode ... a une epoque , y'en a un qui aurait dit "je ne suis ni pour, ni contre, bien au contraire" :D
BigUP: bon en attendant, j'ai réussi a porte rmon model de TF1 a TF2 ;) du coup ca entraine avec GPU... Forcément 50 000 steps a 0,3s au lieu de 5s, ca ne va pas prendre 3 jours comme la derniere fois ;)
Zorg1: TF1 ? TF2 ?
Zorg1: ah ok merci
dbdr: tensoir français 1
BigUP: tensorflow
jolindien: 'lut
jolindien: t'entraines quoi BigUP ?
BigUP: un model de detection de zone de texte
Zorg1: "coach bigup"
jolindien: mmmh ?
BigUP: jolindien, un CTPN pour etre plus précis.
jolindien: pas mieux
Zorg1: t'utilises plus le truc de darknet ?
BigUP: darknet, c'etait un projet du boulot que j'ai récupéré... Au final, j'ai tout jeté et tout refait en Python + Detectron2
BigUP: ;)
Zorg1: ah ok
Cristal25: slt
jolindien: ça marche dans excel ?
jolindien: o/ Cristal25
Cristal25: ca va??
Zorg1: \o
Cristal25: o / jolindien
BigUP: En fait, ils utilisaient du darknet et du yolo, mais il n'y avait que le Yolo qui etait utilisé, le truc mal documenté, buggé probablement également (genre si je lancais l'analyse de 8 images, ca explosait et ca prenait environ 30 secondes par images contre 6 en Detectron2
BigUP: en CPU
Zorg1: ah oui "libyolo" je me souviens
dbdr: ah ben voila, ça commence à ressembler à qqch
dbdr: https://www.codingame.com/replay/456882099
dbdr: parfois
JBM: faut relier deux bords opposes avant l'autre?
BlaiseEbuth: https://www.codingame.com/multiplayer/bot-programming/twixt-pp
leojean890: je pense que le 11 mai presque tout le monde sera encore en télétravail (moi perso oui)
leojean890: ça va revenir plus tard (juin?)
leojean890: twixt-pp, un des multis que 'jai aps encore touchés tiens tiens :;P
dbdr: JBM voila
dbdr: https://www.codingame.com/replay/456889615 le chat qui joue avec sa souris avant de l'achever
BlaiseEbuth: C'est une façon de dire que ton truc est pas opti...
BlaiseEbuth: :cat:
dbdr: bah, gagner tout de suite ou plus tard...
JBM: la en l'etat j'ai du mal a comprendre l'interet du jeu
JBM: y'a pas un meilleur mouvement evident a chaque tour?
JBM: et le premier a jouer gagne
walid_Dj: j'ai une petite question a vous poser vous avez quel'age et a quel age avez vous commencer le coding ?
BlaiseEbuth: ça fait deux questions
leojean890: bon allez je push mon code qui timeout dans https://www.codingame.com/ide/puzzle/coders-of-the-realm---1v1 histoire de déjà passer des ligues du bas.. déjà ajouté des élagages mais pas assez :(
leojean890: j'ai 28 ans ;)
BlaiseEbuth: :fear:
leojean890: commencé le coding à 20 ans en école d'ingé je dirais
leojean890: pas de code en prépa..
BlaiseEbuth: 25, et j'ai commencé vers 12-13 je dirais...
leojean890: y'en a qui sont précoces hehe Blaise^^
leojean890: j'en connais qui ont commencé vers 7-8-9 ans
walid_Dj: merci pour vos repenses
walid_Dj: en fait j'ai 17 ans et je suis encore debutant pouvez vous me donner quelques conseils svp
BlaiseEbuth: Pratiques
BlaiseEbuth: Et te contentes pas d'appliquer, creuses les notions et essayes de comprendre ce que tu fais au maximum
JBM: psst... imperatif des verbes du 1er groupe... pas de s >_<
BlaiseEbuth: Nazi... :p
JBM: oui enfin 3 en une ligne quand meme
walid_Dj: dsl je suis pas français
BlaiseEbuth: T'inquiiètes c'est à moi qu'il parle
**Stilgart est de tout coeur avec JBM
JBM: viens coller quelques /slap a BlaiseEbuth avec moi
Stilgart: BlaiseEbuth: arrête de montrer le mauvais exemple à Automaton2000 :'
**JBM slaps BlaiseEbuth around a bit with a large TROUT
Automaton2000: c'est pas le même score
**Stilgart slaps BlaiseEbuth around a bit with a large fishbot
dbdr: JBM https://en.wikipedia.org/wiki/TwixT#Computational_complexity
BlaiseEbuth: Preuve que ce n'est pas une faute d'inatention, mais bien un refu profond de suivre cette oppressante règle...
JBM: t'as du te relire 3x avant de retirer le s a refus aussi
JBM: l'opreiion te fait du mal
Stilgart: JBM est trop rapide (was: s à refus dediou)
BlaiseEbuth: Mes S sont libres !
joel76: et pas très attentif non plus
dbdr: une bonne densité de gros mots pour ce ptit paragraphe de wikipedia :D
Stilgart: dbdr: je remonte twixt de ma todo list du coup
BlaiseEbuth: Et arrêteS de m'embêter.
Stilgart: on dit 'arrêtez de vous battez' en fait
**dbdr note ce qui marche pour appâter Stilgart
JBM: a trop prendre l'habitude de provoquer, tu vas passer pour un illettre au moment ou ca t'arrangera le moins
Stilgart: tu perds ton temps, ça fait .... depuis l'arrivée de bender4 ... que j'ai bender 4 en haut de ma todo list
dbdr: c'était pas le but premier
leojean890: twixt-pp il est pas en hut de ma liste mais il est dedans
leojean890: tulips and daisies avant
dbdr: c'était pour mettre un coup de PSPACE-complet dans la face de JBM ;)
BlaiseEbuth: Je peux pas entendre ça d'un mec qui met pas d'accents dans ses phrases.
leojean890: mais j'ai pas envie de hardcoder une étoile
leojean890: plutôt tenter une simu même si chaud pour tulips
dbdr: en réponse à "c'est trivial" :D
JBM: ben ca le parait en tout cas
JBM: il doit me manquer un truc
dbdr: deja, ya le truc du gateau
dbdr: c'était quoi Zorg1?
BlaiseEbuth: Trois en fait. Les majuscules, les accents et la ponctuation... :grin:
dbdr: rêgle du gateau!
dbdr: aka swap rule
JBM: dommage, t'as pas reussi a caser d'accent dans cette phrase
dbdr: parce que commencer au milieu c'est un avantage
dbdr: hm?
JBM: oui, comment c'est decide qui demarre ou?
dbdr: joueur 1 joue ou il veut. joueur 2 lui vole le coup si il considere positif
dbdr: ça équilibre bien
dbdr: détail marrant
JBM: donc joueur 2 choisit soit de commencer soit ou il commence
dbdr: en théorie ça rend n'importe quel jeu gagnant (ou nul) pour le joueur 2
dbdr: pas exactement
dbdr: le joueur 1 impose le premier coup
dbdr: joueur 2 peut juste décider de prétendre que c'est lui qui l'a joué
JBM: et joueur 2 decide de qui le joue
dbdr: voila
BlaiseEbuth: Ci vous ete franssai aprené déja l'ortograf bande danalfabète..
dbdr: tu coupes je choisis :)
JBM: tu veux un … pour completer?
dbdr: bon c'est malin, à faire les malin en générant du code à compile time, maintenant vaut que je supporte ça dans mon bundler
Zorg1: pourquoi me réveiller ? tu as l'air de t'en souvenir de la règle du gâteau ;-)
**dbdr slaps dbdr around a bit with a large fishbot
dbdr: ça m'est revenu
dbdr: tu peux te rendormir ;)
Zorg1: ok
Zorg1: A TOUT LE PERSONNEL RENDORMISSEMENT DU ZORG DANS 1 MINUTE
dbdr: ça me rappelle un guignol sur mitterand ça
Zorg1: CERVEAU ... EN COURS DE SHUTDOWN
Zorg1: FONCTION VITALE ... OK
JBM: ca me rappelle le meme je pense
JBM: mitterrand, mort a son bureau
BlaiseEbuth: Braife...
dbdr: pas tout à fait mort
dbdr: le bout dont je me rappelle il est dans son lit, et c'est tout un bazar pour le faire se lever
dbdr: genre un lancement d'ariane
leojean890: exploit du jour : faire un submit avec 0 lose sur 80 matchs et ne pas passer tellement le boss est haut :P:P:p:p:p
leojean890: 0 lose mais 8 draw sur 80 matchs
leojean890: en gros spammer submit pour le faire baisser ??:P
dbdr: on dirait leojean890
dbdr: ou pas faire de nuls ;)
leojean890: ouais mais j'ai des timeout mais je vais les virer aussi.:P
leojean890: mais je m'attendais pas à ce que ce soit possible mdr
leojean890: j'ai pas lu la description de l'algo qui calcule le true skill
leojean890: -6 points pour le boss en 3 submits en attendant mdr
leojean890: en même temps, facteur de branchement élevé et je fais masse BFS de calculs de composantes connexes, je cherche clairement les pbms
kamiathe: yo
kamiathe: petite question, pour un algo g, je doit dire l'espace de recher mais je sais pas vrm ce que ça sinifi, quelqu'un pourai m'éclairer svp ^^'
kamiathe: en gros j'ai l'équation de la trajectoir en x et en y d'un satelite qui fait intervenir 6 constantes (3 pour x et 3 pour y)
kamiathe: j'ai aussi un fichier excel qui me donne 20 valeurs de x et y pour un temps t donné
leojean890: je dirais que c'est l'ensemble des situations que tu considères, l'ensemble des simulations qui t'intéressent à réaliser
leojean890: pour chercher ta meilleure solution
kamiathe: et je dois faire un Algo g qui trouve les 6 constantes (ça c'est ok) puis donner l'espace de recherche (je comprend pas)
kamiathe: leojean890,merci mais c'est encore flou, tu aurais un exemple? ^^'
leojean890: par ex si tu veux faire un algo qui détermine si un point est inclus dans un disque ou non parmi les points d'un carré qui inclut le disque ton espace de recherche c'est le carré:p
dbdr: https://www.codingame.com/replay/456905764 il va falloir que j'implemente le cas où je suis censé connecter horizontalement :D
kamiathe: en gros dans mon cas ça serais quoi du coup? :/
kamiathe: je vois pas comment projeter ton exemple à ma situation :sob:
JBM: encore un truc qui m'avait echappe :)
kamiathe: c'est le nb de valeurs possibles que je peux avoir en gros?
kamiathe: ok j'ai capté si c'est ça merci
dbdr: ça marche deja mieux :)
ImadMahdi: j'ai un code qui marche sur mon eclipse mais pas sur codinggame -_-
JBM: et hop, usage de goto en C++
dbdr: justifié? ;)
JBM: y'a toujours pas de break multiple en C++?
BlaiseEbuth: Break c'est mal
dbdr: break label?
JBM: ne le contrariez pas, il n'est pas tres evolue
dbdr: c'est pas dans C?
JBM: c'etait un des enormes avantages de perl
dbdr: mais quand mettront-ils à jour C78?
dbdr: faut attendre alors
dbdr: pas précisé le siecle
dbdr: https://www.codingame.com/replay/456910808 lol
JBM: HAHAHA https://en.cppreference.com/w/cpp/language/break#Notes
dbdr: wat
JBM: tu vas me dire que tu l'as deja fait?
JBM: en l'occurence mon cas est encore pire, c'est un higher-level continue
dbdr: fait quoi?
dbdr: https://stackoverflow.com/a/33174736/9192512
JBM: if (cond) { abort inner loop; next outer loop }
dbdr: je pratique pas
dbdr: je fait break 'label; si besoin
dbdr: oh la belle confugaison :D
dbdr: cad, je pratique pas C++, je break 'label en rust, oui
dbdr: d'ailleurs break c'est pas forcément dans une boucle
JBM: on en parlait tout a l'heure
JBM: c'est 2 boucles dans mon cas
dbdr: non, ya un truc pour retourner une valeur d'un block expression qui n'est pas une boucle, mais faut que je vérifie
dbdr: en tout cas il y a https://doc.rust-lang.org/edition-guide/rust-2018/control-flow/loops-can-break-with-a-value.html
dbdr: ah voila: https://github.com/rust-lang/rfcs/blob/master/text/2046-label-break-value.md
JBM: ca c'est pile comme en perl
Zorg1: ah y a des RFCs dans Rust ?
dbdr: oui, depuis qu'il n'y a plus de BDFL je pense
JBM: ca ressemble plus a un process de changement
Zorg1: ah Rust avait aussi un BDFL ? j'ai pas trop suivi je t'avouerais ;-)
dbdr: apparamment le type qui l'a commencé était plutot modeste, pas le type Tovarlds
JBM: torvalds est pas particulierement vantard
dbdr: pas vraiment BDFL, mais de fait c'était un hobby project d'un type chez Mozilla
dbdr: DHH?
Zorg1: BDFL c'est plutôt Guido van Rossem de Python le prototype non ?
JBM: oui je crois que le nom vient de lui
dbdr: BDFL - B ;)
dbdr: MDFL
dbdr: malevolent
dbdr: personne en particulier, suivez mon regard
Zorg1: Tu ne dois pas savoir qui est le MDFL
Zorg1: Par contre lui sait qui tu es
dbdr: si tu ne sais pas qui est le MDFL, c'est que c'est toi ;)
Zorg1: pas con :D
JBM: reste a me trouver de quoi
Zorg1: oui MDFL d'un projet d'une seule personne ça ne le fait pas trop
JBM: il va super vite mon portage C++ du code Haskell
JBM: dommage qu'il repondre toujours 0
dbdr: XMPP Nukem Forever
JBM: je suis sur codejam en ce moment
dbdr: si t'as besoin d'un code C++ qui répond toujours zero, je peux peut-etre aider à le simplifier
JBM: ah oui, j'ai inverse le sens de recherche en milieu de code
dbdr: Zorg1, si, mais faut etre automaso
JBM: du coup il demarre a 0 et stoppe des qu'il atteint 0
dbdr: classique
JBM: raison de plus pour que ca speede
dbdr: lol
dbdr: le compilo a du tout optimiser en return 0 ;)
JBM: bon c'est toujours faux, mais moins
Zorg1: logique floue
JBM: c'est quoi la precedence relative de || et ?: ?
Zorg1: le genre de situation où je parenthèse tout
Zorg1: (après je râle que le lisp a trop de parenthèse (ce qui est normal (mine de rien)))
dbdr: ça dépend pas des espaces? ;)
JBM: alors qu'il en a vaguement autant que le C n'a de ()[]{}
JBM: dbdr: not sure if serious
dbdr: http://www.stroustrup.com/whitespace98.pdf
dbdr: bon je suis content que mon truc marche. je crash intentionnellement si l'opp fait swap, mais chut... ;)
JBM: le temps de coder un swap-wait-bot
BigUP: dbdr, l aruse de sioux ! ;)
dbdr: je me crashe moi-meme, pas l'autre, pas sur que ça soit sioux :D
Zorg1: if (player==DBDR) swap();
dbdr: ça fait plaisir de se sentir soutenu
Stilgart: question de ça, ça échappe à toute simu de l'adversaire l'auto-crash
dbdr: en plus c'est facile de savoir si c'est moi, en l'occurrence
Zorg1: uniquement avec un coup joué ?
dbdr: ben oui
dbdr: disons que si c'est moi, tu peux prédire le coup. ça aide ;)
Boulet: Re
Boulet: C'est une blague ou y'a pas de split en java pour transformer une ligne en liste de mots ?
BlaiseEbuth: Tu veux dire une blague dans la blague ?
Boulet: oui
BlaiseEbuth: bah si
Boulet: euh on fait comment ?
BlaiseEbuth: mastring.split("sep")
Boulet: merki
Zorg1: c'est une blague ces gens qui ne savent pas lire une doc
Zorg1: :p
BlaiseEbuth: fix ta google
Boulet: gnagnagan
dwarfie: boulet ... franchement ... j'aurais pas attendu ca de toi ... ;)
BigUP: le Split() c'est pas une nouveauté Java 14 ca ?
Boulet: de faire du java ?
Boulet: on gratte des points ou on peut
leojean890: String.split() ça existe déjà en java 7 il me semble
dwarfie: Boulet ... non , la question :D
leojean890: jlai fait au taf quand on était en java 7
dwarfie: sans doute plus vieux que ca encore
dwarfie: mais la flemme de ressortir mon bouquin sur java 1.2 ;)
leojean890: mdr à l'ancienne :P
dwarfie: regle numero 1 : ne pas faire confiance a google ...
leojean890: j'connais pas les évolutions d'une version à l'autre avant java 7 :p
leojean890: enfin réussi à virer mes timeout dans https://www.codingame.com/ide/puzzle/coders-of-the-realm---1v1 ..
dwarfie: moi , j'arrive a trop de simu sur cultists ... j'explose la memoire :D donc ca va encore attendre un peu
leojean890: cultist j'ai même pas fait de simu, ça me faisait peur niveau time, mon heuristique pure me colle au boss..
leojean890: mais en vrai j'hésite à quand même tenter simu
Boulet: Non mais serieux
leojean890: sinon j'ai 2 3 idées d'amélioration pour le dépasser ce boss
Boulet: J'ai sans doute des gros doigts mais je suis infoutu de trouver une page avec l'api de cette bouse
leojean890: Boulet qui déteste java :P
dwarfie: alors utilise un seul :point_up_2:
leojean890: moi en vrai j'vais passer sur du python + node JS
leojean890: mais je bossais avec java only récemment (et encore mtn!)
Boulet: dwarfie: :door:
leojean890: depuis 8 mois je bosse seulement en java au taf ;P
dwarfie: leojean890 qui passe de la peste au cholera ... le pauvre :D
leojean890: cholera ?:P:P
leojean890: python, node JS tu n'aimes pas ?:P
leojean890: python je fais que ça sur CG donc tu penses bien que j'aime bien même si niveau perfs ça me fatigue :P
dwarfie: je peut encore tolérer nodejs ... mais je vais pas en faire pour autant
Boulet: leojean890: :door: mais de la galaxie
leojean890: mais en vrai à débuguer c'est chaud quand pas de typage
leojean890: python >= 3.6 => typage
leojean890: faire des grosses applis en python < 3.6 c'est calvérique
dwarfie: typage et python dans la meme phrase ... :nauseated_face:
leojean890: :P
leojean890: bon c'est pas l'esprit à la base i know xD
Alshock: Bah la puissance de numpy vient quand même en partie de là
dwarfie: c'est une liste , non une string , non un dict , non un tableau ..... non c'est un typage canard
leojean890: numpy pas encore appris à en faire bien mais c'est sur ma todo :P:P
Alshock: enfin bon, le duck typing pour tester des égalités ça peut avoir ses limites
dbdr: comme disait l'autre, tous les langages sont typés statiquement
dbdr: c'est juste que certains langages ont qu'un seul type
jolindien: c'est l'histoire d'un type
dbdr: arf
jolindien: un type normal quoi
dbdr: un type dépendant?
Boulet: Dans mes bras :D
dbdr: tu fais de ça Boulet?
Boulet: Dev Coq (enfin plus ou moins ex dev Coq)
Boulet: alors euh oui
dbdr: ah cool
dbdr: j'ai fait le dea sémantique de paris 7, on a vu ça un peu :)
dbdr: un stage à l'inria sofia aussi
dbdr: tu génères tes bots CG automatiquement à partir d'une preuve j'espère
Boulet: non je vise un minimum de rapidité
dbdr: le code généré c'est du caml non?
dbdr: il est pas rapide?
Boulet: caml ou Haskell
dbdr: quelle traitrise
Boulet: Oui c'est faisable d'avoir du code rapide mais dans ce cas tu dois te taper la preuve de la bonne manière
Boulet: et la c'est VRAIMENT pas rapide en dev
dbdr: :D
Alshock: c'est qui qu'il faut se taper ?
dbdr: au bout de 10 jours: yes! j'ai prouvé le parsing des inputs!
Zorg1: c'est sympa que CG ne change plus les input à chaque ligue
Boulet: à la limite, le parsing, ....
Boulet: mais c'est le reste
dbdr: vu que CG fait plus de referees...
dbdr: mais en fait si, le prochain contest c'est eux?
dbdr: ça serait mon premier
Zorg1: bah oui non ?
dbdr: j'ai commencé juste avec mean max, le premier commu
Zorg1: UTG c'était pas eux non plus
dbdr: c'est jamais eux depuis mean max, non?
Zorg1: Wondev woman
dbdr: c'est avant ça
Zorg1: oui MM c'était Magus, pb4, recurse et agade
dbdr: j'ai fait tous les contests en commençant avec MM
Thyl: Bonjour je suis nouveau !
dbdr: salut Thyl
Zorg1: oui excuse moi WW c'est le dernier qu'ils ont fait ;-)
dbdr: on pardonne bcp aux anciens ;)
Thyl: Je me demandais si quelqu'un conaissait en endroit ou je pourrait apprendre à programmer un bot svp:
Zorg1: un bot pour faire quoi ?
Zorg1: t'as déjà bricolé CSB ?
Zorg1: (ça ressemble assez)
Thyl: Non, je ne sais pas ce que sais
Zorg1: Code Strike Back, le tuto de CG pour les multis
Thyl: J'ai essayé, mais je n'est pas compris ce qu'il fallait faire
Thyl: J'ai essayé plein de truc...
Thyl: Je ne connais rien sur le monde du bot
Thyl: Est-ce que vous conaissez un article qui pourrait m'aider à bien tou prendre en main:grinning:
TchawLaPizze: Tu as déjà fais des puzzles sur ce site ? Thyl
Thyl: Oui, et j'ai réussi des clash
TchawLaPizze: Donc tu as compris le système d'input et output déjà
TchawLaPizze: Pour les multis c'est la même chose sauf que tu joues contre une ou plusieurs personnes
TchawLaPizze: Pour Mean Max tu as déjà soumis un code ?
Thyl: Oui, mais ça n'a rien fait
Thyl: Pourtant, j'ai utilisé la comande pour bouger...
TchawLaPizze: Tu utilises quel langage ?
dwarfie: Thyl : la commande ? ou les 3 commandes necessaires ?
TchawLaPizze: print("0 0 300") print("WAIT") print("WAIT") essaies de mettre ça
TchawLaPizze: à la place des trois WAIT
TchawLaPizze: Tu ne vois pas ton véhicule se déplacer ?
Thyl: Si pardon, il a avancé vert le centre
Thyl: Pourais - tu m'expliqué pourqoi de WAIT après la command ??
TchawLaPizze: Tu as un seul véhicule à controler dans la première ligue
TchawLaPizze: plus tard tu en auras trois
Thyl: Je comprend mieux, merci beaucoup
TchawLaPizze: Je te conseilles de lire la partie gauche contenant les règles mais aussi les explications pour les inputs et les outputs plus bas
Thyl: Est-ce que la communauté fr est active pendant le mega tournoi ?
TchawLaPizze: Si tu parles des challenges
dbdr: carrément active même :)
Thyl: Merci à tout le mondepour la sympathie de la comunauté et pour avoir répondue a mes question:grinning:
dbdr: https://www.codingame.com/replay/456935279
dbdr: je joue encore plus avec les renards
dbdr: et oui JBM, je gère le swap adverse, tu peux arreter ton dur labeur ;)
Boulet: Y;a pas de map en Java !
dbdr: c'est le jour "Ya pas X en Java" par Boulet
Boulet: voila
dbdr: ya pas split, ya pas map
dbdr: bientot, pas d'addition
TchawLaPizze: traduis en "je n'ai pas trouvé X" ? haha
Boulet: c'est LE jour ou je fais du java
dbdr: c'est nul java, ya pas les entiers
Boulet: voila c'est nu
Boulet: l
Boulet: (ça vaut meme pas le l :D )
dbdr: Java c'est null
Boulet: non null c'est utile :rage:
BigUP: dbdr, c'est NullPointer meme ! ;)
RomanceDawn: Java :innocent:
dbdr: None oui, null non!
Zorg1: nil ça a un côté plus classe ;-)
dbdr: one Nothing | Just pour faire snob ;)
dbdr: s/one/ou/
Zorg1: genre "j'ai du typage évolué dans mon langage"
dbdr: nil c'est Pascal non?
dbdr: haskell c'est plutot: j'ai un langage qqpart daans mon typage non? ;)
Zorg1: go aussi a nil
dbdr: ya des influences de pascal ou c'est une coincidence?
Zorg1: quelques influences d'Oberon (qui est le dernier langage défini par Wirth, le créateur de Pascal)
dbdr: d'ailleurs, Coq c'est litéralement, donne moi le type, je te génère le code correspondant automatiquement
dbdr: ok, donc la ligne n'est pas rompue :)
Zorg1: connais pas Coq. J'en ai entendu parlé ici, mais ça m'a l'air plutôt théorique comme truc
Zorg1: mais go s'inspire quand même bcp du C
Boulet: Language de preuve
Boulet: pour Coq
Boulet: coq.inria.fr
Zorg1: sinon la ligne c'est Pascal => Modula => Oberon (avec pas mal de variante sur chaque)
dbdr: pascal, c'est C en propre, en fait
Boulet: oui
Boulet: ou ADA en sale :D
Zorg1: Pascal est plus vieux que le C
Zorg1: plutôt Ada en simplifié
dbdr: donc C c'est Pascal, mais plus tard et moins bien :)
Boulet: euh C c'est tres tres tres vieux
dbdr: bon je vais etre obligé de reciter le classique des classiques
dbdr: 1970 - Niklaus Wirth creates Pascal, a procedural language. Critics immediately denounce Pascal because it uses "x := x + y" syntax instead of the more familiar C-like "x = x + y". This criticism happens in spite of the fact that C has not yet been invented.
Zorg1: Pascal également, c'est issu de Wirth qui n'était pas content comment Algol évoluait
dbdr: lol, alze qui était #3 sur Twixt avec des mouvements hard-codés
dbdr: avis aux amateurs de CP
Zorg1: j'ai vu qu'il n'y a qu'une seule ligue wood sur Twixt
dbdr: oui, je sais pas pourquoi
dbdr: Default AI est pas mauvais du tout
Zorg1: pê la flemme de faire un boss ;-)
dbdr: ça ferait un bon boss
dbdr: ben justemenent...
Zorg1: pê trop dur justement
dbdr: moins que br2k
Zorg1: après bon pê qu'Eric s'était dit qu'il n'y allait pas avoir grand monde sur son multi
dbdr: ça finit toujours par grandir
Zorg1: bon je vais push un bot qui fait du random ça va augmenter le nombre de gars
dbdr: fais un truc simple
dbdr: regarde alze
dbdr: tu vas d'un bout à l'autre sur le coté
dbdr: sans t'occuper de l'adversaire
dbdr: top 5 :)
Zorg1: c'est pas un peu casse bonbon les croisement de ligne ?
dbdr: à coder vraiment si
dbdr: c'est basique mais faut pas se planter
dbdr: si tu hardcodes tu t'en fout
dbdr: fous?
Zorg1: on s'en fout :p
dbdr: voila
Zorg1: à moins que tu veux faire ton JBM
dbdr: osef
dbdr: est-ce que mon JBM == ton JBM?
Zorg1: :thinking: question interessante. Faut regarder l'implém
leojean890: twix pp pas tt de suite pour moi, après le contest du 7 ai jpense..
leojean890: mai*
Zorg1: le pac man en carton ? ^^
leojean890: déjà je suis 9/26 dans coders-of-the-realm---1v1 et coders-of-the-realm et jpeux essayer de gagner qq places encore maybe
dbdr: merci pour les CPs leojean890 :)
leojean890: bah jvais pas commencer twix pp avant le pacman yeah
leojean890: dbdr premier dans les 2 ;P
leojean890: mais pk tu dis merci ? t'étais déjà premier non ?!;)
dbdr: 2 bots pour le prix d'un
leojean890: ah oui
leojean890: plus il y a de monde plus ça vaut de cp
leojean890: exact !
dbdr: un joueur de plus x 2 = 20 CP de plus :)
leojean890: j'avais vu ouais
dbdr: voila
leojean890: si t'as 500 joueurs ou + ça vaut les 5000 CP d'être premier
leojean890: sinon pour 300 joueurs, 3000 pts
leojean890: min(10*nJoueurs, 5000)
leojean890: pour le premier
leojean890: donc toi t'es bien quand des gens en + participent
leojean890: j'ai avancé 3 mutis entre les 2 contests du coup
leojean890: enfin 4
leojean890: crystal rush, cultist war coders-of-the-realm---1v1 et coders-of-the-realm
leojean890: et bon j'ai encore des places à gagner dans tt ça hehe
leojean890: et heureusement ils finissent par un peu ce remplir ces ultis commu
leojean890: exemple breakthgough il y avait 55 personnes quand j'ai commencé en décembre et now genre 140
Zorg1: enfin si tu veux des CPs va quand même dans les anciens contests ;-)
dbdr: si vis CP...
Zorg1: oui bon bah mon latin
Zorg1: comment dire
Alshock: c'est comme dans l'expression là, baiser comme un latin
dbdr: si vis codinpointum
Alshock: ah non mince c'est pas ça
Zorg1: fibonacci ?
Zorg1: vu qu'il y a une histoire de latins qui se multiplient :p
dbdr: ludere coders strike backem
dbdr: j'ai bon?
Alshock: ce qui est incroyable avec ce chat c'est que tu peux sortir du fond des égouts t'as toujours un Zorg1 pour marcher à tes côtés, et ça c'est beau puté
dbdr: :+1:
Zorg1: :D
Zorg1: bot en latin :thinking:
Zorg1: bot ça vient de robot qui veut dire "travailleur" en tchèque ...
Zorg1: (en gros)
Zorg1: hop "servi" ça colle
dbdr: oui, le coup de robot j'ai lu ça chez Asimov
dbdr: servi c'est classe
Zorg1: ouaip "servomécanisme" en fait
dbdr: oui, et il faut utiliser son servo aussi
dbdr: wait...
Zorg1: bien bien bien
Zorg1: Automaton2000 sauve moi ce chat avant qu'on sombre dans le Grand Nawak
Automaton2000: par contre j'ai un peu peur
dbdr: :innocent:
dbdr: motivé pour ce top 5 garanti Zorg1?
Zorg1: Pas vraiment je sens que je vais glandouiller sur autre chose
dbdr: c'est literalement 7 prints :)
Zorg1: c'est beau comme du MK ce que tu dis ;-)
dbdr: :D
JBM: en deux fois plus gros que n'importe qui mon pseudi s'etendrait
JBM: moi qui manquais d'idee pour la creation cote musical, celle-la je la garde
dbdr: :notes:
dbdr: tu vas écrire des chansons à theme CG?
JBM: une ca suffira probablement
dbdr: c'est la 1ère la plus dure :)
dbdr: https://www.youtube.com/watch?v=1S1fISh-pag
dbdr: JBM: bonus points si: > dbdr: ah merde fait partie des paroles ;)
dbdr: tiens LeRenard est actif :)
JBM: t'avais vu le "write in go" fait par une chorale locale de googlers?
dbdr: yep
JBM: j'etais vraiment mdr la premiere fois que je l'ai vu
dbdr: je l'ai dédicacé à Zorg1
JBM: y'a le "God wrote in Lisp" qu'a refait la une de HN y'a qqs jours
dbdr: https://xkcd.com/224/
JBM: https://www.gnu.org/fun/jokes/eternal-flame.en.html lien audio en bas de page
JBM: je sais lequel sans cliquer
dbdr: :)
JBM: JohnnyYuge? tu passes des fois?
dbdr: And maybe it lets mortals dredge their objects from the C. But I think that explains why only God can make a tree.
dbdr: joli
JBM: oh, ils ont refait le write in go l'annee derniere
JBM: une excuse pour le regarder
dbdr: ya une chanson des mamams et pass où ils font le pun entre sea et C la note
dbdr: j'en connais qu'une pour le go, je sais pas laquelle des 2 du coup
JBM: "write in go fall 2014" sur youtube
JBM: moins bonne sono, meilleure musique
dbdr: tu as vu https://www.youtube.com/watch?v=OyfBQmvr2Hc ?
dbdr: William Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]
JBM: la pres derriere est bien mdlol aussi
dbdr: oui j'avais vu la 2014
JBM: la 2019 j'ai pas tenu 1 minute
dbdr: la 2014 ya qqs flottements mais oui elle est qd meme clairement mieux
dbdr: c'est le God wrote in lips qui m'y a fait penser
dbdr: ca part des bases, mais l'entousiame est agréable
dbdr: et ça finit sur des trucs moins basiques
JBM: mais je suis plus a convertir :D
dbdr: genre generation automatique de programes à partir de tests, de mémoire
dbdr: au fait je viens de pratiquer un peu de quickcheck, tu t'en sers?
dbdr: enfin mieux que QC :)
dbdr: ça m'a vraiment trouvé un bug chelou et simplifié à outrance
dbdr: c'est assez magique qd çá marche
JBM: AMHA a long terme [et hors considerations de perfs] un typage plus juste est plus utile
JBM: mais quand t'as des ints et des flaots de partout, oui, ca sert bien
dbdr: ça dépend ce que tu fais et quel genre de bug tu as
Zorg1: ?
dbdr: là j'avais un bug logique dans l'implementation d'un algo
Zorg1: ah vous parlez de chansons sur les langages de prog
dbdr: je vois pas comment un type aurait pu aider
dbdr: il arrivait qu'apres 250 appels d'une fonction récursive (minimax)
dbdr: dans le cas que j'avais sous la main
JBM: j'ai pas dit de pas en faire hein!
dbdr: j'ai modéliser la forme des appels comme un arbre
dbdr: il m'a trouvé une séquence de 3 appels qui reproduit le bug
dbdr: et c'était un bug subtil de logique
dbdr: avec les 3 appels, j'ai meme pas eu besoin de debugger
dbdr: j'ai vu assez vite l'essece du probleme
JBM: le pb de logique, je trouve pas ca si eloigne du "des floats et des ints qui se balladent"
JBM: quand t'as des paquets d'operations (X,X) -> X, QC est super la
dbdr: "dans ce cas, il faut pas sortir l'element de la pile sinon tu invalide ton invariant complexe"
dbdr: tu le code dans les types?
JBM: quand c'est possible et a mon niveau, oui
dbdr: oui mais c;est une tautologie ça :D
dbdr: est-ce possible?
dbdr: par ex tu peux coder dans les types qu'une implementation de A* a pas de bug?
dbdr: le type serait si complexe qu'il faudrait debugger le type, non? :)
JBM: c'est pas si binaire que ca
dbdr: tout à fait d'accord, ya plein de low hanging fruits deja
dbdr: je commence serieusement à faire des newtypes
JBM: le truc courant qui m'evite le plus de merdes, c'est juste de newtyper les ints
dbdr: ça aide vraiment un lanage ou ça a pas de cout à runtime
JBM: ah tiens, newtype collision
dbdr: voial, les grans esprits .... :)
dbdr: gnere là, j'utilisait des ints et j'ai réalisé qu'il fallait changer d'échelle
dbdr: hop, newtype plutot que de me demander si j'en ai pas oublie un
JBM: newtypes pertinents; eviter la bool-blindness (ce qui est en partie la meme chose)
dbdr: c quoi?
JBM: et globalement "tendre a rendre les etats invalides non representables"
dbdr: oui
JBM: l'idee generale que rien de ressemble plus a un bool qu'un autre
dbdr: ah ok
dbdr: pour les ints c'est clair pour moi
JBM: a quoi il servira? foncierement ca reviendra a un branch qq part plus loin dans le code
dbdr: pour les bools j'ai pas trop vu de pb en pratique encore
JBM: branche tout de suite et evite de stocker et passer un bool dont l'appelant aura oublie la signification
dbdr: mais faut peut-etre que je voie des exemples
JBM: l'exemple classique est la sous-doctrine du "parse, don't validate"
JBM: valider c'est [Entree] -> booleen {entree valide?}
JBM: remplace ca par {entree} -> Maybe {entree parsee}
JBM: et gestion de l'erreur obvious
dbdr: ouais, je fais parse naturellement
dbdr: quite à paniquer si c'est pour un bot où la gestion des erreurs est pas critique
dbdr: voila
dbdr: exemple de mon implementation du SWAP:
dbdr: if his_last_peg == "SWAP" { assert_eq!(history.len(), 1); let peg = history[0].swapped();
dbdr: dans ma comprehension, sur un SWAP l'history est forcement de longeur 1
dbdr: mais je l'asserte, ça justifie de prendre l'element 0
dbdr: surtout que la ligne suivant c'est
JBM: ca c'est la doctrine "avoir partial functions"
dbdr: history.clear()
dbdr: en français dans le teste? :D
dbdr: *texte
dbdr: je vois clairement que ya moyen de faire des trucs bcp plus surs, et bcp plus generiques
dbdr: il faut juste un langage assez expressif, sinon c'est soir pas sur, soit pas rapide
dbdr: faire des appels de fonctions sans arguments sur des parametres de type, ça me fait un peu des frissons encore :D
dbdr: c'est magique :)
JBM: j'avais un truc par la chorale locale de facebook derriere
JBM: y'a une nana elle chante pas toujours bien juste, ouch
dbdr: en solo?
JBM: https://www.youtube.com/watch?v=9NYUsrnDAsg&list=PLi5_4aecwV9LSZM53Ufn36sLsvGA4PvHv&index=6
dbdr: ouch
dbdr: l'accompagnement aussi parfois
dbdr: ça fait ton sur ton :D
dbdr: ou pas
JBM: "jingle bells, oh what fun it is to work at google every day"
JBM: preuve s'il en fallait, donc, que google > facebook
leojean890: Zorg1 ouais j'ai fait pas mal d'anciens contests en multis aussi en plus des commu!;p
Zorg1: houla tu réponds à une vieille question ...
JBM: finalement tous mes breaks et continue et goto sautent
JBM: parce que j'avais des invariants bien foutus
JBM: (et que le worst case me sied dans ce cas-ci)
Zorg1: s'il te sied, j'en suis fort aise.
JBM: mmm j'avais oublie comment rien que ecrire trois pauvres ints pour debug c'etait relou en C++
Stilgart: suffit de coder sans bug
Zorg1: pourquoi n'y avait-on pas pensé plus tôt ?
JBM: en plus je suis en train de transcrire mon haskell sans bug
Stilgart: bien sûr, suffit de rien écrire
JBM: c'est c++ qui les rajoute, promis!
Stilgart: :p
JBM: entree: "1 2 3" il arrive a me generer un pcgd de 10 dans la liste
Stilgart: ça existe toujours pas gcd en c++ ?
Stilgart: et foldl1 ?
JBM: y'a pas toujours eu un algo pour ca?
Stilgart: pour gcd, à part celui de gmpxx, je crois pas
Stilgart: wait... c'est quoi ce accumulate dans numeric ???
Stilgart: je veux dire... qu'est-ce que ça fout dans numeric ???
JBM: accumulate faudrait voir lequel
JBM: avant tu pouvais bidouiller un for_each
Stilgart: oui, je viens de voir ça...
JBM: puisque l'operation unaire est impure
Stilgart: mais ...
Stilgart: qu'est-ce que ça fout dans numeric ????
JBM: tiens y'a toujours eu adjacent_difference
Stilgart: ok, les gens qui font c++ sont idiots
JBM: si ca te tranquilise de le penser
Stilgart: bah écoute.... déjà que faire la somme par défaut ça fait 0 sens
JBM: c'est une interpretation relativement intuitive d'"accumuler"
Stilgart: mais que personne ne se soit rendu compte que ça se généralise... j'ai pas de mot pour décrire ça
JBM: t'as le cas ou tu fournis la binop
Stilgart: dans "numeric" ....
Stilgart: comment tu veux que je trouve un fold DANS NUMERIC
Stilgart: ?
JBM: ben je sais pas comment t'as fait
Stilgart: c'est toi qu'il l'a fait
Stilgart: je pensais trouver gcd dans numeric suite à ta remarque
Stilgart: pas foldl
Stilgart: cplusplus.com il ne m'en donne pas de gcd dans numeric :(
JBM: https://en.cppreference.com/w/cpp/header/numeric
Stilgart: ha, C++17...
**Stilgart note que cplusplus.com il gère pas le C++17 :/
Stilgart: dommage, parce qu'il fait moins peur que cppreference :(
JBM: le int de g++ c'est pas un int64?!
JBM: se pose la terrible question
JBM: capture par copie ou par ref
VYCanisMajoris: je viens de découvrir le langage Julia, pfiouuuuu c'est tellement classe
VYCanisMajoris: quelqu'un sait si c'est prévu sur codingame bientot ?
Zorg1: aucune idée
Zorg1: les deux derniers langages rajoutés c"était il y a 6 mois en gros, D et TrueScript
VYCanisMajoris: yes D c'est cool aussi
VYCanisMajoris: bon ça veut dire qu'ils en rajoutent régulièrement
VYCanisMajoris: ils ont pas foutu une roadmap quelque part ?
Zorg1: pas trop le style de la maison
Zorg1: c'est un peu chaotique le process de décision
Zorg1: les deux derniers un sondage avait été organisé
VYCanisMajoris: ha ouais, c'est pas gagné du coup
Zorg1: en plus je suppose que rajouter des langages ça fait plus de langages à maintenir à jour, pareils pour les libs ...
Zorg1: Après les langages sur lesquels ils font + d'effort ça va être ceux pour lesquels les entreprises leur achètent des tests : donc je support Java, C++, Python, JavaScript, C# et PHP (à vue de nez)
Zorg1: *suppose
VYCanisMajoris: ouais kotlin et swift les trucs à la mode pour les app
VYCanisMajoris: mais je pense que ça va percer julia si ça tient ses promesses niveau perf
leojean890: julia je ne connais pas
leojean890: code royale c'est le multi dans lequel je suis le plus à l'ouest parmi les commencés ;P mon algo soumis il y a quelques mois fait nimp ;P
leojean890: pas hyper motivé pour ce sujet en plus hehe
leojean890: great escape, 325/35XX, comment améliorer ça now sachant que légende me demande d'entrer dans le top 190.. à part les solutions évidentes du genre changer de langage pour augmenter la depth
Zorg1: j'en sais rien hehe
leojean890: :P
leojean890: jparle tout seul t'as vu !!:P
leojean890: bon en vrai je suis entrain de regarder des replays c'est pour ça
leojean890: mais j'ai clairement un pbm de perf dans great escape ce qui fait que mon minmax est depth 2 only :s
VYCanisMajoris: t'étais sur quel langage ?
leojean890: python pour tous les multis xD
leojean890: j'ai commencé une liste de sujets à potentiellement refaire en cpp ou java
VYCanisMajoris: bon ben voila tu disais pas connaitre julia ^^
leojean890: en effet je ne connais pas :P
VYCanisMajoris: de ce que j'ai testé pour le moment c'est au moins aussi "hack like" que python et des perf de langage compilé
VYCanisMajoris: un petit coup de python2julia
leojean890: ah nice donc concis et pratique masi rapide:p
VYCanisMajoris: yep
leojean890: parait que C# c'est pas mal aussi comme compromis
VYCanisMajoris: tu peux faire des list comprehension en plusieurs dimensions
VYCanisMajoris: je crois pas que ce soit possible en python
leojean890: java c'est trop verbeux donc j'aime un peu moins mais j'en ai pas mal fait
leojean890: ah ouais ? sympa:p
VYCanisMajoris: et y a un petit hack de lisibilité
leojean890: faut que je regarde ça^^
VYCanisMajoris: genre str(sqrt(int(n))) tu peux le transformer en int(n) |> sqrt |> str
VYCanisMajoris: franchement c'est kiffant à utiliser
leojean890: ah oauis des pipe
leojean890: mais pas encore dispo sur CG;P
leojean890: dmg:p
VYCanisMajoris: je suis en train de le tester sur codewars là ils ont mis julia en beta
VYCanisMajoris: ha bé oui jsuis con
leojean890: codewars je ne connais pas, autre site de dev d'IAs ?
VYCanisMajoris: je sais pas si y a de l'IA mais y a des puzzles de base
leojean890: j'irai faire un tour :P
VYCanisMajoris: mais y a le meme principe que je kif sur CG, quand t'as soumis tu vois les notes des autres (triées soit par best practice, soit par cleaver)
VYCanisMajoris: et là t'apprends vite sur un nouveau langage
VYCanisMajoris: les hack des pro
leojean890: ah oui
leojean890: pas encore fait les puzzles ici sauf golf
leojean890: juste fait les 3/4 des multis et optims
VYCanisMajoris: genre putain quand j'ai appris le f"{variable}" et le *(list) en python
VYCanisMajoris: j'ai bien progressé ne code golf
leojean890: moi en golf je suis bof mais j'ai progressé en m'y mettant la semaine derniure anyway
VYCanisMajoris: c'est ce qui aide le plus à apprendre les petit details d'un langage
VYCanisMajoris: tiens en python tu ferais comment pour renvoyer la somme des entier entre a et b donné (mais tu sais pas le quel des deux et le plus petit)
VYCanisMajoris: avec un onliner
leojean890: ouais ça peut apprendre des choses
VYCanisMajoris: juste pour comparer avec julia
VYCanisMajoris: en vrai je crois que c'est pareil la
leojean890: les 2 entiers sont forcément positifs ?
VYCanisMajoris: mais julia sera un poil plus court
VYCanisMajoris: nan
leojean890: ok
VYCanisMajoris: a et b inclus dans la somme
VYCanisMajoris: (ha putain jme relis je fais des fautes de goret là en français)
leojean890: j'pense pas que j'aie une way vraiment courte pour le coup
leojean890: avec range on a l'ensemble des nombres inclus entre a et b
VYCanisMajoris: disons sans que ce soit opti niveau perf
leojean890: un truc du genre sum (range(a,b))
leojean890: sum s'applique à une liste
leojean890: euh b+1
leojean890: sum (range(a,b+1))
VYCanisMajoris: ouais mais si b est plus petit que a t'es niqué
leojean890: ah ouais:P
leojean890: sum (range(min(a,b+1), max(a,b+1)))
leojean890: mais c moche mdr
leojean890: et le +1 s'applique au second
leojean890: pas au b forcément
leojean890: sum (range(min(a,b), max(a,b)+1))
VYCanisMajoris: en julia ça donne : sum(min(a, b):max(a, b))
VYCanisMajoris: donc quasi parei
leojean890: ouais donc au lieu du range t'as qqc:qqc
VYCanisMajoris: sauf que tu gagnes la syntaxe 1:10
VYCanisMajoris: ça vient de ruby ou perl je sais plus
leojean890: ouais j'ai vu sur ton exemple
VYCanisMajoris: et ça inclut la borne haute
leojean890: c plus court en effet
VYCanisMajoris: pas besoin de +1
leojean890: le range ne l'inclut pas
VYCanisMajoris: déjà que python c'est bien lisible, là c'est vraiment plaisant
VYCanisMajoris: ils font commencer les index des array à 1 au lieu de 0 aussi
VYCanisMajoris: c'est dépaysant, mais pareil ça raccourcis le code souvent
leojean890: ça semble sympa ouais !
Alshock: (abs(a-b)+1)*(a+b)/2 C'est plus rapide et c'est plus court
Alshock: mais après faut faire la truedivision // si on veut pas se retrouver avec un flottant en python3 (le seul python qui existe)