barmic a écrit 10455 commentaires

  • [^] # Re: ROX-Filer

    Posté par  . En réponse au journal Mes nautilus scripts. Évalué à 4.

    Ça ne change rien :

    # v='-lrt'
    # ls "$v"
    # ls -- "$v"

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: ROX-Filer

    Posté par  . En réponse au journal Mes nautilus scripts. Évalué à 5.

    Danger ! Tu devrait au moins faire :

    file --mime-type -b -- * | cut -d "/" -f2

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Moi j'aime bien

    Posté par  . En réponse au journal Mes nautilus scripts. Évalué à 4.

    Tu peux peut être utiliser un préprocesseur. Tu garde une bibliothèque de fonctions que tu inclus par via une directive comme #include depend_check et tu as une étape de préprocesseur avant d'avoir tes scripts utilisables. Ça te simplifierait la maintenance tout en gardant ce coté self-contained de tes scripts.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Stout bête

    Posté par  . En réponse au message [Java -> Python] Implémentation d'interface "en ligne". Évalué à 3.

    Du coup je me pose une question : la manière de faire pour une interface plus complexe (qui a plusieurs méthodes). En java c'est un peu lourd mais ça suit la même syntaxe, en python tu va prendre un objet et lui donner dynamiquement les paramètres qui vont bien ?

    obj.function1 = lambda u: u * u
    obj.function2 = lambda u: u + u

    Si c'est ça c'est vraiment de la prog par prototypage :)

    Par contre je ne sais pas comment créer cet obj. Il n'y a pas (à ma connaissance) de classe maitresse de toutes les autres et instancier une autre classe peu être très artificiel.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Pas sûr que trouver des erreurs/la fiabilité soit si important pour la communauté libre..

    Posté par  . En réponse à la dépêche [code] Trouver les erreurs. Évalué à 6.

    Ton code accepte des collections vides, tandis que celui d'Anthony aura un comportement indéfini (erreur de segmentation par exemple).

    Je n'avais pas fais gaffe, mais tu as raison. C'est vraiment rigolo comme sur un algo trivial (vraiment), on voit des erreurs (ce n'est pas le premier qui a ce même problème) tout ça dans une tentative d'économiser un test ou la recopie d'une ligne de code. Le tout par des gens qui savent programmer.

    Ça relativise un peu les failles retentissantes qui ont marquées l'année 2014 et l'intérêt de la performance à tout prix…

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Krita ou GIMP

    Posté par  . En réponse à la dépêche Remplacement de Photoshop par Krita dans une université parisienne. Évalué à 4.

    T'as raison, GIMP devrait plutôt mettre une grosse popup :

    Attention on va te sucrer des données si tu clique sur "Ok", tu ne pourra plus revenir en arrière.

    C'est bien pourri niveau expérience utilisateur (c'est ce que font certains traitement de texte déjà avec les versions de leur format), mais c'est nécessaire que le logiciel informe quand il va te faire perdre des données et ce même si ça fait 30 ans que d'autres logiciels ne le font pas (parce qu'ils n'ont pas eu l'idée, parce qu'ils n'y pensent pas, parce qu'ils n'ont pas le courage de le faire ou parce qu'ils ne peuvent pas1).


    1. C'est le cas de LibO dont le traitement pour aller de la représentation interne au document final est trop complexe pour pouvoir déterminé à priori si on garde toutes les données ou pas (et ce quelque soit le format d'entrée et de sortie) 

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: à propos de Composer et autres

    Posté par  . En réponse au journal Je n'aime pas le code moderne. Évalué à 1.

    Dire qu'on est obligé d'utiliser composer pour utiliser une lib, c'est comme dire qu'on est obligé d'utiliser un gestionnaire de paquet pour installer un logiciel. C'est simplement faux.

    Comprenons-nous bien. J'en sais rien et je m'en fou. Je ne connais pas composer, je ne fais pas de PHP et je ne compte pas en faire durant la prochaine décennie.

    Ce à quoi je répondais c'est au shemas :

    machin m'oblige à utiliser composer

    Ben non, gros con, si tu veux pas utiliser composer t'a qu'à pas utiliser machin

    Réponse qui démontre aussi une totale incompréhension de ce qu'est composer.

    Justement ce que je dis c'est qu'au lieu de répondre une réponse toute faite, qu'on revoit aussi pour systemd et pour pleins d'autres sujets. Il est largement plus intéressant d'expliquer, comme vous le faites pour me répondre, que ce n'est pas une obligation.

    Bref ma participation était plus liée à du méta-débat qu'au débat en lui même (je ne me suis jamais prononcé sur l'intérêt ou non des lib en question ou de composer).

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Inkscape?

    Posté par  . En réponse à la dépêche Remplacement de Photoshop par Krita dans une université parisienne. Évalué à 4.

    C'est une question intéressante, je suis pas du milieu mais j'ai l'impression que les logiciels comme inkscape (je ne connais pas son pendant KDE) ont certains manques par rapport aux logiciels bitmap (appliquer des flous par exemple ou certains outils comme des pinceaux doux). Ensuite je suis pas sur que les formats vectoriels soient géniaux quand tu as des motifs très détaillés (comme des skins de jeux vidéo). Enfin l'intérêt peut aussi être inexistant, ce n'est pas parce qu'une image est vectorielle que zoomer et dézoomer seront super, il faut des fois (souvent ?) mieux recréer une image pour les petites tailles avec moins de détails par exemple.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Pas sûr que trouver des erreurs/la fiabilité soit si important pour la communauté libre..

    Posté par  . En réponse à la dépêche [code] Trouver les erreurs. Évalué à 3.

    Je t'avoue que dès que je peux éviter de ramener une dépendance externe à un projet, je le fait.

    Ça se discute, mais en Java pour moi guava est une dépendance de base, je sais que je m'en sert suffisamment pour que le jeu en vaille la chandelle.

    L'usage me paraît un peu space aussi, mais c'est normal j'imagine, je ne suis pas habitué au Java et son tout-objet (autre sujet, vaste).

    C'est un builder, rien de spécifique à java, même si c'est peut être de plus en plus utilisé par la communauté java.

    Pour le find, j'imagine que le C++ hérite d'une plus grande habitude des classes/fonctions génériques, ça doit aider pas mal. Si je ne m'abuse, Java n'à implémenté la généricité que bien après C++.
    Même si la STL est très pauvre comparé aux lib standard java, elle à quand même le mérite d'être puissante, et depuis 2011 d'être utilisable (un peu tard, je sais).

    Oui, mais ce que j'apprécie en java par rapport à la la STL, c'est l'héritage bien pensé (Collections, Iterable,…), je trouve que ça donne une API bien plus agréable à utiliser que les méthodes de la STL à base d'itérateur.

    Je ne connaissais pas guava, mais à en croire wikipedia, ça à été motivé par l'introduction de la généricité dans java (2007?), du coup ça deviens logique que ça fasse bien les choses: c'est tellement moins chiant de n'implémenter qu'une fois les algo, puis de les optimiser en fonction du conteneur sous-jacent…

    Et tellement pratique à réutiliser plutôt que de se réécrire l'ensemble à chaque nouveau projet avec les bugs qui vont avec.

    Pour le reste, je ne connais rien à flex

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Pas sûr que trouver des erreurs/la fiabilité soit si important pour la communauté libre..

    Posté par  . En réponse à la dépêche [code] Trouver les erreurs. Évalué à 3.

    Ouai enfin si à la place j'écris quelque chose dans ce genre là :

    for(auto foo_it=bar.begin(); bar.end() != foo_it; ++foo_it) {
      foo += current;
      if (bar.end() != foo_it) {
        foo += ";";
      }
    }

    Ça coute un test en plus que ta version, mais on a une boucle plus simple (on voit immédiatement qu'on itère sur l'ensemble des éléments etc).

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Et ils vous financent un peu ?

    Posté par  . En réponse à la dépêche Remplacement de Photoshop par Krita dans une université parisienne. Évalué à 1.

    En quoi le fait de remplacer un outil par un autre change la donne ?

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Et ils vous financent un peu ?

    Posté par  . En réponse à la dépêche Remplacement de Photoshop par Krita dans une université parisienne. Évalué à 1.

    On diverge.

    Le journal parle de remplacer un logiciel par un autre. Ça n'a donc rien avoir avec la méthodologie d'enseignement dont tu parle.

    Je ne parle pas de n'avoir aucun cours avec Photoshop ou autres, mais que sur l'ensemble de la scolarité cela soit varié et qu'on ne t'impose pas une solution de bout en bout (qui puis est payante).

    Personne n'en a parlé. ckiller et Dring FirebirdVsMySql ont parlé de faire l'impasse sur l'outil qui domine très largement la discipline.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Et ils vous financent un peu ?

    Posté par  . En réponse à la dépêche Remplacement de Photoshop par Krita dans une université parisienne. Évalué à 3.

    Chez moi il y avait de la liberté, mais aussi de la variétés dans ce qui était enseigné.

    C'est bien ce que je dis tu n'apprenez pas (uniquement chez toi), tu avais des heures de formation sur machine.

    Je ne crois pas que cet outil soit adapté à ce types d'établissements, donc je dirais que non.
    Si c'est adapté, comme en école d'infos, si tu as un soucis avec ton IDE particulier ou un langage particulier qu'aucun prof ne maitrise tu devras être autonome, sinon ils peuvent donner un coup de main.

    Donc il faut un ensemble de logiciel qualifié par l'enseignant.

    Tu connais des universités ou écoles d'ingé en informatiques qui imposent un langage et un IDE ?

    Oui, pleins (dans plusieurs IUT, en fac et dans une école d'ingé). Le langage est quasiment toujours imposé et l'IDE est souvent très fortement conseillé. Sur l'ensemble de la formation ça varie, mais pour un TP ou un projet donné généralement le langage est spécifié quand ce n'est pas le cas il est conseillé plus ou moins fortement.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Et ils vous financent un peu ?

    Posté par  . En réponse à la dépêche Remplacement de Photoshop par Krita dans une université parisienne. Évalué à 1.

    Tu apprends à maitriser l'outil chez toi

    A dieu les TP ?

    les devoirs sont faits à partir du logiciel de ton choix…

    Bon je commence le projet avec pov-ray (ou un module de dessin de LaTeX) et je demande à mes profs de m'aider une fois que j'ai bien entamé mon projet ?

    En théorie c'est vraiment bien ce que tu dis. En pratique il faut cadrer et je ne connais pas de formation qui laisse libre. Elles laissent généralement le choix entre plusieurs solutions. Ici on pourrait avoir photoshop, gimp, krita et PaintShop Pro, mais plus tu ajoute de possibilité plus tu augmente les risques (la capacité des prof à aider leur étudiants s'en voit limité).

    Au passage il faut bien distinguer la méthode d'apprentissage et le fait d'utiliser du libre ou non. Tu peux très bien apprendre à des étudiants à utiliser krita et rien d'autres et à l'inverse leur apprendre des concepts de dessin avec comme support shotoshop.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Krita ou GIMP

    Posté par  . En réponse à la dépêche Remplacement de Photoshop par Krita dans une université parisienne. Évalué à 10.

    Il y eut même une tentative de fork pour revenir au 'save as/save' des anciennes versions de Gimp

    Encore des gens particulièrement intelligent pour se dire que ce serait mieux de forker un projet en manque de contributeurs pour faire ce qui peut être fait simplement via un plugin.

    Des gens aussi malins que ceux qui créent devuant. On fork pour faire parler de nous avec l'espoir que ça fasse suffisamment de bruit pour influencer le projet mainstream.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Pas sûr que trouver des erreurs/la fiabilité soit si important pour la communauté libre..

    Posté par  . En réponse à la dépêche [code] Trouver les erreurs. Évalué à 2.

    On peut toujours aller plus loin : https://linuxfr.org/users/crev/journaux/ada-langage-et-ressources#comment-1464711

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Pas sûr que trouver des erreurs/la fiabilité soit si important pour la communauté libre..

    Posté par  . En réponse à la dépêche [code] Trouver les erreurs. Évalué à 3. Dernière modification le 19 janvier 2015 à 22:03.

    Il y à la performance, et il y à la maintenance. C'est surtout le 2nd qui me pose problème: un code copié une fois, j'ai toujours peur que quelqu'un arrive, modifie un truc à un endroit et zape l'autre copie…

    Ça s'utilise ainsi (tiré de la doc officielle, le code viens de ) :

    Joiner joiner = Joiner.on("; ").skipNulls();
    return joiner.join("Harry", null, "Ron", "Hermione");

    Il existe des méthodes join() pour les Iterables, les tableaux et comme au dessus une variadiques. On peut aussi remplacer les valeurs null par une valeur par défaut.

    Bref niveau ré-utilisabilité/maintenance je vois pas vraiment comment on peut faire mieux.

    Sinon, c'est moi ou ton exemple ne gère que les string?

    Non c'est pour ça que ça utilise la méthode toString().

    std::find, en C++. Fonctionne sur tous les conteneurs standards, du foo* au std::multi_map en passant par std::array. La STL à pas mal de ces petits algo qui sont devenus subitement utilisables depuis 2011, mais celui cité manque toujours.

    C'est malheureusement pas en standard en java (à moins que j'ai loupé une méthode dans l'API Stream, mais je crois pas), mais guava fais très bien les choses :)

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Et un standard de plus

    Posté par  . En réponse à la dépêche pkgsrc 2014Q4 est disponible. Évalué à 9.

    Il n'y avait pas plus de standards avant qu'après. Ce n'est pas parce que tu utilise dpkg que ça fonctionne sur toutes les distributions dérivées de debian (de même pour ebuild ou rpm par exemple).

    Tu connais combien de gestionnaires de paquets qui sont supportés sur linux, *BSD, Solaris et windows ?

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: à propos de Composer et autres

    Posté par  . En réponse au journal Je n'aime pas le code moderne. Évalué à 3.

    Donc on est bien d'accord : Barret Michel dit que la GPL est virale, elle force, et défendra les gens qui le disent.
    Et encore, c'est pas un bon exemple, car c'est pire mon exemple : Linux est bien plus horrible, parce que bon, on ne peut pas prendre Linux, virer la dépendance à la GPL, et rediffuser, alors que la, on prend la lib, on la modifie, et hop on peut la rediffuser tout ça (on peut même proposer à l'upstream un patch pour ne pas avoir la dépendance).

    Oui tout à fait. Mais t'en a pas marre de ressasser toujours les mêmes choses ? De la même manière que pour le « non ça ne force pas », tu finis par prendre à parti en imaginant ce que j'ai pu dire ailleurs.

    C'est une évidence que la GPL contraint et que le code sous GPL (mais plus généralement sous copyleft) contraint, ça n'est un secret pour personne. C'est pour ça que des gens ont créé des licences sans copyleft, c'est le genre de trucs qui font que zfs ne peux pas être intégré à linux.

    Si tu veux aller dans les choses aussi puériles, je peux changer ma signature rien que pour toi, mais bon je me sens un peu con tellement c'est plat.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: à propos de Composer et autres

    Posté par  . En réponse au journal Je n'aime pas le code moderne. Évalué à 3.

    Là c'est toi qui pinaille, personne ne force personne, point.

    Pour utiliser c'te lib, tu es obligé d'utiliser composer.
    Cette lib te contraint d'utiliser composer.
    Tu ne peux utiliser cette lib sans composer.

    Voila si le mot "force" te gêne choisi celui que tu veux.

    Ce n'est pas un "débat intéressant", c'est simplement n'importe quoi.

    Tu y réponds pourtant. Ce que l'auteur veux faire ressortir c'est qu'il trouve qu'une dépendance ne lui convient pas. Il a le droit d'exprimer son avis et de l'expliquer et si cet avis et si idiot, tu peut le lui expliquer comme tu le fait dans le reste de ton commentaire, mais dire "si ça ne te plaît pas ta gueule et va voir ailleurs" ça n'a pas d'intérêt autre que de l'énerver.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Pas sûr que trouver des erreurs/la fiabilité soit si important pour la communauté libre..

    Posté par  . En réponse à la dépêche [code] Trouver les erreurs. Évalué à 4.

    Comme quoi, le goto, on le critique souvent

    En fait vu comme il est casse gueule, c'est bien de se poser la question de la pertinence de son usage quand on s'en sert.

    Pour ton problème, en java j'utilise la classe Joiner de guava. Je viens de regarder et elle fait :

      public <A extends Appendable> A appendTo(A appendable, Iterator<?> parts) throws IOException {
        checkNotNull(appendable);
        if (parts.hasNext()) {
          appendable.append(toString(parts.next()));
          while (parts.hasNext()) {
            appendable.append(separator);
            appendable.append(toString(parts.next()));
          }
        }
        return appendable;
      }

    Il y a donc une partie dupliquée (1 ligne), mais le gain en fonctionnalité est AMHA suffisant pour arrêter de se poser la question de la performance (sauf cas où tu te rend vraiment compte que ça pose problème).

    Il y a tout un tas de cas comme ça de boucles chiantes. Comme vérifier qu'un conteneur contient bien un élément donné. Soit tu te trimbale un booléen, soit tu fait un saut à l'intérieur de ta boucle, soit tu duplique ton test en sortie de boucle,…

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Pas sûr que trouver des erreurs/la fiabilité soit si important pour la communauté libre..

    Posté par  . En réponse à la dépêche [code] Trouver les erreurs. Évalué à 2.

    Avec un while, c'est pas possible (pas testé, toutes mes excuses si ça ne marche pas)?

    Non tu aura un ";" à la fin.

    À mon avis, le choix du C++ est assez paradoxal avec la micro-optimisation demandée.

    Pourquoi ?

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Pas sûr que trouver des erreurs/la fiabilité soit si important pour la communauté libre..

    Posté par  . En réponse à la dépêche [code] Trouver les erreurs. Évalué à 3.

    Non justement j'ai bien choisi de ne pas lui donner de type. Disons que c'est un foo si ça t'arrange et prenons le C++ comme ça tu peut avoir dans ta classe foo (si c'est une classe) avoir défini comment convertir un foo en int.

    Pour moi, ça montre surtout que la lecture d'un code (pour sa relecture par exemple) est très compliquée, qu'il faut avoir pleins de choses en tête, donc un langage qui va être capable de mettre en évidence les erreurs potentielles dans sa syntaxe est bénéfique (tu as moins de risque d'avoir des oublis, tu as moins de choses à penser en même temps donc tu peux plus te concentrer sur la valeur ajouter de ton programme,…).

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Pas sûr que trouver des erreurs/la fiabilité soit si important pour la communauté libre..

    Posté par  . En réponse à la dépêche [code] Trouver les erreurs. Évalué à 2.

    Obliger le développeur, c'est le meilleur moins d'obtenir, pardonne moi l'expression, de la merde. Exemple ? Les try/catch foireux en java à cause de l'obligation de gérer les exceptions (i.e., le catch est vide, mais c'est nécessaire pour que cela compile).

    Bon exemple, l'obligation du try/catch ça rend la merde de tes développeurs visible.

    D'après toi qu'est-ce qui est mieux entre :

    int value = (int) anotherValue;

    et

    int value;
    try {
       value = anotherValue.atoi()
    } catch(...) {
    }

    Le second montre clairement que tu as un cas d'erreur possible (que tu le traite ou non), il t'oblige à donner un valeur par défait (si tu utilise value sans l'initialiser dans la plupart des langages ton compilateur va hurler).

    Tu ne pourra jamais empêcher un développeur qui fait n'importe quoi à faire n'importe quoi. La preuve de programme n'empêche pas celui qui l'a fait de faire n'importe quoi.

    Ce qui est reprochable à des langages comme java c'est de ne pas être suffisamment expressif pour gérer tout ça de manière réellement agréable (entre autre via le patern matching, la capacité à produire du code exception free et la capacité du langage à exprimer tes contraintes dans des types -là dessus ada est pas mal-).

    Au passage, ta preuve de programme va simplement t'obliger à écrire ce code de gestion d'erreur, peut être moins car tu exprime mieux les contraintes de tes données (tu sais que ta méthode n'est jamais utilisé qu'avec en entrée des valeurs paires).

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)

  • [^] # Re: Pas sûr que trouver des erreurs/la fiabilité soit si important pour la communauté libre..

    Posté par  . En réponse à la dépêche [code] Trouver les erreurs. Évalué à 0.

    On peut générer du code qui va effectivement vérifier tout ça à l'exécution, ou on peut s'en passer. C'est au choix.

    La solution la plus sûr c'est d'obliger le développeur à écrire ce code et à ne pas le générer ni à rester sans.

    Tous les contenus que j'écris ici sont sous licence CC0 (j'abandonne autant que possible mes droits d'auteur sur mes écrits)