lovasoa a écrit 164 commentaires

  • [^] # Re: anarchy in the wbo

    Posté par  (site web personnel) . En réponse à la dépêche WBO : un tableau blanc interactif. Évalué à 1.

    J'y ai pensé, mais j'ai peur que ça tue toute la créativité du tableau public. En fait, je trouve que les gens suppriment déjà trop de choses. Je pense que des trolls se serviraient de cet outil pour supprimer en permanence la totalité du tableau.

  • [^] # Re: Super chouette outil qui tombe bien

    Posté par  (site web personnel) . En réponse à la dépêche WBO : un tableau blanc interactif. Évalué à 2.

    En fait on peut, mais la fonctionnalité est cachée (parce que pas très testée, et lourde pour le serveur). Il faut remplacer boards par preview dans l'URL.

  • [^] # Re: Intérêt ?

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

    Oui, en ruby ou en PHP aussi, la limite est fixée dans le code. C'est déjà mieux que d'avoir une limite qui dépend juste de la taille de la pile disponible, mais c'est quand même une limite qui est présente simplement pour une petite facilité d'implémentation (utiliser une fonction récursive). C'est quand même étonnant que quasiment aucun parser n'ait opté pour une approche ne nécessitant pas de limite d'imbrication, non ?

    Cela empêche d'utiliser JSON, pour, par exemple représenter un arbre, alors que sans cette limite fixée par les implémentations, le format s'y prêterait très bien.

  • [^] # Re: C'est pas pour me la pêter mais...

    Posté par  (site web personnel) . En réponse au journal Tous les parsers JSON sont mauvais. Évalué à 6. Dernière modification le 23 octobre 2017 à 00:11.

    Il faut lire le json depuis l'entrée standard. Le programme correct à utiliser est:

    #include <stdio.h>
    
    int main(int argc, char ** argv) {
      json_t* j_test = json_loadf(stdin, JSON_DECODE_ANY, NULL);
      return j_test == NULL ? 1 : 0;
    }

    Et le résultat: 2048 niveaux d'imbrication maximum. Donc pas le moins bon, mais pas le meilleur non plus…

    Je l'ai ajouté sur le github.

  • [^] # Re: C'est pas pour me la pêter mais...

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

    Bon, je suis allé regarder le code, et il semblerait qu'il utilise des appels récursifs, comme les autres:

    La fonction parse_array appelle parse_value: https://github.com/akheron/jansson/blob/master/src/load.c#L780 .
    Et la fonction parse_value appelle parse_array: https://github.com/akheron/jansson/blob/master/src/load.c#L866 .

  • [^] # Re: C'est pas pour me la pêter mais...

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

    Ah, voilà un bon parser ! Et comment est-il structuré, pour éviter le problème des appels récursifs ? Il y a une grosse boucle principale et une pile qui représente l'état actuel ?

  • [^] # 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.