Michaël a écrit 2929 commentaires

  • [^] # Re: Verrouillage?

    Posté par  (site web personnel) . En réponse au journal CPython abandonne Mercurial et passe à Git et Github. Évalué à 5.

    La phrase originale est

    son système de gestion de bugs « verrouille » les projets sur cette plate-forme.

    et j'y comprends “verrouiller” plutôt comme dans l'expression “lock in” et que justement cela a bien à faire avec la plate-forme, dans les mots de l'OP.

    Ta description des limitations de GitHub est très exacte, la gestion des bugs dans GitHub est indéniablement rudimentaire. En ce qui concerne les migrations tu aussi raison: on peut s'attendre à ce qu'elles soient douloureuses. Mais ces deux choses sont indépendantes du caractère fermé ou ouvert de la plateforme, et pour être honnête, vu que toutes les informations sont exposées publiquement et proprement (sans scrapper) GitHub ne fait rien pour empêcher les gens de partir.

    Le monde du logiciel libre n'a pas du tout pris le virage des réseaux sociaux (je pense que c'est l'aspect principal qui explique le succès de GitHb) ce qu'on peut regretter, mais bon aujourd'hui c'est comme ça.

  • # Verrouillage?

    Posté par  (site web personnel) . En réponse au journal CPython abandonne Mercurial et passe à Git et Github. Évalué à 6.

    Github est connue pour l'excellence de son interface et de ses services, pour la taille de la communauté de contributeurs potentiels, mais également pour être propriétaire et pour le fait que son système de gestion de bugs « verrouille » les projets sur cette plate-forme.

    En quoi est-ce que le système de gestion de bugs verrouille-t-il quoique ce soit? Les données sont accessibles et exploitables automatiquement par l'API JSON/HTTPS et permettent si besoin de réaliser une migration de projet. Ou bien y-a-t'il d'autres points, qui restent problématiques?

  • # Intéressant mais passe toujours à côté de l'essentiel

    Posté par  (site web personnel) . En réponse au journal Slack remplace l'IRC, ou comment l'opensource qui ne réussit pas à se défaire de ses démons. Évalué à 6. Dernière modification le 01 janvier 2016 à 21:49.

    Penser que le problème est lié à la complexité d'utilisation est à mon avis une grave erreur. Utiliser un client IRC ou un client jabber est à la portée de quiconque en a le besoin, c'est même objectivement plus facile que de configurer son client mail. Pour démarrer il suffit de trouver la fiche recette “toi aussi utilise jabber“ qui explique en 6 étapes où il faut clicker et écrire son nom, etc.

    La principale différence entre un bon produit libre et un bon produit commercial, c'est que derrière ce dernier il y a une équipe de commerciaux qui se démène pour vendre le produit – alors que pour le libre, et bien personne ne s'occupe de ça. C'est une observation tellement banale qu'on ne peut que s'étonner de ne jamais la voir dans ce genre de discussion.

    Deuxième point important expliquant l'adoption, pour une entreprise, l'intérêt de passer par un prestataire externe au lieu de monter son propre serveur jabber est qu'elle crée ainsi une abstraction complète autour de l'outil de communication: elle a un truc qui marche sans avoir besoin de s'occuper des compétences internes nécessaires à la gestion du serveur c'est peut-être pas bien compliqué à apprendre d'administrer son serveur jabber, mais dans une entreprise on a déjà assez de problèmes avec la gestion des compétences de cœur de métier lui-même pour qu'une offre qui propose une solution de communication clef en main pour un prix raisonnable soit une solution acceptable. “Suzanne a été débauchée en mai et Polo est en congé paternité, du coup plus personne ne sait comment marche le bouzin.” Quand on doit s'occuper de dizaines problèmes de ce genre, et bien c'est pas complètement idiot de se dire qu'on préfère payer ses 10€ par mois que d'avoir un n+1 ème problème à gérer. Je ne dis pas que c'est toujours la meilleure solution, par exemple accumuler les prestataires externes a aussi ses inconvénients, je dis juste que c'est une vraie approche pour résoudre le problème.

    Voici enfin une petite liste d'objets de la vie de tous les jours qui sont inutilement complexes et pourtant largement adopté (comme tout le monde je suis content d'utiliser des choses simples d'emploi et bien faites, mais une relative complexité n'est presque jamais une condition rédhibitoire)

    1. La voiture

    La voiture

    1. Le clavier de piano, qui est fait pour jouer en Do majeur, pour le reste, il faut s'adapter! Une guitare, un violoncelle ou une trompette ont quand même une interface mieux branlée.

    le clavier de piano

    1. Les ouvres boîtes “facile à utiliser” presque tout le monde a ce genre de truc chez soi, même si personne n'arrive à utiliser ces machins dès la première fois, surtout parcequ'il n'y en a jamais deux pareils.

    l'ouvre boîte

  • [^] # Re: Cookie

    Posté par  (site web personnel) . En réponse au message Facebook. Évalué à 4.

    Oh surprise, Facebook lui suggère d'ajouter des "amis" que nous connaissons, mais aussi la voisine de dessous, avec qui nous n'avons pas de lien particuliers…

    Il y a environ 6000 explications plausibles, par exemple les amis de ta compagne ont peut-être cherché si elle avait un compte Facebook, du coup, pas besoin de magie noire pour que que Facebook demande à ta compagne si elle connaît ces personnes lorsqu'elle crée son compte!

  • [^] # Re: The scene

    Posté par  (site web personnel) . En réponse au journal La scène et le P2P. Évalué à 6.

    Euh je ne les connais pas tous, mais Skidrow était actif au début de années 90, tout comme Paradox. :) Je laisse tout à d'autres le soin de tirer les conclusions qui s'imposent! ;)

  • [^] # Re: Pour tout vous dire...

    Posté par  (site web personnel) . En réponse au sondage J'utilise les touches "Arrêt Défil" et/ou "Pause/Attn". Évalué à 3.

    Mais où se trouve la touche F13 ?

    J'ai seulement entendu parler d'un F16, mais il est à la frontière turco-syrienne, probablement assez loin de ton clavier.

  • # Git bundle

    Posté par  (site web personnel) . En réponse au message GitHub Like : possibilité de ne pas diffuser les versions/branches de travail d'un projet. Évalué à 2. Dernière modification le 26 novembre 2015 à 21:13.

    Tu peux utilise la commande git bundle pour faire une archive fichier avec ta branche, que tu peux envoyer par email, en cryptant le cas échéant. L'archive peut ensuite être importée dans un repo normal. En pratique, tu utilises git bundle à répétition pour exporter tes modifications, ce qui te donne une suite de fichiers totof2000.1, totof2000.2 etc. Tes correspondants ont défini un remote avec

    % git remote add totof2000 file://${HOME}/Download/totof2000
    

    Lorsqu'ils reçoivent ton archive totof2000.n, il la sauvent sous le nom de ${HOME}/Download/totof2000 et un simple git fetch totof2000 ou bien git pull --ff-only totof2000 importe les nouvelles références. En écrivant un petit script pour t'aider à préparer tes archives, tu obtiens une solution avec une intendance raisonnable.

  • [^] # Re: Méconnaissance

    Posté par  (site web personnel) . En réponse au journal Compilateur et Monad Reader. Évalué à 2.

    Désolé j'ai oublié cette partie

    Pour le coup je ne comprend pas à quoi les lens peuvent servir. Je n'ai jamais vraiment touché aux lens, mais ce n'est pas plus dans l'idée de modifier une structure compliquée en appliquant des modificateurs/lecteurs aux différentes parties ? Si tu pouvais éclaircir ce point j'en serais ravi.

    Les lens permettent, lorsqu'on travaille avec des niveaux d'organisation imbriqués de réduire la dépendance entre les modules. Par exemple si on écrivait

    x.A.y.B.z.C.t

    on a une dépendance des modules, car A connaît à la fois B et C et B connaît C. Si on a des empilements plus grands, la chaîne de dépendance à un nombre quadratique en le nombre de modules qui apparaissent – parceque 1 + 2 + … + n ~ 1/2 n2 pour n grand. Si on utilise de lens on peut faire en sorte que chaque module ne connaisse que ses voisins, on a fortement réduit le couplage de notre programme car la taille des la chaîne de dépendances passe de quadratique à linéaire. Cela signifie que le coût des modifications devient linéaire au lieu de quadratique (imaginions qu'on change la définition du type de C.t par exemple) ce qui est bien.

    Pour la monade Reader on peut utiliser les lens pour composer un environnement de plus en plus riche, au lieu d'empiler des monades liées à différents environnements.

  • [^] # Re: Méconnaissance

    Posté par  (site web personnel) . En réponse au journal Compilateur et Monad Reader. Évalué à 3.

    En effet, c'est assez joli, mais quand tu fais bind tu dois préciser depuis quel module visiblement (j'ai parcouru très rapidement la doc) ? Si on utilise une unique monade (comme dans mon cas) un open ou un renommage peut faire l'affaire, mais sinon, ne trouves-tu pas ça un peu lourd ?

    C'est exact. En pratique j'utilise un renommage pour les monades sans paramètre (module Maybe = Lemonade_Maybe) ou un nom assez court pour les applications de foncteur (module Success = Lemonade_Success.Make(struct type t = string end)). Ensuite j'emploie toujours le nom qualifié – l'autocomplétion fournie par merlin marche à merveille – et j'ouvre le sous-module Infix qui définit les opérateurs infixes. En général j'utilise let open Maybe.Infix in dans mes fonctions par exemple, ou bien utilise la syntaxe Maybe.Infix.(m >>= f >>= g).

    Limiter le nombre de modules ouverts dans un projet augmente la lisibilité du code, même si on peut facilement utiliser merlin pour lever l'ambiguïté sur un type.

    Il y a un projet de recherche – malheureusement j'ai perdu les références – qui implémente des modules disons semi-ouverts pour OCaml, qui permettrait au compilateur de choisir un module en fonction du type des arguments d'une fonction pour résoudre la fonction, ce qui serait très intéressant pour le code monadique ainsi que les fonctions de persistance notamment. J'ai cru comprendre que ce travail devrait être intégré au code officiel. Est-ce que quelqu'un a plus de précisions?

  • [^] # Re: Correctif

    Posté par  (site web personnel) . En réponse au journal Compilateur et Monad Reader. Évalué à 3.

    Je vais passer pour un inculte, …

    Mais non enfin, pourquoi donc?

    L'opérateur >|= est souvent défini comme map pour la monade, avec un order des arguments qui permet de le composer. Ainsi une définition possible est

    let map m f =
      bind m (fun x -> return (f x))
    
    let ( >|= ) f m =
      map f m

    Une manière classique, dans un contexte fonctionnel, de transformer une évaluation stricte en évaluation paresseuse est de la suspendre dans une fermeture, l'expression expr devient fun () -> expr. Ainsi l'opérateur de séquence qui en Haskell a la signature

    val ( >> ) : 'a t -> 'b t -> 'b t

    est plus communément définit en OCaml avec la signature

    val (  >> ) : 'a t -> (unit -> 'b t) -> 'b t

    qui permet d'implémenter effectivement la séquence – l'ordre des évaluations des arguments d'une fonction ou d'un opérateur n'est pas spécifié – sauf pour les raccourcis booléens, c'est la même convention que le C si je ne me trompe pas – de sorte que la première définition ne garantirait pas que la première valeur dans l'ordre de lecture soit effectivement calculée la seconde.

    On pourrait aussi bien choisir la signature

    val (  >> ) : 'a t -> 'b t lazy -> 'b t

    mais en pratique c'est la première option qui est retenue, sûrement parceque le code monadique contient beaucoup de fonctions anonymes, et que les suspensions de type fun () -> x s'y intègrent bien.

  • [^] # Re: Un traître ?

    Posté par  (site web personnel) . En réponse au journal Bassel Khartabil, développeur du libre, secrètement condamné à mort par le gouvernement syrien. Évalué à 6.

    Merci de ta réponse argumentée (et bourrée d'infos au fait, merci) et apaisante :)

  • [^] # Re: Sont-elles forcément harcelées ou mal vues ?

    Posté par  (site web personnel) . En réponse à la dépêche Les informaticiennes, de la dominance de classe aux discriminations de sexe le 24/11/2015 à Paris. Évalué à 5.

    Oui et non. Est-ce que tu as compris au moins en quoi ton raccourci pouvait être enfermant ?

    Oui, et non: c'est toi qui veut y voir un raccourci, et ce ne serait enfermant que dans la mesure où je tiendrais de façon récurrente ce genre de propos.

    en renvoyant toi-même les gens à des cases et des expériences qu'ils ne revendiquent pas eux-même pour la plupart. C'est bizarre, non ?

    Pour quelqu'un qui écrit ça “Ça n'en reste pas moins des préjugés et une projection de l'esprit du beauf moyen. Ça ne vole pas plus haut que celui du linuxien communiste.” après m'avoir fait une psychanalyse complète à partir de 66 bits d'information, c'est un peu l'hôpital qui se fout de la charité!

  • [^] # Re: Sont-elles forcément harcelées ou mal vues ?

    Posté par  (site web personnel) . En réponse à la dépêche Les informaticiennes, de la dominance de classe aux discriminations de sexe le 24/11/2015 à Paris. Évalué à 2.

    C'est toi qui choisi de l'interpréter comme cela!

  • # Correctif

    Posté par  (site web personnel) . En réponse au journal Compilateur et Monad Reader. Évalué à 4.

    En dépit de ce que tu sembles croire, les monades sont plutôt bien supportées en OCaml. La différence majeures avec Haskell est que, OCaml utilisant l'évaluation stricte là où Haskell est paresseux, la définition de l'opérateur >> est essentiellement équivalente à la comoposition >|= ignore >>=.

  • [^] # Re: Méconnaissance

    Posté par  (site web personnel) . En réponse au journal Compilateur et Monad Reader. Évalué à 2. Dernière modification le 22 novembre 2015 à 16:45.

    En gros, cette article montre seulement que tu ne sais pas définir un opérateur infixe en OCaml […]

    Au lieu de le faire à la main, il peut aussi utiliser, lemonade la bibliothèque de monades pétillante dont je suis l'humble auteur. ☺ On peut l'instsaller avec opam et il y a même une documentation en ligne.

    Ensuite il faudrait aussi lui conseiller d'utiliser une extension de syntaxe pour les monades, mais je n;en ai pas encore trouvé qui me plaisait tout à fait. Quelqu'un a-t-il une suggestion?

    Il pourrait aussi trouver les lens intéressantes, au lieu d'emboîter des monad reader les uns dans les autres!

  • [^] # Re: question pas très élégante

    Posté par  (site web personnel) . En réponse au message Shell script-->langage C. Évalué à 2.

    Donc pour ce qui est de ce code, si on enlève Qt alors tout marche parfaitement en C.

    Je te crois sur parole, cependant ça reste du C++ et l'OP demande du C — et vu la question cela m'étonnerait qu'il soit assez autonome pour faire la traduction tout seul.

    Ensuite si tu veux savoir précisément pourquoi les gens ont moinssé, il faudra attendre que les moinsseurs répondent eux-même à ta question! ☺

    Je t'avoue être quelque peu vexé (ouais puéril, toussa toussa)

    Boh alors? Qu'est-ce qui t'arrive? ☺ Qu'est-ce qu'il a de vexant dans cette affaire?

  • [^] # Re: Magnifique comparaison

    Posté par  (site web personnel) . En réponse à la dépêche Dans lequel on met un service caché Tor pour le site sauf.ca. Évalué à 2.

    Je trouve que ce que fait l'Huma', en faisant de la publicité à Hitler

    Dire que cet article de l'Huma fait de la pub à Hitler montre que tu ne l'as certainement pas lu (il suffit de lire 8 lignes pour trouver une mise en perspective peu amène de l'œuvre). Ensuite interdire la diffusion des œuvres pénalise aujourd'hui plus le travail des contradicteurs que la diffusion de ces œuvres — celui qui s'intéresse au contenu le trouvera en quelques secondes grâce à son moteur de recherche.

    Qu'est-ce qui te permet d'affirmer que son édition serait illégale? La fiche Wikipédia affirme le contraire, citant des jugements précis. As-tu des informations plus actuelles?

  • [^] # Re: la bonne vielle règle a calcul

    Posté par  (site web personnel) . En réponse au journal Calculatrice : matériel et logiciel ouverts ?. Évalué à 2.

    perso j'en ai jamais eu (un peu trop jeune) mais j'aimerais bien savoir en utiliser une, par curiosité.

    Est-ce qu'on utilise des tables de logarithmes pour faire les multiplications?

  • # Qu'est-ce qui te bloque?

    Posté par  (site web personnel) . En réponse au message Shell script-->langage C. Évalué à 4.

    Si tu veux obtenir de l'aide, c'est bien de montrer ce que tu as essayé. Qu'est-ce qui coince? Je ne vois que des entrées-sorties pas très compliquées, donc si tu ne nommes pas de problème précis, tout le monde va croire que tu veux laisser quelqu'un d'autre faire tes devoirs à ta place!

  • [^] # Re: question pas très élégante

    Posté par  (site web personnel) . En réponse au message Shell script-->langage C. Évalué à 2.

    P.S. : Et la raison pour laquelle j'ai été "inutilé" m'échappe totalement car je donne une piste (avec du code opérationnel), et que la seule autre réponse apportée n'apporte rien.

    En dépit de ta bienveillance, tu tapes un peu à côté car tu proposes du code C++ et pas du C. Cela pourrait expliquer quelques moinsages.

  • [^] # Re: Sont-elles forcément harcelées ou mal vues ?

    Posté par  (site web personnel) . En réponse à la dépêche Les informaticiennes, de la dominance de classe aux discriminations de sexe le 24/11/2015 à Paris. Évalué à 3. Dernière modification le 20 novembre 2015 à 19:21.

    autant la forme m'embête sur le fait d'associer automatiquement

    C'est pas automatique, mais comme je ne suis pas attiré par les hommes, imaginer une séance de crac-crac collectif me fournissait un alibi plausible pour inviter ces deux oiseaux dans ma volière. J'aurais très certainement pu trouver d'autres subterfuges narratifs, j'ai juste pioché ce qui me passait sous la main.

  • [^] # Re: Pourquoi ce moinssage ?

    Posté par  (site web personnel) . En réponse au journal Et si l'on pensai ? Enfin je veux dire et si l'on pensai par soi même, ça donnerai quoi ? . Évalué à 6.

    Je vous écrit du supermarché où je suis entré il y a cinq jours. En découvrant qu'il y avait des recettes de cuisine rédigées par des cuisiniers, des informations nutritionnelles préparées par des diététiciens et des photos de destinations de rêve pour illustrer des tombolas, et même quelques livres, j'ai décidé de respecter le travail de tous ces gens, et de tout lire méthodiquement. Je suis déjà arrivé à l'huile d'olive, je suis impatient d'arriver aux produits ménagers car j'aime bien la poésie absconse de taxonomies chimiques.

  • [^] # Re: Esthétique de l’écrit

    Posté par  (site web personnel) . En réponse au journal Et si l'on pensai ? Enfin je veux dire et si l'on pensai par soi même, ça donnerai quoi ? . Évalué à 1.

    Tu viens de franchir seize degrés sur l'échelle de Jacob avec ce commentaire! :)

  • [^] # Re: Sont-elles forcément harcelées ou mal vues ?

    Posté par  (site web personnel) . En réponse à la dépêche Les informaticiennes, de la dominance de classe aux discriminations de sexe le 24/11/2015 à Paris. Évalué à 5. Dernière modification le 20 novembre 2015 à 18:18.

    Depuis qu'on parle de sexisme et de féminisme, j'ai pas remarqué que les rapports humains se portassent mieux, au contraire, et je suis attentif. Je vais le dire autrement : Le bilan est désastreux.

    On vit pas dans le même monde je crois. J’avoue que je serais curieux de savoir ce que le féminisme a apporté de mauvais dans ce monde.

    Sans faire de lien de cause à effet direct avec les discussions sur le féminisme et le sexisme, j'observe autour de moi que les questions d'identité sont abordée très différemment aujourd'hui par les étudiants qu'elles ne l'étaient il y a 20 ans quand j'ai commencé mes études. L'identité ne se vit pas seulement, elle se revendique et donne lieu à des regroupements de gens se reconnaissant sous telle ou telle identité, lorsque je vais à une soirée ce n'est pas complètement rare que j'entende “je suis polyamoriste et végétarien” ou bien “je suis bisexuelle” sans très bien comprendre pourquoi mes interlocuteurs tiennent absolument à partager ces aspects là de leur personnalité avec moi. (Si je les avais invités à un repas, une touze, ou aux deux à la fois, cela deviendrait tout à fait pertinent.) Quand je fais connaissance avec des gens, j'aime bien leur demander ce qu'ils font et leur parler de ce que je fais, plutôt que de ce qu'ils croient être et de ce que je crois être.

    Je n'ai aucun doute sur le fait que les végétariens ou les polyamoristes aient tout autant besoin que les mathématiciens, les informaticiens, les anciens alcooliques, de former des groupes pour s'entraider ou échanger leurs expériences. Cependant, dans ce que j'observe, le caractère revendicatif de ces identités me semble plutôt donner lieu à un cloisonnement des intérêts et à du nombrilisme ou du commautarisme au lieu de devenir une expérience d'ouverture seine et épanouissante. (Encore une fois je parle de personnes que j'ai pu rencontrer, c'est donc un partage d'expérience, ne pas y voir de généralisation mondiale SVP.)

  • [^] # Re: Sont-elles forcément harcelées ou mal vues ?

    Posté par  (site web personnel) . En réponse à la dépêche Les informaticiennes, de la dominance de classe aux discriminations de sexe le 24/11/2015 à Paris. Évalué à 1.

    Notons que par exemple la France n'a pas été loin d'avoir une femme présidente. Ce n'est pas complètement négligeable non plus, pourtant la France n'a pas été dans le bloc communiste. Les États-Unis n'en semblent pas forcément très loin non plus, le FMI a accepté une femme (française) à sa tête, etc.

    C'est vrai que les sociétés françaises et américaines semblent tout à fait prêtes à confier les responsabilités les plus importantes à des femmes, cependant, en Allemagne et en Ukraine il s'agit ou il s'est agit de réalité. En tout cas voire Ségolène Royal devenir présidente de la République deux ans après que Angela Merkel soit devenue chancelière, cela aurait eu une classe immense.