Chat:Fr/2020-12-29

From CG community
Jump to navigation Jump to search

marcgardent: Hello,

marcgardent: j'ai une question existentiel sur le passage en bit du state d'un jeu ... pour le lire vous décompressez dans une structure et donc alloué de la mémoire. OU vous crée un getter pour chaque valeur mais donc fait plus opérations !?

Default avatar.png JBM: plutot la version getter

marcgardent: très bien je commencer par ca. merci.

351062: https://youtu.be/BU9b445CpaM?t=9504

Default avatar.png JBM: un compte numerote qui poste du youtube

Default avatar.png JBM: ca pue pas le spam du tout

Neumann: Shady as f

Default avatar.png JBM: que fait la moderation

Neumann: Pas assez

marcgardent: bon définitivement je suis un vieux c*n reac, une video d'un mec qui code.. bitstream pendant 1h...j'ai raté le moment ou c'est interessant :D

marcgardent: en vrai il gere bien, a coder & parler!

Ecko-: Salut, quelqu'un a fais l'éxercice défibrillateurs ?

Ecko-: il semble y avoir un problème dans un set de données de test

Default avatar.png JBM: convertis en radians

BlaiseEbuth: Mets des points à la place des virgules avant de convertir ta string en float.

BlaiseEbuth: Stoi l'problème

BlaiseEbuth: Yo tout l'monde ! Automaton2000, AutomatonNN !

AutomatonNN: c'est quoi la doc de l'import ?

Automaton2000: c'est pour ça qu'il faut faire ça à la fac

Ecko-: j'ai converti les , en .

BlaiseEbuth: Et les radians ?

Ecko-: ah oui il faut convertir les latitudes et longitudes en radians elles sotn en degrés, pas lu assez bien les règles

Ecko-: merci

**BlaiseEbuth jette de la grattitude (en degrés) sur JBM.

BlaiseEbuth: Encore des génies du marketing... https://www.audi.fr/fr/web/fr/gamme/tron/audi-e-tron.html :D

Ecko-: Merci @BlaiseEbuth

Ecko-: sa marche pas je suis sur le navigateur :)

BlaiseEbuth: De ?

Ecko-: la ntofication avec le @ sur le discord du navigateur web du site codingame

Ecko-: donc j'ai bien converti lat lon en radians de l'utilisateur, puis des données

Ecko-: j'ai toujours le même résultat

BlaiseEbuth: C'est pas un discord. Et le @ n'est pas nécessaire, le pseudo suffit.

Ecko-: Ok, je pensais que c'était un plugin discord

Valbou: Messagerie XMPP si je ne m'abuse

BlaiseEbuth: XMPP de nom, bordel sans nom dans les faits. ^^

Valbou: mdr

BlaiseEbuth: Ecko- néanmoins le problème viens de toi pas du jeu de données

Ecko-: oui oui j'ai bien compris

BlaiseEbuth: Tu codes en quoi ?

Ecko-: c'est possible de vous afficher mon code ?

Ecko-: Java

BlaiseEbuth: Pas sûr d'avoir envie de voir du java si tôt le matin...

Ecko-: mdr, moi je trouve ça super

Ecko-: j'apprends sur codeGym

BlaiseEbuth: Il faut de tout pour faire un monde... :3

Ecko-: c'est vraiment chouette, mais les exercices au début sont un peu répétitif

Ecko-: je suis lvl 15/40 donc j'ai encore beaucoup de chose à apprendre mais je viens faire du codinGame pour changer un peu

Ecko-: je vais revoir la formule, j'ai du mal interpréter quelque chose

BlaiseEbuth: Bah balance écoute. Je prépare un mouchoir pour essuyer le sang de mes yeux.

Ecko-: je fais un vulgaire copier collé ?

BlaiseEbuth: Ouai

Valbou: ça va partir en pastebin

Ecko-: ça va être terriblement illisible non ?

BlaiseEbuth: Si c'est pas cassé

Ecko-: http://chat.codingame.com/pastebin/b6898db7-94ee-46d0-8e07-9c411c9e30de

BlaiseEbuth: Bah c'est du java en même temps

Valbou: mdr

Ecko-: olala c'est des génie codingame

Valbou: Un peu de pudeur, balancer du java comme ça en plein chat publique !

Ecko-: :)

Ecko-: je suis parti du principe que longitudeA c'est celle de l'utilisateur et longitudeB c'est celle du set de données

BlaiseEbuth: Change rien. Une distance c'est pareil dans les deux sens

Ecko-: ok

Ecko-: mes cours de maths sont bien loin lol

BlaiseEbuth: Alors c'est pas la source de ton erreur, mais tu peux pas split une fois et stocker le résultat, au lieu de le refaire à chaque fois ?

BlaiseEbuth: Déjà que java c'pas une flèche, tire pas sur l'ambulance...

Valbou: Ecko- tu code vraiment juste pour le loisir ? Du coup, pourquoi JAVA ?

Valbou: Tu as reçu des menaces ? Oracle tient ta famille en otage ?

BlaiseEbuth: Ecko- erreur dans ta formule Double result = (Double) Math.sqrt(x*x+y*x) * 6371; c'est y*y

Ecko-: OMG

Ecko-: quel nul

Ecko-: merci

Ecko-: oui en fait je code pour le loisir, je travail dans le batiment

