lovasoa a écrit 158 commentaires

  • [^] # Re: Pas convaincu

    Posté par  (site web personnel) . En réponse au journal Tous les parsers JSON sont mauvais. Évalué à 7.

    Bien sûr, le titre était un peu aguicheur, tous les persers json ne sont pas mauvais, et dans la plupart des cas, le problème évoqué ici n’est pas limitant.

    Cependant, je pense que le souci du déni de service et de la faille de sécurité peuvent être réels. En tout cas, il est bon que les développeurs soient au courant des limitations des bibliothèques utilisées et des erreurs qui peuvent être levées. Beaucoup de bibliothèques ne mentionnent pas cette limitation de niveaux d’imbrication, et ne lèvent pas une erreur du bon type lorsque le cas se présente.

    Par exemple, en python, pour parser du JSON et catcher une erreur éventuelle, on fait:

    try: json.loads(s)
    except json.JSONDecodeError: print("JSON invalide")
    

    Un tel code donne l'impression qu'aucune erreur ne pourra être levée même sur une chaîne de caractères qui contient du JSON invalide. Pourtant, json.loads peut retourner une RecursionError qui n'est pas une JSONDecodeError, et planter.

    Et bien sûr, on peut refaire les parsers en utilisant une pile explicite, mais on se retrouve avec du code encore moins compréhensible. Et quand on voit par exemple le parser de python, il y a déjà tellement de cas à traiter et de micro-optimisations que le code n'est pas très clair. Je pense que la bonne solution est d'utiliser des générateurs de parser, qui ont une grammaire explicite et claire, et qui peuvent générer des parsers non-récursifs.

  • [^] # Re: Méthode de Condorcet

    Posté par  (site web personnel) . En réponse au journal Résultat électoral : le nouveau DPL est.... Évalué à 1.

    Bah en l'occurrence, pour deux candidats, le scrutin de Condorcet et le scrutin majoritaire, c'est la même chose, non ?
    En l'occurrence, ils ont juste chacun voté pour un candidat, et celui qui avait le plus de voix à gagné.

  • # si si, on sait pourquoi

    Posté par  (site web personnel) . En réponse au journal Arrestation du développeur Debian Dmitry Bogatov. Évalué à 10.

    Il a été arrêté pour "préparation de désordre massif", en lien avec les manifestation organisée par Navalny.

    http://www.svoboda.org/a/28423425.html

  • # pas de code

    Posté par  (site web personnel) . En réponse au journal La CIA offre sa première fournée de logiciels non libres gratuits. Évalué à 10.

    Contrairement à ce que dit le journal, aucune ligne de code n'a été publiée, il me semble. Ni aucune faille 0-day divulguée. WikiLeaks les a, mais dit travailler à "neutraliser ces armes informatiques avant de les publier".

    Il ne faut pas lire les articles de journaux généralistes, mais la page d'annonce de WikiLeaks qui est en lien de ce journal.

  • # Et les autres

    Posté par  (site web personnel) . En réponse au journal Programmer ça craint. Évalué à 7.

    Effectivement, programmer, ça craint. Mais est-ce qu'il y a une chose au monde qui ne craint pas exactement de la même manière?

    Est-ce que les gens qui réparent des voitures, construisent des immeubles, écrivent des livres, ne font pas exactement la même chose?

    Tout le monde a tendance à se dire: déjà, on va faire en sorte que ça marche là, tout de suite, après j'améliorerai le truc. Et puis après, il n'y a plus le temps.

  • # plus d'informations

    Posté par  (site web personnel) . En réponse au journal Vie privée et appel téléphonique. Évalué à 5.

    L'opérateur téléphonique a répondu à l'auteur sur twitter pour lui dire que c'était une coïncidence.
    Et un commentaire du post de blog signale que ça pourrait aussi être le publicitaire qui exploiterait l'absence de sécurité du protocole GSM pour obtenir la liste des numéros appelant l'assureur.

    Mais malgré tout, personnellement, je pense que c'est Megafon le coupable. Je suis client aussi, et c'est vrai qu'ils n'arrêtent pas d'envoyer des pubs par SMS.

  • # le code?

    Posté par  (site web personnel) . En réponse au journal Deep NSFW dreams. Évalué à 2.

    Je pense qu'il faudrait d'abord étudier l'activation de quelques neurones vers les couches finales pour voir lequel détecte quoi. Et ensuite maximiser seulement les neurones qui détectent des choses «intéressantes» pour ton application.

    Le code qui a servi a générer les images de ce journal est disponible quelque part?

  • [^] # Re: question bête?

    Posté par  (site web personnel) . En réponse au journal Où l'on fait le bilan des domaines .fr d'une et deux lettres, un an après leur ouverture au public. Évalué à 1.

    Selon Wikipédia, l'AFNIC est une association à but non lucratif.

  • [^] # Re: question bête?

    Posté par  (site web personnel) . En réponse au journal Où l'on fait le bilan des domaines .fr d'une et deux lettres, un an après leur ouverture au public. Évalué à 1.

    Je ne comprends pas. Quel est l'intérêt pour l'acheteur de conclure une vente cachée, si il peut simplement dénoncer la personne qui était prête à commettre la vente, et recevoir le domaine pour moins cher ?

  • # question bête?

    Posté par  (site web personnel) . En réponse au journal Où l'on fait le bilan des domaines .fr d'une et deux lettres, un an après leur ouverture au public. Évalué à 7.

    Pourquoi ne pas simplement interdire la revente de domaine, sous peine de ne pas se le faire renouveler?

  • # précision

    Posté par  (site web personnel) . En réponse au journal Utiliser un noyau grsecurity sous Debian. Évalué à 2.

    Si je me souviens bien, il n'y a finalement pas de JIT dans php7.

  • # autre solution

    Posté par  (site web personnel) . En réponse au journal CWP : une interface web d'impression de fichiers PDF. Évalué à 4.

    Une autre solution est de partager son imprimante depuis l'ordinateur où CUPS est installé. Ça ne nécessite pas d'installer de pilote chez l'invité. Voir https://wiki.archlinux.org/index.php/CUPS/Printer_sharing

  • # sécurité

    Posté par  (site web personnel) . En réponse au journal CWP : une interface web d'impression de fichiers PDF. Évalué à 10. Dernière modification le 27 août 2016 à 00:39.

    Le projet est intéressant et utile.

    Une remarque cependant. Je suis allé regarder le code. Le PHP est mélangé au HTML généré, et les variables sont insérées par simple concaténation de chaînes de caractères. Sans même parler de faille XSS, cela signifie que si une imprimante ou une option a un nom qui contient le caractère " par exemple, tout l'affichage de la page est cassé. Je vous recommanderais d'utiliser un système de template, qui en plus régler ces problèmes, rendra le code plus lisible.

    De même, le script lance des commandes sur la machine sans vérifier les arguments. Cela signifie que vous laissez n'importe quel invité exécuter n'importe quelle commande sur votre serveur.

    Et le fichier de configuration est dans un langage inventé pour l'occasion, qui ressemble au json, mais n'est pas totalement compatible, à cause du système de commentaires. Je conseillerais l'utilisation d'un langage existant, comme YAML par exemple, qui supporte les commentaires.

  • # datachannels

    Posté par  (site web personnel) . En réponse au journal dl.center : partage de fichier entre périphérique. Évalué à 10. Dernière modification le 01 juillet 2016 à 08:41.

    L'idée est bien, ça répond à un besoin que beaucoup de gens ont souvent. Mais pourquoi ne pas utiliser les datachannels ?

    Ça permettrait de ne pas avoir à téléverser les fichiers vers ton serveur.

  • # j'ai lu leur site

    Posté par  (site web personnel) . En réponse au journal Urbit - Le nouveau MultiDeskOS aka le retour de Jayce ?. Évalué à 10.

    Le but du projet semble assez clair:
    http://urbit.org/posts/overview/

    C'est une machine virtuelle destinée à créer un cloud personnel.

    Ce qui est un peu étrange par contre, c'est qu'ils se soient senti obligés de créer un nouveau "système d'exploitation" et un langage de programmation à la syntaxe peu claire pour ça.

    À mon avis, c'est un mec tout seul qui avait envie de s'amuser avec différents projets de différentes branches de l'informatique, et qui a codé ça. Il est plus compétent que Jayce, mais aussi un peu illuminé.

  • # ou sinon

    Posté par  (site web personnel) . En réponse au journal Démocratie et pyramide des âges. Évalué à 7.

    On peut aussi voir les choses autrement: les conséquences positives de la sortie de l'UE, si il y en a, ne seront pas immédiates. Il faudra plusieurs années, peut-être dix ans, à l'Angleterre pour finaliser la sortie de l'UE, établir de nouveaux partenariats économiques, une nouvelle politique migratoire, etc. Les gens le savent, même les partisans du Brexit ne s'en cachent pas. Donc ces personnes âgées ont vraiment voté selon leurs valeurs, selon ce qu'elles pensaient être bon pour leur pays à long terme. Leur vote n'a pas moins de valeur que les autres.

    Le vote démocratique fait confiance au peuple pour déterminer, selon lui, ce qui est le mieux pour sa société. Ce n'est pas parce que tu vas vivre moins longtemps que tu dois en avoir une moins bonne idée, ou que tu vas voter seulement pour tes intérêts à court terme (cf. le vote sur le Brexit). Je souhaite à mes enfants et mes petits enfants que l'auteur de ce journal continue à aller voter jusqu'à sa mort.

  • # pourquoi faire simple?

    Posté par  (site web personnel) . En réponse au journal Lettre à mon copain Errol. Évalué à 10.

    Juste par curiosité, quel est l'avantage de toute cette procédure compliquée par rapport à juste ouvrir une fenêtre de navigation privée, acheter ton truc, et fermer la fenêtre?

  • # Version en ligne

    Posté par  (site web personnel) . En réponse au journal Grammalecte est enfin disponible pour Firefox. Évalué à 6.

    Du coup, maintenant que grammalecte existe en javascript, est-ce que l'on va voir sortir une version en ligne ? Ce serait bien. J'aimerais bien pouvoir juste envoyer un lien à mes connaissances, pour que tous ceux qui ne savent même pas ce qu'est une extension de navigateur, ou qui utilisent un autre navigateur puissent quand même s'en servir.

  • [^] # Re: Question (probablement) conne

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

    Non, apparemment le jeu se déroule dans quatre dimensions spatiales, plus une dimension temporelle.

  • # Paperless

    Posté par  (site web personnel) . En réponse à la dépêche Paperwork 0.3. Évalué à 4.

    Il y a paperless qui fait exactement la même chose, en python aussi, et qui est "trending" en ce moment sur github. Est-ce qu'il y a eu une influence quelconque de l'un sur l'autre? Est-ce qu'il serait envisageable de rendre les deux compatibles ? (synchroniser paperwork avec un serveur paperless)…

  • [^] # Re: Cuisine

    Posté par  (site web personnel) . En réponse au journal Logiciels libres vs privateurs, les analogies et paraboles rhétoriques !?.. Évalué à 5.

    Une autre limite, plus importante encore, je pense, de cette analogie, est que tout le monde ou presque peut comprendre une recette de cuisine, ou au moins comprendre la liste des aliments qui la composent. Alors que le code source d'un logiciel n'a, pour l'immense majorité de ses utilisateurs, aucune signification.

  • [^] # Re: exemple

    Posté par  (site web personnel) . En réponse au journal toutf8: autodétecter et convertir de n'importe quel encodage de caractères vers UTF8. Évalué à 1. Dernière modification le 24 novembre 2015 à 19:04.

    Il me semble évident que détecter un charset invalide accélère le programme, et ne le ralentit pas. En effet, quand une incohérence entre un charset et le texte courant est trouvée, on peut arrêter la collecte de statistiques pour ce charset, et gagner du temps pour la poursuite de la lecture. C'est ce qui semble être fait dans uchardet pour WINDOWS-1252, mais visiblement pas pour WINDOWS-1255.

    Je ne sais pas si c'est le seul problème, mais cette ligne me semble fautive. Je pense que les cinq dernières valeurs devraient être 255,255,128, 96,255, du moins si l'on en croit le commentaire au dessus de la liste de valeur:

    /****************************************************************
    255: Control characters that usually does not exist in any text
    254: Carriage/Return
    253: symbol (punctuation) that does not belong to word
    252: 0 - 9
    *****************************************************************/
  • [^] # Re: exemple

    Posté par  (site web personnel) . En réponse au journal toutf8: autodétecter et convertir de n'importe quel encodage de caractères vers UTF8. Évalué à 3.

    Uchardet le fait.

    C'est faux, et je l'ai montré dans un commentaire précédent.
    Mais puisque tu dis qu'il est censé le faire, je viens d'ouvrir un rapport de bug.

  • [^] # Re: exemple

    Posté par  (site web personnel) . En réponse au journal toutf8: autodétecter et convertir de n'importe quel encodage de caractères vers UTF8. Évalué à 4.

    Pour reprendre l'exemple précédent: f3 ec ed fb e9 va donner СЛМШИ en KOI8-R. Ce ne sont que des lettres qui existent en russe. Pourtant, le résultat ne veut rien dire. On est bien obligé de travailler avec des données précises sur chacune des langues que l'on veut détecter.

    Par contre, on peut, et je pense qu'il faut, détecter les points de codes qui ne sont pas valides dans un encodage donné. Et ça, uchardet ne le fait visiblement pas.

    On pourrait imaginer, en plus, d'attribuer des points négatifs quand un caractère qui n'appartient pas à la langue est détecté.

  • [^] # Re: attention..

    Posté par  (site web personnel) . En réponse au journal toutf8: autodétecter et convertir de n'importe quel encodage de caractères vers UTF8. Évalué à 1.

    D'accord, je corrige ça.