#!/bin/python3defintlen(nb):l=0whilenb>=1:nb=nb/10l+=1returnldefispart(puzzle,line,col,n):try:ifpuzzle[line][col-1].isdigit():return0exceptIndexError:passtry:foriinrange(1,5):ifpuzzle[line][col+i].isdigit():n=n*10+int(puzzle[line][col+i])else:breakexceptIndexError:passforjin[1,-1]:foriinrange(-1,intlen(n)+1):try:ifpuzzle[line+j][col+i].isdigit()==Falseandpuzzle[line+j][col+i]!=".":returnnexceptIndexError:passforiin[-1,intlen(n)]:try:ifpuzzle[line][col+i].isdigit()==Falseandpuzzle[line][col+i]!=".":returnnexceptIndexError:passreturn0defisgear(puzzle,line,col,j):try:ifpuzzle[line][col].isdigit()==False:return0exceptIndexError:return0ifj!=-1:try:ifpuzzle[line][col-1].isdigit():return0exceptIndexError:passstart=0foriinrange(-1,-5,-1):try:ifpuzzle[line][col+i].isdigit():start-=1else:breakexceptIndexError:breakp=ispart(puzzle,line,col+start,int(puzzle[line][col+start]))returnpdefsolve1(puzzle,testing=False):s=0forlineinrange(len(puzzle)):forcolinrange(len(puzzle[line])):ifpuzzle[line][col]==".":continueelifpuzzle[line][col].isdigit():p=ispart(puzzle,line,col,int(puzzle[line][col]))s+=piftestingandp!=0:print("The part ",p," at ",line,";",col," is ok.")iftesting:print(s)returnsdefsolve2(puzzle,testing=False):s=0forlineinrange(len(puzzle)):forcolinrange(len(puzzle[line])):ifpuzzle[line][col]=="*":ng=0g=[0,0,0]foriin[1,0,-1]:forjin[1,0,-1]:g[ng]=isgear(puzzle,line+i,col+j,j)ifg[ng]!=0:ng+=1ifng==3:breakifng==3:breakifng==2:iftesting:print("Gear at ",line,";",col," with parts ",g[0],";",g[1])s+=g[0]*g[1]eliftesting:print("Gear at ",line,";",col," but with ",ng," parts.")iftesting:print(s)returnstest1="""467..114.....*........35..633.......#...617*...........+.58...592...........755....$.*.....664.598.."""result1=4361test2=test1result2=467835defsolve(short=False):print("----Part 1----")ifshort==False:ifsolve1(test1.split("\n"),testing=True)!=result1:print("Not working.")returnFalseelse:print("Maybe working?")withopen("input.txt",'r')asfile:lines=file.read().split("\n")s1=solve1(lines)print(s1)print("----Part 2----")ifshort==False:ifsolve2(test2.split("\n"),testing=True)!=result2:print("Not working.")returnFalseelse:print("Maybe working?")withopen("input.txt",'r')asfile:lines=file.read().split("\n")s2=solve2(lines)print(s2)returns1,s2if__name__=="__main__":fromsysimportargvtry:ifargv[1]=="--summary"orargv[1]=="-s":solve(short=True)exceptIndexError:solve()
C'est en effet une trĂšs bonne piste, mais je ne pourrais pas l'utiliser. En effet, je n'ai pas la main sur le proxy et la box derriĂšre lesquels je suis, et l'administrateur est trĂšs trĂšs trĂšs frileux sur l'ouverture des ports.
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
# Python
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au message Advent of Code 2023, day 7. ĂvaluĂ©Â Ă Â 1.
C'est trÚs trÚs trÚs louche : on est un jour impair et la difficulté est raisonnable. Nous sommes trahis.
POur aujourd'hui, j'ai défini deux classes Hand et HandJoker trÚs semblables et qui ont certains opérateurs surchargés pour pouvoir utiliser la fonction
sorted()
.AprÚs les avoir triés dans des listes par catégories, ont les tris et on récupÚre le score.
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
# Python et math
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au message Advent of Code 2023, day 6. ĂvaluĂ©Â Ă Â 1.
TrĂšs clairement un exos de math qui pourrait ĂȘtre donnĂ© Ă des secondes, il fallait que ça tombe le jour oĂč je n'avais pas le temps avant le soir.
Ma solution :
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
[^] # Re: Python sans brûlage de CPU ni explosion de RAM
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au message [Doublon] Advent of Code 2023 : Day 5. ĂvaluĂ©Â Ă Â 1.
Au début, je m'étais dit naïvement :
AprĂšs m'ĂȘtre fait rappeler Ă l'ordre par mon OOM Killer, j'ai mis en place une solution plus simple qui applique directement les modifications aux numĂ©ros de graine et se souvenant s'il a dĂ©jĂ modifiĂ© cette valeur (pour Ă©viter de changer 3 fois par Ă©tape les numĂ©ros).
La partie 2 m'a donnée beaucoup plus de fil à retordre, car ce n'est pas simplement :
Mais l'OOM Killer proteste encore une fois, m'obligeant à finalement essayer de gérer des intervalles plutÎt que des valeurs. AprÚs beaucoup de débuggage et d'arrachage de cheveux, j'ai fini par trouver la recette qui s'exécute instantanément.
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
# Python sans brûlage de CPU ni explosion de RAM
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au message [Doublon] Advent of Code 2023 : Day 5. ĂvaluĂ©Â Ă Â 1. DerniĂšre modification le 05 dĂ©cembre 2023 Ă 16:01.
Une solution dont je ne suis pas peux fier, puisquâelle est Ă©conome en ressource et prend moins d'une seconde Ă terminer. Et j'ai enfin commencĂ© Ă utiliser la POO :
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
[^] # Re: Python
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au message Advent of Code 2023 : Day 1. ĂvaluĂ©Â Ă Â 2.
J'ai vérifié avant et avait fais quelques tests dans la premiÚre partie, il n'y a pas de zéro. Et si c'était le cas, il suffirait d'ajouter une ligne au dictionnaire.
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
# Simple et rapide
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au message Advent of Code 2023 : Day 4. ĂvaluĂ©Â Ă Â 1.
Une solution simple mais efficace :
J'ai trouvé le problÚme étonnamment simple, j'y suis arrivé du premier coup pour les deux parties.
Et contrairement à beaucoup de monde ce jour-là , cette solution est presque instantanée à l'exécution, de l'ordre de 0.01 sec.
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
# Python
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au message Advent of Code 2023 : Day 3. ĂvaluĂ©Â Ă Â 1. DerniĂšre modification le 04 dĂ©cembre 2023 Ă 20:49.
Voici ma solution du jour :
J'ai passé beaucoup de temps à essayer de comprendre pourquoi diable les test fonctionnaient mais pas l'input ! La réponse était dans ma fonction pour récupérer la taille d'un entier :
Avec
while nb > 0
au lieu dewhile nb >= 1
. Mais les données de test fonctionnaient, c'était incompréhensible.Et oui, je suis un grand adepte du
try ... except
quand je code vite et crade.L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
# C'Ă©tait trop simple... je suspecte un piĂšge !
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au message Advent of Code 2023 : Day 2. ĂvaluĂ©Â Ă Â 1.
Ma solution en Python :
C'Ă©tait presque simple aujourd'hui, c'est suspect.
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
# Python
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au message Advent of Code 2023 : Day 1. ĂvaluĂ©Â Ă Â 1.
Ma solution :
AprÚs quelques essais en remplaçant avant de traiter, je me suis rendu compte que le plus simple était de reprendre intégralement la logique de la partie 1 en vérifiant une chaine plutÎt qu'un nombre.
Et c'est plutĂŽt propre.
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
[^] # Re: J'y retourne !
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au journal Advent of code 2023. ĂvaluĂ©Â Ă Â 2.
Salut,
Le leadboard LinuxFR 2023 est-il déjà crée ou pas ?
On pourrait aussi essayer de faire comme l'année derniÚre, un journal par jour.
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
[^] # Re: Les mails, c'est compliqué....
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au journal IncompĂ©tence Web. ĂvaluĂ©Â Ă Â 4.
Et parce qu'il faut toujours rire de l'incompétence : https://grisebouille.net/reglons-le-probleme-du-chomage/
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
[^] # Re: Il est loin le temps des cassettes (92-93)
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au journal IA, fais-moi Ă©couter ce que j'aime ?. ĂvaluĂ©Â Ă Â 5.
Petit point libriste : il existe une alternative libre à Shazam nommée Mousai qui fait partie du GNOME Circle, qui existe en version mobile et dont voilà le dépÎt git.
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
[^] # Re: 100patates
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au journal Il est temps que la communautĂ© internationale fasse un choix. ĂvaluĂ©Â Ă Â 3.
Pour ceux qui ont

