Chat:Fr/2021-04-25

From CG community
Revision as of 11:16, 15 June 2021 by Chat Log (talk | contribs) (Created page with "<img src=/a/50563109634686> Littleyounes: ptdrr <img src=/a/44847420172903> Thyl: bon 11h00 <img src=/a/44847420172903> Thyl: mon generateur de getteurs c++ en python <img...")
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Littleyounes: ptdrr

Thyl: bon 11h00

Thyl: mon generateur de getteurs c++ en python

Thyl: fini

Thyl: chouette

Bon[]Crayon: Salut :ghost:

Bon[]Crayon: Automaton2000 Passes-tu une bonne matinée ?

Automaton2000: je viens de voir un replay ?

Bon[]Crayon: Automaton2000 Une revoyure du boss argent.

Automaton2000: j'ai rajouté le score du boss ?

Bon[]Crayon: Automaton2000 Résultat 0.

Zorg1: o/ à tous et au bot de référence, Automaton2000

Automaton2000: ah mais tu parles de quoi ?

Automaton2000: non moi j'ai pas de timeout

Zorg1: de toi Automaton2000

Bon[]Crayon: o/

Automaton2000: et tu peux voir ça comme un pb

Zorg1: \o

Default avatar.png JBM: o/

Zorg1: \o/

Zorg1: ça serait bien de rajouter dans les guidelines un avertissement pour dire que rajouter des subtilités de parsing des entrées rend rarement un puzzle plus intéressant ...

pardouin: dans le genre parsing intimidant : https://www.codingame.com/training/hard/kakuro-solver

pardouin: mais en fait c'est plutôt cool car ça rend les entrées très lisibles

pardouin: fini mon 15ème puzzle vb.net, la délivrance \o/

Zorg1: bah il décrit la forme de toutes les entrées possibles

Zorg1: après bon le truc chiant c'est pê le formatage pour avoir les '|' alignés en sortie

Zorg1: ah non ça va la sortie n'a pas besoin d'être formatée

dwarfie: Zorg1 ... un soucis avec IPv6 ?

dwarfie: parce que j'ai cherché a le plomber avant la valiation et j'ai pas trouvé de probleme

**dwarfie a été jusqu'a checker la RFC ...

**dwarfie slaps dwarfie around a bit with a large fishbot

dwarfie: je viens de relire ton post ... en effet , j'avais pas reagi a ca ...

dwarfie: Automaton2000 ... t'es autorisé a me lancer une tortue ... ou au moins une carapace ...

Automaton2000: y'a des mecs qui font du code qui compile pas

dwarfie: Automaton2000 ... en effet , ca s'appele des scripts ...

Automaton2000: alors que la liste des samples

Zorg1: dwarfie : en fait ça va le statement est plutôt clair

Zorg1: c'est juste un petit pb dans les tests

dwarfie: oui ... j'ai percuté après coup ... tellement focalisé sur "est-ce que ca respecte vraiment comment ca marche en vrai" que j'avais pas vu

Zorg1: si c'est cohérent y en a bien qui ont du utiliser les fonctions qui vont bien de la lib réseau de leur langage ^^

jfaixo: hello ici :)

Zorg1: salut là

jfaixo: j'avais une petite question d'ordre général: vous connaissez les caractéristiques des CPU qui font tourner les bot sur CG ? En particulier la taille du cache et la taille des pages de cache ^^'

Zorg1: bah fait tourner un bash avec les commandes qui vont bien ...

jfaixo: ha yes, j'y avais pas pensé -_-' je retourne voir la machine a café, merci !

Zorg1: ouaip tu fais un cat de /proc/cpuinfo ça marche

3141948: | tail -f

Zorg1: t'en a pas besoin là

dwarfie: >&2

jfaixo: getconf -a | grep CACHE 1>&2

jfaixo: :)

3141948: cat: /etc/shadow: Permission denied

3141948: Ouf

Zorg1: ce hacker

3141948: Script kiddie oui et noob 😉

3141948: Connaître les types de mémoire cache, c important ?

Default avatar.png JBM: bien sûr 3141948

Zorg1: marrant sur le webchat on voit bien qui c'est

3141948: 3141948 c qui ?

BlaiseEbuth: Bah ouai, parce qu'ils ont configuré le webchat pour reconnaitre les ids, au lieu de configurer xmpp...

3141948: Ah c moi 😂

3141948: C ballot 😂

Zorg1: de toute façon ça marchera jusqu'au prochain reboot de xmpp

Zorg1: BlaiseEbuth : ah ok ^^

