Michaël a écrit 2935 commentaires

  • [^] # Re: Switcher à python comme shell

    Posté par  (site web personnel) . En réponse à la dépêche pyxshell : piper des flux de texte en pur Python. Évalué à 2.

    tu fais un script que tu perds du temps à relire voire à génériciser excessivement pour une tâche qui ne mériterait même pas d'être scriptée,

    Ce dont je parle ce n'est ni de généreciser excessivement ni de passer 10 plombes à relire. Seulement, je trouve d'une part que même pour écrire une simple boucle for l'éditeur permet d'écrire plus proprement et de faire moins d'erreur; d'autre part que l'idiome classique SELECT | EDIT | PROCESS est plus clair quand on l'écrit avec trois fonctions. Donne un nom à un bloc de code en sh dure 1/2 seconde, surtout si on a déjà les noms.

    Par exemple pour renommer les fichiers selon un schéma à la noix SELECT utillise find pour trouver les noms des fichiers, EDIT produit des lignes vieux_nom|nouveau_nom et PROCESS renomme les fichiers (IFS).

  • [^] # Re: Licence

    Posté par  (site web personnel) . En réponse à la dépêche pyxshell : piper des flux de texte en pur Python. Évalué à 2.

    Je pense (mais je ne suis pas juriste) qu'il faut et qu'il suffit qu'une partie significative du processus de création de l'œuvre de l'esprit (= le développement) aie lieu en France. Ça inclut les DOM/TOM, les eaux territoriales et les ambassades et consulats.

    Non pas du tout. Au regard du droit français ou européen, il faut écrire dans le contrat de licence quel droit s'applique. La GPL ne le fait pas, ceci est présenté comme une vulnérabilité de la licence par les juristes qui ont concocté les licences CeCILL.

    http://www.cecill.info/faq.fr.html#international

  • [^] # Re: Lazy ?

    Posté par  (site web personnel) . En réponse à la dépêche pyxshell : piper des flux de texte en pur Python. Évalué à 2.

    En tout cas l'utilisation du | pour traiter les données en séquence est vraiment bien trouvée,

    C'est quand même pas une idée très originale, si?

    ça fait partie des choses qui changent la manière dont on écrit le code…

    Si tu utilises un langage de programmation fonctionnelle, pas trop, puisque l'opérateur de pipe est un opérateur de composition de fonctions (avec un sens de lecture inversé).

    Cf. par exemple la fonction Shell.call de la bibliothèque OCamlnet: http://projects.camlcity.org/projects/dl/ocamlnet-3.6.3/doc/html-main/Shell.html

  • [^] # Re: Switcher à python comme shell

    Posté par  (site web personnel) . En réponse à la dépêche pyxshell : piper des flux de texte en pur Python. Évalué à 2.

    Quelqu'un a des expériences avec ce genre de tentative ?

    Je te le déconseille fortement.

    Je connais très bien la programmation en Bourne shell pourtant mon shell intéractif est TCSH. La raison? Je ne sais pas programmer TCSH, donc je n'écris pas de ligne de commande imbitable.

    Si j'ai quelque chose de compliqué à faire j'ouvre mon éditeur et je l´écris, et je le relis. Cela ne prend pas plus de temps et je fais moins de faute parceque mon programme jetable est mieux présenté, colorié et tout. ET c'est plus facile d'insérer une fonction intermédiaire si je décide que mon programme en serait plus facile à écrire — chose que tu ne feras jamais en ligne de commande.

    Je te conseille de faire la même chose: si tu adores décrire tes tâches en Python pourquoi le faire dans un interpréteur plutôt que dans un éditeur de texte?

  • # Quelques exemples

    Posté par  (site web personnel) . En réponse au message Générer des fichiers texte selon un modèle. Évalué à 2. Dernière modification le 08 janvier 2013 à 21:03.

    Voici une liste de techniques. Ma préférence personelle irait à la solution M4+AWK ou SED+AWK.

    Pour ton fichier base de données, je te conseille d'utilsier un séparateur (comme `|') plutôt que des blancs, le séparateur est beaucoup plus facile à manipuler (AWK, sort, shell IFS).

    Here-docs

    Interpolation des variables dans les here-documents du shell.

    Exemple:

    print_usage()
    {
      cat <<EOF
    ${PROGNAME} [-h]
     Does nothing special
    EOF
    }
    
    

    Tu peux l'interfacer avec une boucle for et jouer sur le input field splitting IFS pour faire ton mailing facilement.

    datasource()
    {
    cat <<EOF
    Pierre|21
    Paul|22
    Jacques|45
    EOF
    }
    
    prepare_text_loop()
    {
       local saved_ifs
       local name
       local age
    
       saved_ifs="$IFS"
       IFS='|'
       while read name age; do
         prepare_text "$name" "$age"
       done
       IFS="$saved_ifs"
    }
    
    prepare_text()
    {
    cat <<EOF
    $1 a $2 ans
    EOF
    }
    
    datasource | prepare_text_loop
    
    

    SED & AWK

    Ici tu as un fichier externe qui contient des champs génériques comme %%NOM%% et %%AGE%%. Tu utilises AWK pour lire ta base de données et préparer une commande SED qui remplacera les variables en question. Tu peux faire le pipe vers SED directement depuis AWK.

    M4 & AWK

    Ici tu utilises le préprocesseur générique M4 au lieu de SED pour produire le texte final. À part cela, la technique ressemble à la précédente.

    Écrire un programme spécialisé

    Tu peux bien-sûr écrire un programme spécialisé dans le langage de ton choix. Cela sort un peu de ta question de départ, plutôt dans le trip «vite fait, bien fait.» Si tu es déjà à l'aise avec SED et AWK, c'est un choix sûr. Si tu ne sais pas encore programmer en M4 cela ressemble beaucoup à TeX (on écrit un programme qui écrit sa propre suite).

  • [^] # Re: Bienvenue en 2013!

    Posté par  (site web personnel) . En réponse au journal Google : don't be evil, la suite. Évalué à 3.

    Et toi, Atari ou Amiga ?

    Moi je suis plutôt Amiga. Amiga 500+ pour être précis. Je pleure en repensant à mon tout premier ordinateur et son petit lecteur de disquettes 3½. :)

  • [^] # Re: Ils sont cons ces patrons!

    Posté par  (site web personnel) . En réponse au journal Le CDI doit disparaître. Évalué à 3.

    Je te retourne le compliment, si mon journal n'est pas assez argumenté, n'hésite pas à demander des explications.

    Ton journal n'est pas assez argumenté et j'ai donné des exemples dans mon premier message.

    https://linuxfr.org/users/coin--2/journaux/le-cdi-doit-disparaitre#comment-1421239

  • [^] # Re: Ils sont cons ces patrons!

    Posté par  (site web personnel) . En réponse au journal Le CDI doit disparaître. Évalué à 1.

    Malhonnête, carrément. […] En tout cas, ton insulte

    Ce n'est pas une insulte, c'est un constant, que j'ai argumenté. Si tu veux en savoir plus sur les arguments libre à toi de demander, mais ça n'a pas l'air de t'intéresser, tu préfères manifestement te poser en croisé de ta très juste cause.

    démontre la difficulté de de dialoguer lors qu'on ose aborder des tabous, et l'organisation du marché du travail en est un.

    La base du dialogue, c'est de répondre aux arguments de son interlocuteur. Ce que tu ne fais pas.

    Si tu considères que cela soit normal[…]

    Je ne considère rien de normal, ni d'évident ni de on voit bien… C'est toi qui a décidé d'écrire. Je trouve que ton argumentation est faible. Je n'ai pas exprimé d'opinion personnelle sur le sujet.

    Oui, ce n'est pas le propos du journal.

    Ah bon, un instant j'avais cru que tu voulais parler des contrats de travail.

  • # Ils sont cons ces patrons!

    Posté par  (site web personnel) . En réponse au journal Le CDI doit disparaître. Évalué à 2.

    Ils sont cons ces patrons de proposer des CDIs car

    Pour résumer, le CDI est socialement, économiquement inégalitaire et contreproductif.

    quelle bande de brelles, ça ne métonne pas qu'on soit en crise!

    Ton journal est malhonnête car tu n'argumentes pas vraiment (on voit bien, évident…), tu ne développes aucune des tes thèses (Tu ne me donnes aucune chance de te croire quand tu écris «une position de fait est privilégiée à la place d'une position d'avenir et cet immobilisme a un coût social, payé par la population des travailleurs précarisés» et tout ton texte est comme ça) tu veux juste arriver à ta conclusion que j'ai recopié ci-dessus.

    Tu passes globalement à côté des relations entre le salarié et son employeur, alors que c'est tout simplement le cœur du sujet (le contrat de travail formalise cette relation).

  • [^] # Re: testdisk

    Posté par  (site web personnel) . En réponse au message Récupérer une partition après supression. Évalué à 2.

    merci. Quelle betise, et comme par hasard la partition qui contenait un vieux travail …

    La bêtise c'est surtout de ne pas avoir fait de sauvegardes de ton travail. Je touche du bois, je n'ai encore jamais eu de problèmes! (Parceque mes sauvegarde m'ont sauvé la vie une paire de fois.) Toutes mes condoléances à ton travail perdu, j'espère que ce ne sera pour toi que l'occasion de faire la même chose en mieux.

  • [^] # Re: nb

    Posté par  (site web personnel) . En réponse au journal Un cours en français sur la compilation : ne boudons pas notre plaisir !. Évalué à 3. Dernière modification le 19 décembre 2012 à 06:08.

    Je crois que tu as oublié quelque chose en route…

    Relis-bien mon message, il contient un trait d'humour. :) (Il faut aussi lire le précédent.)

  • [^] # Re: nb

    Posté par  (site web personnel) . En réponse au journal Un cours en français sur la compilation : ne boudons pas notre plaisir !. Évalué à 3.

    Pourquoi ne prend-tu pas en compte les autres groupes?

  • [^] # Re: Dosette

    Posté par  (site web personnel) . En réponse au sondage Machines à café. Évalué à 4.

    La préparation en chauffant l'eau à la bouilloire électrique n'est tout bien pensé guère plus longue.

    D'autant qu'au lieu de rester planté comme un idiot devant ta bouilloire tu peux utiliser pertinemment ton temps, par exemple en surveillant la compilation de ton noyau. :)

  • [^] # Re: On parle de café là, faut être plus subtile !

    Posté par  (site web personnel) . En réponse au sondage Machines à café. Évalué à 7.

    Ce qui est le plus cher, c'est surtout les machines à espresso, tant dans la capsule que dans la machine.

    Une cafetière italienne fait des expressos, non? Ce n'est pas plus chèr qu'une cafetière à piston. Si on 600 € de plus, on peut acheter une machine bourrée d'éléctronique qui permet de moudre le café et d'ajuster la pression, mais au fond, la machine italienne est une machine à expresso.

  • [^] # Re: factorielle sur les int ?

    Posté par  (site web personnel) . En réponse au message Surfaces de Bézier. Évalué à 7. Dernière modification le 10 décembre 2012 à 07:24.

    Salut,

    Et si je programme la factorielle en double précision?

    Si tu travailles en nombre entiers en précision finie, tu ne vas pas représenter beaucoup plus de nombres: tu vois qu'en doublant la capacité de 32 à 64 bits tu es passé de 13 à 21…

    Si tu fais de la combinatoire et que les valeurs sont importantes, tu peux utiliser du calcul arithmétique en précision illimitée: on ne travaille plus directement avec les registres, mais — pour simplifier — avec la liste de longueur arbitraire des chiffres.

    Si tu fais du caclul numérique tu vas remplacer tes factorielles, coefficients binomiaux et autres «grandes fonctions des nombres» par des approximations, comme te le permet le calcul numérique de la fonction gamma d'Euler ou la formule de Stirling.

    Pour calculer les coefficients binomiaux dont tu as besoin, tu peux le faire numériquement (flottants) ou tu peux obtenir une valeur entière en utilisant la relation de Pascal:

    C(n+1,p+1) = C(n,p) + C(n,p+1)
    C(n,n) = C(n,0) = 1
    
    

    (p parmis n) qui te permet de calculer récursivement les coefficients sans passer par des valeurs intermédiaires trop grandes que tu ne peux pas représenter dans tes registres.

  • [^] # Re: Ce son... Mais ce son !

    Posté par  (site web personnel) . En réponse au journal Talk Talk - Living in Another World (Live at Montreux 1986). Évalué à 2.

    C'est parceque tu ne connais pas encore We are Enfant Terrible (Explicit pictures) ou les Crystal Castles par exemple.

  • [^] # Re: select count distinct

    Posté par  (site web personnel) . En réponse au message Requêtes SQL. Évalué à 1.

    Chaque enregistrement est décoré avec une catégorie et il veut répondre à la question «pour chaque catégorie, combien de membres dans cette catégorie?»

  • [^] # Re: Système de Vérification Citoyenne des Machines (ou Serveurs)

    Posté par  (site web personnel) . En réponse à la dépêche Petites actus sur le vote électronique (par ordinateurs de vote ou par Internet) (2). Évalué à 1.

    (seulement 24 octets ça a une bonne grosse proba d'arriver dans une séquence !)

    Tu sais de quoi tu parles? Le nombre de séquences de 24 octets est

    6277101735386680763835789423207666416102355444464034512896

    tu fais planter ton ordi juste pour ça ?

    Tu sais ce que c'est le niveau de sécurité d'une page mémoire?

    Ou bien ça ferait longtemps que ça se saurait, et quand ça se sait ce n'est plus un problème.

    Je suis convaincu. Tes arguments sont irréfutables.

    Je suppose que je dois prendre ça au 33e degré

    Apparemment c'est à peu près tout ce que tu as compris dans les trois lignes que j'ai écrit. Tu le réalises?

  • [^] # Re: Système de Vérification Citoyenne des Machines (ou Serveurs)

    Posté par  (site web personnel) . En réponse à la dépêche Petites actus sur le vote électronique (par ordinateurs de vote ou par Internet) (2). Évalué à 1.

    Qui aurait intérêt à dépenser des sommes folles à instrumenter tous les PCs du commerce pour le seul but que ceux qui sont utilisés dans ce process soient biaisés ?

    Il existe une séquence magique de 24 octets qui, lorsqu'ils sont lus dans un rep movsb changent le niveau de privilège de la page mémoire. Tous les PCs du commerce sont déjà «instrumentés» par la CIA.

  • [^] # Re: Quels sont les limites du système actuel en fait ?

    Posté par  (site web personnel) . En réponse à la dépêche Petites actus sur le vote électronique (par ordinateurs de vote ou par Internet) (2). Évalué à 1.

    Le système actuel est sain et permet à n'importe qui de savoir comment cela fonctionne.

    Tout à fait d'accord. Les bonnes caractéristiques du vote papier (vérifiaibilité, difficulté à falsifier de façon massive — du moins pour un scrutin national — etc.) sont faciles à expliquer. Tout ce qui fait intervenir du vote éléctronique est invariablement plus compliqué.

    Dans certain cas, le vote éléctronique apporte des avantages (par exemples pour faire voter des personnes dispersées géographiquement) mais il doit être organisé par un tiers de confiance. Et pour l'éléction présidentielle, c'est difficile à trouver!

  • [^] # Re: Système de Vérification Citoyenne des Machines (ou Serveurs)

    Posté par  (site web personnel) . En réponse à la dépêche Petites actus sur le vote électronique (par ordinateurs de vote ou par Internet) (2). Évalué à 1.

    Tout comme le post précédent, la réponse est la même : il suffit de surveiller le processus d'installation de la machine.

    Toi tu as une confiance aveugle dans le matériel de ta machine.

  • [^] # Re: Net ou brut

    Posté par  (site web personnel) . En réponse au message Salaire: 38k pour 35h VS 38k pour 39h. Évalué à 2.

    Merci pour cette réponse!

  • [^] # Re: Net ou brut

    Posté par  (site web personnel) . En réponse au message Salaire: 38k pour 35h VS 38k pour 39h. Évalué à 2.

    Pour info je n'ai jamais négocié de salaire en France, je pose une vraie question, ce serait sympa d'y répondre.

  • # Net ou brut

    Posté par  (site web personnel) . En réponse au message Salaire: 38k pour 35h VS 38k pour 39h. Évalué à 1.

    Juste par curiosité, tu parles bien de salaire brut? Bon courage pour ta décision!

  • [^] # Re: Plop

    Posté par  (site web personnel) . En réponse au message Afficher les log files en fond d'écran. Évalué à 0.

    Sa question concernait pas plutôt le moyen d'afficher un truc en fond d'écran plutôt que ce qu'il faut afficher ?

    Heu si… mais c'est aussi ce à quoi ont essayé de répondre les autres. La fatigue? :)