Chat:Fr/2020-07-08

From CG community
Jump to navigation Jump to search

tekki: yop AutomatonNN

AutomatonNN: salut Automaton2000 et AutomatonNN

Bob: hello Automaton2000 et le monde

Automaton2000: ça ressemble pas mal à la tête

BigUP: et maintenant, c'est Windows qui ne veut plus s'eteindre... La mise a jour de la mort ...

lhm: classique

BigUP: a peu pres certain que c'est l'anti-virus qui est parti en vrille

Bob: fingerkill

BigUP: Windows me dit "n'eteignez pas l'ordinateur" .... ca doit etre pour les autres qu'il dit ca !?

lhm: Non c'est juste un prank tu peux y aller

Bob: au pire tu installes un autre OS dessus

Bob: problem solved

BigUP: lhm, ayé...si ca marche plus, je dirais que c'est toi qui m'a dit d'y aller

BigUP: ca l'a décoincé, il fait sa mise a jour ! ;)

lhm: *Mode anonyme enclenché*

lhm: Pourquoi je m'emmerde à développer ? C'est dans la réparation PC que je vais faire fortune !

BigUP: j'ai déjà dit que si on voulait sauver la planete fallait enlever tous les anti-virus des ordinateurs ?

Bob: faudrait pewut-etre enlever tous les ordinateurs

Bob: ca nous de barrasserait des informaticiens

Bob: sale race

lhm: les pires

Bob: faudrait les noyer a la naissance

PapyPelle: les vieux aussi faudrait les noyer à la naissance, ça sert vrmnt à rien

Bob: bien vu

Bob: je valide

PapyPelle: :)

BigUP: PapyPelle, c'pas faux

Bob: mais

Bob: mais

Bob: maismaismais

Bob: c'est completement CON ce code ?

Bob: (╯°□°)╯︵ ┻━┻

PapyPelle: ┬─┬ノ(ಠ_ಠノ)

lhm: Trouve le coupable !

Bob: on est trop sur ce projet et on discute trop peu, je pense

Thyl: Yo !!

Bob: chacun fait son truc, les autres valident les PR sans vraiment trop aller en profondeur parce qu'on a tous nos trucs a finir a cote et qu'on nous presse pour sortir un truc vite

Bob: apres, chacun va faire une modif dans le code de l'autre et comme c'est pas lui ou elle qui l'a concu, il fait de travers

Bob: et comme on est trop c'est pas necessairement l'auteur d'origine qui fait la revue et des trucs batards passent

Bob: au bout de deux mois plus personne n'y capte que dalle

lhm: En gros, c'est la faute à pas d'temps

Bob: ouais un peu

Bob: accessoirement si on avait recrute la personne qui va bien pour nous driver dans l'apprentissage de bonnes patternes sur un domaine que personne ne maitrise, ca irait mieux aussi

Bob: patterns*

Bob: mais bon ca ca ne fait que deux ans que je le dis

lhm: Exactement, ça ne fait que 2 ans, alors ne sois pas trop pressé. :)

dbdr: la possession de code c'est pas mal aussi

lhm: C'est sûr, mais ça n'a pas l'air possible sur son projet

dbdr: "on n'a pas le temps de faire les choses efficacement" :D

Bob: c'est essentiellement un probleme de communication et d'organisation, je pense

Bob: il y a des trucs ou on laisse une personne seule partir bille en tete sur un bout de design relativement important, on lui fait confiance et on ne fait pas de review correcte

Bob: manque de pot, le gars a oublie comment faire des trucs simples et a l'arrivee on a une usine a gaz qui demande deux jours d'analyse avant de comprendre comment la deconstruire et avoir un truc propre

Bob: qui aurait demande moitie moins de temps en premiere implementation si on avait pris 30 minutes pour discuter le design a 3 personnes autour d'un tableau blanc

lhm: Je comprends totalement. J'ai été cette personne récemment, et j'ai averti qu'il faudrait faire une review du design mais noooooon "fonce, on sait que tu gères !"