Ecko-: j'ais fais un BTS en électronique, que j'ai jamais utilisé

Ecko-: mais j'ai toujours aimé ça

Ecko-: en gros je code pour ma domotique chez moi, j'ai fais un peu de C/C++ pour l'arduino (quand j'étais plus jeune j'avais participé à un mod half life 2)

Ecko-: puis j'ai fais du python pour ma domotique et j'ai fabriqué un robot, ou j'ai utilisé pyTorch pour le rendre autonome

Ecko-: c'était marrant

Ecko-: mais la ma femme a un projet de création d'entreprise et elle a besoin d'un petit programme sur smartphone

Ecko-: pour faire sa gestion

Valbou: Python me semble un bon choix pour bricoler un peu de tout

Ecko-: oui python c'est assez facile à prendre en main et on peut faire vraiment énormément de choses

Valbou: Java c'est un peu l'usine, même si ça fonctionne (parfois)

Ecko-: j'ai choisi java parce que d'après mes recherche c'est LE langage pour les applications smartphone

Valbou: c'est de plus en plus remis en question

BlaiseEbuth: La dérive d'un homme... Au début ça va, il fait du C++. Puis il passe au python, c'est une première chute. Et maintenant il fait du java, il est au fond du trou... :(

Valbou: mdr

Ecko-: ah bon, c'est quoi qui va le remplacer ?

Valbou: les PWA

Valbou: JS dans le navigateur

BlaiseEbuth: Les petits PWA

Valbou: avec service worker

Valbou: Puis Kotlin fait son chemin

Valbou: Rust permet de compiler pour Android

Ecko-: c'est un langage à part ?

Ecko-: je vais regarder

BlaiseEbuth: Js... Kotlin ! :scream: Le monde est foutu...

Valbou: PWA c'est une site web qui se télécharge sur le navigateur en gros

Ecko-: ok

Valbou: mais qui persiste

BlaiseEbuth: sale bête

Valbou: il est donc possible de le lancer hors ligne

Ecko-: du coup je songe quand même à une reconversion si j'arrive à avoir le niveau. Du coup j'ai quand même regardé vers chez moi il y a des offres d'emploi en Java, plusieurs, et pour du web il y en a aussi pas mal effectivement

Ecko-: de toute façon, un langage de plus c'est toujours intéressant pour un programmeur

Valbou: Pour le boulot Java c'est "bien", il y a des offres quoi...

Ecko-: oui c'est ce que j'ai vue !

Valbou: C# aussi

BlaiseEbuth: Triste monde

Valbou: PHP est en voie d'extinction

Valbou: enfin, les soins palliatifs ont du boulot, il faut déjà tuer WordPress

Valbou: Il n'y a plus de job intéressant en PHP

BlaiseEbuth: Je suis contre. Si y'a pas d'alternative viable derrière

Valbou: Ca fait bouffer son homme dans une agence web....

Valbou: Au smic ou presque

BlaiseEbuth: Le trafique d'organe aussi, c'est pas propre pour autant

Valbou: mdr

Ecko-: lol

Ecko-: après, j'ai l'impression que java ressemble au C++

Ecko-: donc après apprendre d'autres langages c'est plus simple

BlaiseEbuth: On va rester poli hein

BlaiseEbuth: Si ça commence à insulter on va pas être potes

Ecko-: Mais bon je sais pas si j'arriverais à avoir le niveau nécessaire pour en faire mon travail

Ecko-: BlaiseEbuth les principes ont l'air similaire non ?

Valbou: Pour du dev "facile" et chiant du coup, faut viser le web

BlaiseEbuth: Bah c'est les principes des langages "orientés objet" (avec de grosses guillemets), mais à ce niveau là tu peux mettre un sacré paquet de langages dans le même sac

Valbou: Le C++ ne nécessite pas de machine virtuelle

Valbou: ou plutôt d'environnement virtuel

BlaiseEbuth: Et oui, dans les faits ça fonctionne pas pareil au delà du code

Valbou: Le garbage collector

Valbou: en Java

Valbou: etc

Valbou: Je vais me faire jeter, mais pour moi il y a plus de similitudes avec Python qu'avec C++ ;)

Default avatar.png JBM: tu te feras jeter quoi qu'il arrive

Default avatar.png JBM: tu vas juste choisir comment

BlaiseEbuth: Tu peux comparer java avec python si tu veux. Ca ça va

Valbou: ^^

Zorg1: similitude C++/Python c'est aussi ce que pense BigUp .... :D

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

Ecko-: ok ok

Ecko-: bon toute façon

Ecko-: entre le boulot, ma femme et les 2 gosses, difficiles d'avoir assez de temps pour faire une formation éfficace

Ecko-: avant l'âge de la retraite lol

Valbou: Ce que tu fais me semble une bonne formation

BlaiseEbuth: T'inquiètes y'aura bientôt plus de retraite.

Valbou: Les formations de reconversions te mettent à niveau pour faire un hello world, si tu ne fais pas la démarche de creuser par toi même, tu ne sors pas employable

BlaiseEbuth: On dit "exploitable"

Valbou: mdr

Ecko-: je trouve codeGym vraiment pas mal

Valbou: Cela dit ça donne un diplôme pour un peu de légitimité

Ecko-: puis en complément de codinGame je pense que tu peux devnir bon

Ecko-: après, c'est pas sur que je passe le cap

Ecko-: parce que je suis à mon compte depuis 10 ans, et je gagne ma vie quand même pas trop mal

BlaiseEbuth: La légitimité du diplôme...

Ecko-: et devenir developpeur junior

Ecko-: :o

Valbou: Si tu es à ton compte et que tu gagne bien ta vie ne change rien ;)

