Chat:Fr/2020-05-03

From CG community
Revision as of 10:56, 15 June 2021 by Chat Log (talk | contribs) (Created page with "<img src=/a/29054906001010> Stilgart: te plains pas... d'habitude c'est le luxe ultime de pouvoir affronter un boss <img src=/a/13261819485064> Palmipedus: leojean890 moi c'e...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

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

dbdr: https://milled.com/codin-game/codingame-newsletter-yes-you-can-create-your-own-coding-game-w-bhw4mtP3c5ru8w

**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

Default avatar.png JBM: arf le puzzle d'oz

leojean890: Zorg1 j'ai fait 100% de python sur cg depuis le début hehe

dbdr: JBM pq arf?

Default avatar.png JBM: parce que c'est vrai

dbdr: mais encore?

Default avatar.png JBM: c'est tout

Zorg1: "puzzle d'or" ? y a qqn qui a commis un truc avec les nombres de fibonacci ?

dbdr: OK merci :D

Default avatar.png JBM: il a encore soumis un puzzle bugge qu'il ne comprend pas, et ca a encore enerve stilgart

Zorg1: ah j'ai compris ^^

Default avatar.png 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

Default avatar.png JBM: quand c'est necessaire

Default avatar.png JBM: mais pas du style ajouter de l'indirection

dbdr: c'est subjectif du coup

Default avatar.png JBM: je ne sais pas

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... ?

Default avatar.png JBM: y'en a pas un quoi?

dbdr: un puzzle de toi

Default avatar.png JBM: y'en a un

Default avatar.png JBM: non attends

dbdr: Alshock faire un break?

Default avatar.png 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

Default avatar.png JBM: j'hesitais entre "touche pas" et "modifies sans toucher"

Default avatar.png 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

Default avatar.png JBM: le rapport?

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

Default avatar.png JBM: et je ne le comprendrais pas

dbdr: Zorg1 0 return pour les vrai puristes ;)

Default avatar.png JBM: pas super bien defini en C

dbdr: Alshock sinon: rajouter des tests. rajouter des assertions?

Default avatar.png 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

Default avatar.png JBM: c'est devenu legal en C?

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

Default avatar.png 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

Default avatar.png JBM: je crois que je les ai

dbdr: AFAIK

Default avatar.png JBM: ...mais sur quel PC

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

Default avatar.png JBM: ah pour le golf je suis pas sur

Default avatar.png JBM: oh quoique

Default avatar.png JBM: oui clairement je les ai qq parts

Default avatar.png JBM: (170 submits en perl)

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

Default avatar.png 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

Default avatar.png 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

Default avatar.png JBM: sisi

dwarfie: pourquoi faire ... fix ton code

Default avatar.png 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à)

Default avatar.png JBM: un accident ca arrive

dwarfie: non ... mais nous on pourrait ... un puzzle avec ce piege ca serait tellement mechant :smiling_imp:

Default avatar.png JBM: ah-HA

dwarfie: le titre ... "read the $#@ statement"

Default avatar.png JBM: y'a combien de jeux?

Default avatar.png JBM: Boulet: https://pastebin.com/THMH8yGa

Boulet: Merci JBM

Boulet: C'est lequel le bon tableau ?

Default avatar.png JBM: y'a qu'un 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 ?

Default avatar.png JBM: tensor

Zorg1: ah ok merci

dbdr: tensoir français 1

Default avatar.png JBM: tenseur?

BigUP: tensorflow

jolindien: 'lut

Default avatar.png JBM: 'thym

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

Default avatar.png JBM: c'est quoi ce jeu?

Default avatar.png 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...

Default avatar.png JBM: la en l'etat j'ai du mal a comprendre l'interet du jeu

Default avatar.png JBM: y'a pas un meilleur mouvement evident a chaque tour?

Default avatar.png JBM: et le premier a jouer gagne

Default avatar.png 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

Default avatar.png JBM: y'a un seul "?" pourtant