John.Fox: Hello ! Vous utiliser UML ou pas pour la pré prod?

Bob: UML rho lui

Bob: on fait deja pas de revue de design he

John.Fox: Haha ok

lhm: les gros mots, direct !

Bob: pourquoi pas des graphes d'etat et des diagrames de classe tant qu'on y est

Bob: trois patates et deux fleches au velleda, merci bonsoir

John.Fox: Attention je juge pas hein c'est juste que j'en entend parler pas mal et je me demande dans quel mesure c'est vraiment utilisé ce truc !

PapyPelle: j'ai rit

John.Fox: Je trouve ça pratique dans la théorie mais je connais personne autour de moi qui s'en sert vraiment.

John.Fox: J'imagine que ça dépend des secteurs aussi

lhm: Ca dépend surtout de la culture de l'entreprise

Bob: ^

Default avatar.png TheWaterCooledSnowflake_ea09: Ca depend surtout de la taille d'un projet, avoir une bonne architecture pour un gros logiciel c'est toujours mieux

Bob: dans mon imaginaire j'associe ca a des process super stricts et formalises

Bob: donc assez orthogonaux a la tendance "Agile" actuelle

Default avatar.png TheWaterCooledSnowflake_ea09: C'est vrai que pour un developpeur c'est chiant (on prefere tous coder) mais lorsqu'on remplace qqun dans un projet c'est toujours mieux d'avoir ça pour se reperer dans le code du predecesseur

Bob: dans le pays des licornes, du code bien fait tu peux t'y retrouver sans qu'il soit soutenu par dix pages de docs et de diagrammes

Default avatar.png TheWaterCooledSnowflake_ea09: J'espere j'aurais le vis prisé de ce pays des licornes haha

Bob: et je pense que c'est possible de le faire a condition de partir comme ca des le depart

Default avatar.png TheWaterCooledSnowflake_ea09: visa*

Bob: la ou ca coince c'est toutes les bases de code qui n'ont pas ete concues comme ca

lhm: TheWaterCooledSnowflake_ea09 Moi j'aime beaucoup le design - mais quand on te demande un prototype pour hier, tu peux pas - gros projet ou pas.

Bob: et qu'il est extremement difficile de reecrire

Default avatar.png TheWaterCooledSnowflake_ea09: Faire une architecture aprés que des millions de lignes soit deja ecrite, ouai c'est plus cmplexe

lhm: Oui, quand tu dois conditionner ton design à l'archi moisie de certaines libs dont tu ne peux pas te passer, tu l'as un peu dans l'os

John.Fox: Vaut pas mieux un proto théorique bien écrit en UML plutôt qu'un vrai proto utilisable qui est en mode tuer moi' derrière?

lhm: La question c'est pas "est-ce que c'est mieux" (tout le monde a la réponse) mais est-ce que le pôle commercial a réussi (essayé?) de le faire entendre au client (enfin, dans mon expérience perso de novice en tout cas)

John.Fox: Oui c'est vrai qu'avec les contrainte de prod sur la réalité du terrain, je me doute que UML à rarement le temps d'être bien mis en place.

Default avatar.png TheWaterCooledSnowflake_ea09: Le comercial s'en fou un peu, lui il veut vendre un produit fini utilisable quitte a bouffer sur la robustesse

John.Fox: D'ailleurs, en entreprise, vous prenez le temps de commenter votre code ou pas ?

John.Fox: Parce que pareil théoriquement ça prend du temps mais ça rend bien service.

Default avatar.png TheWaterCooledSnowflake_ea09: OBLIGATOIRE, surtout lorsq'uon est 6 développeurs sur le projet

PapyPelle: commenter son code c'est s'aider sois même le matin

PapyPelle: soi-même* et pour le coup les autres aussi

Default avatar.png TheWaterCooledSnowflake_ea09: C'est exact

lhm: Et puis la différence, c'est que l'étape "commenter" se fait "au fil de l'eau", tu n'as pas à en faire une tâche à part entière qui nécessite des jours

