Matthieu Moy a écrit 3248 commentaires

  • [^] # Re: .

    Posté par  (site web personnel) . En réponse à la dépêche Cartographie et images de rues : Mapillary et OpenStreetCam. Évalué à 2.

    Mais ils pourraient très bien faire une exception pour importer en masse les images d'un autre service.

    En théorie oui, mais pour Mapillary par exemple : que dire de la propriété intellectuelle des données extraites par analyse d'image ? Que pourraient-ils faire de la position d'un objet calculée par triangulation de plusieurs images de licences différentes ?

    Faire ce genre de choses les entraîneraient dans un casse-tête juridique (savoir ce qu'ils ont le droit de faire) et technique (tracer la propriété intellectuelle des données extraites) dans lequel ils n'ont pas envie d'aller.

  • [^] # Re: .

    Posté par  (site web personnel) . En réponse à la dépêche Cartographie et images de rues : Mapillary et OpenStreetCam. Évalué à 3.

    En fait, c'est plus compliqué que ça, et la réponse rapide est : non, ça ne marche pas.

    Dans le sens Mapillary -> OSC, il y a la limite en nombre de téléchargements qui empêche de faire un miroir sans passer par une version payante du service.

    Et dans les deux sens, les images distribuées sont sous licence creative-common, mais les services exigent une licence plus permissive sur les images en entrée (en gros, on leur donne tous les droits sur l'image), qui leur permet d'avoir la main sur la propriété intellectuelle de toutes leurs données.

    Voir par exemple ici pour plus d'explications : https://github.com/openstreetcam/openstreetview.org/issues/60#issuecomment-260201961

  • [^] # Re: Officiellement du moins

    Posté par  (site web personnel) . En réponse au journal Portage de Darktable sous Windows. Évalué à 10.

    Oui, il y a déjà eu plein de tentatives. Mais jusqu'ici, les portages étaient faits à la va-vite (typiquement, #ifdef / #endif autour des bouts de code qui ne marchent pas, et du coup une version limitée sous Windows) et l'équipe de dev de darktable considérait ces inititives comme des forks hostiles. Là, on a un contributeur qui s'est attaché d'abord à porter toutes les dépendances de dt qui ne tournaient pas sous Windows, a soumis son code sur le GitHub de darktable, a répondu aux critiques et a finalement réussi à faire intégrer à la fois son code et l'idée que c'était une bonne chose d'avoir une version Windows. C'est un changement énorme pour darktable.

  • [^] # Re: Confidentialité

    Posté par  (site web personnel) . En réponse à la dépêche Cartographie et images de rues : Mapillary et OpenStreetCam. Évalué à 4.

    En principe, les deux floutent les visages dans les images. Je suppose que leur algo n'est pas parfait.

    En googlant rapidement, je trouve cette discussion https://github.com/mapillary/mapillary_issues/issues/2652 mais pas de pointeur pour signaler une image à supprimer ou à flouter. Je n'en sais pas plus.

    par les personnes le connaissant, bien évidement

    Ou par un algo de reconnaissance de visage, qui pourrait se rendre compte que la personne sur cette photo est la même que sur d'autres ailleurs sur le web …

  • # Solution propre mais overkill ?

    Posté par  (site web personnel) . En réponse au message Défi du jour : wget et lien temporaire. Évalué à 7.

    Une solution plus générale que ce que tu cherches : coder ça en Python avec MechanicalSoup par exemple.

  • [^] # Re: Cumul des arrondis

    Posté par  (site web personnel) . En réponse au journal SQL Decimal vs Double. Évalué à 2.

    c'est ce que j'écrivais après sur le fait qu'on pouvait s'en sortir si on sait prouver que les arrondis flottants ne changent pas l'arrondi bancaire.

    Mais note quand même que c'est un problème beaucoup plus compliqué qu'il en a l'air. Par exemple, faire des calculs en double puis arrondir en float peut donner un résultat incorrect comparé à un calcul fait entièrement en float à cause des problèmes de double arrondis. Je suppose que c'est pareil en mélangeant des double et des arrondis bancaires.

  • [^] # Re: Cumul des arrondis

    Posté par  (site web personnel) . En réponse au journal SQL Decimal vs Double. Évalué à 2.

    du moment que tu restes dans les 10^{16} d'amplitude

    Oui, c'est ce que j'écrivais après sur le fait qu'on pouvait s'en sortir si on sait prouver que les arrondis flottants ne changent pas l'arrondi bancaire. C'est problématique si on manipule des sommes supérieures à 10^{16} centimes en tous cas ;-).

    ton résultat final varie en fonction du nombre d'intermédiaire de calcul que tu utilises.

    Oui mais justement, les intermédiaires sont bien définis par les règles bancaires. Par exemple pour un compte à intérêt, les intérêts sont calculés tous les ans et arrondis tous les ans (la somme que tu vois arriver comme intérêts chaque année est une valeur exacte même si le calcul pour l'obtenir inclue un arrondi).

  • [^] # Re: Cumul des arrondis

    Posté par  (site web personnel) . En réponse au journal SQL Decimal vs Double. Évalué à 4.

    C'est justement la subtilité du monétaire : quand tu prends pour « 10,222 € » d'essence, le pompiste te facture exactement 10,22, et ne te dit pas « vous me payerez la fraction d'euro plus tard ». La valeur arrondie est la valeur exacte du paiement.

    Un autre exemple : si tu prends un crédit à 1,2 %, c'est vraiment 1,2 (qui n'est même pas représentable exactement en flottant). Et là aussi il y a un arrondi à faire chaque année, et les calculs mathématiques du style (1 + taux)<nombre d'année> donnent un résultat incorrect car ils ne font pas les arrondis au bon endroit.

    On peut certainement s'en sortir en faisant les calculs en flottant et en montrant que les arrondis flottants sont assez petits pour être absorbés par les arrondis bancaires au centime près (au moins avec des double en tous cas), mais ça ne simplifie pas vraiment la question par rapport à faire tous les calculs exacts en comptant des nombres entiers de centimes (ce qui revient à compter les euros en virgule fixe).

  • [^] # Re: Merci

    Posté par  (site web personnel) . En réponse au journal [Btrfs et openSUSE] Épisode 2 : snapper et GRUB2. Évalué à 4.

    En fouillant, j'ai compris qu'il fallait lancer manuellement une commande pour dire à btrfs de vider sa corbeille

    J'ai du btrfs et je n'ai jamais eu ce phénomène. En fait je ne vois pas de quelle commande tu parles. A priori, tu as du installer autre chose par dessus btrfs ou quelque chose comme ça.

  • # Constructeur

    Posté par  (site web personnel) . En réponse au message Référencer un classe à l'intérieur de sa définition. Évalué à 2.

    Tu peux initialiser hierarchy dans le constructeur :

    >>> class Foo:
    ...     def __init__(self):
    ...         self.hierarchy = Foo
    ... 
    >>> x = Foo()
    >>> x.hierarchy
    <class __main__.Foo at 0x7fc30ea64328>
  • [^] # Re: sudo

    Posté par  (site web personnel) . En réponse au journal Alterner les répertoires avec zsh. Évalué à 3.

    Pour le ... -> ../.., il y a aussi tout simplement :

    alias -g '...'='../..'
    

    (expansé au moment de l'exécution, pas en cours de frappe)

  • [^] # Re: Il manque un morceau

    Posté par  (site web personnel) . En réponse au journal Téléchargement indirect …. Évalué à 6.

    Je vais être méchant, mais on est sur le site d'une université d'économie et de gestion … ;-).

  • [^] # Re: Peut-être pas pour un amateur ?

    Posté par  (site web personnel) . En réponse à la dépêche darktable 2.2.0. Évalué à 2.

    (pour la balance des blancs il faudra me croire sur parole vu que j'ai l'original devant mes yeux !).

    Tu essayes de comparer des choses qui ne sont pas comparables. Ça n'a aucun sens de comparer la balance des blancs d'un document imprimé et d'une image affichée à l'écran.

    Pour un document imprimé, un « blanc parfait » c'est quand toute la lumière reçue est réfléchie. C'est assez facile à définir. Pour un document affiché à l'écran, c'est très différent car l'écran émet sa propre lumière et ne réfléchit rien. Et il n'y a aucun moyen de définir un « blanc parfait » à l'écran (pour ceux qui pensent « c'est quand il y a la même quantité de lumière rouge, verte, bleue », commencez par définir « quantité de » pour des couleurs différentes : en W/m2 ? pondérée par la sensibilité de l'œil à une couleur ? comment définir la sensibilité de l'œil à des couleurs différentes d'ailleurs ? …). Donc il n'y a pas un « blanc parfait », mais plusieurs blancs (d50, d65, …).

    La balance des blancs de ton document papier correspond à la balance de la lumière que tu utilises pour l'éclairer. Changes l'éclairage et tu auras une balance des blancs différente sur la version imprimée alors que ton écran ne changera pas.

    Voici un petit zoom avec Lightroom à gauche et Darktable à droite :
    https://filebin.net/rww7rp8yu3tov0zh

    L'image darktable est bien plus claire et plus contrastée, c'est normal que le bruit soit plus visible. Si tu ramènes l'image à un niveau de luminosité et de contraste comparable, c'est à peu près équivalent en terme de bruit. Côté couleurs je suis d'accord que Lightroom a l'air de mieux s'en sortir.

    À mon avis, tu passes trop d'énergie à faire des comparaisons, pas forcément pertinentes, et pas assez à obtenir le résultat qui te plaît.

    J'ai le même boîtier que toi, il y a quelques photos où dt fait un peu n'importe quoi au niveau des couleurs, mais globalement avec des réglages proches de ceux par défaut, j'ai quand même un résultat qui me plaît, et personne ne m'a jamais dit que mes couleurs étaient mauvaises.

  • [^] # Re: Bien, mais peut mieux faire

    Posté par  (site web personnel) . En réponse à la dépêche darktable 2.2.0. Évalué à 10.

    Petit jeu : compte le nombre de fois où tu as écrit « il faut » dans ton message. Et compte le nombre de fois où tu as proposé de l'aide.

    Je sais bien que les lettres au père noël sont d'actualité, mais là c'est quand même du record de Yaka Fokon !

  • [^] # Re: Bien, mais peut mieux faire

    Posté par  (site web personnel) . En réponse à la dépêche darktable 2.2.0. Évalué à 5.

    Et toujours pas de brosse

    Ça dépends de ce que tu entends par « brosse », mais il y a un outil « pinceau » dans les masques dessinés. Si tu cherches un moyen de dessiner sur une image ou quelque chose qui y ressemble, c'est clairement en dehors de ce que darktable cherche à faire donc il faut passer à un autre outil, comme Gimp.

    ni de filtre gradué

    Euh, tu lui reproches quoi à l'outil « filtre dégradé » ? Et quasiment tous les outils peuvent utiliser un masque dessiné « dégradé », donc même si tu n'avais pas trouvé l'outil approprié, il y a un paquet de manière de faire la même chose avec les autres outils en environ 5 clics de souris.

    essayez donc de leur parler d'une version Windows et vous verrez leur réaction…

    Tu as lu la dépêche jusqu'au bout ?

    Franchement, qu'ils n'aiment pas quand un développeur arrive, propose un patch qui ajoute des #ifdef de partout dans le code et produit un binaire tout buggé pour Windows, c'est un peu compréhensible. Et l'expérience a montré que jusqu'ici quand on demande au mec qui a proposé ça de s'investir dans la durée, le mec en question se barre aussi vite qu'il est arrivé.

  • # Typo

    Posté par  (site web personnel) . En réponse à la dépêche darktable 2.2.0. Évalué à 3.

    Dans la presentation du undo/redo, un "control-z / control-y" s'est transformé en z/y (^ interprété comme un exposant). Un modérateur peut corriger ? (je trouve ca plus clair d'écrire "control" en toutes lettres de toutes façons).

    Merci !

  • # Lien cassé

    Posté par  (site web personnel) . En réponse à la dépêche C++ se court-circuite le constructeur de copie. Évalué à 1.

    Le lien « constructeur nommé » est cassé (lien relatif au lieu d'absolu). Le lien correct est :

    http://cpp.developpez.com/faq/cpp/?page=Les-constructeurs#Qu-est-ce-que-l-idiome-du-constructeur-nomme-Named-Constructor

    Si un modérateur passe par là …

  • [^] # Re: Oui, mais non.

    Posté par  (site web personnel) . En réponse au journal Des milliers de contenus librement réutilisables. Évalué à 3.

    Oui, la section citée s'applique clairement aux auteurs de blogs, et pas aux lecteurs. Dans l'esprit, c'est assez évident de mon point de vue que c'est « vous n'avez pas le droit de publier ici des contenus soumis à des droits d'auteurs autres que les vôtres ». Après, on peut trouver le texte pas clair et/ou être de mauvaise foi et l'interpréter autrement, mais je demande à voir ce que ça donnerait devant un tribunal. Je ne suis pas juriste, mais si je devais parier, je ne miserai pas sur le lecteur ayant fait l'interprétation faite dans ce journal …

  • [^] # Re: git != svn

    Posté par  (site web personnel) . En réponse au journal Git : les bases et guide d'utilisation en mode centralisé (à la SVN). Évalué à 4.

    J'ai pas tout lu, mais je crois que ce que vous cherchez est : git config receive.denyCurrentBranch updateInstead. Cf. par exemple https://github.com/blog/1957-git-2-3-has-been-released pour des détails.

  • # Mauvais tuto, changer de tuto

    Posté par  (site web personnel) . En réponse au journal Git : les bases et guide d'utilisation en mode centralisé (à la SVN). Évalué à 10.

    Tu n'as pas lu la bonne doc … Le lien que tu donne commence par :

    This tutorial explains how to use the "core" Git commands to set up and work with a Git repository.

    If you just need to use Git as a revision control system you may prefer to start with "A Tutorial Introduction to Git" (gittutorial[7]) or the Git User Manual.

    Ce que tu proposes, c'est un peu comme d'expliquer à un débutant comment coder en C en lisant les sources de GCC : ce sont les commandes de bas niveau, utiles pour les programmeurs qui veulent écrire des scripts à base de git, mais pas pour les utilisateurs.

    Si tu veux un tuto « git centralisé pour débutants », il y en a certainement des tas sur le web. Tu peux regarder ceci que j'utilise pour des étudiants débutant en Git.

  • [^] # Re: .

    Posté par  (site web personnel) . En réponse au journal CVE-2016-5195 Dirty COW. Évalué à 9.

    La faille utilise une race condition, donc le fait qu'elle soit exploitable en 5 secondes n'a rien de sensationnaliste, c'est clairement une info pertinente sur sa gravité.

    nb : j'ai eu cette information en suivant le premier lien du journal, donc visiblement il y avait de l'information dedans quand même …

  • [^] # Re: Admiratif

    Posté par  (site web personnel) . En réponse à la dépêche Ceci est un lancement de chatons. Évalué à 1.

    Oui, mais tu peux aussi parler d'Olympe, 90 000 utilisateurs, qui a mis la clé sous la porte faute de financement. Ce genre de situation est à peu près impossible avec un service commercial : s'il y a assez d'utilisateurs, il y a des sous…

  • [^] # Re: Rrrr Zzzz

    Posté par  (site web personnel) . En réponse au journal Git Rev News: la newsletter de Git, et sondage pour utilisateurs de Git. Évalué à 3.

    out of date in transaction », sans l'ombre d'une suggestion de comment sortir de la situation,

    Grosse mauvaise foi détectée.
    J'ai moi aussi l'occasion d'enseigner git à « quelques » novices et même si je
    n'ai certainement pas tes compétences sur les entrailles du bousin, n'étant pas
    contributeur sur le projet, je trouve quand même ta remarque assez décalée
    lorsqu’il faut expliquer pourquoi on se prend un "push rejected: non-fast-forward".

    Avec SVN :

    Sending        foo.txt
    svn: E155011: Commit failed (details follow):
    svn: E155011: File '/tmp/checkout/foo.txt' is out of date
    svn: E160028: File '/foo.txt' is out of date
    

    Avec Git :

    To /tmp/git
     ! [rejected]        master -> master (fetch first)
    error: failed to push some refs to '/tmp/git'
    hint: Updates were rejected because the remote contains work that you do
    hint: not have locally. This is usually caused by another repository pushing
    hint: to the same ref. You may want to first integrate the remote changes
    hint: (e.g., 'git pull ...') before pushing again.
    hint: See the 'Note about fast-forwards' in 'git push --help' for details.
    

    Désolé, je suis sincère quand je dis que je trouve le second plus facile à comprendre. Après, avec les débutants mon plus gros problème est que le message de Git est plus long donc les étudiants s'arrêtent au milieu (et l'incitation à lire la doc est vue comme limite injurieuse !), mais bon …

  • [^] # Re: Rrrr Zzzz

    Posté par  (site web personnel) . En réponse au journal Git Rev News: la newsletter de Git, et sondage pour utilisateurs de Git. Évalué à 5.

    Mais la façon propre est chiante. Et à la moindre erreur tu peux tout casser.

    Mon expérience est exactement l'inverse. J'ai enseigné SVN à des débutants, ils galéraient tous sur des conneries (beaucoup ont été résolues depuis, mais par exemple un svn update était capable de mettre à jour la moitié d'un arbre de travail, s'arrêter sur une erreur du style ! nom-de-fichier.txt et s'arrêter là en laissant tout en vrac, et bon courage pour comprendre ce que ! veut dire), et quand j'essayais de les dépanner ils avaient réussi à mettre une grouille pas possible et je ne pouvais rien faire d'autre qu'un nouveau checkout.

    Avec le passage à Git, j'ai beaucoup moins de questions, et infiniment moins d'étudiants qui jettent l'éponge en me disant « monsieur, Git est cassé ». Et quand je dois dépanner quelqu'un qui a mis le bronx dans son dépôt Git, au moins, je sais comment faire : git status dit des trucs pertinents, l'historique est historisé et il y a plein de gardes fous dans Git qui ne sont pas dans SVN pour éviter de perdre des données.

    On est loin de l'outil idéal, mais face à des débutants complets qui ne connaissent pas SVN, ça ne se passe pas si mal que ça.

    Après, que Git soit très pénible à pendre en main quand on a ses habitudes sous SVN, je crois que personne ne le conteste.

  • [^] # Re: Rrrr Zzzz

    Posté par  (site web personnel) . En réponse au journal Git Rev News: la newsletter de Git, et sondage pour utilisateurs de Git. Évalué à 2.

    [alias]
    svncommit = !git commit -a && git push

    Ben non. ton svn commit ne marche pas si ton origin a avancé, il faut un rebase > avant.

    Tout pareil qu'avec SVN, non ? Quand ton checkout n'est pas à jour, il faut faire un update (la dernière fois que j'ai essayé SVN le message d'erreur était « out of date in transaction », sans l'ombre d'une suggestion de comment sortir de la situation, qui fait un peu rire jaune pour un outil orienté convivialité et simplicité d'ailleurs).

    Mais bon, l'intérêt de Git est quand même de pouvoir commiter plusieurs fois avant de faire un push justement. Et clairement l'interface en ligne de commande de Git est optimisée pour ça.

    svncheckout = !git stash && git pull && git stash apply && git stash clear

    Ou git pull --rebase --autostash. Ou alors on configure les variables qui vont bien et ça s'appelle juste git pull.