Default avatar.png walid_Dj: oui 2 :)

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

Default avatar.png walid_Dj: merci pour vos repenses

Default avatar.png walid_Dj: en fait j'ai 17 ans et je suis encore debutant pouvez vous me donner quelques conseils svp

Default avatar.png JBM: continue a pratiquer

BlaiseEbuth: Pratiques

Default avatar.png walid_Dj: merci :)

BlaiseEbuth: Et te contentes pas d'appliquer, creuses les notions et essayes de comprendre ce que tu fais au maximum

Default avatar.png JBM: psst... imperatif des verbes du 1er groupe... pas de s >_<

BlaiseEbuth: Nazi... :p

Default avatar.png JBM: oui enfin 3 en une ligne quand meme

Default avatar.png JBM: 4 en 2

Default avatar.png walid_Dj: dsl je suis pas français

BlaiseEbuth: T'inquiiètes c'est à moi qu'il parle

Default avatar.png JBM: ok toi t'es excuse alors

Default avatar.png JBM: RHA

Default avatar.png JBM: tu le fais expres

**Stilgart est de tout coeur avec JBM

Default avatar.png JBM: viens coller quelques /slap a BlaiseEbuth avec moi

Stilgart: BlaiseEbuth: arrête de montrer le mauvais exemple à Automaton2000 :'

Default avatar.png **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...

Default avatar.png JBM: t'as du te relire 3x avant de retirer le s a refus aussi

Default avatar.png 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

Default avatar.png 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

Default avatar.png JBM: pour le cas general

leojean890: plutôt tenter une simu même si chaud pour tulips

dbdr: en réponse à "c'est trivial" :D

Default avatar.png JBM: ben ca le parait en tout cas

Default avatar.png 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

Default avatar.png 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?

Default avatar.png JBM: c'est pour l'analphabete

Default avatar.png 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

Default avatar.png JBM: ouh

Default avatar.png JBM: sympa

dbdr: détail marrant

Default avatar.png 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

Default avatar.png JBM: ah oui

dbdr: joueur 2 peut juste décider de prétendre que c'est lui qui l'a joué

Default avatar.png 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 :)

Default avatar.png JBM: tu veux un … pour completer?

Default avatar.png JBM: ah ok je raccorde

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

Default avatar.png JBM: ca me rappelle le meme je pense

Default avatar.png JBM: mitterrand, mort a son bureau

Default avatar.png JBM: Comme Par Hasard

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

Default avatar.png JBM: oui aux guignols

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:

Default avatar.png JBM: ah, tu choisis pas

Default avatar.png 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 :)

Default avatar.png ImadMahdi: j'ai un code qui marche sur mon eclipse mais pas sur codinggame -_-

Default avatar.png JBM: et hop, usage de goto en C++

dbdr: justifié? ;)

Default avatar.png JBM: y'a toujours pas de break multiple en C++?

BlaiseEbuth: Break c'est mal

Default avatar.png JBM: oui oui

dbdr: break label?

Default avatar.png JBM: ne le contrariez pas, il n'est pas tres evolue

Default avatar.png JBM: par ex

Default avatar.png JBM: label, n, qu'importe

dbdr: c'est pas dans C?

Default avatar.png JBM: certainement pas C78

Default avatar.png JBM: c'etait un des enormes avantages de perl

dbdr: mais quand mettront-ils à jour C78?

Default avatar.png JBM: en 99

dbdr: faut attendre alors

Default avatar.png JBM: au moins -21 ans

dbdr: pas précisé le siecle

dbdr: https://www.codingame.com/replay/456910808 lol

Default avatar.png JBM: HAHAHA https://en.cppreference.com/w/cpp/language/break#Notes

dbdr: wat

Default avatar.png JBM: tu vas me dire que tu l'as deja fait?

Default avatar.png 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

Default avatar.png JBM: if (cond) { abort inner loop; next outer loop }

Default avatar.png JBM: oh, belle idee

Default avatar.png JBM: ca optimise bien?