3141948: La je vois Zo, Bl, Jb, Jo, Dw sur mon client XMPP

Zorg1: tu manipules des éléments chimiques dangereux toi ...

Zorg1: surtout le Bl et le Jb

dwarfie: ga bu zo meu

BlaiseEbuth: Yo tout l'monde et Automaton2000, btw.

Automaton2000: je vais jamais sur le forum

3141948: Et moi 31

3141948: Automaton2000: sage bot

Automaton2000: mais c'est mieux que la version de mon ia

3141948: Zorg1: 🤔 vous n'êtes pas classifiables 😂

3141948: Automaton2000: tu es mon précieux

Automaton2000: je le fais en c#

jfaixo: je sais pas dans quelle mesure c'est important philRG , mais en tout cas ce que j'ai observé "empriquement" en profilant mon uttt

jfaixo: c'est que si j'alloue un grand tableau brut, sans l'initialiser (oui je sais c'est mal, mais si je l'initialise, je timeout les 1 sec, j'apprends pour les futurs contest, je ferai des structures qui s'initialisent a coup de 0)

jfaixo: et qu'ensuite je commence à le remplir (par exemple en générant des nodes au fil de l'algo)

jfaixo: j'avais énormément d'appels à "asm_exc_page_fault" en bas niveau (des page miss quoi), qui étaient très long, et me faisaient perdre bcp de temps, voire timeout sur les 100ms par la suite

jfaixo: et j'ai fait un truc "sale" : j'ai fait en sorte durant l'init d'ajouter un hit tous les 4kb à peu près dans mon grand tableau, pour faire tous ces miss au début

jfaixo: plus de timeout, et j'ai gagné 10k itérations...

jfaixo: bon et maintenant, je voudrais mieux comprendre comment tout ca fonctionne en détail ;)

jfaixo: je suis en train de lire cette série de posts en //, qui est excellente (j'aime bien ce type): https://fasterthanli.me/series/making-our-own-executable-packer

jfaixo: (par un evangelist Rust ;) )