Bob: je vais faire le meme genre de reponse

Bob: du code bien concu et bien ecrit normalement t'as besoin de relativement peu de commentaires

Bob: generalement je vais mettre 3-4 commentaires qui definissent le "squelette" de la maniere dont le code va implementer ce qu'il est cense faire

Bob: et apres j'essaie de faire en sorte que chaque section soit auto-explicite

Bob: ca passe notamment par un nommage correct des symboles

Bob: faut aussi se dire que tres souvent les commentaires sont le reflet du dev

Bob: si t'as un gars qui fait du code de merde, la plupart du temps ses commentaires vont pas t'aider a comprendre son code

Bob: le piege du commentaire c'est que plus tu en mets plus tu ajoutes de risque qu'il ne soit plus a jour

Bob: je me souviens d'un coup avec un collegue on a du regarder une fonction bien centrale et bas niveau d'un truc qu'on utilise partout dans le code

Bob: le nom de la fonction suggerait un comportement particulier, la doc en annoncait un deuxieme et le code faisait effectivement encore un troisieme truc

John.Fox: Ah oui le truc bien chiant.

Bob: https://kentcdodds.com/blog/please-dont-commit-commented-out-code

John.Fox: Même le nom de la fonction était pas à jour haha

Bob: "the only thing that can tell you the truth about the code is the code. The instant you add a comment, it's out of date."

Bob: c'est un peu extreme resume comme ca mais apres 20 ans d'experience je garantis que c'est vrai

Bob: je crois que je vais imprimer cette phrase et me l'afficher en face de moi en fait

Bob: (incidemment, remontez d'un cran et lisez les autres articles du gars)

John.Fox: C'est intéressant son article

Bob: oui

Bob: faut lire les autres

Bob: c'est le gars qui est derriere testing-library.com

Bob: celui sur AHA programming est bien aussi, et je recommande de rebondir sur la reference d'origine qu'il cite dedans

Bob: bonne lecture, moi je dois y aller :)

John.Fox: ça roule ! Bonne journée !

Magus: il y a quand même des commentaires intéressant

Magus: du genre // Don't forget #456123

Magus: qui pointe vers un ticket important, histoire de pas le reproduire en modifiant le coe

Magus: *code

dbdr: ^

dbdr: // Dear maintainer: // // Once you are done trying to 'optimize' this routine, // and have realized what a terrible mistake that was, // please increment the following counter as a warning // to the next guy: // // total_hours_wasted_here = 42

Thyl: Yo !

Thyl: est-ce qu'il ya une fonction pour simplifier un nombre un nombre premier?

Bob12: non mais c'est vraiment une fonction de base à savoir code pour les différents challenges

Bob12: coder*

Thyl: Ok !

Thyl: Je l'ai déjà coder en clash mes le coter "coder fainéant" ma attirer ! :grinning:

Thyl: En plus je me sui tromper

Thyl: c'est pour le PPCM que je cherche une fonction

dbdr: une fonction pour factoriser les nombres premiers? ;)

Thyl: Yes!

dbdr: def factor(p):

  return p

dbdr: voila

Thyl: alors là

Thyl: si je m'y attendais

dbdr: garantie correcte pour tous les nombres premiers

Thyl: :joy:

Thyl: Bon je vais golfer

dbdr: https://www.azquotes.com/quote/702526

dbdr: arf

leojean890: attention à tes formulations Thyl, c'est clairement pas des nombres premiers que tu veux facto ;)

Thyl: :grinning:

pardouin: def ppcm(a, b):

pardouin: return a*b//math.gcd(a, b)

pardouin: et bonjour sinon :)

pardouin: (il y a un lcm dans numpy je crois)

Bon[]Crayon: Bonjour à tous

Bon[]Crayon: Bonjour AutomatonNN

Bon[]Crayon: Bonjour Automaton2000

Automaton2000: j'ai pas encore trouvé la solution pour chuck norris