dbdr: je pratique pas

dbdr: je fait break 'label; si besoin

dbdr: oh la belle confugaison :D

Default avatar.png JBM: c'est du rust?

dbdr: cad, je pratique pas C++, je break 'label en rust, oui

dbdr: d'ailleurs break c'est pas forcément dans une boucle

Default avatar.png JBM: un switch aussi

Default avatar.png JBM: on en parlait tout a l'heure

Default avatar.png 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

Default avatar.png JBM: ah ok, comme en lisp

Default avatar.png JBM: bah, c'est logique

dbdr: ah voila: https://github.com/rust-lang/rfcs/blob/master/text/2046-label-break-value.md

Default avatar.png 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

Default avatar.png 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

Default avatar.png JBM: torvalds est pas particulierement vantard

Default avatar.png JBM: essaie DHH

dbdr: pas vraiment BDFL, mais de fait c'était un hobby project d'un type chez Mozilla

dbdr: DHH?

Default avatar.png JBM: rails

Zorg1: BDFL c'est plutôt Guido van Rossem de Python le prototype non ?

Default avatar.png JBM: oui je crois que le nom vient de lui

dbdr: BDFL - B ;)

dbdr: MDFL

Default avatar.png JBM: c'est qui le M?

dbdr: malevolent

Default avatar.png JBM: quI

Default avatar.png JBM: mm

Default avatar.png JBM: qu*i*

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 ;)

Default avatar.png JBM: lol

Zorg1: pas con :D

Default avatar.png JBM: reste a me trouver de quoi

Zorg1: oui MDFL d'un projet d'une seule personne ça ne le fait pas trop

Default avatar.png JBM: il va super vite mon portage C++ du code Haskell

Default avatar.png JBM: dommage qu'il repondre toujours 0

dbdr: XMPP Nukem Forever

Default avatar.png 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

Default avatar.png JBM: ah oui, j'ai inverse le sens de recherche en milieu de code

dbdr: Zorg1, si, mais faut etre automaso

Default avatar.png JBM: du coup il demarre a 0 et stoppe des qu'il atteint 0

dbdr: classique

Default avatar.png JBM: raison de plus pour que ca speede

dbdr: lol

dbdr: le compilo a du tout optimiser en return 0 ;)

Default avatar.png JBM: bon c'est toujours faux, mais moins

Zorg1: logique floue

Default avatar.png JBM: c'est quoi la precedence relative de || et ?: ?

Zorg1: le genre de situation où je parenthèse tout

Default avatar.png JBM: c'est "comme il faut"

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? ;)

Default avatar.png JBM: alors qu'il en a vaguement autant que le C n'a de ()[]{}

Default avatar.png JBM: dbdr: not sure if serious

Default avatar.png JBM: (.gif)

dbdr: http://www.stroustrup.com/whitespace98.pdf

Default avatar.png JBM: ah ce classique

Default avatar.png JBM: :D

dbdr: bon je suis content que mon truc marche. je crash intentionnellement si l'opp fait swap, mais chut... ;)

Default avatar.png JBM: le temps de coder un swap-wait-bot

Default avatar.png JBM: brb

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

Default avatar.png 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 ;)

Default avatar.png Thyl: Je me demandais si quelqu'un conaissait en endroit ou je pourrait apprendre à programmer un bot svp:

Zorg1: un bot pour faire quoi ?

Default avatar.png Thyl: Pour Mean Max

Zorg1: t'as déjà bricolé CSB ?

Zorg1: (ça ressemble assez)

Default avatar.png Thyl: Non, je ne sais pas ce que sais

Zorg1: Code Strike Back, le tuto de CG pour les multis

Default avatar.png Thyl: J'ai essayé, mais je n'est pas compris ce qu'il fallait faire

Default avatar.png Thyl: J'ai essayé plein de truc...

Default avatar.png Thyl: Je ne connais rien sur le monde du bot

Default avatar.png Thyl: Est-ce que vous conaissez un article qui pourrait m'aider à bien tou prendre en main:grinning:

Default avatar.png TchawLaPizze: Tu as déjà fais des puzzles sur ce site ? Thyl

Default avatar.png Thyl: Oui, et j'ai réussi des clash

Default avatar.png TchawLaPizze: Donc tu as compris le système d'input et output déjà

Default avatar.png Thyl: Oui

Default avatar.png TchawLaPizze: Pour les multis c'est la même chose sauf que tu joues contre une ou plusieurs personnes

Default avatar.png Thyl: d'accord...

Default avatar.png TchawLaPizze: Pour Mean Max tu as déjà soumis un code ?

Default avatar.png Thyl: Oui, mais ça n'a rien fait

Default avatar.png Thyl: Pourtant, j'ai utilisé la comande pour bouger...

Default avatar.png TchawLaPizze: Tu utilises quel langage ?

Default avatar.png Thyl: Python

dwarfie: Thyl : la commande ? ou les 3 commandes necessaires ?

Default avatar.png TchawLaPizze: print("0 0 300") print("WAIT") print("WAIT") essaies de mettre ça

Default avatar.png TchawLaPizze: à la place des trois WAIT

Default avatar.png Thyl: Ok j'essaie:grinning:

Default avatar.png Thyl: Merci beaucoup

Default avatar.png Thyl: Ca ne fait rien

Default avatar.png TchawLaPizze: Tu ne vois pas ton véhicule se déplacer ?

Default avatar.png Thyl: Si pardon, il a avancé vert le centre

Default avatar.png TchawLaPizze: voilà

Default avatar.png Thyl: Pourais - tu m'expliqué pourqoi de WAIT après la command ??

Default avatar.png Thyl: S'il te plait

Default avatar.png TchawLaPizze: Tu as un seul véhicule à controler dans la première ligue

Default avatar.png Thyl: Ahh

Default avatar.png TchawLaPizze: plus tard tu en auras trois

Default avatar.png Thyl: Je comprend mieux, merci beaucoup

Default avatar.png Thyl: Une dernière question

Default avatar.png 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

Default avatar.png TchawLaPizze: -s

Default avatar.png Thyl: Est-ce que la communauté fr est active pendant le mega tournoi ?

Default avatar.png TchawLaPizze: Oui

Default avatar.png TchawLaPizze: Si tu parles des challenges

Default avatar.png Thyl: Désolée pour l'erreur

Default avatar.png Thyl: Alors, j'y serais

dbdr: carrément active même :)

Default avatar.png Thyl: Merci à tout le mondepour la sympathie de la comunauté et pour avoir répondue a mes question:grinning:

Default avatar.png Thyl: A plus tard

Default avatar.png TchawLaPizze: Pas de soucis !

Default avatar.png Thyl: Au challenges !

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 !

Default avatar.png TchawLaPizze: hmmm si ?

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

Default avatar.png 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

Default avatar.png JBM: dbdr: ah merde

Default avatar.png JBM: jme voyais deja...

Default avatar.png JBM: en haut de la ligue

Default avatar.png JBM: en deux fois plus gros que n'importe qui mon pseudi s'etendrait

Default avatar.png JBM: *pseudo

Default avatar.png JBM: mmm

Default avatar.png 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?

Default avatar.png 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 :)

Default avatar.png JBM: t'avais vu le "write in go" fait par une chorale locale de googlers?

dbdr: yep

Default avatar.png JBM: j'etais vraiment mdr la premiere fois que je l'ai vu

dbdr: je l'ai dédicacé à Zorg1

Default avatar.png JBM: y'a le "God wrote in Lisp" qu'a refait la une de HN y'a qqs jours

dbdr: https://xkcd.com/224/

Default avatar.png JBM: https://www.gnu.org/fun/jokes/eternal-flame.en.html lien audio en bas de page

Default avatar.png JBM: je sais lequel sans cliquer

dbdr: :)

Default avatar.png JBM: JohnnyYuge? tu passes des fois?