Valbou: La reconversion en dev c'est bien pour devenir smicard en CDI...

Valbou: Au moins les 3 premières années

Ecko-: oui mais je suis un peu bizarre

Ecko-: un cdi t'as plus de sécurité

Ecko-: demain y'a plus de boulot

Ecko-: j'ai plus de revenu

Ecko-: et encore que je vois pas pourquoi ça s'arretereais

Ecko-: puis j'essai de me spécialiser

Valbou: Le jour où l'on aura plus besoin d'électricien n'est pas arrivé ;)

Ecko-: clim et panneaux solaire en auto consommation

Ecko-: donc c'est super intéressant

BlaiseEbuth: ->Chommage->Fais 5 gosses en plus->allocs. Tu vivra mieux que maintenant sans bosser.

Ecko-: j'suis pas loin du burn out avec 2

Ecko-: lol

Valbou: idem

Ecko-: après nous la tv c'est interdit alors faut tout le temps les occuper :)

Valbou: On n'a pas la télé ;)

Valbou: pas de tablette

BlaiseEbuth: Ah mais faut les mettres au boulot, ça fait un revenu en plus et ils te font pas chier

Valbou: Ma grande à 6 ans à cette age, certains font déjà des chaussure, ou du minage de cobalt

Valbou: la mienne rien...

BlaiseEbuth: Exactement, rentabilise la.

Valbou: Ce n'est plus ce que c'était, avant ils faisaient des magnétoscope mais le numérique a tué les ateliers techno

Ecko-: mdrr

Valbou: Peut-être qu'elle pourrait faire des iPhone...

Ecko-: nous c'est des enfants Roi

Ecko-: qu'est ce que tu veux qu'on les fasses miner du cobalt

Valbou: A défaut du cobalt, si elle apprenait à faire des cartes graphiques, elle pourrait miner du BTC

BlaiseEbuth: En France les rois on les décapites

Valbou: la douceur poétique de BlaiseEbuth

Valbou: Mais il perdent leur temps à apprendre à lire à l'école alors qu'il suffit de télécharger une appli text to speech

Valbou: via une voice command précédée d'un "ok google"

Ecko-: lol

Ecko-: bientôt avec l'humain augmenté l'école ce sera surfait

Ecko-: je jette un œil au ASCII Art

Ecko-: j'avais vue un type qui avait récupéré son flux vidéo de sa webcam et transformé l'image en ascii art

Ecko-: c'était marrant :)

Default avatar.png JBM: la magie de libcaca

Ecko-: bon merci pour l'aide et la discussion

Ecko-: on se reverra si vous êtes souvent sur le canal :)

BlaiseEbuth: On peut quitter le canal ? Oo

Default avatar.png JBM: oui

Default avatar.png JBM: c'est #world qu'on peut pas

Ecko-: c'est moi qui viendra pas très souvent ici

Ecko-: et puis on est pas forcé de regarder ce qu'il se passe dans le tchat

Valbou: Souvent ce n'est pas le mot, je passe 2 semaine par an en moyenne sur CG :sweat_smile:

Valbou: Il faut maintenir un minimum le classement :P

Ecko-: Valbou t'es un pro ?

FlyebuX: les gars vous savez si il y a moyen d'avoir les énoncés des Clash Of Code en français ?

BlaiseEbuth: Oui. Et non

FlyebuX: c'est à dire ?

BlaiseEbuth: Oui on sait. Et non c'est pas possible

FlyebuX: ah dacc mrc

Stilgart: BlaiseEbuth: endless space ou endless legend ?

Stilgart: (les autres peuvent répondre aussi)

Zorg1: endless dungeon :p

Default avatar.png JBM: of DOOM

Zorg1: Fatalis en français

BlaiseEbuth: Stilgart : Pourquoi cette question ? Je n'ai joué à aucun des deux. :)

Thyl: qui fait Battle Code

Thyl: ???????

Stilgart: BlaiseEbuth: parce que je t'ai confondu avec b0n5a1 :scream:

Thyl: AutomatonNN

AutomatonNN: oui

Thyl: AutomatonNN manges de la terre

AutomatonNN: fenrir ?

Stilgart: AutomatonNN: réponse intéressante, tu peux détailler ?

AutomatonNN: oui mais je t'ai pas pensé à ce que c'est de forme par le contest de contest

Valbou: :sweat_smile:

Valbou: Merci AutomatonNN pour cette réponse très... précice ! Un avis Automaton2000 ?

Automaton2000: je pense que ça se fait en 10 lignes

AutomatonNN: oui AutomatonNN on est dernier de l'IA de ton code que tu fais en python ?

Thyl: AutomatonNN fait de lA Meta en python !!!

AutomatonNN: et les gens ont tendance a demander de faire un contest de test en ligne de comment je peux pas dire

Valbou: AutomatonNN a des petits problèmes de syntaxe non ?

