J'aurais pu vous faire un journal racontant la même chose, mais c'est franchement hors sujet et puis j'ai un peu la flemme de tout réécrire en français. J'espère que ça vous intéressera quand même.
La réaction de l'IETF est de se demander quelle est la solution la plus rapide pour mettre ce document à la poubelle. La procédure normale serait d'attendre son expriration sans rien faire, mais des sites de news commencent à s'emparer du sujet et à raconter n'importe quoi (par exemple que c'est un projet de l'IETF, alors ou'ils l'ont juste reçu et publié).
Oui c'est un peu plus clair en lisant l'article référencé sur la définition de l'expressivité.
Given two universal programming language that only differ by a set of programming constructs {c1, … cn}, the relation holds if the additional constructs do not make the larger language more expressive than the smaller one. Here “more expressive” means that
the translation of a program with occurrences of one of the constructs ci to the smaller language requires a global reorganization of the entire program.
C'est lié à la notion de "sucre syntaxique": des constructions supplémentaires qui sont trivialement traduites en constructions plus simples, et dont la suppression en passant d'un langage à l'autre n'aboutit pas à une réorganisation de tout le programme.
Avec cette définition, intuitivement, le C++ est plus expressif. Il a des pointeurs avec lesquels on peut faire de l'arithmétique , des accès hors des bornes, des accès à de la mémoire déjà libérée, par exemple.
Donc avec cette définition, l'avantage du Rust serait qu'il est moins expressif: il rend impossible d'écrire certaines choses, ou au moins il faut considérablement refactoriser le code pour y parvenir. Mais avec cette définition, l'assembleur est probablement le langage le plus expressif: celui qui permet de tout faire. Pour moi ça pointe vers le fait que ce n'est pas vraiment la bonne notion ici.
Alors, les gens qui parlent de l'expressivité du Rust, utilisent-ils le mauvais terme, ou bien ont-ils une autre définition de l'expressivité d'un langage?
L'article parle de l'argument comme quoi Rust serait plus expressif et permet de faire des choses impossibles ou très compliquées en C++.
Il explore donc la conversion de code Rust en C++ et montre que le code obtenu est en général assez proche du point de vue de sa structure algorithmique, de sa gestion du cycle de vie des objets, etc.
Sa conclusion est qu'il n'y a pas de problème d'expressivité en C++: il permet d'écrire tout ce qu'on peut écrire en Rust, avec les mêmes résultats. L'avantage de Rust viendrait plutôt de la réjection des constructions invalides.
Je crois qu'il y a là un gros problème avec la description de l'expressivité. Cette vision se concentre uniquement sur le code généré et exécuté. Or, l'expressivité de Rust, elle est plutôt dans les possibilités d'expliciter toutes sortes de choses qui justement ne sont pas utile une fois le code compilé. Mais qui sont par contre essentielles pour que le compilateur puisse bien faire son travail de vérification, et aussi pour que les développeurs du projet aient cette information.
Cela va même plus loin puisque, si j'ai bien compris, l'auteur compare des lignes de code C++ sans les tests, et des lignes de code Rust avec les tests, car en Rust, les tests sont dans le même fichier que l'implémentation. Forcément, cela permet de conclure que le code C++ est plus petit…
Finalement la chose à retenir est peut-être là: la valeur de Rust n'est pas d'écrire du meilleur code dans l'absolu. Elle est surtout de communiquer clairement la construction de votre code, non seulement avec le compilateur qui pourra peut-être mieux l'optimiser (je m'attendais à voir quelques mesures de performances ou de taille d'exécutables obtenues, mais non, rien du tout); mais surtout avec vos collègues ou le vous du futur qui va devoir relire, modifier et maintenir ce code. Dommage de passer à côté de ça, non?
Ça semble très artificiel et capillotracté, mais c'est aussi un souci pour le logiciel libre car git enregistre les noms dans les commits. Comme écrit dans cet article sur git, on peut changer son nom mais ça implique de réécrire l'historique et de faire un push --force
Anticipez les problèmes, utilisez un pseudonyme dans vos commits git et encouragez les gens à en faire de même. Et utilisez une adresse mail qui ne contient pas vos noms et prénoms, aussi.
Le dirigeant a ainsi pour projet d’arriver à plus de 80 % de composants européens pour ses prochains supercalculateurs.
Ils les comptent comment, leurs pourcentages? Si c'est au poids, ce chiffre doit être facile à atteindre en ciblant les châssis métalliques, les transformateurs pour l'alimentation électrique et éventuellement les câbles et les circuits imprimés.
Si c'est au nombre de transistors, par contre, ça sera peut être plus compliqué, ou plus intéressant.
Il me semble que ce n'est pas arrivé jusque là pour la Game Boy: certains éditeurs ont réussi à dessiner un logo ayant le même checksum mais une apparence différente (attaque par collision de hash, donc), rendant la "protection" inefficace et empêchant Nintendo de faire le procès initialement prévu pour usage non autorisé de sa marque et contrefaçon.
Il y a des restaurants qui font de la bouffe correcte mais pas très bonne. Mais on leur donne pas d'étoile au guioe michelin. Il y a même des distributeurs de pizza 100% automatiques.
Il y a des plombiers qui font des soudures correctes mans pas très bonnes. Mais on leur demande pas de construire des réacteurs nucléaires (enfin j'espère).
C'est pareil pour l'informatique. Selon les entreprises, les clients et les projets, les moyens et les enjeux ne sont pas les mêmes. Dans mon cas, l'utilisation oe LLM est tout simplement interdite (et ce n'est pas ma décision, même si ça me convient très bien).
C'est toujours de l'optimisation, c'est juste que dans un cas on cherche à optimiser la vitesse d'exécution du code et dans l'autre on cherche à optimiser le temps passé par les développeurs à écrire le code (ou les risques de régression en refactorisant le code existant, ou d'autres facteurs).
Selon les projets, c'est l'un ou l'autre qui coûte le plus cher.
J'utilise plein de trucs qui datent d'avant l'invention de la carte SD pour ma part.
C'est donc forcément Windows (ou Wine) et un port parallèle ou série, ou parfois des disquettes (bien que dans ce dernier cas, des solutions existent pour passer par une carte SD).
Ceci dit, même si ton fichier à la fin est sur une carte SD, il faut bien l'avoir généré avec un outil à un moment dans la chaîne.
Je propose "publication glissante" et "compétence" à la place. Pour ce dernier, utiliser le terme français met mieux en évidence le ridicule du truc en évitant la distance que l'anglais peut mettre (pour un locuteur non natif) entre le mot choisi et la réalité des choses.
il ne semble faire aucun doute que l'aspiration et l'analyse par un système automatisé sont licites;
euh, non?
Relis la license, elle est pas très longue et très claire, il y a une condition à respecter:
Si tu réutilises du code sus license MIT, tu dois inclure le texte complet de la license ainsi que la mention de copyright avec les années et les noms des auteurs.
Ce n'est pas très contraignant, mais ça permet de tracer le code et de savoir qui l'a écrit (car, c'est bien connu, les développeurs de logiciels libres travaillent pour la gloire, pas pour l'argent).
Si le LLM recrache une fonction sous license MIT sans mettre le nom de l'auteur, le copyright, et le texte de la license, ça ne especte pas la license. Il y a des chances que la license soit disponible dans la mémoire du LLM. Mais les noms des auteurs et les copyright, c'est moins sûr…
Alors j'aime beaucoup encadrer des stagiaires. Pourtant, je sais d'avance que le code produit ne va pas être utilisable, qu'il va falloir repasser 15 fois sur les relectures. Je sais que ça va me prendre 5 fois plus de temps que de faire les choses moi-même. Par contre, si ça fonctionne bien, à la fin du stage, j'ai un collègue qui est monté en compétence, et qui est opérationnel pour commencer à prendre part au développement du projet.
"Encadrer" des LLM, qui ne peuvent jamais apprendre ce qu'on leur explique, et devoir répéter, répéter, et encore répéter? Et en plus, savoir qu'on travaille moins vite que si on faisait les choses soi même, c'est l'enfer. Pourquoi des gens s'infligent-ils ça?
J'ai, heureusement, des volets manuels dans les chambres. Même sans incendie, effectivement la perspective d'une coupure de courant survenant lorsque les volets sont fermés m'embête un peu. Mais je n'ai pas eu le choix: les volets étaient électriques et motorisés avant que je les domotise. Donc ce problème se posait déjà.
J'ai u un humain compétent en ligne dans la minute. Non seulement lors de ce déménagement, mais aussi lors de plusieurs incidents précédents où ma ligne ne fonctionnait plus, cela a été rétabli rapidement (quelques jours maximum).
Le bot whatsapp et l'application sont très facilement contournables une fois que vous connaissez l'url des formulaires de contact.
On demande à des LLM d'essayer de prouver des théorèmes qui sont faux.
Le meilleur modèle arrive à répondre que le théorème est faux dans environ 40% des cas. Et encore, si on pose plusieurs fois la question, de temps en temps il peut ne pas voir le problème, donc il y a seulement 20% des cas ou le problème est détecté de façon fiable.
Les autres LLM sont encore plus à la ramasse, avec un qui atteint un tout petit score de 3%.
Ceci avec une évaluation relativement généreuse:
On ne vérifie pas si le raisonnement pour prouver que le théorème est faux est correct. Le modèle peut donc gagner des points avec un raisonnement mathématique foireux ou sur un coup de chance.
Des points partiels sont accordés si le modèle choisit de modifier silencieusement la question posée pour obtenir un théorème qui est effectivement vrai, et prouver ce dernier.
Bref: ne demandez pas à votre LLM de prouver un théorème, sauf si vous êtes déjà absolument sûr qu'il existe bien une preuve.
Une erreur s'est glissée dans l'exemple de mosquitto_sub: il faut utiliser l'option -v au lieu de -d pour avoir l'affichage du topic. -d fonctionne aussi mais affiche en plus plein d'autres choses pas intéressantes.
J'ai mis en place une règle cron pour lancer un script toute les minutes via /etc/cron.d/shutters:
#!/usr/bin/python3importpaho.mqtt.clientasmqttfromdatetimeimportdatetimeimportsysnow=datetime.now()action=NoneOPEN=99WARN=90HALF=50CLOSE=0shutters=["zwave/Salon_Ouest/Shutter_Salon_Ouest/switch_multilevel/endpoint_1/targetValue/set","zwave/Salon_Est/Shutter_Salon_Est/switch_multilevel/endpoint_1/targetValue/set","zwave/Cuisine/Shutter_Cuisine/switch_multilevel/endpoint_1/targetValue/set",]ifnow.month<4ormonth>9:# Winter mode: close at nightifnow.hour==7andnow.minute>40andnow.minute<=45:action=OPEN# Close a little bit first, make sure everyone is insideifnow.hour==20andnow.minute>55andnow.minute<=60:action=WARNifnow.hour==21andnow.minute>0andnow.minute<=5:action=CLOSEelse:# Summer mode: close during the day# On weekends, only half-close to let some light inifnow.weekday()>4:ifnow.hour==8andnow.minute>25andnow.minute<=30:action=WARNifnow.hour==8andnow.minute>30andnow.minute<=35:action=HALFifnow.hour==23andnow.minute>0andnow.minute<=5:action=OPENelse:ifnow.hour==8andnow.minute>25andnow.minute<=30:action=WARNifnow.hour==8andnow.minute>30andnow.minute<=35:action=CLOSEifnow.hour==17andnow.minute>25andnow.minute<=30:action=WARNifnow.hour==17andnow.minute>30andnow.minute<=35:action=HALFifnow.hour==23andnow.minute>0andnow.minute<=5:action=OPEN# If there is nothing to do, well, do nothingifactionisNone:sys.exit(0)client=mqtt.Client()# Number of pending requestspending=-1# Callback called when the client is connected.# Publish all commands and set "pending" to continue looping until they are processed.@client.connect_callback()defon_connect(client,userdata,flags,reason_code):globalpendingpending=len(shutters)forshutterinshutters:client.publish(shutter,action)# Publish esponse callback. Decrement the pending request count@client.publish_callback()defon_publish(client,userdata,mid):globalpendingpending=pending-1# Connect and wait for all requests to be processedclient.connect("localhost")whilepending!=0:client.loop()
Je verrai si cela nécessite des améliorations plus tard. On peut beaucoup simplifier en faisant un script qui accepte en argument le pourcentage d'ouverture des volets, et plusieurs règles cron pour l'appeler aux heures adéquates. Pour commencer j'ai fait sans trop réfléchir, un script appelé toutes les 5 minutes, qui décide pour chaque tranche de 5 minutes ce qu'il a besoin de faire ou pas.
Déjà je vous dirai demain si mes volets se sont bien ouverts tout seuls!
Tiens, je n'ai jamais pensé à ça. Chez moi j'ai du zigbee, et je n'ai pas constaté de problème de communication sur la borne wifi ou le recepteur zigbee.
Oui en fait c'est peu probable qu'il y aie vraiment des problèmes. Le wifi sera sans doute beaucoup plus perturbé par la présence d'autres réseaux wifi chez les voisins, et par le four à micro-ondes (qui m'a posé des problèmes à l'époque où il se trouvait au milieu de l'appartement, avec la box d'un côté et l'ordinateur de l'autre. J'avais des coupures de vidéos youtube lorsque je me préparais un chocolat chaud. Mais ce n'est plus le cas, sûrement le matériel récent est plus résistant, et puis le wifi est compatible 5GHz maintenant).
Mais il fallait bien une raison ou une autre pour justifier le choix du Z-Wave. Je n'ai du coup rien contre le Zigbee, que je n'ai pas testé (pour l'instant…).
Ils n'ont vendu que 1200 unités, c'est donc de la production en série moyenne (ni petite, ni grande) qui est probablement la plus pénible à faire: pas assez pour faire un moule d'injection plastique, mais trop pour pouvoir facilement imprimer en 3D par exemple. La solution retenue est donc de l'usiner à partir d'un bloc de polycarbonate. Ce qui fait qu'il faut acheter un bloc de plastique puis en réduire la majorité en copeaux. Peu efficace du point de vue de l'utilisation du matériau, mais c'est probablement la solution la plus économique pour ce volume de production.
Même chose pour l'assemblage des circuits imprimés: les coûts de configuration des machines "pick and place" vont être plus importants que le coût des composants placés dedans.
Il faut compter aussi l'emballage, l'expédition (probablement vers plusieurs pays avec les casse-tête administratifs que ça comporte), la certification CE et FCC, et surtout le prototypage du matériel et le développement du firmware.
Finalement, sur un tel volume de production, ce n'est pas le prix des composants électroniques qui domine les coûts (ça ne vaut effectivement vraiment pas très cher).
Le choix de matériel (un processeur ESP32) pour ce lecteur MP3 me semble surprenant. Ce sont des composants où la RAM disponible se compte en kilo-octets, ce qui est bien peu. Une RAM externe de 8Mo se rajoute, mais elle est accessible en SPI ce qui semble peu pratique.
Ce CPU étant un peu limité, il y en a un deuxième juste pour gérer la communication via le port USB.
Le premier iPod avait 32Mo de RAM puis cela est passé à 64Mo à partir de la 5ème génération (capable de lire de la vidéo).
Peut-être qu'un autre choix de matériel aurait permis d'avoir un peu plus de marge de maneuvre pour écrire le logiciel plus facilement, ou bien pourquoi pas utiliser Rockbox au lieu de re-développer tout un firmware?
En fait je ne gère que la réception des mails et pas l'envoi. C'est beaucoup plus facile.
Pour l'envoi actuellement je passe par gmail qui relaie mes messages. Il y a longtemps j'étais abonné chez Alice ADSL et je pouvais utiliser les serveurs de free comme relais, mais chez Red je n'ai pas réussi à faire la même chose.
Il faudra que je regarde si je peux trouver un autre fournisseur pour ça. Effectivement, auto héberger l'envoi sans avoir de reverse DNS correct et avec une IP "résidentielle" risque d'être compliqué.
ça semble possible de demander un "rollback IPv4" même en étant nouveau client. En tout cas je ne vois pas de raison pour laquelle ça ne fonctionnerait pas. Dans mon cas il s'agit d'un déménagement mais j'ai changé de numéro de téléphone, d'adresse IP et de version de la box. Donc finalement c'est presque une nouvelle ouverture de ligne.
Mais il faut effectivement contacter le service technique par téléphone, et peut-être qu'il faut avoir la chance de tomber sur quelqu'un qui comprend ce qu'on demande. J'ai lu sur d'autres forums que certains clients ont du tenter leur chance plusieurs fois. Peut-être que certains mots clés (dire qu'on a un NAS, parler de CGNAT ou de Rollback IPv4) permettent de se faire comprendre sans avoir à rentrer trop dans les détails techniques.
# Ceci n'est pas un journal
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au lien Remise en service d'une chaîne hifi de 1990. Évalué à 7 (+4/-0).
J'aurais pu vous faire un journal racontant la même chose, mais c'est franchement hors sujet et puis j'ai un peu la flemme de tout réécrire en français. J'espère que ça vous intéressera quand même.
[^] # Re: Précédemment
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au lien Internet Protocol Version 8 (IPv8). Évalué à 7 (+4/-0).
La réaction de l'IETF est de se demander quelle est la solution la plus rapide pour mettre ce document à la poubelle. La procédure normale serait d'attendre son expriration sans rien faire, mais des sites de news commencent à s'emparer du sujet et à raconter n'importe quoi (par exemple que c'est un projet de l'IETF, alors ou'ils l'ont juste reçu et publié).
# L'année de l'IPv6
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au lien Internet Protocol Version 8 (IPv8). Évalué à 7 (+4/-0).
Selon les statistiques de Google, l'adoption d'IPv6 est sur le point de dépasser les 50% du traffic reçu par Google cette année.
La France semble en tête du classement avec 86% des utilisateurs qui requêtent déjà Google en IPv6.
Est-ce que c'est le bon moment pour se dire qu'il faudrait mettre en place un nouveau protocole?
[^] # Re: Y'a un truc qui me chiffonne
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au lien The Reverse Rewrite. Évalué à 6 (+3/-0).
Oui c'est un peu plus clair en lisant l'article référencé sur la définition de l'expressivité.
C'est lié à la notion de "sucre syntaxique": des constructions supplémentaires qui sont trivialement traduites en constructions plus simples, et dont la suppression en passant d'un langage à l'autre n'aboutit pas à une réorganisation de tout le programme.
Avec cette définition, intuitivement, le C++ est plus expressif. Il a des pointeurs avec lesquels on peut faire de l'arithmétique , des accès hors des bornes, des accès à de la mémoire déjà libérée, par exemple.
Donc avec cette définition, l'avantage du Rust serait qu'il est moins expressif: il rend impossible d'écrire certaines choses, ou au moins il faut considérablement refactoriser le code pour y parvenir. Mais avec cette définition, l'assembleur est probablement le langage le plus expressif: celui qui permet de tout faire. Pour moi ça pointe vers le fait que ce n'est pas vraiment la bonne notion ici.
Alors, les gens qui parlent de l'expressivité du Rust, utilisent-ils le mauvais terme, ou bien ont-ils une autre définition de l'expressivité d'un langage?
# Y'a un truc qui me chiffonne
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au lien The Reverse Rewrite. Évalué à 10 (+10/-0).
L'article parle de l'argument comme quoi Rust serait plus expressif et permet de faire des choses impossibles ou très compliquées en C++.
Il explore donc la conversion de code Rust en C++ et montre que le code obtenu est en général assez proche du point de vue de sa structure algorithmique, de sa gestion du cycle de vie des objets, etc.
Sa conclusion est qu'il n'y a pas de problème d'expressivité en C++: il permet d'écrire tout ce qu'on peut écrire en Rust, avec les mêmes résultats. L'avantage de Rust viendrait plutôt de la réjection des constructions invalides.
Je crois qu'il y a là un gros problème avec la description de l'expressivité. Cette vision se concentre uniquement sur le code généré et exécuté. Or, l'expressivité de Rust, elle est plutôt dans les possibilités d'expliciter toutes sortes de choses qui justement ne sont pas utile une fois le code compilé. Mais qui sont par contre essentielles pour que le compilateur puisse bien faire son travail de vérification, et aussi pour que les développeurs du projet aient cette information.
Cela va même plus loin puisque, si j'ai bien compris, l'auteur compare des lignes de code C++ sans les tests, et des lignes de code Rust avec les tests, car en Rust, les tests sont dans le même fichier que l'implémentation. Forcément, cela permet de conclure que le code C++ est plus petit…
Finalement la chose à retenir est peut-être là: la valeur de Rust n'est pas d'écrire du meilleur code dans l'absolu. Elle est surtout de communiquer clairement la construction de votre code, non seulement avec le compilateur qui pourra peut-être mieux l'optimiser (je m'attendais à voir quelques mesures de performances ou de taille d'exécutables obtenues, mais non, rien du tout); mais surtout avec vos collègues ou le vous du futur qui va devoir relire, modifier et maintenir ce code. Dommage de passer à côté de ça, non?
# Pseudonymat
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Les systèmes informatiques, le RGPD, la libre circulation et les droits des personnes trans. Évalué à 4 (+1/-0).
Anticipez les problèmes, utilisez un pseudonyme dans vos commits git et encouragez les gens à en faire de même. Et utilisez une adresse mail qui ne contient pas vos noms et prénoms, aussi.
# Relocalisation
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au lien L'État rachète officiellement Bull pour 404 millions d'euros et sécurise les supercalculateurs de la France. Évalué à 10 (+9/-0).
Ils les comptent comment, leurs pourcentages? Si c'est au poids, ce chiffre doit être facile à atteindre en ciblant les châssis métalliques, les transformateurs pour l'alimentation électrique et éventuellement les câbles et les circuits imprimés.
Si c'est au nombre de transistors, par contre, ça sera peut être plus compliqué, ou plus intéressant.
[^] # Re: Nintendo
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal OnlyOffice vs Euro-Office : une faille empêchant les forks dans AGPLv3 ?. Évalué à 5 (+2/-0).
Il me semble que ce n'est pas arrivé jusque là pour la Game Boy: certains éditeurs ont réussi à dessiner un logo ayant le même checksum mais une apparence différente (attaque par collision de hash, donc), rendant la "protection" inefficace et empêchant Nintendo de faire le procès initialement prévu pour usage non autorisé de sa marque et contrefaçon.
[^] # Re: Trop tôt pour moi
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au lien Les IA génératives sont en train de me dégoûter de mon métier.. Évalué à 7 (+4/-0).
Il y a des restaurants qui font de la bouffe correcte mais pas très bonne. Mais on leur donne pas d'étoile au guioe michelin. Il y a même des distributeurs de pizza 100% automatiques.
Il y a des plombiers qui font des soudures correctes mans pas très bonnes. Mais on leur demande pas de construire des réacteurs nucléaires (enfin j'espère).
C'est pareil pour l'informatique. Selon les entreprises, les clients et les projets, les moyens et les enjeux ne sont pas les mêmes. Dans mon cas, l'utilisation oe LLM est tout simplement interdite (et ce n'est pas ma décision, même si ça me convient très bien).
[^] # Re: Pendant ce temps
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal De développeur à orchestrateur, comment l'IA a changé ma vie. Évalué à 5 (+2/-0).
C'est toujours de l'optimisation, c'est juste que dans un cas on cherche à optimiser la vitesse d'exécution du code et dans l'autre on cherche à optimiser le temps passé par les développeurs à écrire le code (ou les risques de régression en refactorisant le code existant, ou d'autres facteurs).
Selon les projets, c'est l'un ou l'autre qui coûte le plus cher.
[^] # Re: dommage de ne se concentrer que sur les jeux ....
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Wine 11 : NTSYNC débarque en production et ça envoie du lourd. Évalué à 5 (+2/-0).
J'utilise plein de trucs qui datent d'avant l'invention de la carte SD pour ma part.
C'est donc forcément Windows (ou Wine) et un port parallèle ou série, ou parfois des disquettes (bien que dans ce dernier cas, des solutions existent pour passer par une carte SD).
Ceci dit, même si ton fichier à la fin est sur une carte SD, il faut bien l'avoir généré avec un outil à un moment dans la chaîne.
[^] # Re: anglicismes
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Un skill pour apprendre à l'IA à utiliser Manjaro. Évalué à 6 (+3/-0).
Je propose "publication glissante" et "compétence" à la place. Pour ce dernier, utiliser le terme français met mieux en évidence le ridicule du truc en évitant la distance que l'anglais peut mettre (pour un locuteur non natif) entre le mot choisi et la réalité des choses.
[^] # Re: Quid du code?
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au lien Proposition de loi relative à l'instauration d'une présomption d'exploitation des contenus culturels par les fournisseurs d'intelligence artificielle. Évalué à 10 (+7/-0).
euh, non?
Relis la license, elle est pas très longue et très claire, il y a une condition à respecter:
Si tu réutilises du code sus license MIT, tu dois inclure le texte complet de la license ainsi que la mention de copyright avec les années et les noms des auteurs.
Ce n'est pas très contraignant, mais ça permet de tracer le code et de savoir qui l'a écrit (car, c'est bien connu, les développeurs de logiciels libres travaillent pour la gloire, pas pour l'argent).
Si le LLM recrache une fonction sous license MIT sans mettre le nom de l'auteur, le copyright, et le texte de la license, ça ne especte pas la license. Il y a des chances que la license soit disponible dans la mémoire du LLM. Mais les noms des auteurs et les copyright, c'est moins sûr…
[^] # Re: Pendant ce temps
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal De développeur à orchestrateur, comment l'IA a changé ma vie. Évalué à 10 (+17/-0).
Alors j'aime beaucoup encadrer des stagiaires. Pourtant, je sais d'avance que le code produit ne va pas être utilisable, qu'il va falloir repasser 15 fois sur les relectures. Je sais que ça va me prendre 5 fois plus de temps que de faire les choses moi-même. Par contre, si ça fonctionne bien, à la fin du stage, j'ai un collègue qui est monté en compétence, et qui est opérationnel pour commencer à prendre part au développement du projet.
"Encadrer" des LLM, qui ne peuvent jamais apprendre ce qu'on leur explique, et devoir répéter, répéter, et encore répéter? Et en plus, savoir qu'on travaille moins vite que si on faisait les choses soi même, c'est l'enfer. Pourquoi des gens s'infligent-ils ça?
[^] # Re: Corrections et compléments
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Je domotise mes volets roulants (avec cron et mqtt). Évalué à 4 (+1/-0).
ça fonctionne presque parfaitement, l'un des 3 volets ne s'ouvre qu'à 90%, il faut que je trouve pourquoi. Je vais vérifier sa calibration…
[^] # Re: Douche froide
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Je domotise mes volets roulants (avec cron et mqtt). Évalué à 6 (+3/-0).
J'ai, heureusement, des volets manuels dans les chambres. Même sans incendie, effectivement la perspective d'une coupure de courant survenant lorsque les volets sont fermés m'embête un peu. Mais je n'ai pas eu le choix: les volets étaient électriques et motorisés avant que je les domotise. Donc ce problème se posait déjà.
[^] # Re: SFR
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Sortir du CGNAT chez Red by SFR, c'est facile. Évalué à 3 (+0/-0).
J'ai u un humain compétent en ligne dans la minute. Non seulement lors de ce déménagement, mais aussi lors de plusieurs incidents précédents où ma ligne ne fonctionnait plus, cela a été rétabli rapidement (quelques jours maximum).
Le bot whatsapp et l'application sont très facilement contournables une fois que vous connaissez l'url des formulaires de contact.
# Résumé
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au lien BrokenArXiv: How Often Do LLMs Claim To Prove False Theorems?. Évalué à 7 (+4/-0).
On demande à des LLM d'essayer de prouver des théorèmes qui sont faux.
Le meilleur modèle arrive à répondre que le théorème est faux dans environ 40% des cas. Et encore, si on pose plusieurs fois la question, de temps en temps il peut ne pas voir le problème, donc il y a seulement 20% des cas ou le problème est détecté de façon fiable.
Les autres LLM sont encore plus à la ramasse, avec un qui atteint un tout petit score de 3%.
Ceci avec une évaluation relativement généreuse:
Bref: ne demandez pas à votre LLM de prouver un théorème, sauf si vous êtes déjà absolument sûr qu'il existe bien une preuve.
# Corrections et compléments
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Je domotise mes volets roulants (avec cron et mqtt). Évalué à 5 (+2/-0).
Une erreur s'est glissée dans l'exemple de mosquitto_sub: il faut utiliser l'option -v au lieu de -d pour avoir l'affichage du topic. -d fonctionne aussi mais affiche en plus plein d'autres choses pas intéressantes.
J'ai mis en place une règle cron pour lancer un script toute les minutes via /etc/cron.d/shutters:
Le contenu du script:
Je verrai si cela nécessite des améliorations plus tard. On peut beaucoup simplifier en faisant un script qui accepte en argument le pourcentage d'ouverture des volets, et plusieurs règles cron pour l'appeler aux heures adéquates. Pour commencer j'ai fait sans trop réfléchir, un script appelé toutes les 5 minutes, qui décide pour chaque tranche de 5 minutes ce qu'il a besoin de faire ou pas.
Déjà je vous dirai demain si mes volets se sont bien ouverts tout seuls!
[^] # Re: Anticiper l'avenir
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Je domotise mes volets roulants (avec cron et mqtt). Évalué à 3 (+0/-0).
Oui en fait c'est peu probable qu'il y aie vraiment des problèmes. Le wifi sera sans doute beaucoup plus perturbé par la présence d'autres réseaux wifi chez les voisins, et par le four à micro-ondes (qui m'a posé des problèmes à l'époque où il se trouvait au milieu de l'appartement, avec la box d'un côté et l'ordinateur de l'autre. J'avais des coupures de vidéos youtube lorsque je me préparais un chocolat chaud. Mais ce n'est plus le cas, sûrement le matériel récent est plus résistant, et puis le wifi est compatible 5GHz maintenant).
Mais il fallait bien une raison ou une autre pour justifier le choix du Z-Wave. Je n'ai du coup rien contre le Zigbee, que je n'ai pas testé (pour l'instant…).
[^] # Re: Licence de Qt
Posté par pulkomandy (site web personnel, Mastodon) . En réponse à la dépêche Nouveautés de Sailfish OS 5.0. Évalué à 4 (+1/-0).
Pour lever tout doute, c'est toujours la même chose en Qt 6: https://doc.qt.io/qt-6/licensing.html
[^] # Re: Pour résumer
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au lien Un test du Tangara, le clone de l'iPod pour hacker en open hardware. Évalué à 5 (+2/-0).
Ils n'ont vendu que 1200 unités, c'est donc de la production en série moyenne (ni petite, ni grande) qui est probablement la plus pénible à faire: pas assez pour faire un moule d'injection plastique, mais trop pour pouvoir facilement imprimer en 3D par exemple. La solution retenue est donc de l'usiner à partir d'un bloc de polycarbonate. Ce qui fait qu'il faut acheter un bloc de plastique puis en réduire la majorité en copeaux. Peu efficace du point de vue de l'utilisation du matériau, mais c'est probablement la solution la plus économique pour ce volume de production.
Même chose pour l'assemblage des circuits imprimés: les coûts de configuration des machines "pick and place" vont être plus importants que le coût des composants placés dedans.
Il faut compter aussi l'emballage, l'expédition (probablement vers plusieurs pays avec les casse-tête administratifs que ça comporte), la certification CE et FCC, et surtout le prototypage du matériel et le développement du firmware.
Finalement, sur un tel volume de production, ce n'est pas le prix des composants électroniques qui domine les coûts (ça ne vaut effectivement vraiment pas très cher).
[^] # Re: Pour résumer
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au lien Un test du Tangara, le clone de l'iPod pour hacker en open hardware. Évalué à 8 (+5/-0).
Le choix de matériel (un processeur ESP32) pour ce lecteur MP3 me semble surprenant. Ce sont des composants où la RAM disponible se compte en kilo-octets, ce qui est bien peu. Une RAM externe de 8Mo se rajoute, mais elle est accessible en SPI ce qui semble peu pratique.
Ce CPU étant un peu limité, il y en a un deuxième juste pour gérer la communication via le port USB.
Le premier iPod avait 32Mo de RAM puis cela est passé à 64Mo à partir de la 5ème génération (capable de lire de la vidéo).
Peut-être qu'un autre choix de matériel aurait permis d'avoir un peu plus de marge de maneuvre pour écrire le logiciel plus facilement, ou bien pourquoi pas utiliser Rockbox au lieu de re-développer tout un firmware?
[^] # Re: IPv4 agnostique de ton FAI
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Sortir du CGNAT chez Red by SFR, c'est facile. Évalué à 6 (+3/-0).
En fait je ne gère que la réception des mails et pas l'envoi. C'est beaucoup plus facile.
Pour l'envoi actuellement je passe par gmail qui relaie mes messages. Il y a longtemps j'étais abonné chez Alice ADSL et je pouvais utiliser les serveurs de free comme relais, mais chez Red je n'ai pas réussi à faire la même chose.
Il faudra que je regarde si je peux trouver un autre fournisseur pour ça. Effectivement, auto héberger l'envoi sans avoir de reverse DNS correct et avec une IP "résidentielle" risque d'être compliqué.
[^] # Re: Aucune adresse précédente
Posté par pulkomandy (site web personnel, Mastodon) . En réponse au journal Sortir du CGNAT chez Red by SFR, c'est facile. Évalué à 8 (+5/-0).
ça semble possible de demander un "rollback IPv4" même en étant nouveau client. En tout cas je ne vois pas de raison pour laquelle ça ne fonctionnerait pas. Dans mon cas il s'agit d'un déménagement mais j'ai changé de numéro de téléphone, d'adresse IP et de version de la box. Donc finalement c'est presque une nouvelle ouverture de ligne.
Mais il faut effectivement contacter le service technique par téléphone, et peut-être qu'il faut avoir la chance de tomber sur quelqu'un qui comprend ce qu'on demande. J'ai lu sur d'autres forums que certains clients ont du tenter leur chance plusieurs fois. Peut-être que certains mots clés (dire qu'on a un NAS, parler de CGNAT ou de Rollback IPv4) permettent de se faire comprendre sans avoir à rentrer trop dans les détails techniques.