Default avatar.png JBM: j'ai besoin d'instrus

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

Default avatar.png JBM: oh, ils ont refait le write in go l'annee derniere

Default avatar.png 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

Default avatar.png JBM: mmm elle est moins bien

Default avatar.png JBM: retour

dbdr: j'en connais qu'une pour le go, je sais pas laquelle des 2 du coup

Default avatar.png JBM: "write in go fall 2014" sur youtube

Default avatar.png JBM: moins bonne sono, meilleure musique

dbdr: tu as vu https://www.youtube.com/watch?v=OyfBQmvr2Hc ?

Default avatar.png JBM: dans 2'15

dbdr: William Byrd on "The Most Beautiful Program Ever Written" [PWL NYC]

Default avatar.png JBM: la pres derriere est bien mdlol aussi

Default avatar.png JBM: lol boost

dbdr: oui j'avais vu la 2014

Default avatar.png JBM: la 2019 j'ai pas tenu 1 minute

Default avatar.png JBM: il fait 1h30 ton youtube

Default avatar.png JBM: ca va pas marcher la

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

Default avatar.png JBM: ah ok

dbdr: et ça finit sur des trucs moins basiques

Default avatar.png 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

Default avatar.png JBM: ca m'arrive

Default avatar.png JBM: AMHA a long terme [et hors considerations de perfs] un typage plus juste est plus utile

Default avatar.png 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

Default avatar.png JBM: euh pas la

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

Default avatar.png 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

Default avatar.png JBM: cool :D

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

Default avatar.png JBM: le pb de logique, je trouve pas ca si eloigne du "des floats et des ints qui se balladent"

Default avatar.png 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?

Default avatar.png JBM: quand c'est possible et a mon niveau, oui

dbdr: oui mais c;est une tautologie ça :D

dbdr: est-ce possible?

Default avatar.png JBM: de plus en plus

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? :)

Default avatar.png JBM: probablement

Default avatar.png 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

Default avatar.png JBM: le truc courant qui m'evite le plus de merdes, c'est juste de newtyper les ints

Default avatar.png JBM: *surtout* sur CG

dbdr: ça aide vraiment un lanage ou ça a pas de cout à runtime

Default avatar.png JBM: ah tiens, newtype collision

dbdr: voial, les grans esprits .... :)

Default avatar.png JBM: oui, ca sauve des vies

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

Default avatar.png JBM: newtypes pertinents; eviter la bool-blindness (ce qui est en partie la meme chose)

dbdr: c quoi?

Default avatar.png JBM: et globalement "tendre a rendre les etats invalides non representables"

dbdr: oui

Default avatar.png JBM: l'idee generale que rien de ressemble plus a un bool qu'un autre

Default avatar.png JBM: donc de les eviter

dbdr: ah ok

dbdr: pour les ints c'est clair pour moi

Default avatar.png 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

Default avatar.png 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

Default avatar.png JBM: l'exemple classique est la sous-doctrine du "parse, don't validate"

Default avatar.png JBM: valider c'est [Entree] -> booleen {entree valide?}

Default avatar.png JBM: remplace ca par {entree} -> Maybe {entree parsee}

Default avatar.png JBM: plus de booleen

Default avatar.png JBM: et gestion de l'erreur obvious

dbdr: ouais, je fais parse naturellement

Default avatar.png JBM: t'es sur la bonne voie

dbdr: quite à paniquer si c'est pour un bot où la gestion des erreurs est pas critique

Default avatar.png JBM: "fail early"

dbdr: voila

Default avatar.png JBM: c'est bien aussi

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

Default avatar.png JBM: yep

dbdr: surtout que la ligne suivant c'est

Default avatar.png 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

Default avatar.png JBM: yep

dbdr: faire des appels de fonctions sans arguments sur des parametres de type, ça me fait un peu des frissons encore :D

Default avatar.png JBM: hehe

dbdr: c'est magique :)

Default avatar.png JBM: ouh