AutomatonNN: oui je suis dans le chat

Valbou: AutomatonNN ce ne serait pas un Nyancat ?

AutomatonNN: ouais j'ai fait ce que tu veux faire :(

Valbou: Merci AUtomatonNN

AutomatonNN: merci AutomatonNN qui a rendu compte que tu as pas le temps de te dire que c'est pas trop de test ca

Thyl: AutomatonNN tu es cousin avec Gollum ??

AutomatonNN: oui et tu peux pas faire de la compilation sur le chat en contest en fait

laPetiteGrenouille: Saluuut, quelqu'un aurait un conseil svp

laPetiteGrenouille: https://www.codingame.com/ide/puzzle/the-grand-festival---i

Zorg1: c'est pas de la prog dynamique ce truc là ?

laPetiteGrenouille: oui

Default avatar.png Nicyuz: Salut à tous ! je suis nouveau sur ce site, il est très sympa !

laPetiteGrenouille: oui ! très ! :)

Valbou: Bienvenue !

Default avatar.png Nicyuz: merci :)

Default avatar.png Nicyuz: ca change carrément des autres codings challenges

Stilgart: bienvenue Nicyuz

Stilgart: Zorg1: marrant, dungeon c'est celui qui m'attire le moins sur le papier

BlaiseEbuth: lequel ?

BlaiseEbuth: endless dungeon ou dungeon of the endless ?

Stilgart: dungeon of the endless

Stilgart: endless dungeon c'est pas le même studio, si ?

BlaiseEbuth: Non ?

Stilgart: (dans ma todo list, j'ai "acheter un jeu du studio amplitude")

BlaiseEbuth: Bah si

Stilgart: mais mais mais... pourquoi c'est pas listé sur la page steam du studio ???

Stilgart: RELEASE DATE: Coming Soon

BlaiseEbuth: voilà

Stilgart: ha oui... pour cette raison là

BlaiseEbuth: dungeon of the endless je l'ai

Stilgart: legend m'attire plus, mais le full bundle est à 25€ :/

Zorg1: Dungeon of Endless c'est un roguelike pas trop mal foutu

BlaiseEbuth: Le tuto est trop bien. Il t'apprend vraiment les 2-3 trucs de base, puis il te lâche un "Il reste beaucoup de choses à découvrir, mais ne vous inquiétez pas, vous les découvrirez dans la douleur." et te laisse continuer la partie. Et tu meurs 3 minutes plus tard parce qu'il avait "omis" un détail important sur les enemis... :3

Zorg1: ^^ un roguelike quoi

Default avatar.png JBM: un roguelike avec un tuto, je suis tenté de dire que c'est pas un roguelike

Schwarzy: yp

Schwarzy: yo

Schwarzy: Next growing number, c'est impossible à 100 %

BlaiseEbuth: Non. On l'a mis là pour que les nouveaux se cassent les dents dessus en essayant et se décourgent.

**Stilgart a acheté legend

Stilgart: je suis vraiment pas en mode rogueligue en ce moment

BlaiseEbuth: Stilgart y paye pour être légende...

Stilgart: clair

Stilgart: #pay2win

Stilgart: bn, facture finale, 98€ :/

**Stilgart a moyennement bien resisté

BlaiseEbuth: Moi j'ai bien résisté. Mais j'ai oublié de résilier un abonement que j'avais en "essai gratuit" et du coup je me suis fait enflé de ce que j'avais pas dépensé pour les jeux...

Stilgart: erf

BlaiseEbuth: Schwarzy a pas aimé ma réponse, il est allé se plaindre sur le forum au lieu du chat...

Default avatar.png JBM: elle était pas 100% helpful

Default avatar.png JBM: à croire que c'est impossible

BlaiseEbuth: Bah il a pas posé de question non plus

Schwarzy: t'es pas gentil

BlaiseEbuth: T'avais l'air si sûr de toi, je voulais pas te contrarier...

Valbou: En même temps c'est démon de l'enfer qui ne sait pas écrire son nom :P

BlaiseEbuth: Je suis ici incognito

Valbou: oups dsl

BlaiseEbuth: Néanmoins, "Next growing number" n'est pas possible à 100%, les 302 personnes qui l'ont réussis n'existent pas, c'est juste pour gonfler les stats.

Schwarzy: bah oe !

Stilgart: c'est quoi le drama du jour ?

BlaiseEbuth: Encore un puzzle pas possible

BlaiseEbuth: Et puzzle of the week en plus !

Valbou: C'est pire que Meetic ici les comptes fantomes ! N'est-ce pas AutomatonNN et Automaton2000

Automaton2000: j'ai pris un peu d'avance

AutomatonNN: oui et tu dois te contenter de faire un truc que tu peux pas te dire ce que tu veux dire

Stilgart: ha, c'est le puzzle of the week

BlaiseEbuth: On peut rencontrer des fantômes sur meetic ?

Stilgart: il doit y avoir des comptes de personne décédées, oui

Stilgart: </stats glauques>

Valbou: Mais moins que sur FB

Stilgart: il est pas si mal next growing number... mais j'ai le sentiment que c'est un duplicate

BlaiseEbuth: Petit petit ours brun...

Stilgart: il faudrait lui ajouter le tag "nid de if"

Valbou: nid de milf où ça ?

BlaiseEbuth: Wow calmos

Stilgart: Valbou: tu as un problème (sans doute deux, même)

BlaiseEbuth: On a dit pas les mamans

Stilgart: trois, j'avais pas encore compté BlaiseEbuth

Default avatar.png JBM: les regex et l'email?

BlaiseEbuth: Je suis un problème moi ?

BlaiseEbuth: 'tain ils sortent d'où tout ces puzzles easy...

Default avatar.png JBM: tt drt de la questmap

BlaiseEbuth: qstmp ?

Default avatar.png JBM: cll-l mm

BlaiseEbuth: hmm

BlaiseEbuth: ms q ft l mdrtn ?!

Default avatar.png JBM: n s l dmd

Valbou: Il ya de la friture sur le chat ?

BlaiseEbuth: nn. jst pls d vll

Valbou: Ou les voyelles de vos claviers ne fonctionnement plus ?

Default avatar.png JBM: "jst"??

BlaiseEbuth: "oui" sans voyelle c'est compliqué...

BlaiseEbuth: Bah "juste"

Default avatar.png JBM: ah ok

Default avatar.png JBM: j'avais lu "j'est"

Default avatar.png JBM: mn mvs

BlaiseEbuth: fx t

Valbou: lol en anglais ET sans voyelle ! toujours plus

Default avatar.png JBM: "fixe-toi" c'est completement francais

Default avatar.png JBM: a defaut de poli

Valbou: mdr

Default avatar.png JBM: c'est vraiment pas accueillant envers les noobs

BlaiseEbuth: bah ys

BlaiseEbuth: noob c'est péjoratif

BlaiseEbuth: dis chiantos

Default avatar.png JBM: chnts

Valbou: Ca laisse un peu de marge à l'interprêtation quand même non ?

BlaiseEbuth: Effectivement growing number m'évoque un truc Stilgart

Schwarzy: la lourdeur

Stilgart: omg, ils ont tué les voyelles

BlaiseEbuth: Mhhhh ! :imp:

Stilgart: c'était le bruit d'une vache ? :p

BlaiseEbuth: Ls vchs dmnrnt l mnd !

Default avatar.png JBM: thr s n cw lvl

BlaiseEbuth: j'm ctt rfrnc !

Stilgart: ils disaient ça, mais dans le 2 comme dans le 3, il y a

BlaiseEbuth: Dns le trs nn

BlaiseEbuth: mrd

Default avatar.png JBM: mardi?

Default avatar.png JBM: ou l'alternative pas accueillante pour les noobs?

BlaiseEbuth: dns l trs c'st ds pns mgqs, ds lcrns t ds nnrs.

Stilgart: fake, c'est le row des vaches qui t'ouvre la voie

Stilgart: ce sont donc bien des vaches déguisées en licornes

Stilgart: licorne, AutomatonNN !

AutomatonNN: voila c'est ce que je dis

Stilgart: :D

dwarfie: tortue, Automaton2000 !

Automaton2000: c'est quoi comme langage ?

dwarfie: ca marche moins bien

Stilgart: :p

Stilgart: encore une victoire de NN

BlaiseEbuth: e i o e ue e oyee ? e eauou u oiué... :thinking:

dwarfie: bah , quoi qu'on fasse , c'est les NeuNeu qui gagne ;)