jfaixo: j'imagine que c'est connu de tous ceux qui tapent systématiquement dans le top 100 des challenges, et je voudrais creuser voir comment tirer au mieux parti de tout ca, voilou (et j'arrête de monopoliser le chat xD )

Zorg1: "monopoliser le chat" : ça va y a pas grand monde qui cause là

Bon[]Crayon: C'est bon pour la culture d'Automaton2000.

Automaton2000: ça se passe comment ?

Bon[]Crayon: Automaton2000 Mal, trés mal.

Automaton2000: si tu l'as pas fait

3141948: Ah ok j'ai pas suffisamment la santé pour changer de langage, sinon je regarde numpy de temps en temps. Merci pour ces infos techniques utiles pour cg 🙂

3141948: Parfois quand je m'ennuie, je lance wireshark et je regarde les paquets tcp/ip qui transitent

Gloopy: Ajouter un hit tous les 4KB, cad que tu appelles des nodes répartis dans ton tableau au fur et à mesure pour charger les pages en mémoire ?

BlaiseEbuth: C'est déprimant...

jfaixo: Gloopy oui c'est ca. J'initialise un "gros" tableau (2 millions de noeuds de 352 octets), et je fais juste après une boucle qui va faire une initialisation inutile tous les 10 noeuds. Ca me sert a rien, juste à faire en sorte que les page miss se fassent a ce moment là (dans le délai de 1s d'init)

POLOB: Un gros coup de memset; ça le fait pas ?

POLOB: pour monter tout en mémoire je veux dire

jfaixo: ben c'est pas si simple en rust, pas trouvé comment le faire simplement

POLOB: arg, oui, en Rust, je suis pas assez calé pour te dire.

jfaixo: déjà allouer sans initialiser c'est interdit normalement, et si j'alloue en initialisant, il le fait item par item (sauf si j'arrive a lui faire comprendre que c'est que des 0, ce qui n'est pas le cas de ma structure je pense)

jfaixo: du coup je triche, je crée un Vec vide avec une capacité préallouée, et je passe en "unsafe" pour forcer la taille du vecteur. Ca revient a avoir ma zone allouée non initialisée, et ca c'est quasi gratuit, par contre pas trouvé comment init simplement... v voir si je peux pas faire un truc sale a coup de pointeur ptet, c'est une idée merci !

jfaixo: (la difficulté étant que je veux que ca soit sur le heap, sur le stack c'est facile mais bon, stack overflow toussa ;) )

Zorg1: tu peux pas faire des allocs statiques en Rust ?

POLOB: Je pense que si. Au final, c'est super bas de calle comme language

POLOB: mais ça fait 2 ans que j'ai arrêté, alors...

BlaiseEbuth: Deeper and deeper with rust

Zorg1: t'as retrouvé ton sonar pour ton sous marin finalement ?

jfaixo: si tu peux

jfaixo: un tableau ira sur la stack

jfaixo: un Vec, ou un tableau "boxed" ira sur la heap

BlaiseEbuth: Nan. Du coup j'en fabrique un nouveau...

Zorg1: je crois qu'on n'est pas d'accord sur le sens de statique alors ^^

jfaixo: le souci, c'est que l'init d'une structure complexe se fait par Clone (en tout cas vrai pour le Vec), donc il initialise un a un les 2M éléments....

jfaixo: ha ok, je vois ce que tu veux dire pardon, scoper mon tableau de nodes en dehors ds fonctions. Si c'est possible

Zorg1: oui pour qu'il soit dans le BSS normalement c'est alloué

jfaixo: pff décidément, chui pas en forme

Zorg1: après je ne sais pas si il est mappé

jfaixo: oui, ca change pas le coup du map du coup, car ca sera monté dans la zone mémoire, mais jamais atteint par le cpu

jfaixo: j'économise le malloc.. bon je me le note pour le prochain, uttt je vais plus y toucher ;)

Zorg1: je sais pas si l'OS initialise pas le BSS à zéro en fait (mais c'est pê la runtime de C++ qui fait ça)

**BlaiseEbuth comprends rien à cette discussion, alors il retourne dans son sous-marin.

jfaixo: de mes dernbières lectures, sous linux je pense que c'est le "linker dynamique" qui fait ca en pratique. Quand on exécute une commande sous linux l'appel à notre exécutable est en réalité fait en utilisant le "ld" en tant qu'interpréteur ( "chmod" devient "ld.so chmod"). Et effectivement ya des inits qui sont faites

Zorg1: ah ok, va falloir me mettre à la page ^^

jfaixo: je me suis jamais penché sur le fonctionnement de tout ca bas niveau, mais bon, une découverte en appelant une autre, chui en train de creuser la question xD

Zorg1: j'ai vraiment des connaissances datées là dessus en fait ;-)

Zorg1: ah ok intéressant ^^

jfaixo: faut dire que c'est vaste... j'ai fait de l'asm (y compris dans un contexte pro), du C, je pensais avoir vu les entrailles de la bête, mais en fait il y a plein de choses qui se passent tellement magiquement qu'on se pose pas forcément la question si on a pas un souci avec par accident

3141948: Ouais moi je viens de découvrir la commande 'is' dans python pour savoir si 2 objets partagent la même référence

3141948: Et par accident en reprenant UTTT sinon jamais j'aurais approfondi le sujet 🙂

3141948: Bon moi je vais retailler ma hache pour ma prochaine forêt de ifs en espérant ne pas m'y perdre au prochain contest 😔

POLOB: Punaise, il m'aura couté ce 'Shadows of the Knight 2'... 75% easy, mais les 2 derniers validateurs...

Thyl: la au moins tu t'es fait des XP

BlaiseEbuth: 'tain y fait chaud dans ce sous-marin ! :thermometer_face:

Zorg1: ouvre la fenêtre

nicola: philRG, il me semble que is vérifie si l’id est le même.

BlaiseEbuth: :thinking:

philRG: nicol oui :)

philRG: nicola

Zorg1: (t'as un peu tendu la perche, quand même ... ;-) )

nicola: help("is")

nicola: Identity comparisons

========

nicola: The operators "is" and "is not" test for an object’s identity: "x is y" is true if and only if *x* and *y* are the same object. An Object’s identity is determined using the "id()" function. "x is not y" yields the inverse truth value.

nicola: C’est bien ça.

BlaiseEbuth: C'est une écoutille d’abord.

nicola: Elle brouille ?

Zorg1: "et c'est pas une perche c'est une gaffe" merci capt'ain vocabulaire marine !!

BlaiseEbuth: Hé

nicola: Gaston Laperche, c’est moins classe.

Zorg1: c'est une grande andouille pourtant

philRG: allé c'est dimanche code gratuit pour les amateurs de numpy:

philRG: http://chat.codingame.com/pastebin/2c822400-0e4d-4520-a254-a47e5b660627

BlaiseEbuth: :nauseated_face:

philRG: ça fait 7 lignes au lieu de mes 35 lignes de ma fonction d'éval

philRG: en principe en simu ça devrait être plus rapide

Zorg1: "en principe"

dwarfie: ... ou pas ....

BlaiseEbuth: A bah du c ça va être plus rapide...

Zorg1: ouaip tu fais un appel à une fonction en C t'accélère ton programme e 65%

Zorg1: c'est scientifique

philRG: numpy c'est une lib en C

BlaiseEbuth: C'est bien ce qu'on dit

nicola: C’est plus optimisé aussi parce que le type est fixé pour toute la liste.

nicola: Une matrice de numpy ne peut pas contenir des éléments de types différents.

philRG: s'ils sont différents, ils essaye néanmoins de les convertir à la création

philRG: il

POLOB: je suis quand même assez curieux de la différence que ça peut faire sur du 3x3...

philRG: BlaiseEbuth oui c du c j'avais pas bien lu ;-) dsl

Zorg1: enfin pour UTTT je crois que le truc gagnant c'est de bitboarder le biniou

Zorg1: pas vraiment l'impression que le calcul matriciel aide beaucoup

Zorg1: après j'avoue faut pas rester accroché à des vieux schémas, faut savoir explorer

philRG: Zorg1 oui c sûr après ma fonction d'éval actuelle c'est ça:

philRG: def evaluate(action, board, player_id): http://chat.codingame.com/pastebin/f174ce1d-b80a-4153-a50d-54b1a0cfe4b6

Zorg1: mon dieu

BlaiseEbuth: Oui?

BlaiseEbuth: :scream:

philRG: ouais en fait j'ai du la pomper quelque part

BlaiseEbuth: Bon. https://imgur.com/a/eMLVs37

philRG: les codes qu'on trouve sont pas optimisés le + souvent

philRG: BlaiseEbuth :joy:

Zorg1: owi le prochain contest en perl ^^

Thyl: c'est long la wood 2 sur code 4 life

Zorg1: ah ?

philRG: ah j'avais un bug: row, col = GRID_START[g_id]Zorg

philRG: lol

philRG: ça clignote trop UTTT ça m'éblouis, on dirait un flipper

Zorg1: gaffe au tilt

philRG: :joy:

philRG: purée le Go, c'est le langage de Google, je perds la boule

philRG: https://www.humancoders.com/formations/go

philRG: J'ai fait du C et du Pascal dans ma jeunesse

Thyl: wood 1 plus facile

Thyl: t'avais les cheveux longs !!!!

Thyl: la jeunesse de philRG :)

philRG: Thyl :-D

Thyl: non c'est ça ???

Thyl: :D

philRG: en fait pas si long que ça, mais ouais c'était la mode des cheveux longs à l'époque

philRG: c + trop le cas faut que je me mette à jour :)

Zorg1: bawi go ça vient de google, c'est pas un secret non plus

BlaiseEbuth: Ah. C'est nul du coup...

Zorg1: évidemment

BlaiseEbuth: Y'a des signes qui trompent pas.

Zorg1: tu te rends compte j'ai été braiwashé par Sun puis par Google

Zorg1: au moins j'ai les neurones propres

Zorg1: *brainwashé

BlaiseEbuth: :scream:

Zorg1: mon goût pour Lua, j'explique ça par de la perversion ordinaire

Default avatar.png farenheit902: Coucou, juste pour savoir si on s'entrainer en COBOL ou RPG ( IBM ) ?

BlaiseEbuth: Vieux...

BlaiseEbuth: :older_man:

Default avatar.png farenheit902: Non, je blague...Juste le RPG !

Default avatar.png farenheit902: Vieux, mais ça tourne toujours...

Zorg1: rpg ? c'est le nouveau nom de rexx ?

BlaiseEbuth: Bah tu fais ce que tu veux farenheit902

Default avatar.png farenheit902: Ben non...c'est juste un des langages les plus utilisés dans le monde la banque, la santé...

Default avatar.png farenheit902: Mais c# est très utilisé aussi !

Default avatar.png farenheit902: Je vous charie, les gars...:)