Default avatar.png JBM: j'avais un truc par la chorale locale de facebook derriere

Default avatar.png JBM: y'a une nana elle chante pas toujours bien juste, ouch

dbdr: en solo?

Default avatar.png JBM: le cringe

Default avatar.png JBM: solo accompagne

Default avatar.png 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

Default avatar.png JBM: "jingle bells, oh what fun it is to work at google every day"

Default avatar.png JBM: lol

Default avatar.png 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 ...

Default avatar.png JBM: allez, le back-lol:

Default avatar.png JBM: finalement tous mes breaks et continue et goto sautent

Default avatar.png JBM: parce que j'avais des invariants bien foutus

Default avatar.png JBM: (et que le worst case me sied dans ce cas-ci)

Zorg1: s'il te sied, j'en suis fort aise.

Default avatar.png JBM: serviteur

Default avatar.png 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 ?

Default avatar.png JBM: c'est possible en c++?

Default avatar.png JBM: en plus je suis en train de transcrire mon haskell sans bug

Stilgart: bien sûr, suffit de rien écrire

Default avatar.png JBM: c'est c++ qui les rajoute, promis!

Stilgart: :p

Default avatar.png JBM: entree: "1 2 3" il arrive a me generer un pcgd de 10 dans la liste

Default avatar.png JBM: grmbl

Stilgart: ça existe toujours pas gcd en c++ ?

Default avatar.png JBM: si

Default avatar.png JBM: c++17

Stilgart: et foldl1 ?

Default avatar.png JBM: y'a pas toujours eu un algo pour ca?

Stilgart: pour gcd, à part celui de gmpxx, je crois pas

Default avatar.png JBM: dans <numeric>

Stilgart: wait... c'est quoi ce accumulate dans numeric ???

Stilgart: je veux dire... qu'est-ce que ça fout dans numeric ???

Default avatar.png JBM: gcd je vois assez bien

Default avatar.png JBM: accumulate faudrait voir lequel

Default avatar.png JBM: ben c'est une somme

Default avatar.png JBM: (par defaut)

Default avatar.png JBM: c'est donc ca ton foldl

Default avatar.png JBM: avant tu pouvais bidouiller un for_each

Stilgart: oui, je viens de voir ça...

Default avatar.png JBM: puisque l'operation unaire est impure

Stilgart: mais ...

Stilgart: qu'est-ce que ça fout dans numeric ????

Default avatar.png JBM: "somme"

Default avatar.png JBM: tiens y'a toujours eu adjacent_difference

Stilgart: ok, les gens qui font c++ sont idiots

Default avatar.png JBM: si ca te tranquilise de le penser

Stilgart: bah écoute.... déjà que faire la somme par défaut ça fait 0 sens

Default avatar.png 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

Default avatar.png JBM: mais si justement

Default avatar.png JBM: t'as le cas ou tu fournis la binop

Stilgart: dans "numeric" ....

Default avatar.png JBM: oui

Stilgart: comment tu veux que je trouve un fold DANS NUMERIC

Stilgart: ?

Default avatar.png JBM: ben je sais pas comment t'as fait

Default avatar.png JBM: mais tu l'as fait

Stilgart: c'est toi qu'il l'a fait

Default avatar.png JBM: moi j'y ai trouve gcd

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 :(

Default avatar.png JBM: https://en.cppreference.com/w/cpp/header/numeric

Stilgart: ha, C++17...

Default avatar.png JBM: (00:09:29) JBM: c++17

**Stilgart note que cplusplus.com il gère pas le C++17 :/

Stilgart: dommage, parce qu'il fait moins peur que cppreference :(

Default avatar.png JBM: le int de g++ c'est pas un int64?!

Default avatar.png JBM: aaaah codejam est en 14

Default avatar.png JBM: bon reecrivons gcs

Default avatar.png JBM: houlala

Default avatar.png JBM: j'ai ecrit une lambda

Default avatar.png JBM: se pose la terrible question

Default avatar.png 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)