**BlaiseEbuth jette de l'unicode sur dwarfie.

dwarfie: ph'nglui mglw'nafh Cthulhu R'lyeh wgah'nagl fhtagn

BlaiseEbuth: La pelle de cou tout loup !

philRG: le nain est revenu :-D

dwarfie: il etait pas parti ... il etait juste passé en mode nain'visible :p

Neumann: Wsh, y'a des experts Python dans le coin ? Et plus particulièrement la lib "requests" ? J'ai des soucis avec un backend qui clot un POST prématurément avec une réponse valide, et un client Python incapable de traiter la réponse

Neumann: car ce con n'a pas terminé d'uploader l'intégralité de son binaire quand le backend lui répond

Default avatar.png Thosquey: Ph Neumann

Default avatar.png Thosquey: Oh

Stilgart: désolé, je peux pas t'aider là :(

BlaiseEbuth: Les fameux experts python

SeebOmega: je suis pas expert mais j avais un truc dans el genre ou j utilisais stream=True pour stream la reponse notament pour des logs

SeebOmega: je sais pas si ca s applique ici

Neumann: Pas vraiment, là le soucis c'est surtout que c'est un cas qui n'a pas l'air "normal" en REST. Un client qui fait un POST avec N bytes, le serveur lui dit "Non." avant d'avoir reçu les N bytes, en lui retournant une réponse HTTP valide. La plupart des clients gèrent ça correctement, ils s'en foutent que la requête initiale ai pas été terminée, ils arrivent à traiter la réponse. Mais "requests" pour lui c'est un "Connection aborted"

Neumann: Et pas moyen d'avoir accès à la réponse du serveur

Valbou: bah tout est dit : connexion aborted" ;)

Valbou: Ca m'est déjà arrivé sur une coupure réseau en court d'échange sur un réseau 4G

Neumann: Techniquement la connection est pas avortée, justement

Valbou: Micro coupure

BlaiseEbuth: Normalement le client est roi, le serveur doit l'écouter. Le remballer c'est une faute professionelle...