Zorg1: ah non c'est encore autre chose. Ils en on fait des m... trucs IBM

BlaiseEbuth: Le mec qui assume pas...

Default avatar.png farenheit902: C'est juste un outil pour travailler. Comme les autres langages. Mais c'est vrai, pas du tout orienté objet.

Default avatar.png farenheit902: Bon, tout ça pour vous dire que j'ai décidé d'apprendre le C# : j'aime bien :)

Zorg1: nice

BlaiseEbuth: :scream:

Zorg1: t'as pas du perl à réviser toi, BlaiseEbuth ?

BlaiseEbuth: Sais pas, j'ai pas encore décidé. Et je suis encore dans le sous-marin pour l'instant.*

Default avatar.png farenheit902: La philosophie objet m'a donné un peu de fil à retordre, mais une fois qu'on a capté, c'est chouette...Mais j'ai encore du chemin à faire :)

BlaiseEbuth: Mais le manque d'oxygène se fait sentir, je galère sur une transition à la con...

Zorg1: ah ok t'es un dév "MainFrame" à la base ...

Default avatar.png farenheit902: Oui, tout a fait exact !

Default avatar.png farenheit902: Faut bien payer les factures :)

BlaiseEbuth: Skoissa dev "MainFrame"

Zorg1: y a pas de mal ;-)

