Michaël a écrit 2935 commentaires

  • [^] # Re: Algo

    Posté par  (site web personnel) . En réponse au message Projeter une image le long d'un chemin. Évalué à 2.

    Je ne suis pas sûr d'être clair…

    Effectivement! :)

    la répétition de la source dans la destination

    qu'est-ce que tu veux dire?

    il n'y a qu'un point qui corresponde dans l'image destination

    Je ne comprend pas de quelle correspondance il s'agit — cela à voir avec la méthode que tu utilsies, pas celle que je t'ai proposé c'est ça?

  • [^] # Re: Algo

    Posté par  (site web personnel) . En réponse au message Projeter une image le long d'un chemin. Évalué à 2.

    La courbe n'a pas la même équation sur la projection de la partie haute de la source et sur la projection de la partie basse. En d'autres termes, la transformation de la ligne de pixels en bas de la source ne suit pas l'équation de la courbe.

    Je ne comprend absolument pas ce que tu veux dire… tu peux me le dire avec des x et des y? :)

    Pour calculer la longueur de la courbe entre l'origine et le point à l'instant t, je somme les distances par un pas de \epsilon = 0.00001. Ça se traîne.

    — mémorise des valeurs, disons tous les 1000 calculs, tu te souviens de la valeur, ce qui t'évite de faire plus de 1000 calculs. Dans ton exemple tu passerait de

    N(N-1)/2 avec N = 100 000

    opérations à

    100 N(N-1)/2 avec N = 1000

    opérations (environ), soit 100 fois moins.

    Pour calculer la tangente à l'instant t, je calcule la direction par rapport au point à t - \epsilon et par rapport à t + \epsilon, et je prends la direction moyenne.

    Là c'est maladroit parceque tu disposes de x(t) et de y(t) et que la dérivée est simeplement (x'(t), y'(t)) (2 multiplications de moins et pas de division!)

  • [^] # Re: Algo

    Posté par  (site web personnel) . En réponse au message Projeter une image le long d'un chemin. Évalué à 3. Dernière modification le 20 mai 2012 à 12:12.

    Voilà ce que je te propose:

    Tu as ton plan de départ A qui contient des pixels et ton plan d'arrivée B qui contient des pixels, pour décrire la transformation j'introduis des plans A' et B' dont les points ont des vraies coordonnées en nombre réels, et je suis le chemin: A → A' → B' → B.

    A → A'

    Tu regardes chaque point de ton image (point de A) comme un point de A' avec des coordonnées entières, et marqué d'une couleur, cela te fait un ensemble P de points.

    A' → B'

    Avec «ta triche» tu sais présenter ta courbe comme y = f(x), tu passes de A' à B' en envoyant le point (ξ,η) sur le point (ξ,η+f(ξ)), sans toucher à sa couleur. Cela te fait un ensemble Q de points colorés, qui est dans B' mais dont les coordonnées ne sont pas de nombres entiers (à cause du terme f(ξ)).

    B' → B

    Pour pousser B' sur B on regarde chaque point β de B (B est en mode pixel) et on se pose la question «de quelle couleur faut il le colorier?» Pour cela tu peux choisir plusieurs méthodes.

    La plus simple consistant à choisir la couleur du point de Q qui est le plus proche de β — sauf si β est assez loin de Q, auquel cas il reste sans couleur.

    Une autre méthode consiste à faire une «moyenne» des couleurs des points les plus proches de β. Par exemple, tu peux prendre tous les points situés à distance au plus d de β et leur affecter un coefficient de type 1/(1 + (distance à β)²) qui donne un plus fort poids au points proches de β. À la fin β est colorié par la moyenne des couleurs de ses voisins, pondérée par nos coefficients.

    Ce que veux dire moyenne pour les couleurs n'est pas tout à fait clair, mais je pense que si tu fais la moyenne des coordonnées RGB ou CMYK, tu obtiens un résultat raisonnable.

    Conclusions

    La partie la plus dure est probablement B' → B, et si tu représentes Q par une liste, cela peut commencer à durer un petit peu longtemps de chercher les points proches de β pour chaque β! Par exemple si to image de base fait w par h et ton image d'arrivée W par H, la méthode naïve te donne whWH calculs de distance et un petit nombre de moyennes à calculer. Pour gagner un peu de temps tu peux utiliser un strucure récurrente de type

    bout_de_plan (x0, y0, x1, y1):
    niveau: nombre entier
    case: liste de points
    a: bout_de_plan (une moitié de (x0, y0, x1, y1))
    b: bout_de_plan (l'autre moitié de (x0, y0, x1, y1))

    L'insertion d'un point β se fait:
    — dans la case si le niveau est plus grand qu'un seuil fixé (la profondeur de ta structure)
    — dans la case si le disque de centre β de rayon d n'est pas contenu entièrement dans a ou dans b.
    — dans le bout de pan a si le disque de centre β de rayon d est contenu entièrement dans a
    — dans le bout de pan b si le disque de centre β de rayon d est contenu entièrement dans b

    La recherche d'un point β se fait comme l'insertion, on regarde où on doit ranger β pour voir s'il y est déjà ou point.

    La recherche des points à distance au plus d de β se fait dans la case contenant β, c'est ici qu'on gagne du temps.

    Pour construire la structure tu pars d'un bout de plan qui correspond soit à ton A' soit à ton B' puis tu le coupes en 2 dans le sens de la hauteur pour obtenir a et b, chacun est ensuite coupé en 2 dans le sens de la largeur pour obtenir 4 autres bout de plan et ainsi de suite. Si tu choisis une profondeur N cela coupe le plan en 2N+1 cases pour des images une profondeur entre 8 et 12 devrait suffire.

    Bon courage! :)

  • # Algo

    Posté par  (site web personnel) . En réponse au message Projeter une image le long d'un chemin. Évalué à 1.

    J'ai voulu écrire l'algo, mais c'est plus dur que je ne le pensais.

    Qu'est-ce qui t'a posé problème? Il y a une imprécision dans ton problème: est-ce que la hauteur de l'image déformée varie ou reste constante?

    Dans le premier cas, il n'y a rien de difficile, dans le second c'est un peu plus dur (il faut reparamétrer la courbe par sa longuer d'arc et je ne sais pas le faire plus intelligemment qu'en utilisant une intégrale que je ne sais pas calculer — donc utilisant des méthodes numériques).

    Si la cas 1 t'intéresse je peux te donner plus de détails.

  • # Sauce ou pas sauce

    Posté par  (site web personnel) . En réponse au journal Pâtes à l'huile d'olive ou au beurre ?. Évalué à 3.

    L'adjonction d'huile dans l'eau de cuisson est régie par l'emploi d'une sauce lors du service des pâtes:

    — Pour des pâtes en sauce, on évitera d'adjoindre de l'huile à l'eau de cuisson car elle empêche en partie la sauce d'imprégner ensuite les pâtes en posant un filet de gras sur la surface des pâtes.

    — Pour des pâtes nature, on peut adjoindre de l'huile ou d'autres condiments à l'eau de cuisson pour la parfurmer.

    Bon app!

  • [^] # Re: Screen

    Posté par  (site web personnel) . En réponse au journal Le TCP keepalive m'a tué. Évalué à 2.

    On a bien lu le message de Michaël, mais ce qu'on comprends pas c'est l'intérêt d'un screen sur une machine proxy qui garde up une connexion ssh du proxy vers le serveur au lieu d'un screen directement sur le serveur… donc du coup argumenter pour dire non pas screen car j'ai pas de machine qui peut me servir de proxy est ridicule.

    Je n'ai jamais dit connection_proxy ≠ server :P blague à part, je me demande aussi ce qui m'est passé par la tête en écrivant ça, c'était viteuf avant d'aller travailler je crois…

  • # Screen

    Posté par  (site web personnel) . En réponse au journal Le TCP keepalive m'a tué. Évalué à 2. Dernière modification le 11 mai 2012 à 07:45.

    cette option m'emmerde plus qu'autre chose : je ne peux pas garder des sessions ssh en « sommeil » quand je vais bouger de réseau mais revenir plus tard dans celui de départ, ni mettre ma machine en veille et espérer que la session tienne encore après.

    Si tu as accés à une machine qui es toujours up, tu peux t'en servir comme proxy de connection. Au lieu d'ouvrir une connection host → server tu ouvres une session host → connection-proxy puis tu ouvres un screen(1) d'où tu ouvres ta connection connection-proxy → server.

    Ainsi tu peux détacher ton screen et terminer ta connection au connection-proxy tandis que la connection connection-proxy → server reste en vie, autant que les configurations le permette.

    Au fait, l'utilisation de screen(1) sur server ne fournirait-elle pas une solution acceptable à ton problème — ou bien c'est l'existence même de la connection qui est importante dans ton problème?

  • [^] # Re: Internet et traduction bof

    Posté par  (site web personnel) . En réponse au journal Les fautes des Linuxfriens. Évalué à 3.

    Les anglophones piquent des mots français quand besoin (rendez-vous? Déjà-vu?), pourquoi absolument franciser? Pourquoi ne demandes-tu pas à franciser Stop (arrêt en Québécois), parking ou week-end au passage?

    ou bébé, ou folklore, ou «c'est juste trop fort»… En principe je suis bien d'accord avec toi, c'est plus facile de parler de «plugin» que de «composant logiciel enfichable» mais tous les les équivalents français que tu cites me plaisent plutôt mais je crois que ce sont à peu près les seuls…

  • [^] # Re: Protocole

    Posté par  (site web personnel) . En réponse au journal J'aimerais tant aimer les réseaux sociaux décentralisés. Évalué à 2.

    Donc l'utopie de vouloir absolument contraindre tout le monde a parler pareil n'est même pas souhaitable. […] Ca n'empêche pas pour autant d'être interopérables, les passerelles fonctionnement sans problème sur Friendica.

    L'intérêt d'un protocole ne se résume pas à l'interopérabilité entre les différents réseaux, mais comprend aussi la facilité avec laquelle de nouveaux acteurs peuvent entrer sur le terrain.

    Si, pour donner un exemple, les services qu'offre Fb étaient standardisés par un protocole, je pourrais peut-être choisir un fournisseur qui présente des garanties un peu plus solides que Fb sur le respect de ma vie privée.

  • # Protocole

    Posté par  (site web personnel) . En réponse au journal J'aimerais tant aimer les réseaux sociaux décentralisés. Évalué à 4.

    Et vous, qu'attendez-vous du futur dans les réseaux sociaux ?

    Ce que j'attends des réseaux sociaux est qu'il se développe un protocole ouvert définissant ce qu'est un réseau social, qui permettra de mettre en concurrence plusieurs implémentations client, plusieurs serveurs, et plusieurs fournisseurs.

  • [^] # Re: Plantes cultivables par ce moyen ?

    Posté par  (site web personnel) . En réponse à la dépêche Recherche et bricolage : fermes de fenêtres. Évalué à 5.

    Le problème c'est que les vitres sont transparentes… :) j'ai eu le meme reflèxe que toi en lisant le titre du post!

  • [^] # Re: Pas compris

    Posté par  (site web personnel) . En réponse au journal Un article anti-Word, mais pas pro-libre office. Évalué à 10. Dernière modification le 27 avril 2012 à 07:03.

    Attention, ce message est marqué de la sacro-sainte «expérience en entreprise».

    Par contre ce n'est pas très convivial et la courbe d'apprentissage est plutôt rude.

    Tout comme Word. En plus la plupart des utilisateurs de Word s'arrêtent d'apprendre lorsqu'ils maîtrisent le copier-coller et la mise en gras (on verra l'utilisation des styles à la prochaine formation), c'est à dire au tout début de la courbe d'apprentissage, ce qui indique que cette courbe est discontinue… méchante méchante quoi!

    Word n'est pas convivial parceque les fonctions sont difficiles à trouver (en plus tes collègues ne savent pas où elles sont, à part copier et coller).

    En plus Word ne s'intègre pas bien au Workflow de l'entreprise (A l'expert écrit le rapport, B le secrétaire vérifie la mise en page et C le boss avec le pouvoir de signer, signe).

    Pour finir, Word n'est pas un pro de la mise en page… avec le flambant neuf Word 2007 utilisé dans mon entreprise, j'ai voulu mettre deux images légendées à la suite l'une de l'autre, ce qui a fini en:

    image 1
    image 2
    légende 1
    légende 2
    
    

    du grand art! En plus il n'est pas super facile de trouver le style prédéfini utilisé par la légende (du coup on applique les styles à la main, sûrement un accroissement de productivité).

    Pour le français, et la composition de documents en français, beaucoup de choses existent, mais ce n'est pas simple à utiliser.

    LaTeX accepte l'UTF-8 en entrée (ou l'ISO-8859-15 pour ceux qui préfèrent) et il est facile de mettre des accents sur les majuscules.

    Dans Word, il n'est pas facile de mettre d'accent sur les majuscules ou un œ(il faut connaître un code numérique ou utiliser la palette de caractères), et ces fautes ne sont pas reconnues par le dictionnaire. Pour écrire en français Word c'est tout pourri.

    Voilà, si vous voulez, j'ai aussi quelques critiques contre Excel et Visual Studio.

  • [^] # Re: C'est quoi, de la 2D isométrique ?

    Posté par  (site web personnel) . En réponse à la dépêche OpenTTD 1.2.0 est sorti. Évalué à 2.

    Cela ne peut qu'être qu'en pixel, voyons.

    C'est toi qui a donné le nombre sans préciser, voyons. :)

  • [^] # Re: C'est quoi, de la 2D isométrique ?

    Posté par  (site web personnel) . En réponse à la dépêche OpenTTD 1.2.0 est sorti. Évalué à 2. Dernière modification le 23 avril 2012 à 21:52.

    Je parle des distances habituelles en mètres. Imaginons qu'un carré de 10 x 10 pixels ait pour dimensions 10 mm x 20 mm (on peut remplacer par des nombres à virgule plus crédible). Dans un cas la pente «pixel» de la diagonale est 1 dans l'autre la pente «distance» est de 2. Dans la pratique la différence n'est pas aussi grande mais existe.

  • [^] # Re: C'est quoi, de la 2D isométrique ?

    Posté par  (site web personnel) . En réponse à la dépêche OpenTTD 1.2.0 est sorti. Évalué à 2.

    Quand je prend la jolie capture d'écran et que je mesure la pente du rendu 2D

    Tu as fais les mesures en pixels où en distance?

  • # Grep

    Posté par  (site web personnel) . En réponse au message Soustraire une liste de fichier à une autre liste. Évalué à 2.

    Pour soustraire une liste de fichiers FORBIDDEN aux fichiers de la liste SET, on peut tout simplement utiliser grep (mais où avais-je la tête?):

    grep -v -F -f FORBIDDEN SET
    
    
  • [^] # Re: Julia

    Posté par  (site web personnel) . En réponse au journal De l'enseignement de la programmation en classe préparatoire. Évalué à 2.

    Après l'école, il y a la vrai vie, où on s'aperçoit que le plus important pour du logiciel, c'est qu'il soit maintenable et lisible !

    Dans la vrai vie, le plus important c'est qu'il tourne! Ce que tu dis arrive en seconde position.

  • # Vote de Condorcet

    Posté par  (site web personnel) . En réponse au journal Tester le 'Vote de Valeur' en grandeur réelle, tentant ?. Évalué à 4.

    Il est simple : au lieu de voter pour untel, et implicitement contre tous les autres, l'électeur donne une valeur à chaque candidat, par exemple de +2 (très favorable) à -2 (très hostile). Au dépouillement, le candidat qui obtient le plus de points est élu en un seul tour.

    C'est un système de Condorcet, non? Voilà un problème soulevé par ce genre de votes: imaginios qu'on a trois candidats A, B, et C, et trois électeurs, qui votent de la manière suivante:

    1: A > B > C
    2: C > B > A
    3: C > B > A

    Maintenant si les points attribués aux positions sont 5, 3, 1 on obtient les scores

    C 11, B 9, A 7

    et C est élu. Si les points sont 5, 4, 1, on obtient les scores

    B 12, C 11, A 7

    autrement dit, dans ce cas, le candidat élu reflète le système de points et pas le choix des électeurs! En réalité il y a souvent, mais pas toujours, cf. Eurovision, plus de votants que de candidats et ce genre d'effets est d'autant plus facile à obtenir.

  • [^] # Re: Mauvais travail

    Posté par  (site web personnel) . En réponse au journal Facenuke. Évalué à 5.

    Impression que le problème est également culturel, au vu des réactions ici…

    Effectivement, les gens ont ici des problèmes culturels contre les argumentations pourries. Tu devrais tenter ta chance sur fr.soc.politique.

    Je suis très surpris par cette obstination à ne voir les choses que par le petit bout de la lorgnette.

    Quand tu veux discuter d'un sujet aussi polémique, il vaut mieux venir avec du bon équipement, c'est plus convainquant.

  • [^] # Re: C'est quoi, de la 2D isométrique ?

    Posté par  (site web personnel) . En réponse à la dépêche OpenTTD 1.2.0 est sorti. Évalué à 2.

    Pourtant c'est bien techniquement de la 2D, on devrait même parler de perspective isométrique :)

    Je ne comprend pas ta remarque… au bout du compte l'image est projetée sur l'écran 2D (encore quelques années), que tu joues à Transport Tycoon, Doom ou Quake.

  • [^] # Re: 3 francs 6 sous

    Posté par  (site web personnel) . En réponse au journal De l'incompétence comme moteur de l'économie…. Évalué à 2.

    En fait le phénomène récurrent est que les activités qui ne correspondent pas au cœur d'activité d'un service (on parle de grosses boîboîtes) sont souvent perçues comme inutiles ou nuisibles, car elles détournent la force de travail du cœur d'activité — et que l'outil d'évaluation du service se concentre dessus.

    Alors tout ce qui est formation du personnel, démarchange d'étudiants pour faire connaître son métier ou sa boîte, adoptions de nouvelles méthodes de travail ou d'outils… sont très difficiles! Sans parler de l'élaboration d'un cahier des charges.

  • # 3 francs 6 sous

    Posté par  (site web personnel) . En réponse au journal De l'incompétence comme moteur de l'économie…. Évalué à 5.

    Commençons par le début

    Acte 1: afin de gérer son infrastructure et sa logistique, le groupe décide d'acheter une solution clé en main composées d'un ensemble de capteurs effectuant des mesures régulières et d'une base de données. […]

    je suis sûr que cette entrprise utilise Word, Excel et Access, trop produits qui sont absolument inadaptés au travail en entreprise, en subit donc une grosse pénalité de productivité. Ensuite ils utilisent certainement Windows, ce qui ajoute une pénalité de production supplémentaire. (Je n'ai pas pu attendre vendredi.)

    Acte 2: Après un an de mesure, la base de données de toutes les mesures atteint 30Go (ce qui est honnête).

    C'est assez petit. La DLR (agence spatiale en Allemagne) reçoit un To de données toutes les heures de ses appareils…

    Le manager qui a signé le contrat est le plus à risque et va donc tout faire pour que "tout aie l'air de fonctionner". Au point même de renouveller le contrat. Pour le plus grand plaisir du fournisseur.

    Il ne faut pas perdre de vue que le client a investi un temps considérable à la définition du cahier des charges, etc. et que comme il se doit, ils sont super-busy et n'ont pas spécialement envie de recommencer avec un autre, sauf s'ils sont certains que l'autre leur fournira un meilleur service.

  • [^] # Re: Options de rsync

    Posté par  (site web personnel) . En réponse au message Soustraire une liste de fichier à une autre liste. Évalué à 3.

    Y'a plein de sed pour faire en sorte que ça marche

    Y'en a trop! Deux remarques. 1. Utilise toujours le même caractère pour délimiter les patterns, ça t'évite de faire des échappements et c'est plus facile à relire. LEs caractères habituels sont /@+%= ici tu peux utiliser % qui n'apparaît pas dans tes paterns.

    j'ai aussi découvert un bug, si y'a des crochets dans le nom du fichier, alors la règle d'exclusion est ignoré

    Le bug est dans ta façon de lire la page de man. Je te sors quelques paragraphes qui vont t'intéresser (il faut que tu lises toutes la section FILTER RULES et les suivantes sur INCLUDE, EXCLUDE).

           For instance, this
           won't work:
    
                  + /some/path/this-file-will-not-be-found
                  + /file-is-included
                  - *
    
    
           This  fails  because the parent directory "some" is excluded by the '*'
           rule, so rsync  never  visits  any  of  the  files  in  the  "some"  or
           "some/path" directories.
    
    

    pour le fameux bug:

           o      rsync  chooses  between doing a simple string match and wildcard
                  matching by checking if the pattern contains one of these  three
                  wildcard characters: '*', '?', and '[' .
    
    

    et

           o      in a wildcard pattern, a backslash can be used to escape a wild-
                  card  character,  but  it is matched literally when no wildcards
                  are present.
    
    

    En relisant ces deux sections de rsync(1) tu devrais t'en sortir plus proprement.

  • [^] # Re: Mauvais travail

    Posté par  (site web personnel) . En réponse au journal Facenuke. Évalué à 5.

    A ta place, je remercierais plutôt Greenpeace pour l'énorme travail accompli dans le domaine de la protection de la planète, de la Vie tout court, tout ceci avec de très faibles moyens.

    J'ai un semtiment plus mitigé. Bien-sûr l'environnement est un sujet important et je veux bien croire que Greenpeace ait contribué à ce que le débat public se porte sur certains aspects de la question. Mais les argumentaires de Greenpeace sont souvent indéfendables: du coupe si j'explique à mes amis «Tu vois c'est un sujet trop important machin» je ne peux pas m'appuyer sur les arguments de Greenpeace. Donc par cette attitude, Greenpeace se prive de mon adhésion, de mon soutien et de mon aide. Ainsi que de tout ceux qui pensent comme moi.

    Alors l'outil Facenuke ? Bin oui, il est imparfait,

    J'oscille entre imparfait et malhonnête… c'est bien ça le problème. Pour que je puisse me reconnaître dans leur travail, il devraient avoir un argumentaire, sinon à toute épreuve, du moins moins critiquable.

  • # Options de rsync

    Posté par  (site web personnel) . En réponse au message Soustraire une liste de fichier à une autre liste. Évalué à 3.

    Dans rsync il y a des options --include et --include-from qui, si je comprends bien ton problème, font ce que tu veux. Il faut que tu lises la section FILTER RULES du manuel.