Aldoo a écrit 2794 commentaires

  • [^] # Re: variable immuable ?

    Posté par  . En réponse à la dépêche À la découverte du langage V. Évalué à 4.

    Ce qui me choque plus, moi, c'est qu'à l'hôpital, on trouve intelligent de surveiller les constantes des patients…

  • [^] # Re: pas sûr d'avoir compris

    Posté par  . En réponse au journal Le temps est gris, faisons de la généalogie. Évalué à 2.

    Toi, t'as pas vu Dark

  • # Prolog ?

    Posté par  . En réponse au journal Letlang, encore un nouveau langage de programmation. Évalué à 7.

    Alors ok, syntaxiquement, Letlang est aux antipodes de Prolog. Mais quand on me parle de langage de programmation basé sur des contraintes logiques et leur résolution, c'est tout de suite à Prolog que je pense.

    Y a-t-il des liens assumés ? (j'ai l'impression que non, vu que Prolog n'est pas cité dans les sources d'inspiration)

  • [^] # Re: Clavier informatique

    Posté par  . En réponse au journal Des concepteurs qui ont éteint trop tôt leur cerveau. Évalué à 4.

    Par ailleurs, en quoi un clavier favorisant l'alternance des mains (comme bépo) aurait-il été un problème pour ces marteaux ? Bien au contraire !

    Je ne dis pas pour les dispositions favorisant les roulements. Colemak aurait été catastrophique.

  • [^] # Re: Double vie

    Posté par  . En réponse au journal Alexandre Astier est un bépoiste convaincu. Évalué à 6.

    Je suis tombé récemment sur un journal de linuxfr de l'année dernière, qui m'a donné envie de me lancer.

    Avec mon cahier des charges je lorgne sur 3 modèles en particulier (ils sont tous dans la liste citée par Lutin) :
    - Redox
    - Lily58
    - Pinky4
    Tous ces claviers sont séparés et décalés par colonne (donc, mieux qu'orthogonaux !), ont au moins un début de 7e colonne pour chaque main, (pas inutile en bépo…) et des touches des pouces qui ont l'air plus accessible que celles de l'Ergodox (principal reproche qui lui est fait, semble-t-il). (D'ailleurs quelqu'un ici aurait déjà essayé l'un de ces claviers ?)

    Malheureusement le nombre de "sold out" chez les différents vendeurs, ça décourage un maximum… Même si je pourrais bien finaliser une configuration, j'aurais toujours eu l'impression d'avoir "choisi" faute de mieux.

    En attendant (que je me décide ou que la situation s'améliore), je me console sur mon TypeMatrix avec Kmonad, qui permet de faire, avec un clavier lambda, à peu près ce que fait QMK avec un clavier programmable.

    En particulier, j'essaye de me mettre aux "homerow mods" (et si je n'accroche pas, ça m'éclairera déjà davantage !).

  • [^] # Re: Désactiver les commentaires ?

    Posté par  . En réponse au journal Du nommage des applications, des descriptions. Que dire, que faire ?. Évalué à 5.

    La sync google a aujourd'hui disparu de toutes les versions de chromium et c'est assez récent.

    On peut penser que certains des commentateurs aient été légitimement surpris par ce changement (quoique avec un nom comme "ungoogled-chromium", c'est quand-même bizarre si cette version a jamais eu google sync… ).

  • [^] # Re: Superbe article, bravo

    Posté par  . En réponse à la dépêche GHC 8.8, 8.10 et 9.0. Évalué à 3.

    Il n'y a pas encore de solution vraiment standard de packaging, entre hpack/cabal/stack/nix/bazel. Le packaging est trop souvent un croisement bâtard de ces différents outils. Mais ça va s'arranger très vite, je suis confiant.
    

    On sait comment ça se termine !

  • [^] # Re: "le lien qui va bien"

    Posté par  . En réponse au journal WhatsApp et Facebook, quels sont mes droits?. Évalué à 10.

    Le carnet d'adresses l'est que si on l'"uploade". Celui déjà dans whatsapp ils l'ont déjà.
    

    Je dois être le seul, mais je n'ai pas compris. Il est quoi, le carnet d'adresses ?
    (Ok je devrais lire la policy mais… )

    Il n'est envoyé au serveur que si on décide de l'envoyer ?
    Mais celui dans whatsapp, il n'est pas déjà identique au carnet du téléphone ? (à cause des permissions forcées)

    Ou bien tu veux dire qu'à partir de maintenant on peut décider de ne plus l'uploader ? (mais que si on le fait, ce sera partagé avec FB ?)

  • [^] # Re: Mon humble avis

    Posté par  . En réponse au journal vers un sciencefr.org ?. Évalué à 5.

    un peu comme www.nextinpact.com et www.inpact-hardware.com.

    Ou comme les sites de la fédération StackExchange ? (stackoverflow.com, askubuntu.com, mathoverflow.net, tex.stackexchange.com, etc.)

    Tous ont le même logiciel (et même une base de comptes utilisateurs commune) mais des contenus différents.

  • [^] # Re: Avec Firefox?

    Posté par  . En réponse à la dépêche Comparaison de deux outils de gestion de séminaires en ligne : BigBlueButton et OpenMeetings. Évalué à 4.

    Utilisant BigBlueButton (greenlight) assez couramment dans le contexte actuel, je peux dire que, fonctionnellement, ça marche bien, aussi bien sous Firefox que sous Chrome.

    Par contre, c'est très gourmand en ressources CPU, dès qu'il y a un peu de monde.
    Sous Firefox, ma machine est assez vite KO (j'ai l'impression que ça empire au fur et à mesure que la session avance).
    Sous Chrome, ça bouffe des ressources aussi, mais ça n'explose pas.

  • [^] # Re: IPV4

    Posté par  . En réponse au sondage Quelle est la technologie la plus obsolète sur ou avec laquelle j'ai dû travailler récemment ?. Évalué à 2.

    #metoo
    (mais ce n'est même pas une option ici !)

  • [^] # Prior art

    Posté par  . En réponse à la dépêche Portrait de Ken Thompson. Évalué à 5.

    D'après Wikipedia, elles avaient déjà été inventées dès l'Antiquité !

  • # Firefox, mode lecture

    Posté par  . En réponse au journal [ma vie] Parfois, il est préférable de ne rien faire. Évalué à 6. Dernière modification le 09 août 2019 à 00:09.

    Sinon, moins sexy, fait le job aussi et ne nécessite pas de greffon : utiliser le mode "lecture" de Firefox (petite icône à droite de la barre d'URL).

    Ce machin m'a assez rarement servi pour les pages web "normales", mais il améliore redoutablement le rendu du texte non formaté !

    Remarque : les options sont basiques, mais suffisantes dans la plupart des cas (mode sombre ou pas, la taille de police, la largeur de colonne et justification du texte).

    (bon évidemment, ça n'ajoute pas de liens ou de sommaire hypertexte)

  • [^] # Re: Vraiment surprenant ?

    Posté par  . En réponse au journal Magic: the Gathering, le problème de l'arrêt, et une inférence un peu rapide. Évalué à 2.

    En même temps, Magic est un peu particulier en tant que jeu.

    En fait, je réfléchis depuis quelque temps à comment l'implémenter mais c'est déjà incroyablement compliqué rien que de s'assurer que tous les mécanismes du jeu sont pris en compte et que l'ajout d'une nouvelle carte ne va pas remettre en question tout le moteur du jeu (i.e. juste écrire la machine qui simule le "programme" décrit par une instance du jeu, on est loin de vouloir vérifier des propriétés dessus).

    De là à vouloir écrire une IA sans faire de grosses hypothèses simplificatrices…

  • [^] # Re: Vraiment surprenant ?

    Posté par  . En réponse au journal Magic: the Gathering, le problème de l'arrêt, et une inférence un peu rapide. Évalué à 3.

    Je me réponds à moi-même : le journal dit bien que la démonstration utilise 200 cartes parmi les 20000 existantes.

    Le résultat n'était peut-être pas surprenant, mais l'exercice n'était donc pas trivial.

  • # Vraiment surprenant ?

    Posté par  . En réponse au journal Magic: the Gathering, le problème de l'arrêt, et une inférence un peu rapide. Évalué à 3.

    Je ne comprends pas trop où est la surprise, étant donné qu'on peut écrire à peu près n'importe quoi dans les cartes.

    J'ai l'impression qu'il serait trivial, par exemple, d'écrire un jeu fini de cartes ad hoc permettant (en mettant le nombre suffisant d'instances dans son deck) d'encoder n'importe quelle machine de Mealy à 2 compteurs.

    Je n'ai pas lu l'article, mais peut-être que la vraie découverte c'est que le jeu est Turing-complet avec les cartes déjà existantes ? (cela dit, étant donné toutes les cartes qui existent, ce n'est pas très surprenant non plus… )

  • [^] # Re: Mécréants

    Posté par  . En réponse au journal Hors sujet mais ... : il y a 775 ans .... Évalué à 7.

    Tout en approuvant le fait que "insulter de", ne soit pas correct, je voudrais juste remarquer que la transitivité de ce verbe n'en est pas la raison.

    Transitif veut simplement dire que le verbe admet un complément d'objet (direct si on ne précise pas "transitif indirect).
    Et en effet, on dit bien "insulter quelqu'un".

    Mais la transitivité (directe) n'empêche pas qu'il puisse y avoir un autre complément d'objet (indirect, autrefois appelé "complément d'objet second", ou "complément d'attribution"). Exemple : "donner quelque chose à quelqu'un".

  • [^] # Re: Je ne suis pas certain de ta conclusion

    Posté par  . En réponse au journal Exécution concurrente vs parallèle. Évalué à 3.

    Je n'avais pas vu ta deuxième réponse non plus avant de répondre à la première. Au temps pour moi.

    Du coup, une question. Si concurrence désigne seulement les situations de calculs non-séquentiels avec compétition pour l'accès aux ressources, comment appellerait-t-on la situation qui regroupe à la fois concurrence et parallélisme ?

  • [^] # Re: Une explication à mon avis plus claire...

    Posté par  . En réponse au journal Exécution concurrente vs parallèle. Évalué à 4. Dernière modification le 29 novembre 2018 à 11:36.

    En informatique théorique, la relation de concurrence désigne souvent la simple absence de causalité entre deux évènements d'une exécution donnée.

    Maintenant, c'est une définition parmi tant d'autres…

  • [^] # Re: Je ne suis pas certain de ta conclusion

    Posté par  . En réponse au journal Exécution concurrente vs parallèle. Évalué à 3.

    La définition de Wikipedia à laquelle je faisais allusion est celle citée dans le journal. Voilà la raison pour laquelle je n'ai pas mis de lien.

    En gros, selon cette définition, et celle que l'auteur du journal avait en tête :
    - concurrence : le fait que deux traitements puissent s'exécuter non-séquentiellement ("en même temps" : que ce soit par entrelacement sur une ressource partagée, ou bien en réelle simultanéité)
    - parallélisme : le fait que la concurrence se matérialise par des exécutions réellement simultanées (ce qui implique matériellement séparées).

    Je pense que ta définition (bien que courante et admissible) est biaisée par le Français, où concurrence prend aussi un autre sens (compétition, rivalité, etc… ).

    En anglais, la concurrence des marchés se dit "competition" et non concurrency. Ce biais n'existe donc pas.

  • [^] # Re: Je ne suis pas certain de ta conclusion

    Posté par  . En réponse au journal Exécution concurrente vs parallèle. Évalué à 2.

    Je crois que le rédacteur du journal tenait juste à montrer sa confusion quant au fait qu'il trouve des définitions différentes en fonction des sources.

    Ta définition (qui correspond à celle illustrée par des chats) n'est pas celle qu'on voit partout (notamment, celle de Wikipedia est plus générale).

    Maintenant, laquelle est-elle la plus courante ?

  • [^] # Re: Rx

    Posté par  . En réponse au journal La programmation concurrente en mode Goto. Évalué à 4.

    • programmation asynchrone : plusieurs traitement sont réalisé au sein d'un même flux de programmation (program flow).

    Ce ne serait pas plutôt l'idée qu'il est possible de faire des appels non-bloquants depuis le flow actuel pour lancer des traitements "en parallèle" (donc dans un autre flow ? Que faut-il appeler un flow ? Pour moi la notion était purement séquentielle !). Les résultats peuvent ensuite être attendus (par l'entremise d'un appel sur un futur ou une promesse).

    Cette définition cadre avec Wikipedia(en).

    Quant à la discussion sur la distinction entre parallélisme et concurrence. La différence se situerait effectivement dans le niveau d'abstraction.

    Je vais donner "mes" définitions succinctes :

    • parallélisme : exécution simultanée de plusieurs tâches (suppose l'existence de plusieurs unités d'exécution indépendantes). Le cas le plus pur étant l'exécution de tâches sur des processeurs physiquement distincts.
    • concurrence : exécution de front de tâches causalement indépendantes

    Considérant qu'une tâche peut consister à simuler une unité d'exécution (dans un paradigme plus haut niveau), plusieurs tâches indépendantes peuvent simuler des unités d'exécution indépendantes. Ainsi la concurrence au niveau d'abstraction n correspond au parallélisme du niveau n+1.

    Supposons qu'on programme avec l'API threads de son langage préféré. Alors 2 tâches s'exécutant sur des threads différents s'exécutent en parallèle du point de vue de l'API exposée. Pourtant, du point de vue de la machine, si elle est mono-core, l'exécution n'est que concurrente.

    Maintenant, si au lieu de programmer les tâches directement sur les threads, on les soumet plutôt à un ThreadPoolExecutor (Java) utilisant un seul thread, même du point de vue de l'API thread, l'exécution est seulement concurrente.

  • # Quelques réactions et... implémentation (existante de base !) en Kotlin

    Posté par  . En réponse au journal La programmation concurrente en mode Goto. Évalué à 5.

    J'ai lu l'article, un peu méfiant (normal quand on lit quelqu'un qui se compare implicitement à Dijkstra ;)).

    Mes pensées :

    • ok, la programmation concurrente ça a toujours été bordélique, on se dit souvent qu'il y a sûrement quelque chose à améliorer ou un paradigme à inventer… donc pourquoi pas…
    • je n'avais jamais pensé à comparer les instructions "go" à des "goto", c'est une idée intéressante (mais est-elle pertinente ? (*)).
    • outre l'idéologie (la "boîte noire") et la beauté de la chose, on résout un problème clair : c'est que les exceptions remontent à l'"appelant", même celui-ci était dans un autre thread.

    (*) Tout dépend de ce qu'on veut inclure das les "boîtes noires".
    Considérant qu'une instruction "go" a juste 1 point d'entrée et 1 point de sortie dans le thread courant, celle-ci ne casse pas forcément l'abstraction "boîte noire". Tout dépend du fait qu'on considère la création de thread comme simple un effet de bord ou non. Là dessus, on peut aussi se dire qu'une bonne boîte noire ne devrait pas avoir d'effets de bord du tout (FP pure).

    Trêve de réflexions philosophiques, je me suis dit que cette idée devait être triviale à implémenter dans tout langage avec une syntaxe fonctionnelle bien conçue. En particulier, en Kotlin, en surcouche des coroutines. Donc j'ai essayé de le faire… pour me rendre compte assez vite que c'était déjà de base dans le framework… de base ou presque. Exemple :

    fun main(args: Array<String>) {
        runBlocking {
            launch(coroutineContext) {
                while (true) {
                    delay(1000)
                    println("coucou")
                }
            }
            launch(coroutineContext) {
                delay(3000)
                throw RuntimeException("Stop !")
            }
        }
    }

    (Ce programme quitte sur une exception au bout de 3 secondes. Celle-ci apparaît bien dans le thread main dans le backtrace.)

    Pourquoi presque ? Parce que ce n'est pas par défaut : il faut préciser le contexte coroutineContext pour avoir un comportement de type nursery. Si on ne le fait pas, la coroutine créée n'est pas enfant de la coroutine du scope extérieur, et donc une exception dans celle-là ne serait pas propagée à celle-ci.

    NJS ne prétendait pas forcément inventer une structure de contrôle complètement nouvelle, mais surtout encourager des langages qui n'autoriseraient la concurrence qu'au travers ce genre de structure. Donc ce "prior art" ne remet pas l'article en question.

    La conclusion, c'est qu'en Kotlin, avec une discipline assez légère (se forcer à n'utiliser que le contexte coroutineContext et ne pas utiliser d'autres primitives de concurrence que celles fournies dans les coroutines), on peut programmer dans le style suggéré par NJS (peut-être même pourrait-on ajouter un support dans l'IDE et dans le build system pour refuser tout programme qui ne s'y plie pas).

  • [^] # Re: Quelle liseuse conseillez-vous ?

    Posté par  . En réponse au journal Galère lors de l'achat d'un livre numérique. Évalué à 2.

    Ça ne devrait tout de même pas s'arrêter du jour au lendemain. Et quand bien même, il reste encore la Bookeen Saga qui est identique à la Nolim 2017, mais n'est pas commercialisée en France pour ne pas faire concurrence à Nolim (raison qui va disparaître aussitôt que la fin de Nolim se confirme, non ?).

  • [^] # Re: Quelle liseuse conseillez-vous ?

    Posté par  . En réponse au journal Galère lors de l'achat d'un livre numérique. Évalué à 2.

    Ayant cassé successivement les écrans de ma PocketBook Touch Lux 2, puis celui de sa remplaçante, une Cybook Muse Frontlight, je ne peux que chaudement recommander la liseuse Carrefour NoLim 2017, avec sa coque intégrée en silicone !

    Les spécifications (informatiques) sont, de nos jours, de toute façon assez similaires quelle que soit la marque (et puis NoLim c'est fabriqué par Bookeen) et les tarifs ne sont pas très éloignés (si on compte le prix de la liseuse + celui d'un étui, la NoLim est en fait plutôt compétititve).

    PS : au passage, on parle assez peu du problème de la solidité des écrans des liseuses, qui ne résistent pas aux centième de ce qu'on peut faire subir à n'importe quel smartphone…