Zorg1: en gros un gars qui fait du COBOL sur des bécanes IBM (je simpligie)

Default avatar.png farenheit902: MainFrame : mini-système (AS/400)

Zorg1: voilà

BlaiseEbuth: Y'a des gens bizarres...

Default avatar.png farenheit902: c'est du code aussi...mais différent !

BlaiseEbuth: Ouai j'vois l'genre. "Maman t'a dit que j'étais différent."

BlaiseEbuth: *m'a

Default avatar.png farenheit902: Le plus grand dev du monde dans ce milieu est un américain : scott klement. Ce type est né avec des 0/1 dans la tête...Il arrive a faire plier IBM !

Default avatar.png farenheit902: Il touche un salaire tellement indécent que c'est dure d'en parler...:no_mouth:

BlaiseEbuth: Tiens Zorg1, puisque je t'ai sous la main. En tant que bac+10 trigo tu vas pouvoir palier à mon cerveau en compote. J'ai un point, un angle par rapport à l'axe des abscisses, et une distance. Comment je fait translater mon point de ma distance selon mon angle ? J'ai plus les idées en place c'est terrible...

Zorg1: tu rajoute d*cos(alpha) et d*sin(alpha) ?

Thyl: ben pas compliqué

Zorg1: "BAC+10 TRIGO" wahou ça fait peur dit comme ça

Thyl: t'as l'hypothénuse

Thyl: donc l'adjacent avec l'angle

Thyl: ducoup t'as l'opposé

BlaiseEbuth: Flrfl... Faut que je sorte la tête de l'eau, sans mauvais jeu de mot.

Thyl: BAC+10 TRIGO j'ai raison ?

Zorg1: oui c'est ça en gros

Zorg1: moi je visualise le cercle trigo

Thyl: a oui pas bete

Thyl: du coup ça marche aussi

Thyl: ça fait de la trigo en quoi BlaiseEbuth ?

Thyl: Zorg1 t'as un doctorat ?

BlaiseEbuth: En sous-marin Thyl.

BlaiseEbuth: Ah oui les angles en radians du coup.

Zorg1: euh non BAC+5

Zorg1: c'est Blaise qui se fout de moi :(

BlaiseEbuth: Jamais de la vie.

Zorg1: j'en suis rassuré alors ...

Thyl: t'as un BAC+5 aussi Blaise'

BlaiseEbuth: Y parait

BlaiseEbuth: Ah bah voilà, c'est tout de suite mieux. Je te mettrais dans la section remerciements du générique Zorg1.

philRG: J'avais un collègue qui utilisait Rexx pour ses compilations de revues de sécurité. Quand il est parti en retraite, il a fallu le forcer à donner ses scripts persos

philRG: on m'a refilé les scripts à maintenir, mais j'ai du les recoder en Bash

philRG: avait

nicola: Rexx ? Au pied ?

philRG: j'ai un pote d'environ 30 ans qui avait fait l'AFPA, il a pas trouvé de taf en sortie et a pris un poste de dev RPG, et depuis 15 ans, il y est toujours, il doit gagner 60k€ comme le gars qu'il a remplacé est parti en retraite

philRG: faut aimer les écrans verts en fait

philRG: nicola ouais c'était un fou en +

philRG: pourtant le gars bac +2 non scientifique et reconverti en info à 30 ans

philRG: pour mainframe c'est du cobol, quoiqu'il y a possibilité de faire du java

philRG: et la stack tcp/ip existe depuis déjà bien 20 ans sur mainframe

Zorg1: nicola : Rexx est un langage de script d'IBM plus ou moins inspiré de PL1/1 de ce que j'avais compris à une époque

