pulkomandy a écrit 2018 commentaires

  • [^] # Re: Aucune légitimité

    Posté par  (site web personnel, Mastodon) . En réponse au lien B. Kernighan (co-créateur d'Unix) sur Rust : « Je ne pense pas qu'il va remplacer C tout de suite ». Évalué à 3 (+0/-0).

    Et les CPU sont tellement pas cher que on en met vraiment partout. Un chargeur de téléphone aujourd'hui a un processeur à 200MHz, bien plus puissant que la plupart des ordinateurs dans les années 90. Même chose pour un disque dur ou un SSD, la plupart des périphéricues USB utilisent un coeur Intel 8051 boosté, …

    Donc d'une certaine façon l'architecture est déjà pas mal distribuée. Mais il y a des processeurs classiques partout, et le besoin de réaliser des circuits spécialisés (qui sont plus chers, c'est un peu le sur mesure de l'électronique) est de moins en moins justifié car les performances avec un CPU générique sont bien suffisantes.

  • [^] # Re: Aucune légitimité

    Posté par  (site web personnel, Mastodon) . En réponse au lien B. Kernighan (co-créateur d'Unix) sur Rust : « Je ne pense pas qu'il va remplacer C tout de suite ». Évalué à 10 (+10/-0).

    Question de béotien : comment arrives-tu à ça ? C'est intéressant comme point de vue, je suis curieux !

    En regardant ce qui se fait ailleurs, par exemple, les LISP Machines qui ont (ou avaient) un jeu d'instruction plutôt dédié à manipuler très rapidement des listes chaînées; les données dans la mémoire sont "taggées" par exemple pour indiquer si une adresse contient une valeur entière, une référence vers un autre objet, ou rien du tout, ce qui est très utile au garbage collector pour nettoyer la mémoire.

    Ou plein d'autres architectures historiques comme le z80, sur lequel écrire un compilateur C est possible, mais assez pénible, parce que les registres et instructions sont spécialisés pour faire d'autres choses. Par exemple, il n'y a pas vraiment de quoi implémenter un "frame pointer". Sur un processeur 68000, SPARc ou x86, ça se fait en une instruction (link/unlink, save/restore, et un mov bp, sp avec un offset sur le dernier). Ils ont tous les 3 également des modes d'adressages indexés, on peut donc facilement avoir sur la pile un pointeur vers une structure, et en une ou deux instructions, on va:

    • Récupérer ce pointeur dans la mémoire (adressage par bp + offset)
    • Ajouter un offset à ce pointeur (soit un offset constant pour accéder à un champ d'une structure, soit un nombre d'éléments multiplié par la taille d'un élément pour accéder à un tableau
    • lire ou écrire quelque chose à cette addresse

    C'est un exemple de ce que je disais par "nombreux niveaux d'indirection de pointeurs". Bien sur on écrit pas int**** truc; dans un programme, mais on écrit facilement ce genre de code:

    struct machin* truc;
    truc->champ1[index].chose = 3;
    

    Si on compte on a ici:

    • Premier niveau: le pointeur de pile
    • Deuxième niveau: le pointeur truc avec l'offset champ1
    • Troisième niveau: l'index dans le tableau champ1
    • Quatrième niveau, l'index de chose dans l'élément de champ1

    Le code passe plus de temps à manipuler des adresses que des données (comme donnée dans cet exemple il y a la constante 3). Si on regarde un processeur comme le 68000, on voit que la moitié des registres sont dédiés aux calculs d'adresses en conséquence. C'est encore plus flagrant sur son petit frère 8 bit le 6809: pour gérer les adresses on a 4 registres 16 bit, alors que pour les données on en a un seul (découpable en 2 moitiés de 8 bits). Et les calculs sur les adresses sont plus rapides car ils disposent d'une unité arithmétique 16 bit dédiée (alors que les calculs sur les données sont fait en 8 bit et donc en 2 fois).

    Il y a d'autres processeurs où la pile est limitée à 256 éléments au total. Sur le z80, on peut simuler un registre BP avec l'un des deux registres d'index, mais on ne peut pas adresser plus de 256 octets de mémoire et les index sont forcément constants. Pour tout le reste il faut faire des acrobaties qui consomment une quinzaine d'instructions.

    On a des informations historiques des concepteurs de ces langages, aussi. Pour le x86, ce n'est pas exactement le C qui était visé, mais plutôt le Pascal. Mais le modèle d'exécution est assez similaire: fonctions avec passage de paramètres sur la pile, structures, tableaux. Pas de programmation objet, par exemple (ce qui se concentrerait plutôt sur des sauts indirects via des vtables). ça n'a pas vraiment été étudié pour les coroutines non plus.

    Pour le SPARC, les choix de jeu d'instruction ont été faits en simulant l'exécution de code existant. Comme c'était en plein dans l'époque de UNIX pour Sun, ça a forcément été fait avec du C.

    De mémoire, il y avait eu un essai avec des processeurs Java, et c'était pas la folie. Ça ne veut pas dire que la prochaine fois ce sera aussi un échec, mais l'idée a été testée.
    D'ailleurs, dans les processeurs Apple (M1 etc.), il me semble qu'il y a des circuits dédiés à JavaScript, pour accélérer certains comportements.

    Pour le Java, je suppose que tu parles des processeurs ARM Jazelle. Qui ont été un échec pour deux raisons: d'une part parce que ce mode d'exécution est incomplètement documenté par ARM, et d'autre part parce qu'il ne correspond pas du tout au fonctionnement interne des machines virtuelles Java de l'époque (qui font beaucoup de transformations sur le bytecode pour l'opptimiser avant de l'exécuter).

    Pour le Javascript, effectivement il existe plusieurs opérations dédiées pour des comportements spécifiques sur certaines opérations mathématiques (ce n'esst pas spécifique à Apple, on trouve ça dans plusieurs processeurs ARM et c'est dans le jeu d'instruction officiel).

    Dans les choses qui n'ont pas marché on peut aussi citer l'Intel iAPX 432 dont le but était de faire un processeur orienté objet.

    Et un autre qui rejoint un peu ce que j'essaie de dire, c'est l'architecture Itanium de Intel. Le but était justement de supprimer des couches de complexité dans les processeurs (réordonnancement des instructions, renommage de registres, exécution spéculative) pour remettre tout ça sous la responsabilité du compilateur. En théorie, ce n'est pas une mauvaise idée pour avoir un langage vraiment "proche du matériel". En pratique, la densité du code est plus basse (et donc il s'exécute moins vite, parce que la mémoire est beaucoup plus lente que le processeur), et surtout, le code compilé est lié à une implémentation spécifique du CPU. Si une nouvelle génération de CPU devient disponible, avec, par exemple, des unités de traitement ou des registres supplémentaires, il faut tout recompiler pour en tirer parti. C'est l'erreur qu'ont fait les générations précédentes de RISC avec le "branch delay slot" par exemple (exécuter une instruction supplémentaire après un jump, avant d'aller à la nouvelle addresse: ça simplifiait beaucoup le design initial avec un pipeline à 4 étages seulement, mais c'est resté ensuite dans le jeu d'instruction alors que ça n'avait plus aucun intérêt).

    On semble donc se diriger, aussi bien dans le logiciel que dans le matériel, vers une solution intermédiaire: un code assembleur qui fournit une représentation compacte de ce qu'il faut exécuter, mais tout en étant facile à décoder et optimiser par des phases de pré-traitement avant d'être exécutée. C'est le principe des machines virtuelles (javascript, java, wasm), mais c'est aussi ce qu'il se passe à l'intérieur des processeurs modernes (pré-décodage du jeu d'instruction x86 ou ARM vers des instructions internes microcodées; jeu d'instruction Thumb sur ARM pour gagner en densité et en bande passante mémoire). Une exception notable est le RISC-V, qui part dans la direction opposée avec un jeu d'instruction très minimaliste et donc peu dense, avec dans l'idée que cela pourrait permettre à ce pré-traitement d'être plus complexe et intrusif (c'est un peu plus facile de manipuler ce flot d'instruction si chaque instruction fait très peu de choses), mais par contre avec une densité faible qui risque de poser problème si les mémoires ne font pas de gros progrès en vitesse d'accès.

    Au final, il y a en fait un genre de co-évolution: on exécute beaucoup de code basé sur le modèle d'exécution du C, donc on achète (et on fabrique) les processeurs qui sont efficace pour ça, et les autres architectures sont oubliées depuis longtemps. Les compilateurs s'adaptent également à ces processeurs courants. Et si quelqu'un vient proposer un langage avec des idées radicalement différentes, il vient se heurter à des processeurs pas forcément adaptés et donc à une pénalité de performances.

  • [^] # Re: Aucune légitimité

    Posté par  (site web personnel, Mastodon) . En réponse au lien B. Kernighan (co-créateur d'Unix) sur Rust : « Je ne pense pas qu'il va remplacer C tout de suite ». Évalué à 6 (+5/-2).

    Le C était proche du matériel du PDP-11 sur lequel il a été conçu. Il n'est pas du tout proche du matériel actuel, malgré les efforts des fabricants de processeurs pour adapter leur architecture à l'exécution du C et de langages apparentés (stockage de grosse données sur la pile d'exécution; opérations sur les pointeurs avec plusieurs niveaux d'indirection; …). Ce sont des choses qui n'étaient pas du tout évidentes à l'époque de l'invention du C. En d'autres termes, c'est le hardware actuel qui est proche du C, et non lwinverse.

    Les choses seraient certainement plus simples avec un langage plus haut niveau laissant le soin au compilateur et au fabricant de processeur de choisir comment l'implémenter.

    Si Rust a autant de succès que C, un jour ou lwautre on verra apparaître dans les processeurs et dans les systèmes d'exploitation de nouvelles primitives (instructions, appels systèmes, …) pour l'implémenter plus efficacement.

  • [^] # Re: tu oublies que ça se compile

    Posté par  (site web personnel, Mastodon) . En réponse au journal Microsoft libère le code de leur Basic pour le microprocesseur 6502. Évalué à 3 (+0/-0).

    Le code ascii définit les 128 premiers caractères, si on encode sur 8 bits on peut faire un peu ce qu'on veut avec les 128 autres.

    Le BASIC étant dévelophé sur un PDP-10, une machine avec des mots de 36 bits découpables en 2x18 bits, c'est sûrement un peu différent. Le listing a l'air de ne pas utilise de lettres minuscules par exemple, il est donc loin d'exploiter toutes les possibilités de l'encodage ascii!

  • [^] # Re: appli privatrice

    Posté par  (site web personnel, Mastodon) . En réponse au journal Lettre ouverte à Radio France. Évalué à 4 (+1/-0).

    La version sncf gares et connexions aussi. Il y a des écrans partout dans les gares. Avant ils affichaient les horaires de départ des trains. Maintenant ils affichent "les horaires de départ des trains sont dans notre application".

  • [^] # Re: Le cas Commodore

    Posté par  (site web personnel, Mastodon) . En réponse au journal Microsoft libère le code de leur Basic pour le microprocesseur 6502. Évalué à 3 (+0/-0).

    Il suffit de compiler le code et de vérifier qu'on obtient une image de ROM identique à l'original, ce sera probablement plus rapide à vérifier

  • [^] # Re: tu oublies que ça se compile

    Posté par  (site web personnel, Mastodon) . En réponse au journal Microsoft libère le code de leur Basic pour le microprocesseur 6502. Évalué à 7 (+4/-0). Dernière modification le 05 septembre 2025 à 15:03.

    La version de 1975 était pour le processeur Intel 8080, et en particulier pour le micro-ordinateur Altaïr.

    A priori, les sources ne sont pas disponibles publiquement. Mais une copie est disponible à Harvard. Elle a été découverte lors d'un déménagement, elle était tombée derrière des meubles, "quelques temps avant 1980". Heureusement, un des professeurs présents sur place lors de ces travaux a compris que ça ne devrait pas partir à la poubelle et l'a confié aux archivistes.

    Voilà comment fonctionne la préservation des logiciels…

  • [^] # Re: tu oublies que ça se compile

    Posté par  (site web personnel, Mastodon) . En réponse au journal Microsoft libère le code de leur Basic pour le microprocesseur 6502. Évalué à 10 (+10/-0).

    OK j'ai compris ce qu'il s'est passé, il s'agit bêtement d'une erreur de lien vers le side de Michael Steil dans l'annonce de Microsoft.

    Ils ont mis un lien vers cette page de 2008 qui contient des sources obtenues par reverse engineering.

    Mais Michael Steil ne s'est pas arrêté là, et en 2015 il a retrouvé les sources originales. Pas du tout dans les archives de Microsoft, mais via un site coréen, qui lui-même avait récupéré des fichiers de Apple qui ont fuité via un certain David T. Craig qui avait publié du code source liés aux Apple ][ et au Lisa en 1993. Cette partie est expliquée à la fin de l'article, et le processus de développement sur PDP-10 et les outils utilisés sont également expliqués. Je comprend mieux que Microsoft ne se soit pas vanté des origines de ce code plus en détail, si j'étais mauvaise langue je dirais qu'ils ont fait exprès de se tromper de page dans leur annonce.

    La bonne nouvelle, c'est que maintenant j'ai les réponses à mes questions et qu'il y a moins de doutes sur la provenance de ce code. On ne saura pas exactement quelle modifications Apple ou David Craig ou les autres personnes qui ont eu ces fichiers entre leurs mains ont pu y apporter, mais on a une explication précise du reformatage fait par Michael Steil pour tenter de se rapprocher de ce à quoi pouvait ressembler le code original.

  • [^] # Re: tu oublies que ça se compile

    Posté par  (site web personnel, Mastodon) . En réponse au journal Microsoft libère le code de leur Basic pour le microprocesseur 6502. Évalué à 7 (+4/-0).

    Oui, en regardant les fichiers de plus près, ça semple vraiment venir des archives (avec par exemple les commentaires tout en majuscules d'époque), mais ce n'est pas très clair (les explications dans le blog pointent plutôt vers autre chose?) et ça manque de traçabilité, ce qui est dommage.

    La moindre des choses (dans ce contexte d'archivage et de préservation historique) serait de préciser:
    - d'où viennent les fichiers utilisés
    - qu'est-ce qui a été modifié (changement d'encodage? Numérisation d'un listing papier avec risque d'erreurs de reconnaissance de caractères? Changement de support de stockage c'est à peu près certain)
    - qu'est-ce qui a été ajouté (par exemple, le fichier gitignore antidaté, c'est assez maladroit)
    - qu'est-ce qui a été perdu hour l'instant (les informations sur la chaîne de compilation, par exemple, dont on peut déduire des commentaires qu'il s'agissait d'outils fonctionnant sur un PDP-10 avec un simulateur de 6502)

    Ce sont ces informations manquantes qui font que on doute sur l'authenticité du code source, ou en tout cas, c'est difficile de dire à quel point il a pu être altéré. Et donc, même si ce fichier est finalement authentique, on ne peut pas en être sûr.

    Pour l'exemple du fichier gitignore: ça nous semble évident aujourd'hui. Mais si un historien de l'informatique trouvait ces fichiers dans 50 ans (ou plus), tels qu'ils ont été publiés, ça pourrait le à devoir faire des recherches supplémentaires sur la date d'apparition de git, chose qui ne serait pas forcément simple à ce moment là (j'espère que si, mais on ne sait jamais).

    Il y a quelques rois quand j'ai voulu trouver ds infos sur certaias contrôleurs vidéo commercialisés dans les années 70, j'ai eu quelques difficultés à trouver des infos fiaples. Le 6845 de Motorola aurait soi-disant été conçu par Hitachi, mais je ne trouve que des sources récentes à ce sujet qui répètent la même chose sans source fiable. Pour les dates de commercialisation, impossiple de trouver quoi que ce soit, la meilleure solution est d'éplucher les pages de publicités de magasines où des revendeurs font apparaître le composant à leur catalogue. Et quand il s'agit oe trouver la date de fin de production, n'en parlons même pas.

  • [^] # Re: tu oublies que ça se compile

    Posté par  (site web personnel, Mastodon) . En réponse au journal Microsoft libère le code de leur Basic pour le microprocesseur 6502. Évalué à 10 (+10/-0).

    Je lis l'annonce de Microsoft qui dit:

    Over the years, dedicated preservationists have reconstructed build environments and verified that the historical source can still produce byte-exact ROMs. Notably, Michael Steil documented and rebuilt the original BASIC process for multiple targets. He has ported the code to assemblers like cc65, making it possible to build and run on modern systems.

    This open-source release builds on that work, now with a clear, modern license

    Je lis la page de Michael Steil qui est liée:

    If you disassemble a single binary, you can never tell why something was done in a certain way. If you have eight different versions, you can tell a lot. This episode of “Computer Archeology” is about reverse engineering eight different versions of Microsoft BASIC 6502 (Commodore, AppleSoft etc.), reconstructing the family tree, and understanding when bugs were fixed and when new bugs, features and easter eggs were introduced.

    Ma conclusion est qu'il s'agit oe reverse engineering. Microsoft aurait remis le source dans un format permettant de le compiler sur les logiciels d'époque, mais il n'y a aucune mention nulle part de:

    • comment ces fichiers ont été restaurés à partir de sauvegardes de 1978 (je ne pense pas que Bill Gates a dit "ah oui bien sûr je les ai toujours migré d'une machine à l'autre à chaque fois que j'ai fait un upgrade, tenez voici les fichiers". Éventuellement on peut imaginer qu'ils avaient une version sur papier et que le travail de Michael Steil a permis de vérifier que le code générait bien des binaires identiques?
    • Même l'illustration du blog de Microsoft est une photo de la version du basic pour intel 8080 qui est exposée dans un musée.
    • quels outils il faut utiliser pour les compiler? Le readm dit "Assembly Format: Compatible with period assemblers for 6502 development"

    Il y a quelques autres bizarreries comme le fichier .gitignore antidaté à il y a 48 ans (bien avant l'invention de git, si vous n'avez pas suivi). Pour moi cela rend ces infos peu exploitabnes si on veut étudier ce source comme un artefact historique. Peut-être qu'il est authentique, que Microsoft est effectivement très bon pour garder des backups de son code source pendant 50 ans sur des supports facilement accessibles, et qu'ils ont juste eu à récupérer le fichier sur leur serveur de sources actuel oùeil était disponible. Mais ça manque de preuves pour en établir l'authenticité, ce qui serait intéressant si on veut s'en servir pour étudier comment les développeurs géraient la compilation conditionelle en 1978 pour cibler plusieurs machines avec le même source.

    Si on veut simplement étudier le fonctionnement du BASIC ou le porter sur une nouvelle machine, par contre, l'officialisation de la license par Microsoft est une très bonne nouvelle!

  • [^] # Re: tu oublies que ça se compile

    Posté par  (site web personnel, Mastodon) . En réponse au journal Microsoft libère le code de leur Basic pour le microprocesseur 6502. Évalué à 10 (+7/-0).

    Le code qui est publié est une reconstruction de sources à partir de l'analyse des binaires de multiples versions du BASIC pour différentes machnes. Plus d'explications par lwauteur de ce travail. Microsoft a récupéré ces informations et a "officialisé" la chose et la license (ce qui pose question, car une partie des changements documentés ne sont pas de leur fait, mais d'entreprises qui avaient acheté et "forké" le BASIC). Est-ce qu'ils ont tout puolié, ou bien ils ont pris soin dans leur version de ne garder que les variantes sur lesquelles ils sont effectivement propriétaires du copyright?

  • [^] # Re: Compliqué les nouveaux patrons de tapisserie

    Posté par  (site web personnel, Mastodon) . En réponse au journal Conception d’un circuit intégré avec OpenRoad. Évalué à 3 (+0/-0).

    J'avais vu passer les photos sur le fediverse mais je n'avais pas lu l'aticle complet, qui explique un peu pourquoi ce tissage existe. J'ai appris plein de choses sur la fabrication de circuits intégrés par les indiens Navajo dans les années 1960-70, dont certains qui se trouvent peut-être sur la Lune.

  • [^] # Re: Solution fonctionnelle actuellement ?

    Posté par  (site web personnel, Mastodon) . En réponse au lien Mastodon says it doesn’t ‘have the means’ to comply with age verification laws. Évalué à 5 (+2/-0).

    J'ai lu ici que plusieurs sites pornos parmi les plus connus ont été bloqués en France faute d'avoir mis en place une vérification de l'âge (puis peut-être débloqués, voire rebloqués… il me semble que le feuilleton a été assez complexe et je ne me rappelle plus de la fin).

    Pas vraiment, une loi demandant aux sites pornos de mettre une vérification d'âge en place été publiée, certains sites (pornhub, youporn et d'autres appartenant au même éditeur) se sont auto-bloqués avec un message expliquant pourquoi ils sont opposés à cette loi avant même qu'elle soit appliquée.

    Cela leur a permis d'indiquer clairement à leur clientèle que le blocage n'est effectif qu'en France, et donc il y a eu un pic d'abonnement à divers services de VPN.

    D'autres sites ont mis en place diverses vérifications ou se sont engagés à le faire.

    Je ne crois pas qu'il y aie de blocage effectif pour l'instant. Et s'il y en avait un, ce sera probablement une mesure du type blocage DNS (plutôt facile à contourner) si les sites en question ne sont pas hébergés en France (ils ne le sont pas pour la plupart).

  • [^] # Re: Résumé de la situation

    Posté par  (site web personnel, Mastodon) . En réponse au lien Mastodon says it doesn’t ‘have the means’ to comply with age verification laws. Évalué à 4 (+1/-0).

    Ta restriction d'âge sur youporn, c'est un peu comme mettre un barrière d'1m de haut, sur un carré de 2m/2m sur une plage de la baie du mont saint-Michel pour interdire de ramasser du sable.

    Je croyais qu'on essayait de la désensabler, cette baie?

  • [^] # Re: Compliqué les nouveaux patrons de tapisserie

    Posté par  (site web personnel, Mastodon) . En réponse au journal Conception d’un circuit intégré avec OpenRoad. Évalué à 6 (+3/-0).

    Pas besoin, quelqu'un s'en est déjà chargé:

    Intel Pentium en tissage Navajo

  • [^] # Re: Adult swim

    Posté par  (site web personnel, Mastodon) . En réponse au lien Mastodon says it doesn’t ‘have the means’ to comply with age verification laws. Évalué à 5 (+2/-0).

    Et effectivement, c'est possible. Il faut avoir des organismes certificateurs qui ont une preuve de ta majorité (par exemple, l'État, ta banque, etc), et un algorithme qui permet de transmettre la preuve de majorité au site cible sans que le site cible n'ait aucune autre information sur toi, et que l'organisme certificateur n'ait aucune information sur le site cible.

    Comment peut-on associer la preuve de majorité d'une personne à une connexion internet, ou à un terminal connecté à internet?

    Il faut une info du genre "cette adresse IP appartient à une personne majeure" ou alors "ce cookie appartient à une personne majeure". Les cookies tout comme les adresses IP sont relativement facile à partager entre plusieurs personnes.

    Donc tout ce que tu peux vérifier, c'est "je possède le certificat d'une personne majeure", mais ce certificat a pu être obtenu par vol, trafic, revente, partage de compte, …

    Donc la solution technique a l'air boiteuse.

    On peut aussi discuter de l'aspect, est-ce que c'est souhaitable de mettre en place ce genre de choses. On peut avoir une opposition de principe (avec des arguments par exemple qui disent que c'est aux parents de ne pas laisser leurs enfants se promener tout seuls sur internet), mais aussi on peut avoir une opposition après avoir étudié les conséquences de la solution mise en place (risque de trafic illégal de certificats, risque de fuite de données, risque de tracking qui pourrait servir à vendre de la publicité ciblée, inefficacité de la solution technique, dépendance à une entreprise étrangère, …)

  • [^] # Re: Résumé de la situation

    Posté par  (site web personnel, Mastodon) . En réponse au lien Mastodon says it doesn’t ‘have the means’ to comply with age verification laws. Évalué à 6 (+3/-0).

    Ça me semblerait plus malin de dire "on a mis en place la protection demandée dans cette loi stupide même si on est pas d'accord avec, d'autant plus qu'elle est inefficace et très facile à contourner en faisant [mode d'emploi pour contourner le truc]". Plutôt que de ne rien faire, de se trouver ouvertement dans l'illégalité et de devenir un argument hour les gens qui disent "vous voyez? Le dark web, cette zone de non droit!"

  • # Résumé de la situation

    Posté par  (site web personnel, Mastodon) . En réponse au lien Mastodon says it doesn’t ‘have the means’ to comply with age verification laws. Évalué à 10 (+13/-1).

    Eugen Rockhode Mastodon GMBH, développeur du logiciel Mastodon, dit que ce n'est pas sa responsabilité de faire en sorte que chaque instance Mastodon implémente les vérifications d'âge demandées.

    Eugen Rockho de Mastodon GMBH, hébergeur de l'instance Mastodon.social, dit qu'il n'est pas en mesure de mettre en place les vérifications d'âge demandées parce que le logiciel qu'ils utilise, Mastodon, développé par Mastodon GMBH, n'implémente pas les fonctionnalités nécessaires.

    Un joli exercice pour essayer de se débarasser de la patate chaude en la faisant passer sans cesse de la main droite à la main gauche?

  • [^] # Re: Quoi d'autre

    Posté par  (site web personnel, Mastodon) . En réponse au lien Imgur: la communauté se retourne contre le propriétaire de la plateforme. Évalué à 5 (+2/-0).

    Pour ce type de service, je ne vois pas comment une solution centralisée peut fonctionner. Les images ne sont jamais supprimées et donc l'espace disque utilis, ne fait qu'augmenter à chaque nouveau fichier. Forcément cela devient ingérable à un moment, sans parler des problèmes de modération.

    Comment financer ça? Avec un abonnement? Est-ce qu'alors on supprime les fichiers quand la personne ne paie plus? Avec un paiement unique à chaque upload? Avec de la hublicité? Difficile si le but est de faire apparaître l'image sur d'autres sites.

    Dans le cas contraire, si chacun héberge ses propres fichiers, on doit se retrouver avec des tailles de stockage plus raisonables. Ce qui par contre pourrait être intéressant, ce serait de stocker un hash de l'image permettant de la retrouver plus facilement et ainsi de découpler le lieu de stockage de l'identifiant de l'image. On pourrait utiliser des liens "magnet", et un protocole come gnutella, bittorrent, ou ipfs.

    On peut noter que ce genre de système n'est pas vraiment nouveau. Par exemple, aujourd'hui il est assez facile d'identifier un livre par son ISBN, pour ensuite en trouver une copie dans une bibliothèque ou une librairie. C'est bête que les liens hypertextes du web ne fonctionnent pas comme ça et reposent sur un unique exemplaire de l'hébergement du contenu.

  • [^] # Re: why ?

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Haiku a 24 ans - nouvelles de l'été 2025. Évalué à 5 (+2/-0).

    Le décodage de vidéo n'utilise pas l'accélération GPU en général. ça sert plutôt pour le rendu 3D et on en fait quasiment pas dans Haiku (à part quelques écrans de veille). L'accélération du décodage de vidéos pourrait aussi être mise en place un jour.

    Pour le chiffrage des disques, il y a https://github.com/axeld/driveencryption mais pour l'instant ça ne fonctionne pas pour le disque de démarrage. Il faut donc stocker les données sur un autre disque. En attendant mieux, bien sûr.

    Sur la gestion d'énergie, le minimum est en place (cpuidle, réduction de la fréquence CPU quand on a pas besoin qu'il tourne à pleine vitesse) mais il y a encore de gros progrès à faire, c'est certain: mise en veille suspend-to-RAM, arrêt des périphériques non utilisés, optimisation des applications pour réduire les réveils inutiles du CPU, regroupement des causes de réveil par synchronisation de timers qui n'ont pas besoin d'une échéance très précise, …

  • [^] # Re: why ?

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Haiku a 24 ans - nouvelles de l'été 2025. Évalué à 10 (+9/-0).

    C'est le seul système sur mon laptop principal sur lequel je fais tout mon développement (beaucoup de C++ pour Haiku lui-même et les logiciels qui fonctionnent dessus, un peu de Python, et cette semaine j'ai commencé mon premier projet en Rust par exemple).

    J'ai un serveur Linux qui héberge plusieurs trucs chez moi, sur lequel je peux me connecter en SSH si j'ai besoin d'un Linux (c'est assez rare, mais par exemple pour flasher postmarketos sur une vieille tablette, ça ne valait pas la peine d'essayer de porter tous les outils nécessaires vers Haiku).

    J'ai également un PC Windows pour les choses que je ne peux pas encore faire avec Haiku. Entre autres, pour Kicad et divers autres outils pour de l'électronique (programmation de microcontrôleurs, …), occasionnellement du reverse engineering avec IDA, ce genre de choses. Ce PC est sous Windows 7, je ne compte pas le mettre à jour et j'espère pouvoir migrer ces outils vers Haiku pour la plupart (ou utiliser des alternatives libres).

    J'ai encore des problèmes pour tout faire sur Haiku:

    • WebPositive ne lit pas les vidéos youtube. Il y a des solutions alternatives (installer Iceweasel, utiliser mpv, …), mais de toutes façons sur mon laptop actuel j'ai des problèmes de driver de carte son que je n'ai pas encore réussi à complètement démêler.
    • Je ne suis pas satisfait par les clients mail existants. Un jour j'en développerai un. Mais je peux m'en sortir avec un webmail si besoin (j'ai snappymail installé sur mon serveur mail).
    • J'aimerais beaucoup arriver à faire fonctionner mes deux écrans (celui du PC portable plus un externe) en même temps (actuellement c'est soit l'un soit l'autre). Les cartes graphiques Intel sont devenues de plus en plus compliquées et il manque du code dans nos pilotes pour initialiser tout ça comme il faut.
    • On peut éventuellement ajouter un pilote webcam pour faire des visioconférences, mais ça me sert peut être trois fois dans l'année, alors c'est pas très grave. Je peux faire ça avec mon téléphone.

    Pour tout le reste, je n'ai pas de raison de lancer un autre système. Je peux lancer LibreOffice, IceWeasel/Firefox, à peu près toutes les applications en Qt si j'ai besoin. C'est un peu mentionné dans la dépêche mais récemment j'ai porté dosemu, donc je peux lancer plein d'outils pour MS-DOS :D (mais en vrai ce serait super d'avoir de la virtualisation avec accélération matérielle un jour, pour lancer un Linux dans une VM).

    Je passe parfois un peu de temps à empaqueter des logiciels qui ne sont pas encore disponibles. Mais c'est assez simple à faire et avec l'intégration continue, c'est disponible dans les paquets logiciels pour tout le monde dès le lendemain. Les processus de contribution à Debian (par exemple, ailleurs j'ai jamais regardé) me semblent beaucoup plus opaques (c'est peut-être simplement parce que ça fait plus de 15 ans que je navigue dans Haiku et que je connaît trop bien comment ça marche, j'aurais peut-être pu être tout aussi à l'aise chez Debian).

    Il m'arrive aussi de trouver des bugs dans le système en essayant de faire des trucs. Ou juste des choses qui manquent. Mais d'un autre côté, c'est souvent des choses que je peux corriger moi-même, plutôt que de me faire balader entre les bugtrackers de plusieurs projets qui se renvoient la balle, ou ignorer lorsque j'envoie des patchs sur une mailing list de contribution (ce n'est pas le cas partout, mais ça arrive).

    Quelque part je me dis que c'est bien qu'il reste de niche, comme ça il reste simple.

    Potentiellement la niche "utilisateurs de PC de bureau" est assez large et on a l'impression parfois que les concurrents font tout pour se saborder.

    Les développeurs de Haiku restent vigilants sur ce qui est intégré ou pas dans le système. Effectivement tout reste appréhendable, même si certaines choses sont forcément plus complexes que d'autres. Je dirais que ce qui aide beaucoup, c'est d'avoir un développement un peu centralisé, avec une seule équipe qui maintient tout le code, et donc des pratiques standardisées. Cela contribue à démystifier pas mal de choses, d'une façon qui me semble plus difficile à mettre en place dans un système à base de Linux, où les projets se sont cristallisés autour de zones de friction (la limite entre l'espace utilisateur et le code qui tourne dans le noyau ; les parties client et serveur de la pile graphique) d'une façon qui rend beaucoup plus difficile l'évolution du logiciel lorsque cela remet en question ces interfaces. Mais d'un autre côté, il y a peut-être une limite à ça si l'équipe devient trop grosse, on ne pourrait probablement pas accueillir des milliers de développeurs dans Haiku sans remettre des choses en question.

  • [^] # Re: why ?

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Haiku a 24 ans - nouvelles de l'été 2025. Évalué à 4 (+1/-0).

    Oui, il y a plusieurs utilisateurs dont moi-même. Il y en a d'ailleurs de plus en plus (toutes proportions gardées) suite à la disponibilité d'applications développées en Qt et en GTK ces dernières années (personnellement je trouve que ce n'est pas très intéressant, mais il y a visiblement des gens à qui cela convient très bien).

  • [^] # Re: brillant

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Haiku a 24 ans - nouvelles de l'été 2025. Évalué à 5 (+2/-0).

    Dans l'API de Haiku il faut créer une instance de la classe BApplication pour quasiment tout ce qui va intéragir avec le système (que ce soit pour l'interface graphique, pour les services média audio et vidéo, pour surveiller l'activité du système de fichiers…).

    Je ne sais pas comment le nom a été choisi (cela date de BeOS, l'ancêtre de Haiku), peut-être simplement parce que en anglais, software n'est pas dénombrable et il n'y a donc pas d'autre équivalent de "un logiciel" en Français.

    La traduction en français de Haiku a choisi de conserver le terme anglais qui est assez bien connu en français aussi. Il est également plus spécifique: le serveur graphique de Haiku est un logiciel, mais ce n'est pas une application.

  • # Catégorie

    Posté par  (site web personnel, Mastodon) . En réponse à la dépêche Android n’autorisera plus que les applications des développeurs autorisés. Évalué à 10 (+10/-0).

    Cette dépêche devrait être dans la catégorie Android et pas Ada. Les problèmes de souris qui clique à côté, au moins ça change des claviers qui se blo

  • [^] # Re: L'Art **ET** la Science sont tous les deux primordiaux

    Posté par  (site web personnel, Mastodon) . En réponse au journal Le Palais de la découverte en danger. Évalué à 4 (+1/-0).

    La moindre volonté de faire de la réclame pour un producteur/fournisseur c’est admettre que les gens n’ont pas besoin de ce qu’il compte leur refourguer.

    Ça fait très longtemps qu'il y a des gens persuadés qu'avoir la meilleure solution technique suffit à prendre le contrôle du marché. Si c'était le cas, tout le monoe utiliserait Linux à la place de Windows.

    Sans publicité, personne ne saura jamais que ton produit existe. Tu ne vas jamais rien vendre. On peut discuter du bon dosage, de différentes méthodes plus ou moins honnêtes, mais tu ne peuxpas juste rien faire et attendre que les clients déburquent chez toi.

    Pour la voiture mise en orbite d'Elon: le premier lancement d'un nouveau modèle de fusée est presque toujours fait avec une charge "morte". Aucunclient ne voudrait mettre son satellite (ou autre objet à mettre en orbite) dans une fusée qui n'a jamais volé. Alors, pourquoi pas utiliser ce poid mort pour faire de la pub? C'est sans risque pour personne il me semble?