Neumann: C'est le client qui considère à tort que la connection est coupée, parce qu'il a pas pu tout envoyer

Valbou: Quel est la taille du payload

Valbou: ?

Neumann: Peu importe

Valbou: bah non

BlaiseEbuth: Zenyatta move the payload.

Neumann: Ca change quoi ? Dans tous les cas il faut considérer que le serveur répondra avant que le client ai tout envoyé

Valbou: sauf si le client timeout

Neumann: Y'a pas d'histoire de timeout ou de coupure réseau ici

Valbou: Un problème de connexion sans problématique réseau ? Jamais eu le cas avec requests

Neumann: J'ai jamais dit que c'était un problème de connection

Neumann: J'ai même dit explicitement le contraire :D

BlaiseEbuth: Si il faut commencer à lire les messages pour donner son avis... :3

Valbou: lol

dwarfie: BlaiseEbuth : c'est pas toi qui etait pour le tag "reading comprehension" par hasard ? ;)

Valbou: la réponse est pourtant claire dans la question "connexion aborted" du coup on discute de quoi ?

Neumann: D'ailleurs je parle de "requests" mais c'est "urllib3" sous le capot qui gère mal ce cas de figure

Neumann: "Connection aborted" c'est ce que dit urllib3, dans la réalité la connection n'est pas coupée

Neumann: C'est juste le serveur qui répond, correctement, de manière prématurée

SeebOmega: du coup il post un fichier en binary direct ?

**BlaiseEbuth lance du sarcasme sur dwarfie.

Valbou: Ca fonctionne avec le même payload via un client JS ?

**dwarfie replique avec du gnagnagna

Neumann: ?

SeebOmega: http://chat.codingame.com/pastebin/aeab8bb4-143f-4a14-9359-c796408f7da1

Valbou: API fetch JS par exemple

SeebOmega: si il ouvre le truc a upload en text mode peut etre que la longeur correspond pas dou la reponse premat ?

Neumann: Le fichier est ouvert en binaire oui, avec requests_toolbelt et un multipartencoder pour streamer le contenu et pas tout charger en mémoire

SeebOmega: ok

Valbou: pour être sûr que ça vient de requests je testerai avec fetch

Neumann: Mais là encore peu importe, on peut considérer que le "Content-Length" sera toujours fourni correctement.

Neumann: Ca vient de urllib3, utilisé en interne par requests

Valbou: Bon ben je n'ai pas de solution

BlaiseEbuth: -> drop requests

Neumann: Le fait que le serveur réponde prématurément c'est pas non plus un bug, c'est voulu

Neumann: Le backend fait des controles sur la requête qui lui permettent de dire tout de suite si c'est OK ou pas, sans attendre que le client upload ses 5Gb dans le vent

Valbou: Ah ben la taille du payload a finalement une importance

Neumann: Toujours pas

**BlaiseEbuth slaps Valbou around a bit with a large fishbot

Valbou: :innocent:

BlaiseEbuth: -> drop python

Valbou: ^^

Neumann: Pour la petite histoire, avec un tout petit fichier (i.e. le client a le temps de tout envoyer avant de prendre la réponse 400), y'a aucun soucis

Neumann: C'est vraiment urllib3 qui est fragile et qui tolère pas d'avoir une réponse avant d'avoir terminé de "parler"

BlaiseEbuth: Découpe ton fichier en petits bouts et envois les un par un

Neumann: Non.

Stilgart: Neumann: tu peux pas changer de lib, je présume ?

BlaiseEbuth: Ni de langage ?

Neumann: Si, mais j'ai trouvé qu'une seule alternative "httplib" et j'ai pas l'impression qu'on puisse faire autrement que de charger tout le fichier en mémoire avec celle-là

Neumann: Ce qui est un pré-requis à mon besoin

Neumann: Mais je vais ptet creuser je pense pas avoir le choix

BlaiseEbuth: Y'a pleins d'autres langages...

Neumann: Non le Python c'est aussi un pré-requis pour le coup :P

Neumann: Et ca semble pas le pire pour cette tâche tbh

Valbou: Tu ne devrais pas faire 2 appels ? Le premier envoi le fichier et aura une réponse à la fin Et le 2e appel check la réponse imédiate

Stilgart: demaned à couille de l'ouest comment on fait un system en python :p

Neumann: Valbou pas compris

BlaiseEbuth: Comment le python peut être requis ? Oo

Stilgart: (oops, le coup est parti tout seul)

Stilgart: BlaiseEbuth: les clients sont cons, souvent

BlaiseEbuth: Bah si ils sont codés en python aussi...

Valbou: 2 appels async, le premier est la requête complète et aura une réponse sous 2h Le 2e appel demande la réponse ok rapide

Valbou: ainsi tu ne coupe pas l'envoi avec un retour

Neumann: Ah, non c'est pas possible ni souhaitable, ça rend la cinématique utilisateur pénible et peu intuitive

Valbou: au diable l'utilisateur (sans vouloir offenser BlaiseEbuth

Neumann: Bah, moi on me propose une API comme ça pour stocker des fichiers, je refuse de l'utiliser

dwarfie: tu vas pas l'offenser ... par contre , j'espere qu'il a de la place pour accueillir la foultitude de gens a lui envoyer :D