Bon[]Crayon: Automaton2000 Tu cherches depuis hier.

Automaton2000: non, c'est juste que la plupart des gens

Bon[]Crayon: Automaton2000 T'as été coupé, finis ta phrase.

Automaton2000: c'est sur que si tu es toujours le joueur 0

Bon[]Crayon: Automaton2000 #0

Automaton2000: oh j'avais pas vu !

Bon[]Crayon: Automaton2000 une tortue :turtle:

Automaton2000: au lieu de dire des conneries

Bon[]Crayon: Automaton2000 Finis Chuck Norris.

Automaton2000: je suis passé en gold avec un code qui me fait une erreur

Bon[]Crayon: Automaton2000 Tu passeras pas legend.

Automaton2000: bonjour tout le monde en même temps c'est pas mal comme idée

Bon[]Crayon: Automaton2000 re, l'idée est bonne pour gold mais pas pour legend.

Automaton2000: oui je m'en doute ^^

Bon[]Crayon: AutomatonNN Qu'en penses tu ?

AutomatonNN: on dirait que tu peux pas te dire que tu peux pas te prévoir de te repondre :(

Bon[]Crayon: AutomatonNN Je me réponds en contradiction.

AutomatonNN: re mais je suis pas sur que c'est pas trop compliqué de faire un truc là :)

Bon[]Crayon: re Un truc tout simple AutomatonNN

AutomatonNN: oui

Thyl: Yo je suis sur CVZ

Thyl: Et j'ai un petit problème pour simuler le déplacement de Ash

Thyl: si vous pourriez regardez mon code...

Thyl: def prochaine_position(self, px, py): http://chat.codingame.com/pastebin/6f230a79-500c-4c67-9fb9-ac1e3f2f627d

Thyl: Et la fonction pour les nombres premiers

Thyl: def premier(nombre): http://chat.codingame.com/pastebin/6034231c-0635-457b-954c-9615ca158326

Thyl: Merci d'avance :grinning:!

dbdr: il sert à quoi ton deuxieme if?

Thyl: à voir si mon nombre est negatif oupas

Thyl: Merci de m'aider #dbdr

dbdr: pas besoin de diviser pour ça

dbdr: ni de le faire en boucle, si?

dbdr: ton nombre il change pas

Thyl: aaaaaaaaaa.

Thyl: J'essaie son boucle

Thyl: sans if pardon

Thyl: toujours pas un résultat

Thyl: enfaite je me goure quand je simplifie les vecteur

Thyl: s

Thyl: parce que ma fonction dans_le_rayon est déjà tester

Thyl: et elle marche comme il faut

Thyl: la fonction nombre premier est juste

Thyl: Bonne nouvelle j'ai vu une faute !

Thyl: mon premier calcule des vecteurs était faux!

Thyl: j'ai inversé les positions...:grin:

Thyl: EN voilà un bien malin!

Thyl: Géniale j'arrive à prévoir le coup

Thyl: un tour après !

Thyl: je sais pas ce que j'ai fait

Thyl: mais en tout cas c'est pas super...

ReborN: Salut à tous !

ReborN: Ça fait longtemps que je suis pas venu ici tiens

Thyl: yo !

Zorg1: o/

Zorg1: Salut à tous et aux bots Automaton2000 & AutomatonNN

Automaton2000: je sais pas, j'ai pas regardé

AutomatonNN: oui je suis de temps en temps le problème de ce que j'ai compris ça marche pas mal mais je suis pas

pardouin: pour les nombres premiers tu peux tester que jusqu'à la racine du nombre

pardouin: donc range racine +1

Zorg1: oui ça devait être le but de la seconde condition mais elle a l'air un peu buggée

pardouin: et sinon j'ai commencé fantastic bits

Zorg1: après t'as des "optimisations" : prendre 2 puis que les nombres impairs par exemple

Zorg1: pardouin : nice

pardouin: 'est pas glorieux, j'ai vite passé la wood 2 mais je stagne en wood 1

Zorg1: inspire toi du PM de Bob, je suis allé en Gold peinard avec

pardouin: ah oui tiens je pense jamais à regarder

Zorg1: mais faudrais que je code une simu pour FB et MM moi

pardouin: là je fais un truc bidon, je vais chercher les deux ballons les plus proches de mon goal et je les mets dans le truc adverse

pardouin: pour l'instant je tiens pas du tout compt des adversaire ni des balles méchantes ^^

pardouin: Ahah rien que le début du PM me plaît

tekki: yop AutomatonNN

pardouin: tout à l'heuristique, ne pas tenir comtpe des ennemis dans un premie temps etc

AutomatonNN: oui je vais au moins au moins t'as trouvé que tu vas pas te passer de tes personnes :D

pardouin: j'ai appliqué le premier conseil de viser les balles les plus proches du joueur au lieu de celles les plus proches de mon goal (j'avais pour idée de défendre un minimum), et effectivement je passe bronze facile avec ça :)

