freem a écrit 4925 commentaires

  • [^] # Re: cron ou pas cron...

    Posté par  . En réponse au journal Installe une libellule dans ton bureau. Évalué à 2.

    Mea culpa pour la typo.

  • # Debian testing/unstable.

    Posté par  . En réponse au journal Une idée de distribution Linux. Évalué à 5. Dernière modification le 03 novembre 2014 à 12:38.

    Vu que personne ne l'a encore faite, ben je m'en occupe.

    En gros, Debian ne se limite pas à Debian stable, qui est plutôt à conseiller pour les serveurs. Officieusement, pour un desktop, je conseillerais plutôt une testing, bien que certains sur les ML conseilleraient plutôt unstable pour des raisons de sécurité (les versions et bugfix arrivent moins vite dans testing).

    Et si tu tiens à conserver une base de Debian stable, ben, comme dis plus haut, debian stable + backports.

    Autre solution: machines virtuelles. Tu démarres les machines virtuelles qui elles utilisent les dernières versions, puis tu utilises par exemple ssh -X me@myvm foo pour lancer l'application foo de la vm myvm (via l'utilisateur me) en déportant l'affichage sur ta machine stable.
    Évidemment, les performances vont prendre un coup avec cette solution, et il faut savoir utiliser un minimum une solution de virtualisation, avec Xen la plus complexe à priori, mais qui permets aussi d'avoir le moins d'impact en terme de performances (jamais testé, ceci dit, c'est ceci dit un de mes items les plus hauts sur la todolist…).

  • # cron ou pas cron...

    Posté par  . En réponse au journal Installe une libellule dans ton bureau. Évalué à 7.

    Mais, si tu n'es pas du genre à laisser ta machine allumée 24h sur 24, ces tâches ne seront probablement pas exécutées, car la tâche cron s'éxécute à 3h01 temps local.

    Et sinon, y'a anacron pour contrebalancer ce type de problème, justement (anachronique, facile à retenir :)).

  • [^] # Re: Crowdfunding pour l'étoile noire

    Posté par  . En réponse au sondage Le sujet de l'Open World Forum 2014 qui m'intéresse le plus. Évalué à 2.

    D'un autre côté, ce sont les plans que la plupart des gens veulent, peut-être qu'il serait possible ensuite de forker pour réduire les coûts de production :)

  • [^] # Re: Parenthèses vs indentation

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 4.

    Je plussoie pour le :set paste mais par contre, je suis très peu d'accord avec le fait de considérer que perdre l'indentation peut être un avantage. Surtout pour un langage style python, qui n'utilise que des blancs pour identifier les blocs de code. En fait, tu m'as donné un argument supplémentaire contre python: un programme dont le fond ne fonctionne plus parce que la forme à été altérée, je trouve ça dommage.

  • [^] # Re: Testeur NEOX

    Posté par  . En réponse au message Ouverture de Club Pixel - hébergement Mumble. Évalué à 2.

    J'imagine qu'un petit:

    printf "%s%s" $login $(hexdump /dev/random -n 4|head -n1|cut -f 2 -d ' ')

    Devrait te satisfaire si le but n'est pas la sécurité (bon, j'ai pas fouillé les options de hexdump, il y à sûrement moyen de se débarrasser des head/cut).

    En tout cas, ça ne force Mme Michu à se souvenir que de 4 caractères concaténés à son pseudo, pas la mer à boire.

  • [^] # Re: Versions des principaux logiciels ?

    Posté par  . En réponse au journal SUSE Linux Enterprise 12 disponible !. Évalué à 2.

    J'ai envie de dire, 3.12 pour le kernel:

    SUSE Linux Enterprise 12 Kernel (3.12) Limits

    Vu en 1 min à peu près, par contre moins de 30 sec plus tard, rien au sujet de la libc. Bon, pas vraiment cherché on dira…

  • [^] # Re: Pascal ?

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 4.

    Qu'un des paramètres de la division entière soit un flottant ou pas n'a pas à changer le fait que le retour de la division entière soit un entier…

  • [^] # Re: Pascal ?

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 1. Dernière modification le 27 octobre 2014 à 14:30.

    J'imagine que c'est là la différence entre les maths et le dev. Moi, peut-être à cause de mon bagage matheux quasi inexistant, je perçois les opérateurs arithmétiques comme des fonctions. Du coup, je vois: floor_divide( float, int ). (Je mets floor par rapport au commentaire précédent, qui est plutôt pertinent du peu de connaissance que j'ai)

    Que le dividende soit un nombre à virgule ou pas, n'empêche en rien que le résultat d'une telle fonction soit un entier, de 0 en l'occurrence. La question maintenant, c'est qu'est-ce que ferait a = 1.2f % 3.
    Ici, on demande un reste, qui est censé ne pouvoir qu'être entier si j'ai bien compris, ce qui serait surprenant: on pourrait s'attendre, si on remplaçait par une fonction modulo, soit à avoir le résultat mathématique, soit le résultat logique qui serait lui, 1.2f (puisque l'on à pas pu diviser, donc rien enlever, on pourrait arguer qu'il devrait rester la totalité du dividende, qui est 1.2f, alors que ta définition indique que le résultat devrait être 1.).

  • [^] # Re: Une précision

    Posté par  . En réponse au journal Ubuntu is dying. Évalué à 1.

    Je peux me tromper, mais il me semble que ce n'est pas par rapport aux particuliers que ça à de l'importance, mais plutôt par rapport aux usines qui n'ont pas toujours tourné 24H/24 que ce système à été mis en place?

    Accessoirement, avec l'énergie renouvelable, je me demande si c'est toujours aussi pertinent?

  • [^] # Re: Et la fin de la beta c'est pour quand?

    Posté par  . En réponse au journal Ubuntu is dying. Évalué à 2.

    Laisses, c'est un ArchUser il comprendra pas :)

  • [^] # Re: Parenthèses vs indentation

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 1.

    Ah oui, c'est pas mal en effet.
    Si une variable était déclarée dans le bloc indenté, elle serait libérée à la fin du bloc ou pas? (dans le cas de C/C++ ce ne serait le cas que si le bloc est compris entre accolades, je précise, mais il m'est déjà arrivé d'utiliser cette méthode lors de refactoring, ce qui permets de repérer les diverses extrémités des spaghettis grâce au compilo qui engueule/insulte).

  • [^] # Re: Parenthèses vs indentation

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 1.

    Bof, perso, que l'indentation change entre les dev, je m'en cogne mais alors, royal… parce qu'il existe un outil tout simple, tout con, pour éviter ce type d'emmerdes: astyle (d'ailleurs, GNU ferait bien de s'en servir quand ils font des release de la libcpp!).
    Une fois combiné avec des hook dans le gestionnaire de version, ça ne pause plus vraiment de souci, et il n'y à pas que l'indentation que ça permets de corriger (malheureusement, je ne connait pas d'outil permettant d'altérer les noms d'un code-style à l'autre mais c'est la seule chose qui reste :) ).
    Après tout, on impose bien des règles comme "pas d'exceptions, pas de RTTI, etc" dans certains projets, qui sont vérifiées par un outil (le compilo) alors on est plus à ça près.

    Et ce n'est pas comme si cet outil était récent, je suis persuadé qu'il existe bien avant python. Au final, mieux vaut laisser les dev faire comme ils veulent, surtout quand on sait qu'il existe des outils permettant de rendre tout le monde heureux (perso, j'utilise -jyntA1 mais il reste quelques détails à corriger qui ne me satisfont pas encore).
    Ce n'est quand même pas compliqué de mettre un hook dans git pour vérifier que le style est correct, rejeter sinon (voire éventuellement demander si on force le nettoyage du style, mais j'ai jamais testé cette solution) histoire que le contributeur mette un coup de astyle pour vérifier qu'il n'y à pas de bug introduit. Juste dommage que git prenne en compte les différences de style quand on diff/add. Me demande si y'a pas moyen de l'éviter. Ça ne me surprendrais pas.

    Perso, je suis bien plus gêné non par les espaces, mais par le fait de ne pas avoir les accolades sur des lignes spécifiques, parce que mon œil trace instinctivement une ligne entre 2 accolades de même indentation (c'est aussi pour ça que je ne suis pas un super fan des langages qui utilisent begin/end, ou case/esac, mais bon… tant qu'ils sont sur leur ligne spécifique, j'ai rien à redire, ça reste une question de goût.). Donc, sur du code python je suis au final déstabilisé quand même.

    De même, je sait directement qu'une ligne est la continuation de la précédente en fonction de l'alignement (indentation complétée à coups d'espaces => continuation de ligne), sans devoir aller lire la fin de la ligne précédente pour vérifier qu'elle à un '\'.

  • [^] # Re: Parenthèses vs indentation

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 2.

    Oui, la phrase « lispisée » étant tellement plus lisible que la phrase indentée !

    Je n'ai pas dit que la phrase avec lisp est plus belle, juste que celle avec indentation forcée est moche. D'ailleurs, est-il interdit d'indenter en lisp? Je pourrai code que des one-liner en C++ (à l'exception des directives) ce ne serait pas lisible, mais pour autant, il ne m'est pas interdit d'indenter… juste fortement recommandé.
    Je suis largement en faveur de l'indentation, mais largement contre le fait de forcer un codestyle par le langage (par le projet, par contre, ça ne me choque absolument pas: il s'agit d'un choix non lié à la technologie)

    Et penses-tu aussi pertinent que des débutants (le sujet ici) choisissent « l’indentation qu’ils préfèrent » ?

    Non, mais je pense que ce n'est pas le rôle du langage.
    Le prof peut imposer une indentation, un codestyle (ce qui est largement au-delà de la simple indentation: on fait les choses en entier ou on ne les fait pas), sans pour autant que le langage doive le faire. Et pour le valider c'est quand même simple:

    #!/bin/sh
    
    astyle < $1 | diff $1 - >/dev/null  && echo ok || echo "Tu ne respectes pas le style imposé, corriges!"
    

    Il suffit de remplacer "echo ok" par la commande pour compiler/exécuter/whatever du langage voulu, et si nécessaire d'ajouter des options à astyle, en fonction des goûts du prof.
    À moins que le prof en question ne fournisse pas l'environnement de travail aux élève mais leur demande de l'installer, je ne pense pas que ça pose plus de problèmes que ça.
    Le seul truc qu'il reste à ajouter à ça, ce sont les conventions de nommage et une vérification des éventuelles fautes de frappe, si le prof est un grammar-nazi (quoique, dans le cas d'un langage à typage faible, il me semble important d'utiliser un outil tel que aspell, voire même si c'est un projet sur lequel plusieurs personnes bossent, même en typage fort.).

  • [^] # Re: Pascal ?

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 3.

    Pourquoi? Faire une division entière de 2 par 3, peu importe que 2 soit float ou pas?

  • [^] # Re: Pascal ?

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 1. Dernière modification le 27 octobre 2014 à 11:52.

    Et m… double post!

  • [^] # Re: Pascal ?

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 2.

    Seule la découverte simple est au programme.

    Ça, ça à dû changer alors, parce que je me rappellerais toujours avoir été interrogé sur le module "clavier" --qui se constituait principalement de code-- du projet lors du bac (pour mon plus grand plaisir d'ailleurs, j'avoue que le programme était si simple que je n'avais eu ni besoin de réviser, ni même de consulter quelque document que ce soit, j'ai regardé les examinateurs dans les yeux tout le long de ma présentation :D).
    Pour être précis, je ne sais pas si c'était obligatoire, mais on avait étudié la programmation de PIC (par contre, il ne me semble pas qu'on avait manipulé) et du coup, j'ai un peu de mal avec la notion d'utiliser des langages qui ne sont pas capables d'accès bas niveau dans ces classes (d'électronique, hein, pour les autres STI c'est sûr que l'intérêt est restreint) tels que python, par exemple.

    En tout cas merci pour ces infos des changements qui ont eu lieu… intéressant de savoir que l'arduino est arrivé dans certains lycées.

    SysML

    Tiens, je n'avais jamais entendu parler de ça. Vais aller combler ce manque fissa…

  • [^] # Re: Décalage

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 1.

    La preuve: tant que tu ne lui mets pas de claque, il ne sait pas qu'il à fait une connerie, jusqu'a ce que tu lui en mettes une :p

  • [^] # Re: Décalage

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 4.

    J'ai envie de dire que tous ceux étant passés par une STI quelconque devraient être d'accord avec toi: que ce soit en électricité ou en mécanique, le typage des résultats à été la cause de pas mal de points perdus, ou gagnés (parce qu'en fonction des types et des ordres de grandeurs, ou pouvait repérer certaines erreurs dans les algo raisonnements utilisés…).

    En tout cas, perso, je ne peux qu'être d'accord avec toi: pour passer d'un type à un autre, passer par une fonction spécifique est une excellente chose. Il m'arrive même de penser que C++ est trop laxiste par moments (il permets toujours les cast implicites, notamment de short vers char, même s'il est possible de demander au compilo d'avertir puis de transformer ce warn en erreur)… alors qu'il l'est nettement moins que le C.
    Que ça oblige à la rigueur n'est pas un problème, mais un avantage, parce que les ordinateurs ne sont, jusqu'à preuve du contraire, pas des être dotés de raison/sens artistique, donc quand on leur "parle" il est évident qu'il faut être rigoureux.

  • [^] # Re: Décalage

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 2.

    Je t'avoue que j'ai toujours eu une tendance à aimer la portabilité, et souvent se baser sur un standard aide pas mal. Ça explique que je préfère utiliser dash pour les scripts (enfin, /bin/sh, mais sous debian il linke vers dash ;) ce qui est pas plus mal me concernant ).

    Ceci dit, pour des one-shot, bash me gêne pas.

  • [^] # Re: Et l'apprentissage ?

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 5.

    Commencer par PHP, avec du HTML?
    Euh… quitte à enseigner le dev/l'aglo, autant utiliser des langages qui sont conçus, dès le départ, pour être enseignés. PHP n'en fait pas partie, il s'agit d'un langage qui me donne personnellement l'impression d'être brouillon.
    Basic, peut-être (suis pas sûr), pascal, très certainement, et idem pour python.

    Pour continuer sur PHP, tu dis:

    plutôt du PHP avec un peu de HTML par exemple, il est aisé pour les élèves de faire des algorithmes simples en mettant en place un petit serveur.

    Monter un serveur (par élève histoire qu'il y en ait pas un qui foute la merde…), enseigner PHP et HTML côte à côte?
    Que ce soit pour enseigner du dev généraliste ou de l'algo, je sais une chose: je ne me tournerais pas vers un langage purement web, tel que PHP: il y à bien trop de choses à apprendre autour pour arriver à comprendre ce que l'on fait. Par exemple, pourquoi le HTML ne réagit pas de la même manière sur toutes les machines (fonction du browser et même de sa version!)? Il n'y à rien de plus frustrant que les bugs qui sont fonction de l'environnement, surtout pour un élève je pense.

  • [^] # Re: Xrandr

    Posté par  . En réponse au message quatre ou six ecrans. Évalué à 2.

    Pour le .xinitrc je l'utilise après avoir tester les dispositions des écrans à la main, il serait idiot de refaire la commande à chaque démarrage du x11.

    Oui, ça me semblait évident :)

  • [^] # Re: Parenthèses vs indentation

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 1. Dernière modification le 24 octobre 2014 à 18:08.

    Et ton message révèle en beauté pourquoi c'est moche de forcer l'indentation…

    Sérieusement, c'est le truc qui m'empêche de me mettre au python. Après tout, l'indentation, je sais que c'est nécessaire, mais j'aime avoir la liberté de choisir celle que je préfère, et il y à même des gens qui ont créé astyle, qui permets de pull un projet avec mon codestyle, et de le push avec le codestyle d'origine.

    Par exemple, est-il possible de faire un truc comme ça:

    int foo(
      char bar
    )
    {
      this.is.a.very
      (
       long, line,
       which,
       only,
       serves,
       as, a, dumb,
       example
      );
    }

    Même si le code que j'ai utilisé en exemple est complètement crétin, il n'empêche que ça serve, parfois.
    De même, en openGL 1 (oui, je sais c'est obsolète, mais la question n'est pas là), il existe des fonction glbegin() et glend() qui permettent de définir entre les blocs une suite d'instructions graphiques.
    Quand je m'en suis servi, j'ai indenté le code entre ces deux fonctions, parce que c'était un peu comme une structure de contrôle au final.
    Avec python, ce serait impossible…
    Ensuite, j'ai pensé à utiliser un bloc d'instruction, c'est plus simple et lisible. Mais avec python, est-ce faisable? Parfois, cette dernière technique me sert aussi quand je refacto du code atteint de gigantisme fonctionnel (fonction qui me force à scroller 5minutes pour en voir la fin…) histoire de pré-découper le code en future fonctions, le jour ou quelqu'un d'autre aura le temps :=) (oui, je devrais le faire moi-même, sauf que, c'est pas parfois pas si simple que ça…).
    Encore une fois, quid de ces cas particuliers en python?

    En fonction des réponses, il se pourrait que l'une de mes barrières pour commencer python saute… Parce que oui, l'indentation et le style de code, c'est important, voire sacré pour moi, et j'aime pas spécialement qu'on me les impose (quand je bosse sur un projet, j'essaie de suivre ce qui est utilisé, cependant, mais la situation est différente, l'histoire à toujours raison!)

    PS: je n'ai pas réussi à formater correctement de la même façon que toi du texte normal… tu as fais comment? Ni foo ni
    ```
    foo
    ```

    ne marchaient :/

  • [^] # Re: Décalage

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 4. Dernière modification le 24 octobre 2014 à 17:42.

    c'est pas à cause d'une restriction arbitraire lié au codage

    La preuve, on peut surcharger les opérateurs dans certains langages, et la conséquence directe est qu'il est possible de faire que 3 + "foo" fasse "3foo". Certains le font d'ailleurs, et ça donne des choses très drôles. (c'est assez court, mais pour les flemmards: à partir d'1:35 ça commence à parler de ce genre de joyeusetés. Surtout au sujet de JS pour le coup…)

    NaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaNNaN Batman!

  • [^] # Re: Décalage

    Posté par  . En réponse à la dépêche MicroAlg: langage et environnements pour l’algorithmique. Évalué à 3. Dernière modification le 24 octobre 2014 à 17:34.

    Quand on écoute ce que raconte un informaticien à un public de débutant, on se demande comment il apprendrait à conduire à quelqu'un :

    Perso, j'ai une solution pour éviter ça: j'évite autant que faire se peut de parler d'informatique. Et quand on me pose explicitement une question, que je ne peux pas esquiver, je m'arrange pour donner le moins d'info possible.
    C'est pas que je veux pas, mais le souci c'est qu'on s'aperçoit que de toute façon ça va souler l'autre, qui n'en à rien à foutre.
    Au final, quand ils demandent "pourquoi", il demandent une réponse type "ohla, c'est compliqué mais t'inquiètes, je gère", qui leur permets de se dédouaner de devoir cogiter et mettre les mains dans l'informagique…
    Bien entendu, on va me rétorquer que, tout le monde est pas obligé, blabla connaître l'ordi, blabla… sauf que quand c'est le mécano, il va pas se priver de t'emmerder avec ses histoires de delco, par exemple. Même qu'en général ça m'intéresse et je repose des questions, et pourtant j'ai pas l'intention de devenir mécano… (juste un exemple hein)

    Je dirais surtout au final, que les informaticiens sont encore un peu vus comme des sorciers, et qu'il est tellement plus simple de se dédouaner de ses conneries en disant "ouai, mais tu comprends, ça marche jamais comme il faut, j'ai rien installé et maintenant c'est super lent! En plus sur les sites ils me disent que mon windows est pas en sécurité et qu'il faut cliquer sur la bannière. D'ailleurs l'autre jour ma banque m'a envoyé un mail, mais c'était bizarre, y'avais pleins de fautes. Enfin, je leur ai envoyé mon code de CB comme ils demandaient, c'était urgent…".
    Bon, j'exagère: le passage "mais c'était bizarre, y'avais pleins de faute" est fictif et irréaliste.

    Maintenant, dans la pratique, j'ai déjà expliqué le fonctionnement d'un diagramme de classe qui décrivait un soft qui utilisais une mécanique de plug-in à quelqu'un, qui était un minimum curieuse et dotée de raison.
    Cette personne (adulte, certes) semblait avoir compris… en même temps, la POO + l'UML, ça aide considérablement à expliquer ce qu'un programme fait et comment il le fait. Bien plus que l'algorithmique.