03:54 <discord_afpy_> <dancergraham> @mdk A peu pres la meme chose - 220ms pour les deux parties du jour 11 avec une bonne dose de lrucache - ca me rappelle project Euler et le dynamic programming mais je ne vois pas comment reformuler le probleme en DP
04:02 <discord_afpy_> <dancergraham> plus de 5 secondes en version free-threaded !
07:59 <entwanne> j'ai voulu utiliser z3 pour aujourd'hui mais en fait je suis pas sûr que ce soit une bonne idée
08:20 <debnet> Oulà...
08:21 <entwanne> Nan en fait c'est juste une équation linéaire, ça se résoud facilement à la main
08:22 <entwanne> je comprends pas pourquoi z3 était dans les choux
08:22 <entwanne> pour hier j'ai pas fait avec les coins mais avec les segments, ça doit se ressembler
08:25 <debnet> Oui ça se ressemble.
08:25 <debnet> J'ai vu une autre technique où tu balaies la région dans les 4 sens et tu comptes le nombre de fois où tu ne trouves pas de blocs sous la ligne de balayage.
08:25 <debnet> Ca marche aussi.
08:40 <asyd> je teste mako pour du templating de fichier de config, ça m'a l'air très bien
08:46 <debnet> J'ai envie de sortir numpy pour celui là.
08:51 <asyd> je teste mako pour du templating de fichier de config, ça m'a l'air très bien
08:51 <asyd> oups
09:28 <debnet> Putain, je me suis fait avoir par les arrondis. x)
09:29 <entwanne> Hier c'était trop carré et aujourd'hui c'est trop rond ?
09:29 <debnet> entwanne: Nan mais c'est le délire habituel avec les nombres à virgule flottante où t'as des résultats avec 15 milliards de décimales pour rien. x)
09:31 <debnet> Bingo pour la partie 1.
09:31 <debnet> Oh j'ai eu peur pour la partie 2 mais avec ma solution ça va trivial.
09:32 <entwanne> ouais la partie 2 c'est pour dégager les solutions trop naïves
09:32 <entwanne> Au final j'ai quand même fait une partie 3 pour refaire l'exo avec z3 :D
09:33 <discord_afpy_> <Andy K (boss dreamer ou pas)> Salut
09:34 <debnet> Aïe, mon truc marche pas, chelou.
09:35 <entwanne> 😭
09:35 <debnet> Ca pue les problèmes de type.
09:45 <entwanne> perso j'ai juste texté `if int(x) == x` sur ma solution
09:49 <debnet> OK j'ai compris mon erreur.
09:55 <debnet> entwanne: Ca marche, mais le fait d'avoir utilisé "round()" me fait dire que j'ai du mal utiliser ma librairie. :D
09:55 <debnet> En même temps avec les conversion de type entre CPython et numpy, y a toujours des dingueries.
09:56 <debnet> Avec Z3 c'était rapide ?
09:57 <debnet> En tout cas c'est super élégant Z3. x)
09:59 <entwanne> Non pas spécialement rapide, à vue de nez 20 fois plus lent que mon autre solution :D
10:00 <entwanne> mais c'est plus rapide à écrire le code (quand on ne se trompe pas dans ce qu'on lui entre)
10:03 <debnet> entwanne: J'ai toujours eu du mal avec la syntaxe de z3 solver. ^^
10:04 <entwanne> ouais je l'utilise que pour des AoC donc je connais pas bien non plus, je fais un git grep z3 sur le repo pour voir comment je l'avais utilisé la fois précédente
10:14 <debnet> entwanne: Ca veut dire quoi z3.sat ?
10:14 <entwanne> ça veut dire solvable
10:14 <entwanne> sinon c'est unsat
10:14 <entwanne> (c'est un solveur SAT)
10:14 <debnet> A tes souhaits.
10:14 <entwanne> https://fr.wikipedia.org/wiki/Probl%C3%A8me_SAT
10:17 <entwanne> * https://fr.wikipedia.org/wiki/Probl%C3%A8me_SAT
10:17 <asyd> petite question, est ce que je peux faire https://dpaste.org/QxAEO avec une liste par intention ?
10:18 <debnet> asyd: sum(ta_list, []) ça marcherait.
10:19 <asyd> oOoO
10:19 <debnet> Sinon [b for a in ma_list for b in a]
10:19 <asyd> magique
10:20 <debnet> entwanne: z3 solver est 300 fois plus lent que numpy apparemment.
10:20 <debnet> Mais c'est intéressant à utiliser.
10:21 <debnet> Je vais garder les deux pour l'histoire.
10:47 <Mindiell> asyd: j'aurais rajouté un "if x != []" perso, c'est lisible
10:48 <asyd> mais ça suffit pas a flatten la liste
10:49 <Mindiell> ah, j'avais mal lu alors
10:49 <Mindiell> Tu as un exerice pour flatten les listes sur hackinscience je crois ;o)
10:51 <asyd> j'avoue le coup du sum
10:52 <misc> ça te mets le sum ?
10:53 <asyd> ouais un peu :)
10:53 <asyd> je suis même pas sur de comprendre pourquoi ça marche :)
10:54 <Mindiell> sinon j'ai ça :
10:54 <Mindiell> extra_acls = []
10:54 <Mindiell> [extra_acls.extend(x.acls) for x in catalog]
10:54 <Mindiell> qui me parait un poil moins "magique"
10:55 <asyd> oui ça je comprends :P
10:55 <Mindiell> c'est pareil hein, mais ça se "lit" mieux ?
10:57 <entwanne> asyd: sum fonctionne comme un reduce, c'est pour ça que ça marche
10:58 <asyd> Mindiell: t peux pas le faire en one liner :)
10:59 <entwanne> sum([a, b, c], init_value) ça veut dire add(add(add(init_value, a), b), c)
10:59 <entwanne> Mindiell: Je trouve que ce qui se lit mieux c'est la 2ème solution de debnet, avec la double-boucle
11:00 <debnet> Oui, je suis d'accord.
11:01 <debnet> C'est moins "magique" que sum.
11:01 <debnet> Et c'est plus rapide en plus.
11:01 <entwanne> c'est ce que j'utilise généralement pour flatten
11:02 <debnet> C'est incroyable qu'il n'y ait toujours pas de vrai flatter dans itertools cependant.
11:02 <debnet> s/flatter/flatten
11:05 <Mindiell> entwanne: ah oui, je suis passé un peu vite dessus. En effet, c'est mieux
11:15 <debnet> entwanne Sympy est plus rapide que z3 solver mais toujours moins que numpy.
12:32 <vstinner> debnet: pour avoir une fonction standard flatten(), faudrait se mettre d'accord sur ce qu'est un ensemble. genre flatten("abc") devrait créer la liste ["a", "b", "c"] ?
12:34 <debnet> Alors c'est discutable, mais j'imagine que pour des questions de généricité ça serait mieux.
12:35 <debnet> C'est un peu stupide d'appeler flatten sur une liste.
12:35 <debnet> s/liste/chaine
12:35 <entwanne> debnet: je crois que j'ai jamais réussi à vraiment utiliser sympy :D
12:36 <debnet> vstinner: qu'est-ce que t'en penses toi ?
12:37 <vstinner> debnet: je n'ai pas d'avis, juste je cherche une raison de pourquoi y'a pas de fonction standard pour le moment :)
12:37 <vstinner> debnet: si c'était super facile à spécifier et à implémenter, ça existerait déjà, je pense
12:37 <debnet> entwanne: Je ne m'en sers jamais donc je le redécouvre à chaque AoC.
12:38 <entwanne> y a le problème de niveau de "flattenisation" que j'ai déjà vu discuté aussi
12:38 <debnet> Quel problème ?
12:40 <entwanne> Ben là on ne parle que de flatten sur 1 niveau, mais une fonction flatten générale est souvent demandée pour gérer n niveaux (et là ça devient encore plus compliqué pour le cas des chaînes de caractères)
12:41 <entwanne> genre si tu as [["abc", ["def"]], ["ghi"]] en entrée, flatten de 1 ça donne ["abc", ["def"], "ghi"], flatten de 2 ça donne ["a", "b", "c", "def", "g", "h", "i"], etc.
12:42 <vstinner> >>> list(b'abc')
12:42 <vstinner> [97, 98, 99]
12:42 <vstinner> avec bytes c'est encore plus marrant :)
12:43 <entwanne> ouais…
12:50 <vstinner> on pourrait aller plus loin et décomposer un nombre entier en bits :-D
12:50 <vstinner> >>> list(42)
12:50 <vstinner> [1, 0, 1, 0, 1, 0]
12:51 <entwanne> argh
12:51 <entwanne> (ça va être bien pour les nombres négatifs)
12:52 <vstinner> entwanne: faut proposer ce changement dans Python 4 :-)
15:05 <Mindiell> Vous êtes malades
16:18 <alain_afpy> Retours sur les meetups en mixité choisie - https://discuss.afpy.org/t/retours-sur-les-meetups-en-mixite-choisie/2402
16:37 <debnet> Waaaa la violence des retours d'homme sur les meetups en non-mixité choisie.
17:33 <discord_afpy_> <dancergraham> Et qui démontre la pertinence de l'initiative - bravo a toutes les organisatrices et participantes et un grand merci pour le retour! Heureusement que la loi est de votre coté. Ce n'est malheureusement pas la première fois que des hommes myogènes et / ou racistes tentent d'utiliser une loi pour réduire les égalités contre les femmes, les minorités, ...
18:13 <debnet> Quand même, de là à brandir la loi pour manifester... y en a qui ne manquent pas de souffle.
18:27 <discord_afpy_> <dancergraham> Oui j'ai l'impression qu'il y a des hommes qui ne se rendent pas compte ou qui ne se contente pas de monopoliser 97% de l'espace dans la tech. Ils s'indignent si certaines personnes s'octroient les 3% restants...
19:27 <misc> ensuite, les meetings en mixité choisie/non mixité, ça risque assez vite de déraper dans la transphobie (exemple bien connu: https://fr.wikipedia.org/wiki/Michigan_Womyn's_Music_Festival )
19:39 <misc> (l'article cite le MLF, et justement, une des fondatrices du mouvement, Christine Delphy, a signé en 2020 une tribune pour l'exclusion des femmes trans, par exemple)
21:10 <discord_afpy_> <dancergraham> Je trouve ce sujet bien traité dans l'article d'Agnes et Morgane - C'est un vrai sujet mais ca peut etre un sujet de solidarité aussi, plutot que d'opposition entre des groupes.
22:49 <misc> en fait, je pense que ça peut se comparer à de la dette technique. La dette technique, ça va quand y en a un peu, tout le monde prends des raccourcis. Mais quand ça devient une habitude, ça commence à poser des soucis fondamentals. l'article dit "on veut pas être la police du genre", mais fondamentalement, l'idée est quand même de decider qui rentre ou pas, donc à minima d'être les vigiles du genre
22:50 <misc> (et donc, fondamentalement, si tu le fais tout le temps, tu va devenir plus souvent ce que tu dis ne pas vouloir devenir)
22:59 <entwanne> j'ai l'impression que c'est plus indiquer et miser sur la bonne foi des gens que contrôler
23:14 <debnet> C'est quoi le problème avec les transgenres ?
23:14 <debnet> J'avoue ne pas suivre, ils ne rentrent pas dans les personnes concernées ?
23:20 <entwanne> Si
23:22 <entwanne> Je pense que le problème évoqué est que si une personne est considérée comme un homme cis, alors elle ne serait pas acceptée. Et qu'une femme trans pourrait être considérée à tort comme un homme cis par exemple.
23:22 <entwanne> Mais pour moi l'article dit bien que personne n'est mis dehors, quitte à accepter des gens qui ne sont normalement pas conviés
23:58 <misc> mais dans ce cas, quel différence avec un meetup classique au final ?