Zorg1: nice

pardouin: premier en ligue bronze en utilisant FLIPENDO juste après throw

pardouin: c'est assez efficace ça fait un genre de smash

BigUP: tu peux Flipendo également lorsque tu passes devant une balle

Default avatar.png Erin_cosplay: hey salut!

Zorg1: salut hey !

BigUP: comme d'hab je galère a trouver un exemple de code de plugin firefox ou mozilla qui fait du copier coller en utilisant l'API clipboard

BigUP: firefox ou chrome

**Zorg1 a envie de dire le nom d'un autre navigateur, juste comme ça

BigUP: hum, ouais peut-etre... mais bon je trouve ca quand meme délirant de ne rien trouver (ou alors avec l'ancienne facon de faire en synchrone)

pardouin: Je me demande s'il y a pas de la triche en CoC quand même

BigUP: ca peut

pardouin: soit des bots, soit des gens qui se font une base de données de solutions et qui copient collent

pardouin: là je viens de faire un problème, classification des alcanes, on te donne une description de molecule sur plusieurs lignes et il faut dire quel alcane c'est

pardouin: le type sort une réponse en 1min05

pardouin: ça c'est mon script :

pardouin: http://chat.codingame.com/pastebin/9fc06cdf-b74a-4123-bb2a-3e0b66881217

pardouin: déjà lire l'énoncé, créer le dico avec toutes les réponss possibles et tout

BigUP: il y avait peut-etre beaucoup plus simple

pardouin: perso j'ai mis 3min, je pense qu'on pouvait faire 2min en étant très rapide mais 1min ça paraît chaud quand même

BigUP: oiu c'est clair, faudrait voir le code du gars

pardouin: par rex je vois aaprès coup qu'il suffisait de compter les C

pardouin: par ex*

pardouin: c'est sûr il y avait plus court mais quand même

pardouin: Ahahah ce one-liner de 157 chars : for _ in' '*int(input()):a,b=map(int,input().split());print(sum(max(0,2*n-sum(d+n//d*(d!=n//d)for d in range(1,int(n**.5)+1)if n%d<1))for n in range(a,b+1)))

BigUP: oui je l'aurais fait comme ca également

FreexXx: Plop

FreexXx: ici "https://fr.wikipedia.org/wiki/Recherche_arborescente_Monte-Carlo" dans le block "Exploitation et exploration" dans la formule ln correspond a uoi svp ?

FreexXx: quoi*

FreexXx: le grand V etrange = a math.sqrt() ?

FreexXx: mais ln je vois pas ^^

FreexXx: oO c'est math.log(n) je pense :)

pardouin: je m'amuse à traduire des trucs en C++ pour gagner un peu d'exp

pardouin: c'est quand même particulier cette synthaxe

pardouin: pourquoi s'embêter à faire des:

  • min_element(v.begin(), v.end())

pardouin: alors qu'on aurait pu avoir une synthaxe très simple: min(v)

pardouin: syntaxe*