philRG: enfin fou, si j'en juge le poster d'einstein dans son bureau, mais à part la chevelure, peu de ressemblance

philRG: peut-être la folie

philRG: ah ah je pense que nicola connaissait non? :-)

nicola: Non.

nicola: Je me doutais que c’était un langage.

philRG: https://fr.wikipedia.org/wiki/PL/I

philRG: ouais mon collègue avait du bosser dans des services de dev de micro-contrôleurs réseaux à mon souvenir, utilisait Rexx dans ses activités, il a du commencer à IBM dans les années 70-80

philRG: ses collègues par contre étaient pas dev, connaissaient pas le Rexx, mais il est toujours maintenu, et pas si compliqué à utiliser

philRG: dans ma période dev à IBM, je faisais des sites e-commerce avec un produit basé sur du C++ pour le back et NetData pour le Front

philRG: va parler de NetData à un recruteur d'une vingtaine d'années

philRG: porter du Rexx en Bash, bon pas forcément une bonne idée, mais pour me débarasser du truc, j'ai pas trouvé mieux. Ses collègues et chef n'étaient pas des lumières et j'avais autre chose à faire qu'apprendre le Rexx, mais pourtant facile à lire

philRG: le genre de chef qui va te demander de lui créer une application en Java pour traiter ses mails au quotidien

philRG: avec un Bouton pour lancer le processing

philRG: car capte rien à l'informatique

philRG: du coup mon collègue qui veut pas refiler ses codes persos, normal

jfaixo: haha, mars landers 3 done !

darkhorse64: ifs or search ?

jfaixo: search, avec un PSO :) j'avais fait la partie "optim" comme ca déjà, mais avec l'expérience acquise sur le dernier challenge CSB que j'avais aussi fait avec cet algo, j'ai adapté dans l'aprem et voilou :)

Zorg1: gg

BlaiseEbuth: gg

darkhorse64: ^

darkhorse64: y a encore des CP à gratter sur l'optim

BlaiseEbuth: Des croutes pourries ?

BlaiseEbuth: C'est dégueulasse.

darkhorse64: tu fais l'âne pour avoir du son ?

Zorg1: le mec qu'essaie de nous mettre des images dégueu en tête

BlaiseEbuth: Mais non

Zorg1: :thinking:

jfaixo: haha, j'en suis pas encore a faire l'optim absolue sur chaque problème ^^'

philRG: bon moi fixé un bug zarbi, oublié de rajouter le last move de l'opponent à uttt, je me demande comment ça a pu monter Top 100 en bronze (avec aucune simulation)

philRG: quand même gratté 60 places

philRG: sinon ma fonction d'éval numpy ressemble à çà, mais faut que je la teste un peu:

philRG: def evaluate_np(action, board, player_id): http://chat.codingame.com/pastebin/eda951be-c419-4df8-b999-7878a8695855

philRG: quand c'est bien présenté, c tout de même plus lisible

philRG: je vais me faire un blog numpy tiens :-)

pardouin: moi je me fais une tisane

pardouin: chacun son truc

philRG: pas con tiens :)

Zorg1: moi je lis un blog numpy en sirotant une tisane

philRG: plus que 5 places et j'arrive à ton bot

philRG: et aussi 3 ligues :sob:

Zorg1: ah UTTT

philRG: vi

philRG: à mon avis on doit pouvoir monter en silver sans simu, je dois sûrement avoir des bugs qui traînent

philRG: quand je fais un print de ma grille, j'ai parfois des croix mal placées

philRG: sur stderr

pardouin: me reste 5 langages à 14

pardouin: faut que je trouve un puzzle bidon à traduire

b0n5a1: o/

pardouin: \o

b0n5a1: Zorg1 y'a Recher qui stream son LD

b0n5a1: avec son moteur 2D python maison

b0n5a1: il est crevé, peur de s'endormir ^^

BlaiseEbuth: Ah, je l'ai vu passé son jeu.

b0n5a1: https://www.twitch.tv/recher_squarity

b0n5a1: y'a alexande2bi aussi

b0n5a1: alexandre*

b0n5a1: https://www.twitch.tv/alexandre2bi

**b0n5a1 regarde 4 streams en même temps ^^

BlaiseEbuth: Moi je suis out. Trop en retard et trop crevé.

b0n5a1: ha t'as tenté le LD BlaiseEbuth ?

BlaiseEbuth: Hmm...

BlaiseEbuth: https://imgur.com/a/ooM7GPe

philRG: ah ouais mon win de folie

