chimrod a écrit 1073 commentaires

  • # Actualité du courriel en 2017

    Posté par  (site web personnel) . En réponse à la dépêche Actualités Sympa. Évalué à 4.

    Alors que l'on parle de plus des échanges à travers les applications de réseau social, comment se porte l'usage du courriel dans les listes de diffusion ? Est-ce qu'il y a encore des gros changements dans l'application, ou est-on passé sur un mode maintenance qui consiste plus en une correction des problèmes rencontrés ?

    Est-ce qu'il est prévu des évolutions futures ?

  • [^] # Re: (╯°□°)╯

    Posté par  (site web personnel) . En réponse au journal Une Demande d’Emploi en 2017. Évalué à 5.

    Tu as également mis un s de trop à aprè

  • [^] # Re: go 2.0

    Posté par  (site web personnel) . En réponse au journal Pourquoi la recherche en langages de programmation ?. Évalué à 5.

    il n'y a qu'à voir les réactions de la communauté LinuxFR

    Ça me gêne quand je vois ton amertume à ce sujet : je trouve que tu fais un super boulot pour communiquer sur des sujets assez pointus. À chaque fois que tu viens communiquer sur un sujet, je sais que je vais trouver un contenu détaillé et riche (et sur des sujets qui m'intéressent bien que ça ne me concerne pas directement.)

    Je vois ton journal comme une envie de parler d'un sujet qui te tiens à cœur, chose jamais simple quand on s'adresse à une communauté hétérogène (en terme de profil et caractères). Il faut s'attendre à 1) que l'on ne sache comment s'exprimer avec chacun 2) que le message ne soit pas compris par tout le monde. Dans tout les cas, ça ne sert à rien de vouloir s'entêter.

    Je peux comprendre que tu souhaites faire autre chose de ta vie que la vulgarisation à des masses qui ne comprennent pas vraiment de quoi tu es en train de parler (je force le trait volontairement), mais en venant présenter un journal sur le sujet ici, je pense que tu avais quand même l'intention de vouloir faire découvrir un sujet à des gens qui ne sont pas connaissent pas le sujet en question.


    Voilà. C'est la phrase qui m'a fait réagir, et sortir de mon statut de lecteur passif. Maintenant que j'ai commencé à écrire qqch, autant que ça serve quelque chose.

    Quitte à prendre du recul sur la programmation, autant en revenir à une question fondamentale : à quoi sert un langage de programmation ? Ton journal décrit les caractéristiques qui permettent d'évaluer un langage, mais n'aborde pas cette question. Est-ce qu'aujourd'hui en 2017, le langage de programmation est-là pour représenter la pensée d'un développeur, où pour lui permettre d'accéder à des espaces que sa pensée ne peut pas formaliser ?

    Je prends un exemple : les tours de Hanoi. Face au jeu, je serai incapable de résoudre le problème et lister les opérations à réaliser. Je ne peux donc pas décrire la procédure pour l'écrire dans un programme. Par contre, je peux écrire un programme (étonnamment court d'ailleurs) qui va me guider dans la solution. Dans cette situation qui dirige qui ?

    Autre question, qui porte cette fois sur la représentation d'un programme : est-ce qu'u n développeur se représente un programme comme un espace géographique (je sais se trouve cette fonction), temporel. Et est-il possible de faciliter (à travers la grammaire et la présentation du code) la représentation qu'un être humain peut avoir du programme. (Est-ce que le principe d'utiliser l'indentation pour séparer les blocs conditionnels est pertinent ?)

    Je pense que ces questions ne te concernent pas personnellement et ne relèvent pas de tes compétences, mais si l'on veut ouvrir la question sur le domaine de la recherche en langage de programmation, il y a plein de questions qui peuvent se poser ^^

  • [^] # Re: Latin-1 :'(

    Posté par  (site web personnel) . En réponse au journal Java 9 est dehors. Évalué à 5.

    Les strings, ça ne sert pas qu'à afficher du texte

    Merci de me rappeler que l'on est vendredi. :)

  • [^] # Re: Tu t'emballes

    Posté par  (site web personnel) . En réponse au journal Conséquences sociales des cryptomonnaies. Évalué à 9.

    J'ai mon boulanger pour ça : je sais combien coute le prix d'un pain, et je prépare l'appoint chez moi avant d'aller lui rendre visite, ça me permet d'écouler mon stock.

  • [^] # Re: Agent

    Posté par  (site web personnel) . En réponse au message ssh-add ne trouve pas son papa. Évalué à 2.

    C'est vrai que ça n'est vraiment pas aisé de mettre en place l'environnement ssh-agent.

    Quand tu dis le lancer au démarrage du serveur graphique, cela veut dire que tu n'as pas de mot de passe sur ta clef ssh ?

    De mon côté, voici ce que j'ai mis en place dans mon fichier .bashrc (fichier chargé à chaque démarrage de bash). En relisant la source, je vois que ça provient de la mailing-list de cygwin, mais le script fonctionne et sais se faire oublier une fois mis en place :)

  • # Gnu stow

    Posté par  (site web personnel) . En réponse au journal kyrbeis: un outil basique de gestion de dotfiles. Évalué à 6.

    Je connaissais stow qui fait la même chose à force d'avoir traîné un peu sur unixporn, mais c'est le genre d'outil très pratique qui ne sont pas si connu que ça…

  • # firejail

    Posté par  (site web personnel) . En réponse au message La sécurité sous Linux: partagez vos conseils, astuces et outils. Évalué à 6.

    Sur les pc que j'ai eu l'occasion de voir passer entre mes mains, pour des voisins, famille, j'ai toujours installé firejail pour y lancer firefox.

    L'application permet de lancer une autre application dans une sandbox, avec un paramétrage assez simple pour que ça ne soit pas trop contraignant pour l'utilisateur (dans le cas de firefox par exemple, seul le répertoire ~/Téléchargement est accessible en lecture/écriture, les autres fichiers du système ne sont pas visibles).

    Ne sachant pas sur quels sites l'utilisateur va se rendre, ni a quelle fréquence je vais pouvoir mettre à jour le PC (quand ça n'est pas le mien), ça permet d'avoir une protection supplémentaire.

  • [^] # Re: Structures non mutables performantes

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de GHC 8.2.1. Évalué à 2.

    Je pense que les structures de données font partie des sujets qui sont oubliés dès que l'on a terminé sa formation et que l'on commence sa vie de développeur (-: . Mais je suis d'accord avec toi, ça fait du bien de revenir de temps en temps aux structures de base, ne serait-ce parce que les même les langages fonctionnels évoluent, mais pas forcément les structures de base. La mode est maintenant de tout typer, voire surtyper, (via des types fantômes et des GADTs), il est parfois nécessaire de réécrire des structures (en OCaml par exemple, l'arbre binaire fourni par la librairie standard ne permet pas de stocker des clefs paramétrées).

    D'une manière plus générale, la première chose que je mettrai entre les mains d'un développeur qui veut se lancer dans la programmation fonctionnelle ne serait pas les structures de données, mais plutôt les function pattern (par analogie avec les design pattern de la POO). Surtout que ces fonctions commencent à transpirer hors du monde fonctionnel (par exemple on peut citer les architecture MapReduce qui sont utilisées par des gens qui n'ont jamais fait de programmation fonctionnelle de leur vie).

    Il est dommage qu'il n'existe pas un équivalent au Typeclassopedia qui soit générique, la page du wiki est trop orientée Haskell, et risque de décourager quelqu'un qui ne connaît pas la syntaxe, pourtant il s'agit pour moi d'une mine d'information qui peut être utilisée dans un cadre beaucoup plus élargi.

  • # Structures non mutables performantes

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de GHC 8.2.1. Évalué à 3.

    Je suis surpris de voir mentionner Okasaki ici. Son ouvrage est certes très instructif pour un développeur de langage fonctionnel (encore que écrit en standard ML, plus très utilisé aujourd'hui), il est complètement inutile dans le cas d'Haskell qui réalise l'évaluation paresseuse par défaut.

    Sur le plan pratique, la plupart des langages offres des structures de données avec évaluation paresseuses par défaut dans la librairie de base, ce qui réserve la lecture du livre à ceux qui souhaitent avoir une connaissance théorique du sujet, tout en sachant qu'ils n'auront jamais l'occasion de le mettre en pratique dans la vie de tous les jours.

    Ça n'enlève rien de l'intérêt qu'on peut avoir pour cette lecture, mais il faut vraiment aimer l'informatique théorique :)

  • [^] # Re: Reason

    Posté par  (site web personnel) . En réponse à la dépêche OCaml 4.04 et 4.05. Évalué à 5.

    Je peux me permettre d'éclaircir les deux questions que tu soulèves (et qui suscitent débat parmi les gens qui découvrent OCaml).

    La notation 2. est une version abrégée de 2.0, et permet de définir un nombre flottant.

    Puisqu'OCaml est un langage avec un typage très fort, ce nombre est associé avec un type : float. On le voit en entrant la commande dans le repl :

    # let i = 2.;;
    val i : float = 2.

    La fonction +, elle de son côté, est une fonction définie ainsi (toujours obtenu à travers le repl) :

    # (+);;
    - : int -> int -> int = <fun>

    C'est à dire qu'il s'agit d'une fonction, prenant un type int, suivi d'un deuxième int, et retourne un autre type int (je laisse de côté la Curryfication pour l'instant), du sucre syntaxique permet d'écrire 5 + 5 ou (+) 5 5 et produire le même résultat (la deuxième notation ayant l'avantage de faire correspondre l'ordre des paramètres avec le type de la fonction).

    Pour en revenir à notre nombre flottant, je répète que le typage est très fort, et il est inutile de chercher à donner un paramètre de type float à une fonction qui attend un int. Aussi, l'addition a été définie deux fois :

    • Une fois pour les entiers : +
    • Une fois pour les flottants : +.

    (au final la même primitive C est appelée, il ne s'agit donc pas de code dupliqué).

    Ça fait parti de la rigidité du langage (et peut surprendre au début), mais une fois que l'on a compris le principe, les choses sont beaucoup plus claires, ce qui est valable pour ces deux types est généralisé à tous les types que l'on peut définir dans le langage : une fonction ne peut recevoir en paramètre que les types pour lesquelles elle a été définies — il n'y a pas de conversion implicite, ni de surcharge de fonction.

  • # Expressivité du langage

    Posté par  (site web personnel) . En réponse à la dépêche OCaml 4.04 et 4.05. Évalué à 10.

    En voyant les projets graviter autour du langage, ce qui m'interpelle le plus avec ce langage, c'est son expressivité. Quand je vois les exemples sur la page du projet je me rend compte que la force du langage tient dans sa capacité à typer les données (pour ensuite les exprimer dans un autre langage par exemple).

    Naïvement, on pourrait dire qu'il est toujours possible d'exprimer un langage fortement typé dans un langage moins fortement typé, et qu'OCaml impose des contraintes lors de l'écriture du code pour indiquer au compilateur le maximum d'informations sur les variables, sauf que je ne ressent jamais cette contrainte en écrivant en OCaml. Au contraire, lorsque je passe du code OCaml à du code Java (par exemple) j'ai l'impression de bégayer tellement j'écris du code inutile (oui mon tableau de string est bien un tableau de string, je viens de l'écrire !).

    La plus grande force du langage selon moi vient de là : avoir pu conserver une telle expressivité, avec un minimum d'indications lors de l'étape d'écriture du code.

  • [^] # Re: FLIP

    Posté par  (site web personnel) . En réponse à la dépêche Paris est Ludique les 24 et 25 juin 2017 — Le festival de jeux où l’on joue #PeL2017. Évalué à 3.

    Effectivement, il s'agit de Linq et non de Link, merci de la correction ^

  • [^] # Re: FLIP

    Posté par  (site web personnel) . En réponse à la dépêche Paris est Ludique les 24 et 25 juin 2017 — Le festival de jeux où l’on joue #PeL2017. Évalué à 3.

    À mon grand regret, je ne pourrai pas y être présent cette année (coordination des congés avec les collègues oblige..) C'est vraiment un très bon festival, qui permet de déambuler dans les rues médiévales entre deux parties de jeu, et qui nous entraine dans des nuits animées.

    Il a le bon goût de tomber pendant la première partie du mois de juillet, et d'offrir au touriste un feu d'artifice haut en couleur en contrebas du château (que l'on agrémente de partie de Link en mangeant de la parthenaise !)

    Et puisque l'on parle de jeu, j'en profite pour parler du financement en cours sur ulule de la réédition de mage !

  • # Protection

    Posté par  (site web personnel) . En réponse au message Comment éviter d'effacer des fichiers avec rm *. Évalué à 3.

    Quand on fait rm *, bash va donner la liste des fichiers en argument à rm.

    Il suffit d'avoir un fichier qui ressemble à un argument invalide pour empêcher les mauvaises manipulations :

    $ touch -- "-t"
    $ rm *
    rm : option invalide -- 't'
  • [^] # Re: Ça tombe bien

    Posté par  (site web personnel) . En réponse au journal Enquête sur les noms propres pour le dictionnaire orthographique. Évalué à 9.

    le nom Morphée continue aussi à désigner cette même déesse

    Ne te laisse pas abuser par le e final : Morphée est un dieu de genre masculin !

  • [^] # Re: Dictionnaire hunspell

    Posté par  (site web personnel) . En réponse à la dépêche Grammalecte, correcteur grammatical [2]. Évalué à 3.

    Je m'associe à ces remerciements, le travail d'indexation que tu as fait est extraordinaire !

  • [^] # Re: Dictionnaire hunspell

    Posté par  (site web personnel) . En réponse à la dépêche Grammalecte, correcteur grammatical [2]. Évalué à 6.

    À la lecture du post sur le forum, je comprend que ça soit une charge de travail pour toi et que tu n'ai pas décidé de maintenir tout ça (en plus si tu es seul à tenir la charge)…

    D'un autre côté, passer par hunspell permet passer par libhunspell directement avec le programme, ce qui simplifie l'utilisation du dictionnaire dans d'autres outils.

    Ce qui me gêne vraiment, c'est que la page de téléchargement du site ne propose pas de retrouver les anciennes versions, tout ce travail est perdu !

  • # Dictionnaire hunspell

    Posté par  (site web personnel) . En réponse à la dépêche Grammalecte, correcteur grammatical [2]. Évalué à 4. Dernière modification le 08 juin 2017 à 15:13.

    Merci beaucoup pour la dépêche qui m'a fait replonger dans le monde des dictionnaires.

    Je découvre à cette occasion que le dictionnaire hunspell fourni par dicolecte a perdu de sa consistance à l'occasion de la version 1.6

    Voici par exemple la sortie de l'analyse du mot glace avec le dictionnaire 5.2 :

    $ hunspell -m -d  fr
    glace
    glace  st:glace po:nom is:fem is:sg
    glace  st:glacer po:v1_it_q_?? po:impe po:2sg
    glace  st:glacer po:v1_it_q_?? po:ipre po:spre po:1sg po:3sg

    En décodant les termes, on découvre que glace peut s'employer comme :

    • Un nom féminin singulier
    • Un verbe conjugué avec la 2nde personne du singulier au présent de l'impératif
    • Un verbe conjugué avec la 1ère ou la 3ème personne du singulier au présent de l'indicatif

    Avec la nouvelle version du dictionnaire nous avons :

    $ hunspell -m -d  fr-toutesvariantes
    glace
    glace  st:glace
    glace  st:glacer fl:a0
    • Un nom
    • Un verbe

    C'est une perte d'information ! Est-ce que vous êtes lié avec les décisions de dicolecte ? (vous partagez le domaine…)

  • [^] # Re: Sécurité informatique

    Posté par  (site web personnel) . En réponse au journal « Mr. Robot » ou comment j’ai appris à aimer l’informatique. Évalué à 3.

    J'ai testé suite à ton lien. Je trouve que ça n'est pas accessible pour un débutant.

    Sur l'infrastructure, déjà seul /tmp et /var/tmp sont accessibles en écriture, mais les dossiers ne sont pas nettoyés quand on quitte une session. Leur solution a donc été de rendre les dossiers inaccessible en lecture. Ça oblige ensuite à travailler en aveugle, en essayant de se créer des fichiers qui n'ont pas déjà été créé précédemment…

    Concernant les défis, j'ai testé le 1er défi de scripting bash. Ça nécessite de :

    • savoir lire un code C
    • comprendre les différents flag en sortie d'un ls -l
    • modifier le PATH

    Chaque étape en soit est assez simple, mais l'enchaînement n'est pas à la porté d'un novice, vu que l'énoncé du problème est TRÈS sommaire. Les pré-requis sont trop nombreux pour pouvoir qu'un débutant y soit à l'aise.

    De la même manière, le niveau facile de programmation nécessite d'écrire un client IRC ! (ou j'ai mal compris le problème, il était tard…)

  • [^] # Re: En quoi est-ce grave ?

    Posté par  (site web personnel) . En réponse au message La sécurité informatique ça sert à rien …. Évalué à 8. Dernière modification le 17 mai 2017 à 16:32.

    Je garde le souvenir d'une conférence de Laurent Chemla à Pas sage en seine, expliquant le passage de la vie privée à la conscience politique : son argument est de dire que la conscience politique, le fait de se construire une opinion, a besoin d'une vie privée. Je n'avais pas pensé à ça avant d'assister à sa conférence, et c'est depuis quelque chose que je garde en tête : l'individu à besoin d'intimité pour exister.

    Même s'il s'agit d'une banalité, continueras-tu à chanter sous la douche, si tu sais que tu peux être surveillé ? Même si tu ne risques pas grand chose, partageras-tu ton opinion par mail sur [insérer ici le sujet du moment] si tu sais que tes échanges peuvent être lus ?

    Pour revenir aux courriels : est-ce que tu accepterais que ta boîte aux lettres (qui est posée chez toi, ou dans le hall de ton immeuble) soit gérée par le supermarché du coin ? Il y aurait plein d'avantages, tu pourrais recevoir dans ta boite au lettres les prospectus sur les promotions du moment qui te concernent (moins de publicités inutiles), le supermarché s’occuperait également de récupérer tes colis trop gros qui ne rentrent pas dans la boite (faudra juste aller les chercher à côté du rayon boucherie), et même de changer les boîtes pour suivre les normes postales (ils ont un designer qui te permet de choisir entre trois coloris). Bien sûr, ça implique de laisser un double des clef, mais bon, tu ne risques pas grand chose (-:

    (j'ai marché dans ton troll, je sais. J'espère juste l'avoir fait du pied gauche, histoire de me porter chance !)

  • [^] # Re: Trop compliqué : mémoire

    Posté par  (site web personnel) . En réponse au message La sécurité informatique ça sert à rien …. Évalué à 4.

    Ceci est pour toi une solution simple ?

    Plus simple en tout cas que de retenir tous mes mots de passe dans ma tête, plus sécurisé qu'un simple fichier texte stocké dans un répertoire caché sur mon pc du boulot.

    Comment tu l'utilises chez un amis par exemple ? En voyage à l'étranger dans un cybercafé ? Sur un téléphone ? Sur une tablette (qui ne t’appartiens pas) ?

    Je pense que ça dépend des usages des uns et des autres. En lisant tes questions, je pense avoir un usage différent de toi de l'utilisation d'internet :

    Les deux mots de passe dont j'ai besoin au quotidien sont enregistrés dans les paramètres de mon téléphones (boite courriel et agenda via owncloud). L'occasion ne s'est jamais présentée d'avoir à rechercher un mot de passe pour un site quelconque quand je suis chez des amis. À l'étranger, s'il y a internet dans l'hôtel, je me connecte chez moi via ssh. Si réellement je ne peux pas, bah tant pis, ça attendra que je sois de retour chez moi.

  • [^] # Re: Trop compliqué : mémoire

    Posté par  (site web personnel) . En réponse au message La sécurité informatique ça sert à rien …. Évalué à 7.

    Bref, aujourd'hui en 2017, n'y a-t-il pas une solution à ce problème ? Personne n'a trouvé de moyen simple et efficace de reconnaître un utilisateur sans avoir à faire appel à une mémoire d'éléphant ?

    keepass ?

    (De mon côté je me suis implémenté une solution équivalente, à l'aide de pwgen, et des scripts bash. Ma base de mot de passe est protégée avec ma clef ssh).

  • # Rien à voir : Neuromancien

    Posté par  (site web personnel) . En réponse au journal Jouer sous GNU/Linux : la série des Shadowrun. Évalué à 3.

    C'est à amusant que tu parles de SR. Je viens de finir de lire Neuromancien ce week-end (ça fait au moins 15ans que j'en entendais parler), et je me suis pris une claque. J'ai eu l'impression de revivre les parties que je faisais autour d'une table : tous les archétypes sont déjà là (samouraï des rues, decker etc) — avec le côté fantastique en moins.

    On retrouve la vision d'un futur tel qu'on pouvait le concevoir il y a 30 ans (société hyperdigitalisée, dominée par la culture japonaise), mais dans lequel on peut se projeter.

    Le roman est suivi de deux autres, que je suis en train de commencer Conte Zero et Mona Lisa s'éclate, que je ne commenterai pas ici (mais laisse ceux qui les ont lu y apporter leur commentaire).

  • [^] # Re: Ghostscript

    Posté par  (site web personnel) . En réponse au message Quels outils pour des PDF en CMYK ? (Scribus). Évalué à 3.

    Au temps pour moi, j'ai mal lu ta demande. Je croyais que tu cherchais à convertir le document PDF en CMYK.