la flemme de chercherde légers trous de mémoire, voici qui devrait vous rafraichir :L'informatique n'est pas une science exacte, on n'est jamais à l'abri d'un succÚs
[^] # Re: Total manque de respect
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au journal Il est temps que la communautĂ© internationale fasse un choix. ĂvaluĂ©Â Ă Â 5.
Gee a aussi fait une BD sur le sujet : https://grisebouille.net/foutez-la-paix-a-ma-bouffe/
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
[^] # Re: un outil tiers
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au message Se connecter Ă un bureau Ă distance Ă travers une connexion mobile. ĂvaluĂ©Â Ă Â 3.
Auto-réponse : Apache Guacamole semble pouvoir fournir un service semblable, à explorer plus en détail.
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
[^] # Re: un outil tiers
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au message Se connecter Ă un bureau Ă distance Ă travers une connexion mobile. ĂvaluĂ©Â Ă Â 1.
Le cas 1 me semble une trÚs bonne idée, je note.
Ne serait-il pas possible, si on voulait pousser le bouchon un peu plus loin, d'imaginer qu'on héberge un service libre semblable à NoMachine chez un Chaton ou autre hébergeur dans ce style ? Je vais chercher.
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
[^] # Re: Ce que j'avais fait Ă une Ă©poque .....
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au message Se connecter Ă un bureau Ă distance Ă travers une connexion mobile. ĂvaluĂ©Â Ă Â 3.
C'est en effet une trĂšs bonne piste, mais je ne pourrais pas l'utiliser. En effet, je n'ai pas la main sur le proxy et la box derriĂšre lesquels je suis, et l'administrateur est trĂšs trĂšs trĂšs frileux sur l'ouverture des ports.
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
# La suite de l'histoire
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au message Guichet unique, microentreprise et identitĂ© numĂ©rique. ĂvaluĂ©Â Ă Â 3. DerniĂšre modification le 21 novembre 2023 Ă 20:41.
Il y a une suite Ă l'histoire de Gee.
Mais pas de solution pour l'instant.
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
[^] # Re: IntĂ©rĂȘt ?
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au lien Compile python libs in your env. ĂvaluĂ©Â Ă Â 4.
Le principal avantage est le gain de place, j'imagine que les performances restent les mĂȘmes.
Ăa peut ĂȘtre utile sur des environnements oĂč l'espace disque est limitĂ©, ou bien si tu as des Go de librairies Python (coucou Numpy & Cie) et que tu veux faire du mĂ©nage.
En somme trÚs peu utile dans le cas général. Mais ça prouve qu'on peut compiler du code Python.
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
[^] # Re: A l 'Ă©poque il y avait Term Unit X :
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au lien Le z80, c'est comique (attention Ă vos zylogmatiques). ĂvaluĂ©Â Ă Â 3.
En français, j'ai réussis à avoir les épisodes 1, 2, 4, 6, 7 et 8 de Ubunchu.
En anglais, on peut tous les avoir facilement ici et lĂ .
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
[^] # Re: Les autres aussi
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au lien Vous pouvez dire Ă Google si vous refusez que votre site serve Ă entraĂźner ses IA via robots.txt. ĂvaluĂ©Â Ă Â 4.
Quelqu'un aurait-il une liste de bots qu'il est bon de bloquer, et pourquoi ?
Je vois que NixCraft en bloque une bonne tripotée, quelqu'un pourrait-il m'aider à comprendre pourquoi ?
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
[^] # Re: Je ne suis pas sûr que les logiciels libres soient moins consommateurs de ressources CPU/Mém
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au journal Cailloux, joujoux, bijoux. ĂvaluĂ©Â Ă Â 0.
Et la compilation doit-elle ĂȘtre prise en compte ?
Un programme en C a Ă©tĂ© compilĂ© et donc a consommĂ© dĂ©jĂ des ressources importantes avant mĂȘme d'ĂȘtre utilisĂ©Â ! Il faut donc un certain nombre d'utilisations pour amortir.
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
[^] # Re: El Psy Kongroo
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au lien page onlyfans du Conseil EuropĂ©en pour la Recherche NuclĂ©aire. ĂvaluĂ©Â Ă Â 3.
Surtout les fans.
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
# Se passer d'AppImage
PostĂ©Â par alberic89 đ§ . En rĂ©ponse au message glibc insuffisante. ĂvaluĂ©Â Ă Â 4.
Bonjour,
je suppose que tu as essayé d'utiliser un AppImage, mais que tu n'as pas pu.
N'essaye JAMAIS de toucher à ta glibc, à moins de vouloir tout péter sans possibilité de retour.
Tu as plusieurs solutions :
- Passer à Debian Sid (trÚs déconseillé)
- Essayer d'utiliser l'archive
webcamoid-portable-linux-9.1.1-x64.tar.xz
sur la page https://github.com/webcamoid/webcamoid/releases en l'extrayant et lançant le fichier webcamoid.sh- Compiler toi-mĂȘme le logiciel en suivant les instructions Ă https://github.com/webcamoid/webcamoid/wiki/Build-and-install-in-GNU-Linux-and-FreeBSD (peu recommandĂ©)
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs
[^] # Re: Et le parallélisme ?
PostĂ©Â par alberic89 đ§ . En rĂ©ponse Ă la dĂ©pĂȘche De Zig et des zags. ĂvaluĂ©Â Ă Â 1.
à ma connaissance, Zig n'inclut que ce systÚme dans sa syntaxe, qui est mieux expliquée ici, et en quoi elle permet de faire du parallélisme : https://kristoff.it/blog/zig-colorblind-async-await/
Mais je suppose qu'il existe des tas de librairies C et bientÎt des librairies Zig qui implémentent des fonctions beaucoup plus avancées.
L'informatique n'est pas une science exacte, on n'est jamais Ă l'abri d'un succĂšs