philRG: j'ai repris ma fonction d'eval d'une ligne de Wood

b0n5a1: https://www.youtube.com/watch?v=m2uTFF_3MaA

pardouin: trouvé mon puzzle bidon

BlaiseEbuth: Arrêtes je l'ai eu dans la tête tout le weekend... ^^

pardouin: rugby score \o/

BlaiseEbuth: Bob va te taper

pardouin: bidon au sens facile à traduire

pardouin: je ne juge pas le puzzle :)

pardouin: petits entiers, juste 3 boucles for et quelques calculs

pardouin: ça coche toutes les cases

b0n5a1: BlaiseEbuth : https://www.twitch.tv/juliestrator , elle fait les assets, ils sont 3

BlaiseEbuth: Le diffuseur a indiqué que cette chaîne est destinée à un public adulte.

b0n5a1: ouais pipeau ça

b0n5a1: y'a une "fille" attention, public adulte...

b0n5a1: j'ai eu ça sur d'autres streams sans réelle raison

philRG: ah non pas de win c'est seulement qu'elle bat le boss plus souvent

pardouin: fan de scala <3

Default avatar.png JBM: t'es mûr pour haskell

pardouin: fan de rust <3

Default avatar.png JBM: très mûr

pardouin: déjà fan d'haskell

Default avatar.png JBM: ah c'est bon alors

pardouin: bon il doit y avoir quelques system dans mes solutions

pardouin: par exemple je voulais voir ton sql

pardouin: j'ai juste system le truc

Default avatar.png JBM: c'est du propre

pardouin: :)

pardouin: fan de kotlin

pardouin: on sent une logique dans les langages que j'avais gardé en dernier ^^

Zorg1: o/ évidement j'ai raté les streams :(

pardouin: j'ai mis ça en fond sonore: https://www.twitch.tv/recher_squarity

Default avatar.png JBM: ah il était bien lui

Default avatar.png JBM: (je crois)

Zorg1: oui j'ai retrouvé le lien

Default avatar.png JBM: ça fait longtemps, je confonds ptet

Default avatar.png JBM: un snakematch c'est un tron?

b0n5a1: pardouin j'en ai 4 en même temps ^^

Zorg1: snake c'est un tron mais t'es tous seul et à chaque fois que tu bouffes un truc t'as un anneau en plus

pardouin: fan de groovy <3

pardouin: plus qu'un

Default avatar.png JBM: t'es motivé

b0n5a1: toi t'as trouvé la commande système de chaque langage ^^

Default avatar.png JBM: j'ai arrêté de leur courir après quand c'est devenu 50XP par puzzle commu résolu

Zorg1: ces grugeurs ...

Zorg1: je suis trop honnête moi

Zorg1: ah tiens recher il n'a pas de chaise de gamer ?

b0n5a1: mon 4e stream c'est ça : https://www.twitch.tv/lana_lux

pardouin: fan de f# <3<3<3

pardouin: oh bordel cette délivrance

Zorg1: fan de fortran

Zorg1: ils font des trucs vachement compliqué pour le LD dis donc

pardouin: les deux tiers des langages je pense que j'ai fait zero system

Zorg1: c'est un peu l'esprit

pardouin: et il y a un tiers ou passé les 7 puzzles vraiment traduits j'ai eu un peu la flemme j'avoue ^^

pardouin: je regarde un peu mes trucs, j'ai pas grugé dans tant de langages en fait

pardouin: surtout pascal, ocaml et haskell

b0n5a1: je suis curieux de voir ce que ça va donner le jeu avec les assets de juliestrator Zorg1

pardouin: et clojure

b0n5a1: ça fait des heures qu'elle fait les petites planètes

Zorg1: déjà vu des assets comme ça dans d'autre jeu

Zorg1: oui moi j'avais compris qu'il fallait pas perdre trop temps dans les assets

Default avatar.png JBM: pour je quitte recher un instant je reviens y'a une gaussienne

Default avatar.png JBM: *pourquoi

b0n5a1: ouais, des fois elle regarde vite une petite collections de liens mis sous le coude pour avoir des idées Zorg1

Zorg1: c'est le style "petite planère en pate à modeler" je déteste pas note bien

b0n5a1: ils sont 3 Zorg1, je pense que les deux autres sont full code

Zorg1: ah ok c'est LD en équipe

b0n5a1: oui

Zorg1: c'est la graphiste du groupe

b0n5a1: il leur reste 1 jour

Default avatar.png JBM: il a completement copié mon design tvc non?

pardouin: lol

pardouin: l'intro des guignols ?