Valbou: ben en même temps c'est comme ça que l'on fait des progress bar

Neumann: Heu, non ?

BlaiseEbuth: Bah tu mets une exception, catch("connectionaborted") -> faire comme si le serveur avait dit non.

Valbou: en JS AJAX si

Neumann: Ah, je parlais des technos modernes

Valbou: lol

Neumann: :upside_down:

Valbou: le protocol HTTP n'est pas si jeune ;)

Neumann: BlaiseEbuth : faut que je soit capable de capter les "vrais" connection aborted

Valbou: mais avec les websocket il y a une possiblité

BlaiseEbuth: Ah. Je pensais qu'il n'y avait pas de perte de connection ?

Neumann: Même en HTTP tu peux faire une pogress bar avec une seule requête

Neumann: Dans mon cas précis non, mais dans l'absolu ça pourrait arriver

BlaiseEbuth: Si il faut commencer à être exhaustif dans la gestion des problèmes potentiels...

Valbou: Neumann, les websocket tu as testé ?

Neumann: Nope

Valbou: Ben si tu ne fais pas à l'ancienne c'est là qu'il faut regarder

BlaiseEbuth: Fais comme j'ai dit. Et si jamais y'a des soucis, vends leur un patch

Neumann: On parle toujours de progress-bar ? Parce que t'as pas besoin de WS pour ça

Valbou: non on parle de ton PB

BlaiseEbuth: Faut demander aux mecs d'apt-get, les progress bars ils connaissent.

Neumann: Pour mon soucis, tous les clients REST que j'ai pu tester géraient le cas sans broncher. J'ai pas envie de changer toute l'archi de ma solution parce que y'a 1 lib qui fait des siennes

Default avatar.png Nicyuz: il y a un moyen de comparer mon code et ceux qui l'ont fait ?

C'est intéressant pour découvrir des techniques

Valbou: Python est un langage glu, tu peux juste déléguer cette partie à un sous programme

BlaiseEbuth: C'est pas toi qui l'a fait ton code Nicyuz ?

Valbou: mdr

dwarfie: :rofl:

Default avatar.png Nicyuz: Si bien sûr

Default avatar.png JBM: alors oui il y a myen

Default avatar.png Nicyuz: je demandais cela car il y avait un autre site de challenge une fois un challenge résoud, on pouvait voir les codes des autres

Default avatar.png JBM: tu regardes ton code, puis tu regardes dans le miroir

Default avatar.png JBM: et tu compares

BlaiseEbuth: M'fin c'est conceptuel

dwarfie: en plus , faut 2 mirroirs sinon c'est pas évident

Default avatar.png Nicyuz: bon c'est bon j'ai trouvé, il y a l'onglet solution

BlaiseEbuth: Heureusement qu'on est là

Valbou: pour sûr !

sehyod: bonjour

Valbou: Bonsoir !

Valbou: Neumann ? Il a fait un AVC ?!

Neumann: ?

Valbou: Alors, ça roule ?

Neumann: Ca va me prendre un peu plus de 10min pour trouver une solution :D

Valbou: Sinon change de protocole HTTP c'es pas vraiment fait pour les transferts de gros fichiers...

Neumann: Typical SO answer

Valbou: Ton client il n'attend pas l'upload des 5Go ?

BlaiseEbuth: so SO

Valbou: Tou es belle comm la papaya !

Neumann: Je sais pas à quoi d'autre je m'attendais en venant demander ici en même temps

Valbou: :)

Valbou: Ici le fond du panier ^^

BlaiseEbuth: Si tu veux des réponses sérieuses, utilises des technos sérieuses aussi...

Valbou: :joy:

Neumann: cad ? C++/Clojure ?

Valbou: Rust

marcgardent: +1 :)

BlaiseEbuth: Pas forcément, mais pas python

Neumann: Mon backend est en Java, tu devrais venir bosser dans ma boite tu kifferais

BlaiseEbuth: Clojure c'est pas sérieux, c'est plus rigolo

BlaiseEbuth: erf

BlaiseEbuth: Et après on s'étonne qu'il y ait des failles de sécurité chez sopra...

Neumann: Java est hors de cause à priori

Neumann: Mais bon, :zipper_mouth:

Valbou: à priori...

dwarfie: BlaiseEbuth qui confond java et windows ... ca explique bien des choses :D

marcgardent: pauvre AD

BlaiseEbuth: Attends ! Après il va nous dire que les serveurs sont sur winserv...

nicola: Il y a apt sur winserv ? :o

dwarfie: nicola ... ca existe ... wapt

dwarfie: et c'est pas mal fait en plus

nicola: :o

