groumly a écrit 3212 commentaires

  • [^] # Re: Confluence, la recherche convergente et le chemin thématique

    Posté par  . En réponse au journal Atlassian SaaS.... Évalué à 2 (+0/-0).

    Je lui ait déjà suggéré ça 2 fois, mais non, il a une solution, reste plus qu’à trouver le problème.

    Qu’importe que MS, Apple et un certain nombre de projets libres aient tous atteint la même conclusion (système de fichier traditionnel qui nourrit un index) après avoir bossé dessus pendant quelque années.

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: Confluence, la recherche convergente et le chemin thématique

    Posté par  . En réponse au journal Atlassian SaaS.... Évalué à 3 (+1/-0).

    La question c’est surtout qu’est ce que ça fait, pas si c’est possible.

    Si au final, 98% des fichiers du filesystem (pas forcément loin de la réalité, y’a une énorme quantité de fichier systèmes ou applicatifs dont personne n’a rien a faire) on tous un tag correspondant à leur fully qualified path, c’est un peu admettre que le système de tag est un échec, d’une part, et on en droit de se poser la question de savoir si ça en vaut la peine.

    D’autre part, ajouter des milliers de tags « systèmes », ça a un coup sur le système d’indexage, et un gros coup sur l’ux, parce que maintenant faut les cacher ces tags. Sauf quand tu les cherche. T’as aussi des problèmes plus fondamentaux. Un path est garanti d’avoir un seul fichier au plus au bout, un tag pas du tout. C’est un peu une recette pour un désastre pour le système si je décide de tagger un fichier /bin/sudo, ou autre joie du style.

    Je suis sur que tu peux trouver une approche ou tu peux reconstruire une arborescence à partir de tag, mais c’est à peu près aussi malin que d’essayer de reproduire un système de tags à partir de lien symboliques, comme c’est parfois suggéré.

    On en revient à la question de « quel problème t’essayes de résoudre exactement? », et mon petit doigt me dit que la réponse est « tagger quelques dizaines à centaines de fichier utilisateurs, créés en session interactive ». Auquel cas, l’approche d’Apple marche un peu mieux à une fraction du coût.

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: Confluence, la recherche convergente et le chemin thématique

    Posté par  . En réponse au journal Atlassian SaaS.... Évalué à 3 (+2/-1).

    Y’a beaucoup de fichiers dans un système de fichiers, et tous ne sont pas créés en mode interactif (genre fichiers téléchargé par une appli, ou zip décompressé, ou config auto générée, fichiers de logs, core dump, ce genre de choses). Un système basé exclusivement sur les tags veut dire que beaucoup (la majorité même) de fichiers serait impossible à trouver soit par manque de tag, soit perdu dans le bruit de 200 000 fichiers ayant le même tag. Et c’est sans compter tous les outils qui s’attendent à trouver des fichiers spécifique à des endroits spécifiques, on va pas créer un tag par fichier dans /etc.

    C’est pas un système qui marche au quotidien en mode exclusif.

    En mode hybride par contre, à savoir système de fichier traditionnel enrichi avec des tags pour ce que l’utilisateur veut spécifiquement tagger, ça marche très bien. macOS fait ça depuis plus d’une décennie, ptetre même plus de 15 ans. Tu tagges ce que tu veux tagger, le Finder te sort ce que tu veux. Tu peux tagger des dossiers et pas t’emmerder à tagger chaque fois dans cette arborescence, ou juste tagger des fichiers individuels. Y’a techniquement un support pour la ligne de commande, mais ça a pas l’air top moumoute, je pense parce que le système de tag se prête mal à la ligne de commande en règle générale.

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: On s'en tape (mais c'est pertinent d'en parler).

    Posté par  . En réponse au journal La France crée un fichier des personnes trans. Évalué à 7 (+5/-0).

    C'était une pique bonne enfant.

    Autant je reconnais a 100% la lutte des genres, et qu'en tant que mec blanc qui a la quarantaine et dans une position de pouvoir, que ma vie est tres differente de celle de la moitié de la population, et tout ca.

    Autant, l'écriture inclusive dans une langue fondamentalement genrée, c'est chaud, mec (ou meuf, ca marche aussi). Je suis pas forcement super réceptif a l'argument comme quoi l'écriture inclusive est nécessaire pour changer les mentalités. Je reconnais aussi que si ca me fait mal a l'oreille, les langues vivantes, ca évolue. Ca reste un peu trop gros pour moi. Et ca pique vraiment les oreilles, accessoirement. C'est ptetre un biais professionnel, ou l'ingénieur en moi voit trop de cas a la marge pour que le refactoring marche. Maintient la stack legacy, elle tourne et on arrive a la patcher la ou il faut quand il faut.

    Oui, la langue precede la pensée, c'est un peu le point central de 1984, supprimer les idées subversives en supprimant la possibilité de les exprimer. Mais je pense pas que ca s'applique ici.

    L'anglais est neutre dans son immense majorité, et pourtant v'la le merdier aux US pour tout ceux qui rentrent pas parfaitement dans le moule niveau identité sexuelle/genre. Dans le genre puritain et obsédé par des trucs qui les concernent pas DU TOUT, genre la bite du fils du president (c'est un cap! Que dis je? C'est une péninsule!), les mecs ils s'imposent (et les meufs aussi).

    Pour être tout a fait honnête, j'avancerais qu'a la base, c'est surtout une question de maintenir le pouvoir et a de renforcer son autorité. Un p'ti chef restera un p'ti chef, quelqu'un qui a peur de ce qu'il ne connait/comprends pas aura toujours peur, que sa langue soit genrée ou inclusive. C'est un problème orthogonal. Si c'était pas les trans/non binaires/homos/que sais je encore, ca serait un autre groupe arbitraire qui souffrirait des velléités dominatrices d'une proportion de la population.

    Bref, fin de la parenthèse.

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: On s'en tape (mais c'est pertinent d'en parler).

    Posté par  . En réponse au journal La France crée un fichier des personnes trans. Évalué à 2 (+0/-0).

    iel, celle

    Je suis confus :)

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: On aimerait pas tous la même chose

    Posté par  . En réponse au journal Laptop Frame.Work 13 pouces. Évalué à 2.

    Rj 45 et usb a sur l’écran, ça répond à beaucoup de cas d’usages, et ça fait très exactement un seul câble à brancher sur le laptop.

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: elasticsearch ?

    Posté par  . En réponse au journal Tour d'horizon de l'état des bases NoSQL. Évalué à 4.

    Ce sont des index, pas des bases de données. C’est fait pour trouver rapidement une aiguille dans une botte de foin, c’est pas vraiment fait pour le stockage long terme de données.

    l'utilisation de Kafka comme "pseudo-bdd" est très rarement une bonne idée.

    Dur de leur en vouloir cela dit, c’est une plateforme d’event streaming 😃

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: question de clarification

    Posté par  . En réponse au journal L’avis de RMS sur les relations sexuelles. Évalué à 3.

    Bon, les gars, troller a fond les ballons, c'est fun, mais on va peut être penser à arrêter les conneries un peu la. Surtout quand l'argument principal c'est d'enculer les mouches sémantiquement.

    "[…] hiring a “child” sex worker. […] be a teenager, not a child."
    C'est tout, donc pas de "défense", pas de "exaggerated condemnation", il parle ici juste de nommer.

    Si t'avais prit 2 secondes pour ouvrir un dictionnaire, tu saurais que child est définit dans la plupart des dictionnaires comme "a young human being below the age of puberty or below the legal age of majority.". L'emphase est de moi, ca c'est l'oxford, mais Cambridge, Merriam Webster et meme dictionary.com ont la meme definition.

    Donc bref, ce que RMS dit en substance la "l'accusation de vol de voiture est exagérée, il a pas volé une voiture, il a volé un monospace!!". J'ai vraiment du mal a ne pas interpreter ca comme une tentative de dédouaner des pratiques plus que douteuse.

    "tried to start dating/sexual relationship"
    Pas d'achat, donc pas le sujet que tu amènes, tu fuis en espérant qu'on gobe que ça parle d'achat pour ne pas assumer devoir te confronter à la loi française (ou ailleurs) qui autorise certains mineurs à avoir du sexe avec des personnes de 60 ans.

    Ben voyons. Marrant comme t'oublies la partie "He tried to lead Ms Corfman step by step into sex, but he always respected “no” from her and his other dates". En gros, "ouais, il l'a clairement groomé, mais ca va, parce qu'il a respecté les nons jusqu'a ce qu'il l'ai suffisament groomé". Super classe.

    Si la colline sur laquelle tu veux mourir, c'est de justifier Roy fucking Moore et le pédopiégeage a coup d'hyper rationalisation, fait toi plaisir mec. Mais RMS est passé par la avant toi, et ca s'est pas super bien fini pour lui.

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: question de clarification

    Posté par  . En réponse au journal L’avis de RMS sur les relations sexuelles. Évalué à 3. Dernière modification le 30 novembre 2023 à 00:53.

    Sont tarés… en espérant qu'un juge sera compréhensif (faut bien tomber).

    Oui, et non. D'une part, faut convaincre le DA (procureur) d'amener ca devant un juge avant de convaincre le juge.

    D'autre part, ya bien un moment ou il faut mettre une limite. C'est pour ca aussi qu'on a des humains dans le process, tout comme pour le cas US.

    La loi française est mieux adaptée au scenario typique, couple de 14 et 15 ans par example. Mais elle est particulièrement floue entre mineurs. Un gamin de 14 ans 11 mois et 29 jours peut se faire tripoter la nouille par une petite de 8 ans, et c'est franchement pas clair ce qu'il peut leur arriver.
    Ou pour utiliser un exemple moins extreme, une relation entre un mineur de 17 ans et un mineur de 12 ans passe comme une lettre a la poste, et c'est pourtant franchement tres tres tres limite comme situation a priori. Edit: et ya toujours un probleme de frontière dure. 17/14 ans, le jour ou l'un passe a 18, paf au trou, alors que la veille ca rentrait comme papa dans maman.

    Si t'as une solution qui a pas de frontière dures, ni de zone de flou douteuse, on t'écoutes :)

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: personne publique et hors-sujet

    Posté par  . En réponse au journal L’avis de RMS sur les relations sexuelles. Évalué à 3.

    En l'occurence, tous les trucs mentionnés par Drew DeVault, ce sont des trucs qu'il a mis sur sont site personnel

    Site perso qui en 2018 avait un gros lien en haut "faites un donation a la FSF!", mentionne la FSF plusieurs fois sur la page d'accueil. En 2010, sa bio était sur la page d'accueil et disait "j'ai fondé la fsf".

    Dans l'ensemble, oui, c'est tout a fait possible de clairement séparer son bog perso de son boulot a soit. Mais faut faire un vrai effort de separation. Dire "j'ai fondé la FSF, donnez a la FSF, FSF rulez, au fait, cette page a rien a voir avec la FSF", on peut pas vraiment dire que ca fait une separation.

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: question de clarification

    Posté par  . En réponse au journal L’avis de RMS sur les relations sexuelles. Évalué à 4.

    A noter que RMS est américain, que la loi des Etats dit souvent que pas de sexe entre adulte de 18 ans et 0 jours et ado de 18 ans moins 1 jour (si j'ai bien compris la loi de certains Etat ne fait pas de notion de différence d'âge

    Si tu parles de l'affaire Minsky, oui et non. Les iles vierges US définissent Rape in the second degree comme une personne a plus de 18, l'autre entre 16 et 18, et plus de 5 ans d'écarts entre les deux. 17 et 19, ca passe. 17 et 73, passe pas.

    Rape in the third degree si une personne a entre 16 et 18, et l'autre entre 13 et 16, pas d'exceptions.

    First degree, c'est le viol "traditionnel", a savoir non consentant/coercition/évanoui/bourré/mentalement incapable de consentir/etc.

    Pour le reste, comme toujours aux us, c'est état par état, et yen a 50, donc ca fait du monde.

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: personne publique et hors-sujet

    Posté par  . En réponse au journal L’avis de RMS sur les relations sexuelles. Évalué à 5.

    Du coup la question est: si une personne devient publique, a t-elle le droit de s'exprimer sur d'autres sujets que ceux qui l'ont rendu public?

    Ta question est bizarre. Bien sur qu'elle a le droit.

    La question est surtout de savoir si la communauté qu'elle représente va toujours vouloir être représentée par cette personne si la personne s'exprime sur des sujets qui n'ont rien a voir avec la communauté. Ses actions ont des consequences.

    Ta joueuse de tennis ne représente personne a part elle meme et ses sponsors. La défense des animaux, c'est cool, mais si elle se met a exprimer des opinions polémiques sur la situation du moyen orient, ses sponsors vont avoir quelque chose a y redire. Ou pas, ca depend de ce qu'elle dit, de comment elle le dit, et de comment c'est perçu par le reste du monde, et surtout par la cible de ses sponsors.

    Pour Stallman, c'est pareil. C'etait le porte parole de la FSF (techniquement, president, mais a ce niveau, il représente tres clairement une association dont le but est la promotion du logiciel libre), et transitivement, d'une communauté plutot grosse et active. Le mec a représenté la FSF et le mouvement open source devant des ministres français, donc on va pas couper les cheveux en 4.

    Il peut dire ce qu'il veut quand il veut. Les gens qu'ils représentent ne vont pas forcement être d'accord avec lui par contre, et potentiellement vouloir un autre représentant. Personne n'a cherche a l'empêcher de dire ce qu'il voulait dire. Des gens associé a la FSF ont par contre jugé ses propos outranciers, et ne veulent pas être associé avec lui. S'en suit un une situation "soit il part, soit nous on part".

    C'est pour ca que quand ton boulot c'est des relations publiques, t'évites de d'exprimer publiquement sur des sujets polémiques qui ne touchent pas directement ton domaine.

    Dois-je interdire à mes fille de lire les livres d'Harry Potter parce que son auteur a des idées de merde?

    Ca c'est un autre sujet. Tu peux, et probablement doit, séparer l'oeuvre de l'artiste. J'adore Noir Désir, meme si je peux pas dire que je soit un fan de Bertrand Cantat. Le fait qu'il ait tue sa copine n'enleve rien a sa musique.

    Tes filles ne savent pas forcement qui est l'auteur d'harry potter, ni ce qu'elle pense sur des sujets polémiques. Si elles ont l'age de comprendre, ca mangerais pas de pain de leur expliquer la difference entre l'oeuvre et l'auteur cela dit, c'est une bonne leçon pour elles.

    Apres, savoir si tu es ok pour lui donner des sous tout en sachant ce qu'elle pense, c'est une decision personnelle.

    Stallman par contre a honnêtement absolument rien produit depuis le debut des années 90. Son boulot depuis, c'est de la PR: conference, évangélisme, etc. Tu peux pas séparer l'oeuvre de l'auteur dans cette situation.

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: très hors sujet, ou pas en fait

    Posté par  . En réponse au journal L’avis de RMS sur les relations sexuelles. Évalué à 7.

    alors forcément après tu arrives à t'inventer que je dis des choses

    J’ai rien inventé du tout, 2 des 4 exemples ont moins de 6 mois, et les 2 autres on t’as tous vu les répéter ad nauseam depuis plus de 10 ans.

    horribles

    Jamais dit qu’elles étaient horribles, juste que tes propensions à l’homme de paille et à l’hyper rationalisation sont inversement proportionnelles à la nuance de tes propos.

    Le cas dans le point:

    e pauvre, faut croire qu'on l'a attaché là, mais bon attaché tout en deva t se deplacer quand même, vous suivez? Pas moi

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: Réalité

    Posté par  . En réponse au journal L’avis de RMS sur les relations sexuelles. Évalué à 8.

    les gens adorent attaquer en inventant des raisons quand elles sont incapables de parler du sujet et/ou quand elles ne trouvent pas assez d'ennemis

    Mais dites moi pas que c’est pas vrai?!?

    Genre des mecs qui débattent sans fin, construisant des homme de pailles gigantesque dans leur tête, classifiant ensuite les autres comme ami ou ennemi suivant ces lignes arbitraires, et le plus souvent imaginaires, sans même les connaître, ni même les avoir lu (pour être tout à fait honnête)? Genre « les libristes absolutistes contre les pragmatique », « les méchant open source washeur contre les vrai gars du libres »(à ne pas confondre avec les premiers), « les anti liberté imposeur de gpl contre les vrai gars qui laissent le choix » (a ne pas confondre avec les premiers, ni les seconds d’ailleurs faut suivre un peu, merde), « les citadins ecolos du dimanche contre les vrai gars de la campagne », « les gars de la campagne qui font le CHOIX d’avoir besoin d’une voiture à la campagne contre les vrais gars de la ville vivant dans l’hyper centre » (on a dit faut suivre!), ce genre de choses?

    Mais qui donc oserait faire quelque chose comme ça? Ma bonne dame, franchement, tout fout le camp.

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: De la pertinence du KISS et d l’anticipation des besoins futurs

    Posté par  . En réponse au journal Le sophisme du meilleur outil. Évalué à 4.

    Tu réalises que si on prétend ne faire aucune abstraction, toute donnée numérique n’est que chaînes de bits ?

    Oui, et l’univers entier (et donc les bits aussi) se réduit à 4 types de particules élémentaires plus la gravité. C’est pas pour autant qu’on écrit du code dans le modèle standard. La façon dont on modélise l’information en science de l’information (aka informatique) me paraît être assez importante.

    l’assembleur est peut être partout, mais on a des bootstrapping compiler depuis les années 50, et c’est pas pour rien que personne a écrit un langage en assembleur (ou en bash) ces 50 dernières années.

    Je vais arrêter la, parce que si la discussion en arrive à « c’est quoi la différence entre l’absence de valeur et 0 » et « de toutes façons c’est qu’un voltage dans un circuit électronique », je suis pas sur qu’on aille très loin. La prochaine étape c’est «  brainfuck et white space aussi sont Turing complet ».

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: De la pertinence du KISS et d l’anticipation des besoins futurs

    Posté par  . En réponse au journal Le sophisme du meilleur outil. Évalué à 2.

    Et je rappelle tout de même que jq peut avoir une syntaxe compliquée, il n’y a aucun besoin en traitement du JSON qui lui soit inatteignable

    le problème c’est pas jq, le problème c’est de récupérer la sortie de jq de façon utilisable.

    Le json est pas mal foutu, si 2 champs ont une semantique différente, tu les sépares. Mais bash est tellement limité que tu peux pas récupérer plus d’un champ à la fois sans rentrer dans un champ de mines. Utiliser des séparateurs magique (genré \n, ou une virgule, ou que sais je) ne marche pas, parce que ces caractères peuvent être dans ta valeur. A moins que tu veuilles te fader un parseur csv compliant avec toute la spec en bash, ou échapper tes valeurs de partout, pour ensuite les desechapper, mais tu reviens au même problème: c’est affreusement compliqué et casse gueule.

    Et surtout, à ce compte là, autant écrire un parseur json en premier lieu. A ben zut, c’est physiquement pas possible à cause du typage. Tu le vois, le problème?

    Est-ce qu’on reproche au C ces types natifs limités ? Ou a Perl de ne pouvoir avoir des arrays de pointeurs ? Même en Python les types d’objets « complexes » sont basés sur les trois types de base : scalaire, list et dict (sachant que tout scalaire peut être considéré comme une liste selon le besoin.

    Le problème c’est pas les types de bases limites. Enfin, si, c’est un problème. Mais c’est pas mon point. Les tableaux en bash ne peuvent que contenir des chaînes. Pas de null, parce que ça existe pas en bash, pas un autre tableaux, rien. Des tableaux à 2 dimensions, c’est pas particulièrement rare, quand même. A plus forte raison quand les tableaux associatifs sont la seule structure de données que t’as.

    Le concept du bash, c’est d’orchestrer des binaires en renvoyant la sortie de l’un vers l’entrée de l’autre, de manipuler de façon légère le système de fichier. Commencer à scripter du Kukes à coup de jq sort très largement de ce champ. Ruby/python feront ça les doigts dans le nez par contre.

    T’as déjà eu affaire à du PowerShell ? :)

    Sorti de survoler des scripts internes, non. Après, powershell a au moins le bon goût d’être typé, et te donner un output structuré (sans avoir besoin de te prendre les pieds dans le tapis avec sed et awk). Mais surtout, c’est pas le sujet.

    Oui, et ? Tu dirais que l’assembleur est obsolète ?

    Euh, ben, un petit peu quand même. C’est pas exactement un langage qui a le vent en poupe. C’est une niche de chez niche, quand t’as pas d’autre choix disponible.

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: De la pertinence du KISS et d l’anticipation des besoins futurs

    Posté par  . En réponse au journal Le sophisme du meilleur outil. Évalué à 3. Dernière modification le 23 novembre 2023 à 05:38.

    Pourquoi « à la truelle » ?

    Genre si t’as besoin de récupérer 2 champs de ton json, ça commence à devenir plutôt compliqué. Ou extraire un tableau. Ou si un champs est null. Fin ça devient super limité dès que tu sort de la base de la base du chemin content.

    Des tableaux (liste ou hash) tu as ça aussi en bash

    multidimensionnels, les arrays? Ou c’est juste un bon gros hack de chez mémé, avec une syntaxe absolument imbitable? Et t’as des sets aussi? Qu’est ce qu’il se passe si tu traites un tableau comme une map, il se passe des choses bizarres parce que le language ne connaît qu’un seul type, les chaînes, et que donc array[1] est la même chose que array["1"] bien que ça ne veuille pas du tout dire la même chose?

    la programmation multi-thread est native (&, wait), tout comme l’usage de signaux (kill, trap)

    oui, bon a ce compte la, l’assembleur aussi est multi thread.

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: De la pertinence du KISS et d l’anticipation des besoins futurs

    Posté par  . En réponse au journal Le sophisme du meilleur outil. Évalué à 2.

    Oui, c'est sur que rm -rf / toto avec des backticks, ca va pas donner le résultat escompté, vu que c'est un passthrough direct sur le shell. Ruby ne va pas magiquement échapper les paths. Ce qui était précisément le point de mon message: a un cout presque nul, tu peux éviter les plus gros pièges du shell. Au pire, tu te retrouves avec les meme problèmes que le shell, tout en ayant probablement une solution qui te prendrait 20 minutes a trouver.

    D'ou l'intérêt d'utiliser les packages natifs, genre FileUtils. Les methods sont meme nommées apres les commande de base.

    Ce bout de code fait exactement ce que tu veux qu'il fasse (plutot que d'effacer tout /tmp)

    require 'fileutils'
    
    FileUtils.mkdir_p("/tmp/ toto")
    FileUtils.rm_rf("/tmp/ toto")

    Idem avec ton -f:

    require 'fileutils'
    
    FileUtils.chdir("/tmp")
    FileUtils.touch("-f")
    
    # plus loin dans un shell:
    ll /tmp/
    -rw-r--r--   1 groumly  wheel     0B 20 nov 11:45 -f

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: De la pertinence du KISS et d l’anticipation des besoins futurs

    Posté par  . En réponse au journal Le sophisme du meilleur outil. Évalué à 3.

    Le shell, par exemple Bash, vient avec un « éco système » qui n’a rien à envier à celui de Perl ou celui de Python : il est composé de binaires tels que "curl", "bc", etc….

    Je vais pas parler de python que je ne connais pas. Mais je peux parler de Ruby, que je connais essentiellement en remplacement de bash/rakefile.

    Ton argument ne fait aucun sens. Lancer une ligne de commande en Ruby c’est une ligne (backtick ou system, en fonction d’où tu veux faire aller le stdout), avec la grosse, grosse, grosse différence va te permettre d’éviter les conneries du bash. Du genre « oups, y’avait un espace dans le path et paf la commande rm », pour citer la plus connue. Tu parles de curl, une requête http c’est aussi une ligne en Ruby, et pas besoin de jq à la truelle pour ressortir le champ que tu veux. Et t’auras ton champ typé correctement. En gros, l’approche de base c’est d’écrire du code natif Ruby, et si quelque chose devient relou, tu peux toujours ressortir ta ligne de commande sur le point précis qui est relou. Mais au moins, t’aurais acces à des trucs « moderne », genre des tableaux, des maps, et même des nombres. Perso, je m’en sert pour scripter les builds en ligne de commande Xcode, ce qui au final inclue un peu plus que juste lancer xcodebuild.

    Tout ça pour dire, l’écosystème bash est pour ainsi dire inexistant (et honnêtement, c’est pas pour rien). Ruby te donneras la même chose avec un typage qui date pas de 1974, et une base solide de base dans l’interpreteur (sans gem externes).

    Ah ah ha… si tu as la chance de bosser dans une structure qui applique sans exceptions les principes de la CI, du gitops, etc, systématiquement, bah tant mieux pour toi

    Je suis pas sur de comprendre ou tu veux en venir. Une instance Jenkins, c’est grosso modo une heure à mettre en place, avec discovery des pull requests, ping back à GitHub etc. Et demander de ne pas builder/packager/déployer depuis le laptop de jean rené, c’est pas le bout du monde quand même?

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: De la pertinence du KISS et d l’anticipation des besoins futurs

    Posté par  . En réponse au journal Le sophisme du meilleur outil. Évalué à 3.

    Je suis pas forcément en désaccord avec toi sur le sentiment, mais y’a 2 points qui me font tiquer.

    parce qu’en 202X le shell/Perl est obsolète ?

    Honnêtement? Oui. C’est dur à lire, dur à maintenir, super casse gueule, et les compétences court pas foule. Quand on a Ruby et python aussi largement déployé, qui viennent avec un eco système aussi gros, y’a vraiment aucune excuse pour faire du Shell. Perl est « moins pire », grâce à son eco système, mais ça reste un langage super aride et casse gueule.

    evidement, y’a toujours des exceptions. Pour citer un exemple, booking.com notamment à beaucoup (trop) de Perl dans son backend, mais c’est plus de la dette technique qu’autre chose à ce niveau si t’en parles avec eux.

    Sans oublier de mettre en place une chaîne de CI exprès pour ce « projet »

    Eh. On est plus en 97. La CI, c’est la base de la base. Et ça fait bien 10 ans que les outils sont suffisamment avancés pour faire du self service à coup plus que raisonnable.

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: sealed ?

    Posté par  . En réponse au journal La plus belle ligne de code. Évalué à 3.

    Ça casse pas plus le principe de liskov que final (interface a, public final class b implements a).

    Liskov dit que les classes filles doivent conserver exactement le même contrat que la classe mère. Pas que la classe mère peut être étendu à l’infini.

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: continue

    Posté par  . En réponse au journal La plus belle ligne de code. Évalué à 4.

    return, ok, mais break/continue peuvent tres tres souvent (mais pas toujours!) être remplacés de façon bien plus elegante par une combinaison de map/flatMap/findFirst/filter/forEach/que sais je encore. Alors, ok, tout les langages n'ont pas ce genre d'api, mais quand meme java l'a depuis une décennie, on est en droit de penser que c'est une feature de base :)

    Sans forcement les interdire, les déconseiller me parait être une bonne idée.

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: j'ai du mal à comprendre un truc ....

    Posté par  . En réponse au journal La plus belle ligne de code. Évalué à 6.

    dont la philosophie est de ne pas faire de programmation défensive mais de laisser planter (et avoir un superviseur qui relance le processus).

    Le probleme c'est que les memes causes ont généralement les memes consequences, laisser le process planter et prier tres fort qu'il se banane pas apres avoir été relancé, c'est tres #yolo quand meme. Si la cause du bug c'est une race, ou un évènement ponctuel spécifique qui est null quand il devrait pas l'être, c'est une chose, et ton process va probablement revenir a la normal (ou pas), potentiellement au prix d'avoir atomise les autres transactions qui étaient potentiellement en cours dans le meme process (donc potentiellement, pas nul du tout).

    Mais si c'est un job qui process des données, ou profile utilisateur qui a un champ nul quand il devrait pas, tu peux relancer le processus autant de fois que tu veux, ca va pas mieux marcher apres le millionième relancement que la premiere fois.

    Soit ton typage comprends la notion de null, et tu force le call site lui meme a répondre a la question existentielle "une collection qui n'existe pas peut elle avoir une taille?", soit il le fait pas. Dans ce cas, t'as 2 options: declarer qu'une collection qui n'existe pas a une taille de 0, ou decider que c'est une exception (et ca, ca va vraiment pas arranger la lisibilité du code, parce qu'une exception c'est juste 2 goto empilé l'un sur l'autre qui portent un gros imperméable avec un faux nez et une fausse moustache sur celui du haut).

    Au sujet de la semantique, declarer qu'une collection nulle a une taille de 0 est loin d'être ouf. Si tu regardes la question sous l'angle "combien de patates sont dans ce sac a patates", effectivement, c'est mal définit quand le sac a patate n'existe pas.

    Mais la question réellement posée a 99% de chances d'être "De combien de patates suis-je en possession?", et ca enleve l'ambiguïté: tu ne possedes aucune patate si tu ne possèdes pas de sac a patates, ou si le sac a patates est vide. Et c'est a priori renforcé par le fait que si t'as ce probleme en premier lieu, t'es en mode fonctionnel, pas objet (sinon t'aurais le probleme du null avant meme de poser la question), et donc la question est littéralement "combien de patates?" pas "quelle est la taille de ce sac a patates?".

    Tu peux probablement trouver une variante de ce probleme qui ne se résoud pas en changeant l'énoncé de la question, mais dans ce cas ci, ca se résoud tres facilement.

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: Optional<T>

    Posté par  . En réponse au journal La plus belle ligne de code. Évalué à 4.

    euh, ouais, pas vraiment. Optional.get() peut te peter un NoSuchElement (unchecked en plus, la classe) et la difference entre myVar.isPresent() et myVar != null est quand meme vachement subtile.

    Sans compter que ca devient vachement meta quand tu te rends compte que ton optional peut être null, et qu'en fonction du contexte, tu vas potentiellement devoir null check ton optional.

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.

  • [^] # Re: return early pattern

    Posté par  . En réponse au journal La plus belle ligne de code. Évalué à 3.

    tout simplement parce que le diff la merge request ne passait pas verticalement avec toute cette indentation.

    Autant les pyramids of doom sont un VRAI probleme, et je matraque constamment a mes équipes que guard else c'est pas fait pour le chien (oui, on fait du swift, et guard a en cadeau bonux une garantie du compilateur que le block return ou fatalError()), que la lisibilité et réduire le contexte a garder en tete en relecture est plus important qu'une règle arbitraire "un seul return par fonction", autant l'excuse du "le diff est pas lisible" est assez bidon.

    Utilise un outil different si ton outil est pas capable de faire des trucs de base. J'ai eu le meme débat (assez houleux) a propos de nos règles PMD qui interdit les "space terminated strings", l'excuse donnée étant que le mec qui a mit au point les règles et qui faisait pas mal de review utilisait un outil des bois qui était pas foutu de filtrer les whitespace des diffs.

    Bon, apres, si tu fais surtout du python, effectivement, c'est une autre histoire.

    Linuxfr, le portail francais du logiciel libre et du neo nazisme.