b0n5a1: pas que, d'après les infos elle est aussi sur c# / unity Zorg1, et fait 6 h d'anglais par semaine (russe)

b0n5a1: mais là full assets depuis des heures en tout cas

pardouin: lui aussi full asset

pardouin: atm :)

b0n5a1: dis lui que son raisin c'est une mûre ! (il a ajouté la queue pour que ça fasse raisin quand j'ai dit que ça ressemble à une mûre ^^)

Default avatar.png JBM: dis-lui toi-meme je suis pas ta bonne

pardouin: je vais puzzle un peu et me coucher

Zorg1: attend elle a fait un espèce de Tardis julistrator ?

b0n5a1: ça me fais penser à la cabine téléphonique ouais

Zorg1: ça y est merde j'ai la zique

Zorg1: il essaie de faire quoi Recher ?

b0n5a1: de pas s'endormir déjà ^^

Zorg1: ça a l'air d'être un mélange entre un snake et un tetris

b0n5a1: les 4 que je regarde ont des gros signes de fatigue ^^

BlaiseEbuth: On se demande pourquoi... :expressionless:

b0n5a1: la canadienne et la russe sont en quasi non stop depuis des heures

b0n5a1: elles ont fait une "pause" en mangeant en live et en répondant aux questions

BlaiseEbuth: Manger en live ça marche bien sur twitch, elles ont pensé rentabilité.

b0n5a1: déjà : follower goals 69, et 333 atteints...la limite affichée incite à follow sans t'en rendre compte un peu

b0n5a1: et quand elle quitte le poste y'a un petit jeu qui permet de rester côté viewers...faut deviner des titres de films des truc comme ça

b0n5a1: et ça t'affiche le score des mots trouvés pour chacun

pardouin: je sais pas si quelqu'un a fait ce puzzle: https://www.codingame.com/ide/puzzle/pedestrian-traffic

pardouin: je pige pas pourquoi ce truc ne congestionne pas: oRRRRRRLo oRLLLLLLo

pardouin: j'ai beau relire les règles

leojean890: ça me dit rien, sûrement pas fait

pardouin: ah c'est bon j'ai pigé mais c'est tout sauf clair

pardouin: le truc peut "tourner" dans le sens horaire si tout est bliqué

pardouin: bloqué*

Default avatar.png el3ou9mta3lbhim: ya nabli

Default avatar.png el3ou9mta3lbhim: ya miboun

Default avatar.png el3ou9mta3lbhim: ya 9ered

pardouin: ja voll

Zorg1: mein general

pardouin: bon en fait j'ai pas pigé

pardouin: ce truc est censé congestionné: RooLo oRoLL

pardouin: alors que quand j'implémente le truc rotatif ça me donne:

pardouin: http://chat.codingame.com/pastebin/cb379f51-dd9b-49fa-ae3d-38cd9fc1ba7f

pardouin: je pense avoir trouvé, il faut que le truc soit encerclé de o pour tourner

pardouin: super les puzzles où tu dois deviner l'énoncé -_-

Zorg1: ça a pas l'air super clair son truc en effet

Zorg1: ah j'ai compris

Zorg1: en fait tu peux pas faire tourner le carré car le dernier L sur son chemin est prioritaire sur le L qui doit se rabattre et qui peut faire tourner le carré

Zorg1: (c'est pas super clair)

pardouin: oui c'est ce que j'ai fini par capter

Zorg1: en fait les règles de l'énoncé suffisent à comprendre le bazar

pardouin: en gros un groupe entier peut bouger cycliquement si aucun élément du groupe ne grille la priorité à un truc hors du groupe

Zorg1: oui c'est ce que j'ai compris aussi

pardouin: si j'avais su j'aurais construit ma sol complètement différemment avec un genre de backtracking

pardouin: là pour sauver mon truc en intégrant cette règle c'est un peu galère ^^

pardouin: mais bon ça va finir par passer ^^

Zorg1: bah en fait y a que ceux qui sont pas sur leur voie qui ont deux mouvements possible sur le côté ou en avant

pardouin: quasi fixé mon truc à coup de recherche de cycles en regex

pardouin: reste un micro détail

pardouin: ce truc est censé congestionner: RLL RRL

pardouin: mon algo actuel permet de swap les deux du mileu

pardouin: ayé 100% \o/

pardouin: bordel la forêt de if dégueulasse avec des while true dans tous les sens

pardouin: j'aurais vraiment du le faire en backtracking

pardouin: bon allez bonne nuit o/