dwarfie: (en meme temps , c'est pas fait par µsoft)

marcgardent: en vrai windows a un cli maintenant

marcgardent: avec des package

marcgardent: il on repris nugget

BlaiseEbuth: 30 ans après...

Valbou: Ca se rapproche doucement du cancer Linux (disait BG)

nicola: Bientôt, ils vont découvrir les bureaux virtuels.

Valbou: quand je vois que certaines grosses boites utilisent winserv avec WAMP...

nicola: Avec Didier Wampas ?

nicola: :thumbsup:

dwarfie: quand je vois certaines administrations qui continue a faire tourner leur tomcat sur un windows ....

BlaiseEbuth: tom4 tu veux dire ?

dwarfie: (voir pire , dev sous windows et distribuent sans faire gaffe à la casse parce qu'ils étaient sous windows)

BlaiseEbuth: Genre y'a des gens qui dev sous windows

dwarfie: Si tu savais ...

BlaiseEbuth: Y'a un achievement ?

Zorg1: oui mais il faut coder avec l'eclipse de Steam

dwarfie: l'achievement ultime oui ... "j'achete un mac super cher , je met un windows decu parce que macos est trop compliqué et après je demande accès à un serveur sous linux parce que les outils à utiliser marche pas" ... et je connais un paquet de laureat

Neumann: C'est vraiment un gros circle-jerk ce chat haha

Zorg1: tiens Neumann qui vient sur le chat râler sur les gens qui râlent ^^

Neumann: J'ai parlé un moment avant de râler

Neumann: C'est ça la différence, le ratio

Zorg1: ;-)

dwarfie: en meme temps , j'ai mis un nouvel achievement en place sur mon pc ... "j'achete le dernier mac avec processeur M1 et me retrouve comme un con parce que le pack office sort que dans 9 mois" et j'ai deja un gagnant :D

Valbou: installe libre office :grin:

BlaiseEbuth: L'avortement est possible jusqu'à trois mois

Valbou: J'ai déjà vu The Gimp sur un Mac donc tout est possible !

dwarfie: Valbou : j'installe rien , qu'il se debrouille ...

Valbou: mdr

Default avatar.png Thosquey: C'est possible d'avoir des header customisés pour les clash ?

Default avatar.png Thosquey: Au lieu de devoir supprimer les comm et les import pour les golf ?

Zorg1: c'est quoi "des headers customisés" ?

Default avatar.png Thosquey: Changer le code de base quand on lance un clash

BlaiseEbuth: #include "solutions" et ça résout les clashs à ta place aussi

Default avatar.png Thosquey: Sérieux ? La chance je savais pas :o

dwarfie: c'est deja paspossible de choisir le langage avant d'entrer dans le clash ... donc non

Default avatar.png Thosquey: Ouaip ok c'est bien ce que je pensais

Default avatar.png Thosquey: pas de chance ça serait pratique

BlaiseEbuth: En même temps le golf tu peux prendre 1 seconde pour supprimer le code de base.

Default avatar.png Thosquey: Ouaip mais par exemple en cpp ça serait pratique de prendre un header custom pour pouvoir faire tout ce qui ne touche pas au golf

Valbou: Si vous avez une solution pour faire du code golf en Rust, juste le input prend 100 caractères ;)

Bon[]Crayon: Salut tout le monde

Bon[]Crayon: Salut l'AutomatonNN comment va ?

AutomatonNN: oui

Bon[]Crayon: Salut l'Automaton2000 comment va ?

Automaton2000: après, j'avoue que j'avais pas de problème de perf

**philRG fixed his first bot in Java. Rank #8 of java bots (il faut pas gd chose au bonheur)

**philRG uses probabilist algorithm to debug his own code, and seems to work

**BlaiseEbuth scratch his nose.

**philRG laughs

**Zorg1 comments what he does in english

Stilgart: Automaton2000: quel fruit de démon révélé à l'épisode 776 e one piece ?

Automaton2000: vous savez si on peut faire des trucs au hasard

Stilgart: Automaton2000: si tu réfléchis, tu as une chance sur un

Automaton2000: un peu plus de temps à le trouver

Bon[]Crayon: Automaton2000 Rien ne sert de courir, il faut partir à point.

Automaton2000: jbm: c'est quoi ton code ?

Bob: amis des codes o/

Bon[]Crayon: :wave_tone2:

Bob: comment va ?

Bon[]Crayon: Perso, va bizarrement , j'ai des parenthèses qui s'en mèle.

Bob: quelle drôle di'dée

Bon[]Crayon: C'est dans un puzzle.

Bob: ça reste une drôle d'idée quand même

dwarfie: :rofl: . ca va faire rire stilgart s'il est la , je viens de me faire plusser une solution .... en haskell ...

dwarfie: mais ou va-t-on ? :D

Bob: non mais lol

Default avatar.png JBM: mon code es rouge Bob \o

Zorg1: le rouge bob c'est une variété de rouge gorge ?

BlaiseEbuth: De la lingerie adaptée aux bides à bière. :grin:

Default avatar.png JBM: tu veux que je t'upvote une solution haskell pour rire dwarfie?

Zorg1: tu as déjà upvoté une solution Haskell de vry ...

Default avatar.png JBM: mais ct pas drole a l'epoque

Stilgart: dwarfie: quelle arnaque

Stilgart: ça m'arrive presque jamais ça :/

Stilgart: dwarfie: sur paper folding ?

dwarfie: ouaip

Default avatar.png JBM: grrrr mon code du début de l'AoC qui compile plus /flip

Stilgart: dwarfie: vu le commentaire qu'on m'a laissé ...

**Stilgart préfère faire le AutomatonNN

AutomatonNN: lol que c'est pas trop dur pour la complexité du programme de la bonne valeur de la partie de la mai

Stilgart: ne pas finir ses phrases est parfois une bonne idée*

Default avatar.png Thosquey: agon_k es-tu la ?

Default avatar.png agon_k: oui

Default avatar.png agon_k: Clemg