case42 a écrit 610 commentaires

  • [^] # Re: Pour une VIeme république

    Posté par  (site web personnel) . En réponse au journal [HS] Le vote électronique. Évalué à 10.

    ou est-ce qu'on signe?

  • [^] # Re: Pour une VIeme république

    Posté par  (site web personnel) . En réponse au journal [HS] Le vote électronique. Évalué à 1.

    Outre les différentes modalités qui me semblent discutables, mais bon, a la marge, le vrai problème que j'ai c'est que cette proposition vient d'un parti qui a par ailleurs un programme politique pour la présidentielle. Voila qui brouille grandement le message: si je vote pour eux, est-ce que je vote pour leur programme de gouvernement, ou leur proposition de changer de constitution? Comment peuvent-ils soutenir les deux en même temps? Voila qui est un peu schizophrène…

  • # Boycott.

    Posté par  (site web personnel) . En réponse au journal [HS] Le vote électronique. Évalué à -5.

    Je boycott déjà les élections pour d'autres raison, mais dans ton cas j'aurais refusé de voter purement et simplement.

  • [^] # Re: Le problème fondamental de la démocratie représentative

    Posté par  (site web personnel) . En réponse au journal Expérience de modes scrutin alternatifs. Évalué à 2.

    J'ai déjà eu l'occasion de me documenter sur Soral et sa clique. Je suis désolé si tu as pris "fachos" pour une insulte, je te prie de bien vouloir accepter mes excuses et remplacer ce mot par "fascistes de merde".

  • [^] # Re: Le problème fondamental de la démocratie représentative

    Posté par  (site web personnel) . En réponse au journal Expérience de modes scrutin alternatifs. Évalué à 2.

    J'ai plussé parce que je suis pour la démocratie directe et techniquement je suis d'accord avec ce que TU dis, sauf que Egalite Et Reconciliation c'est des gros fachos que je ne veux pas toucher même avec un bâton de 3km de long, merci d'éviter de decrédibiliser un discours par ailleurs intéressant en utilisant un messager galeux.

  • [^] # Re: Faiblesses de Node.JS

    Posté par  (site web personnel) . En réponse au journal Réflexions à propos de NodeJS et de Javascript plus globalement. Évalué à 3.

    il n'y a pas de fonctions de flow control inclus par défaut dans Node.js (un peu by design il me semble), donc tu dois soit en implémenter toi-même, soit choisir un module pour le faire.

    https://github.com/joyent/node/wiki/modules#wiki-async-flow

  • [^] # Re: Mon expérience

    Posté par  (site web personnel) . En réponse au journal Réflexions à propos de NodeJS et de Javascript plus globalement. Évalué à 3. Dernière modification le 20 avril 2012 à 13:21.

    Après avoir recontacté mon collègue de l'époque, c'était pas la lib pgsql qui posait problème, par contre effectivement, on voulait l'ORM de Django, parce que nos frontaux étaient en Django, et on a pas réussi a le faire marcher de manière asynchrone. Je ne sais plus si on a considéré utiliser Twistar, je pense que j'aurais catégoriquement refusé l'idée d'utiliser 2 ORM différents pour accéder a la même base, même si il y a une chance que ca marche (au début…)

    J'adore les callbacks, c'est pas le soucis, mais justement je considère (et c'est très personnel) que dans la programmation asynchrone, les fonctions anonymes (et nested) c'est la vie. Et de ce point de vue python est faible face a Javascript: en python tu ne peux faire des fonctions anonymes qu'avec "lambda", et c'est forcement des one-liner.

    Tu peux considérer que cette faiblesse de Python est en faite une force parce que ca force a bien structurer ton code et d'éviter de te retrouver avec un code spaghetti immonde, mais c'est vraiment question de gout et d'usage. Moi je trouve qu'avoir la possibilité de coller le corps du callback directement la ou il va être appeler améliore grandement la lisibilité du code, et c'est ce qui fait que je trouve un code node.js bien plus agréable a lire qu'un code twisted (mais encore une fois, c'est vraiment question de gouts).

  • [^] # Re: Mon expérience

    Posté par  (site web personnel) . En réponse au journal Réflexions à propos de NodeJS et de Javascript plus globalement. Évalué à 2.

    Ce n'est pas que pour ca mais cette raison seule est largement suffisante.
    Note que j'ai évoqué qu'on avait envisagé d'utiliser un memcached , qui il me semble jouerais le même rôle que ton redis (je connais pas super bien redis…).

    Le besoin qu'on avait et qui n'est pas dans la partie de mon texte que tu as quoté, c'est qu'on voulait un jeu qui tourne "en permanence", pas seulement quand un client fait une requête, et on ne pouvait pas faire ca dans Django, il nous fallait des worker en background pour faire tourner ca, et c'est la que c'est devenu une usine a gaz: apache, django, rabbitmq (amqp), celery (background workers), pgsql…(et le memcache/redis qu'on avait même pas introduit mais qui aurait fini par arriver tôt ou tard…)

    Et on a remplacé tout ca par… node.js . Qui, dans la liste ci-dessus, remplace tout sauf pgsql. Faut reconnaitre que c'était plusieurs ordres de magnitude plus simple et plus maitrisable, avec moins d'interactions complexes et donc moins de risque de bugs difficile a remonter avec un seul processus.

  • [^] # Re: Mon expérience

    Posté par  (site web personnel) . En réponse au journal Réflexions à propos de NodeJS et de Javascript plus globalement. Évalué à 3.

    C'etait peut-etre pas tres clair, je n'ai jamais utilise cette methode, c'est juste un cas d'usage que j'imagine bien, et effectivement ca ne se marie pas bien avec un jeu multi tres interactif.

    Par contre ce que j'ai fait souvent, c'est prototyper une fonctionnalité en Javascript dans le browser, avec toutes les facilites d'affichage que cela comporte, pour ensuite utilise le code a l'identique en module dans NodeJS.

  • [^] # Re: Mon expérience

    Posté par  (site web personnel) . En réponse au journal Réflexions à propos de NodeJS et de Javascript plus globalement. Évalué à 2.

    Ça peut être pour réduire le nombre de transaction, ca peut être aussi parce que la connectivité n'est pas fiable (pour une application mobile par exemple). En faisant ca on peut laisser le joueur jouer localement et synchroniser avec le serveur quand la connexion revient.

  • [^] # Re: Mon expérience

    Posté par  (site web personnel) . En réponse au journal Réflexions à propos de NodeJS et de Javascript plus globalement. Évalué à 4.

    Ça veut quand même dire que les données ne seront pas partagées entre les différentes instances du serveur. Du coup, je me suis rarement servi de cette technique. Est-ce que tu pourrais expliquer quelle genre de données tu stockes en RAM ?

    Je m'en suis justement servis dans des cas ou je n'avais a coup sur qu'une seule instance du serveur (dans mon cas, serveur de jeu ou 1 partie = 1 instance de node.js).

    Le jeu était pour téléphone portable, une partie durait environ 10 / 15 minutes, était multijoueurs (jusqu'à une vingtaine de joueurs par partie). Un joueur met a jour sa position environ toutes les 1 a 2 secondes. La communication entre le client et le serveur se faisait par une API HTTP plus ou moins REST, en JSON.

    Au début on utilisait Django avec PostgreSQL. Ça faisait qu'a chaque fois qu'on arrivait dans une méthode qui traitait une requête d'un client, il fallait charger l'état du jeu depuis la SGDB, appliquer les changements suivant la logique de jeu sur les objets en RAM, re-sauvegarder l'état du jeu en SGDB (ce qui peut être une ou plusieurs entrée dans une ou plusieurs tables, suivant ce qui s'est passée dans le jeu).

    C'était particulièrement moche et gourmand en CPU et en RAM. On aurait éventuellement pu intercaler en plus un memcache entre Django et la SGDB, mais ca n'aurait fait qu'ajouter du bordel dans l'usine a gaz.

    Quand on a rationalisé le truc, on s'est rendu compte que finalement, la persistance d'une partie qui dure 15 minutes, on s'en balance. On est passe a Node.js, on fait tourner le jeu "en ram" au lieu de le faire tourner "en DB", avec une instance Node.js = une partie, et depuis on est très content. Tellement qu'on a laisse tombe l'API de polling HTTP et qu'on est passe en Websockets.

    Mais donc, comme je le dis dans mon premier message, c'est pas du tout un cas de site web classique. Si je dois faire un site web, je prends Django et je suis très content, je vais plus vite qu'avec Node.js.

    Mon expérience me dirait justement le contraire. Sous de fortes charges, j'avais plutôt constaté que nodejs avait tendance à leaker de la mémoire et à avoir des connexions en erreur. Est-ce que tu pourrais partager ton expérience à ce sujet ?

    J'avoue je recrachais un peu la plaquette commerciale de Node.js, j'ai pas d'expérience a taille réelle sur le terrain de ce cas d'usage, mais ca me semble quand même étrange que ca leak…

  • [^] # Re: Mon expérience

    Posté par  (site web personnel) . En réponse au journal Réflexions à propos de NodeJS et de Javascript plus globalement. Évalué à 2.

    1. C'était y a deux ans, mes souvenirs sont pas tout frais, sans doute qu'on est tombé la dessus et que j'ai décide que c'était pas assez KISS pour moi…

    2. j'ai l'impression que c'est un peut subjectif, je me souviens d'avoir vu deux exemples triviaux (genre un echo server) en twisted et en node.js, et d'avoir très largement préféré la version node.js "a l'œil" (a noter qu'a l'époque, je ne faisais pratiquement que du Python depuis des mois et pratiquement pas de JS, ce n'est donc pas par habitude avec la syntaxe JS). Cf les main pages des deux projets respectifs pour se faire une idée par soi-même : http://twistedmatrix.com/trac/ , http://nodejs.org/

  • # Mon expérience

    Posté par  (site web personnel) . En réponse au journal Réflexions à propos de NodeJS et de Javascript plus globalement. Évalué à 10.

    Mon travail en ce moment consiste a coder un serveur de jeu multijoueur temps réel (dans le sens "pas tour par tour", pas dans le sens système de "temps réel"). On le code en Node.js . Et on est assez content, ca marche pas mal.

    On a hésité a un moment entre Node.js et Python+Twisted. On a choisi Node.js parce que l'environnement de Node.js est bien plus cohérent en ce qui concerne l'asynchronicité : tous les modules sont asynchrone, ou quand ils ne les ont pas, c'est écrit en gros dessus (et ils sont rares). Ce n'est pas le cas avec Python+Twisted, ou des qu'on utilise un module qui ne vient pas de Twisted, on retombe dans des échanges synchrone qui cassent un peut tout l'intérêt du truc (par exemple je me souviens qu'a l'époque ou on avait testé Twisted, on avait pas trouve de lib pour se connecter a une base Postgres asynchrone…)

    En plus, je trouve que la syntaxe du Javascript est bien plus adaptés a l'écriture de code asynchrone que Python+Twisted (note: j'adore Python aussi, je ne fais pratiquement que du JS et du Python).

    Pour autant, je n'utiliserais pas Node.js pour faire un site web "classique" (en tous cas pas encore), car mis a part les domaines ou il a un net avantage, sur le reste, c'est moins facile de le faire en Node.js qu'en Django par exemple.

    La ou Node.js est fort:
    - Si on veut garder une connexion permanente avec le serveur (Websocket)
    - Si on veut garder des datas sous le coude entre deux requêtes: dans un web-serveur classique, on doit passer par un fichier ou une DB quelconque, avec Node.js on peut le stocker en ram aussi longtemps qu'on veut (bon, aussi avec les complications que ca peut impliquer, mais dans certaines situation c'est très pratique).
    - Si on a des contraintes de scalabilites très fortes, avec des requêtes tres simples (dans le sens pas CPU-intensives).
    - Si on a besoin de faire tourner le même code dans le browser et dans le serveur (exemple: un jeu très asynchrone: une partie se déroule a 100% sur le client, a la fin le client envoie tous les évènements au serveur. Le serveur est capable de vérifier s'il n'y a pas eu triche pendant la parte en re-executant toutes les actions, en utilisant exactement la même implémentation (Javascript donc) que sur le client.

    Bref, ce n'est pas (encore) la vocation de Node.js de remplacer Apache sur nos port 80, mais ca reste un outil très intéressant, et non ce n'est pas que du hype…

  • # Votez pour moi!

    Posté par  (site web personnel) . En réponse au journal De l'incapacité des candidats à s'engager. Évalué à 10.

    Et j'interdis la moto. Comme ca ils viendront plus chouiner sur linuskfr.

    Sérieusement, a la base j'ai rien contre les motards. On vit pas dans le même monde, je ne comprends pas leur pulsion de mort a vouloir se mettre en danger dans leurs déplacements quotidiens, mais globalement, ca me dérange pas c'est leur problème (ca me dérangerais surement plus si je conduisais déjà, mais c'est une autre histoire), mais tu es parvenu a me rendre la communauté des motards totalement antipathique. Maintenant j'ai envie de leur faire du mal. C'est moche ce que tu fais.

  • [^] # Re: Merci!

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

    Je réponds en retard mais vu que ce commentaire se prends +10, je pense que c'est important de répondre…

    L'argument est spécieux dans la mesure ou l'Histoire a démontrée que la démocratie représentative ne protège pas plus de ce problème. J'ai même tendance a croire qu'elle l'amplifie: est-ce que les gens qui ont votés pour le parti Nazi en 1933 auraient approuvés les camps d'extermination? Je ne le pense pas.

    En prenant un exemple moins extrême, lors des négociations en vus de l'adhésion a l'OMC du Cambodge, l'Europe (représentée par Pascal Lamy il me semble), a eu des exigences terribles, comme l'ouverture a la concurrence étrangère de services publics cambodgiens, alors que dans le même temps les accords protégeaient le marcher européen. Si il y avait eu un referendum sur ce sujet, pensez-vous vraiment que les peuples européens auraient répondu "oui, nous voulons humilier le Cambodge, détruire ses services publiques, et ce au profits de nos multinationales" ? La décision prise par Lamy est certainement la décision économiquement optimum pour les intérêts économiques européens, mais elle fait fi de la morale, et je suis certain qu'une telle dérive n'auraient jamais eu lieu dans une démocratie directe.

  • # Hmmmm

    Posté par  (site web personnel) . En réponse au journal Mort de Jack Tramiel. Évalué à 4.

    J'ai pertinante l'article parce que j'ai commencé sur un ST et donc Tramiel, je lui dois beaucoup, mais y a un truc qui m'a fait tiquer:

    Tramiel n'a pas fondé Atari, il a racheté un bout d'Atari qui faisait des jeux et des consoles avant lui, et même des micro-ordinateurs 8bits si je me souviens bien (references needed), il est juste arrivé avec le ST , ce qui est déjà beaucoup. Mais ne re-ecrivont pas l'histoire, Atari ne se résume pas a Tramiel (et je ne comprends pas pourquoi "tristement célèbre", même si dernièrement la marque part largement en cacahuète…)

    Et sans me faire vraiment d'illusion sur le fait que Tramiel était quand même un wanna-be Steeve Jobs, je dois lui dire un grand merci, pour sa merveilleuse machine sans qui je ne serais pas la aujourd'hui…

  • [^] # Re: Merci!

    Posté par  (site web personnel) . En réponse au journal Voter autrement. Évalué à 3.

    Je dis que je suis pour une forme de démocratie directe, je n'ai jamais dit que je voulais un état sans constitution, sans hiérarchie des normes, sans gardes fous (ok, ca pause l'éternelle question de "qui garde les gardiens", mais c'est un problème d'implémentation).

    Je ne suis pas favorable au tirage au sort, en tous cas pour le pouvoir législatif. Peut-être éventuellement pour l'exécutif. Si tu ne veux pas participer, ca ne me pose pas de problème particulier.

    Pour résumer, c'est un peu facile de dire "la démocratie directe ne peut pas fonctionner" alors qu'on ne fait qu'attaquer une implémentation hypothétique naïve, sans avoir réfléchit a comment faire une implémentation qui marche. C'est comme de prendre quelqu'un qui ne connait que l'autocratie, et lui dire qu'on peut mettre 500 personnes dans une pièce pour décider des lois, il te rira au nez en te disant que ca ne marchera jamais. Idem si tu remontes de 30 ans dans le passé et que tu expliques qu'on peut faire un kernel de façon collaborative avec des centaines de personnes partout dans le monde, "c'est une utopie mon bon monsieur"… Et pourtant, ca marche! Et bien je suis sur que la démocratie directe, ca peut marcher, il faut juste se creuser un peu la tête pour trouver une implémentation qui marche.

  • [^] # Re: Merci!

    Posté par  (site web personnel) . En réponse au journal Voter autrement. Évalué à 1.

    Dans l'absolu j'ai rien contre.

    Sauf qu'un projet informatique, n'a rien a voir avec un pays. Je ne suis pas pour instaurer la démocratie dans l'armée, parce que le but de l'armée, ce n'est pas que les gens qui en font partie vivent bien ensemble, dans le respects de leurs droits, le but d'une armée c'est d'être opérationnelle, capable d'agir et d'exercer la force.

    Il faut accepter que la meilleure gouvernance, ce n'est pas forcement une gouvernance techniquement optimale.

  • [^] # Re: Merci!

    Posté par  (site web personnel) . En réponse au journal Voter autrement. Évalué à 2.

    Assumé et bien assumé.

    C'est triste d'accepter de vivre en esclave…

    La démocratie représentative est un bon compromis.

    Affirmation gratuite. C'était peut-être vrai au XVIIIieme siècle, aujourd'hui vu les crises de ces sois-disant démocratie, j'aurais tendance a douter… D'où l'idée de tester quelque chose de différent, qui ne l'a jamais été.

    Une élite est élue et responsable

    Responsable???? Ou, quand, comment? Perde une élection, pour toi, c'est être responsable? Ils peuvent faire n'importe quoi sans aucune réelle conséquence. Si encore il y avait de vrai mesures pour les responsabiliser POLITIQUEMENT, mais rien du tout, et justement, quel homme politique votera ce genre de mesure? Un masochiste?

    Étudie les dossiers, travaille, dispose des outils intellectuels, culturel et matériel d'analyse et de compréhension des problèmes.
    Non, un avis de café du commerce ne vaut pas l'avis d'un spécialiste, d'un expert ou d'un amateur (au sens noble).

    Et étrangement, ce qui marche pour la justice ne marcherait pas pour les autres pouvoirs?
    Désolé, je ne suis pas d'accord. Qu'il faille des experts pour aider, guider, formuler, s'assurer de la cohérences de la loi, certes, mais pourquoi le peuple ne pourrait pas choisir, a cet éclairage, alors qu'on donne le pouvoir a une poignée de citoyens tirés au sort, sous l'éclairage de juges, du destins des gens qu'ils ont a juger?

    Et oui, ces experts qui doivent éclairer le peuple ont un pouvoir qu'il faudra prendre soin de contrôler, mais c'est un problème d'implémentation.

  • [^] # Re: Merci!

    Posté par  (site web personnel) . En réponse au journal Voter autrement. Évalué à 4.

    C'est intéressant ce que tu dis.

    En gros tu dis que si on touche a un de tes proches, tu es pour la peine de mort, mais que si tu réfléchis a ce qui est le mieux pour la société, c'est quand même mieux qu'elle soit abolis… Et tu finis en disant que tu es bien contant que ce soient d'autres qui aient tranchées, comme ca tu te mouille pas trop…

    Tu trouves pas ca un peu faux cul quand même?

    Alors, une fois pour toute, si demain il y a un referendum, pour ou contre rétablir la peine de mort, tu votes pour ou tu votes contre?

    C'est une des vertu de la démocratie directe, il n'y a plus de paratonnerre pratique entre le peuple et ses actions. On ne peut plus se planquer derrière un homme, un parti, une liste, on ne peut plus dire "on l'avait pas élu pour ca!". Avec la démocratie directe, le peuple doit ASSUMER, et c'est très bien.

  • [^] # Re: Attentions à l'anonymat et aux mafias !

    Posté par  (site web personnel) . En réponse au journal Voter autrement. Évalué à 2.

    Désolé j'ai lu trop vite, j'avais pas vu que c'était de la combinatoire dont on parlait. Moinssez pas trop quand même, c'est H.S. ce que je dis mais c'est vrai quand même :)

  • [^] # Re: Attentions à l'anonymat et aux mafias !

    Posté par  (site web personnel) . En réponse au journal Voter autrement. Évalué à 1.

    Ça fait 6561 bulletins différents possibles.

    Pourquoi faire si complexe?

    Un bulletin, avec un matrice, les classification en X , les candidats en Y, on coche ou on poinçonne… 1 bulletin par votant, comme maintenant. Si peur de problèmes de ratures, dans l'isoloir tu mets une borne interactive, déconnectée et sans authentification bien sure, sur laquelle tu coches tes choix, qui imprime un bulletin, que tu mets dans l'enveloppe, que tu mets dans l'urne.

    C'est marrant comme on rejette des idées juste parce qu'on fait exprès de l'implémenter d'une mauvaise façon…

  • [^] # Re: Merci!

    Posté par  (site web personnel) . En réponse au journal Voter autrement. Évalué à 10. Dernière modification le 06 avril 2012 à 17:47.

    Ouai, alors faudrait commencer par arriver a faire la distinction entre "ce que je pense qu'il est bon de faire" et "ce que le peuple pense qu'il est bon de faire".

    Je suis d'accord avec toutes les mesures que tu cites, mais si ces mesures vont a l'encontre de la volonté du peuple, alors c'est un déni de démocratie, et c'est MAL(tm).

    On peut même prendre un exemple plus grave: la peine de mort. Est-ce que je suis contre la peine de mort? A fond. Est-ce que je pense que la peine de mort doit être appliquée si le peuple est pour? Absolument.

    Si le peuple assume d'avoir des milliers de morts sur les routes parce que le peuple veut se laisser libre de picoler au volant, ca ne me pose aucun problème.

    VOX POPULI, VOX DEI, même quand ca te plais pas. Et si tu n'es pas d'accord avec ca, désolé de le dire aussi brutalement, mais il est temps d'assumer son petit coté totalitaire.

    Pour le problème des médias de masse, c'est effectivement potentiellement un soucis mais ca ne me semble pas insurmontable a l'heure d'internet. Pour l'intérêt des gens pour la politique, j'ai envie de dire, tout dépend. Dans une démocratie directe telle que je la vois, l'abstentionnisme n'est pas un problème, les gens s'expriment sur les sujets qui les intéressent, pas forcement sur tous les sujets, et ca ne pause pas plus de problème que ca.

    Donc non, la démocratie directe n'est pas "broken by design", en tous cas tu n'as rien apporter pour m'en convaincre.

  • [^] # Re: I beg your pardon?

    Posté par  (site web personnel) . En réponse à la dépêche Sortie de PostGIS 2.0. Évalué à 3.

    Donc c'est juste pour le plaisir de ne pas dire "module" ou "plugin", on est d'accord?

  • [^] # Re: Argument d'autorité ?

    Posté par  (site web personnel) . En réponse au journal Émoticons d'outre-tombe. Évalué à 3.

    … et des fuites de mémoires dans les parsers mal fichus…