Nicolas Boulay a écrit 15824 commentaires

  • [^] # Re: Méthodes de développement

    Posté par  (site web personnel) . En réponse au journal De l'inéluctable progrès de l'informatique, ou pas.. Évalué à 2.

    Le gain ne font jamais sur ce genre de détail. Ils se font sur les tailles gigantesques des piles d'appel virtuel que l'on peut voir en java. Sur l'inlining de code et notamment des getter/setter qui sont une catastrophe de performance en java. Sur le passage par valeur de structure (!), d'allocation/désalocation mémoire dans une boucle interne. Et je ne parle pas de l'usage de container sous optimal en C, car il n 'existe pas de structure de donné dynamique native.

    Ils peuvent aussi se faire, sur l'absence de maitrise des interactions réseau qui sont planqués derrière une api (qui se soucis de minimiser les "round-trip"). Le code est rapide sur la machine de dev, mais devient très lent une fois déployé sur un serveur et un client, avec des données de tailles conséquentes (j'ai beaucoup aimer une application web qui générait à chaque appel, des chiffres sous formes d'image png).

    (tsss la modif ne fonctionne pas avec un verrou mais avec un timeout !!!!)

    "La première sécurité est la liberté"

  • [^] # Re: Méthodes de développement

    Posté par  (site web personnel) . En réponse au journal De l'inéluctable progrès de l'informatique, ou pas.. Évalué à 2.

    Tous les compilo transforment des short et des char en int quand ils sont manipulé directement (pas dans un tableau par exemple). C'est évident si on joue avec des shift. (chat c = 0XFF; char c2 = c << 8; printf("%i", c2>>8);)

    "La première sécurité est la liberté"

  • [^] # Re: Légèreté --> langage interprété ? (Python ici)

    Posté par  (site web personnel) . En réponse au journal De l'inéluctable progrès de l'informatique, ou pas.. Évalué à 3.

    D'ailleurs, je serais curieux de voir un langage objet sans héritage, qui ne sert quasiment jamais (90% du temps, c'est de l'inclusion de faignant), mais qui interdit le polymorphisme et/ou l'inférence de type.

    "La première sécurité est la liberté"

  • [^] # Re: Il ne faut pas confondre l'innovation et le progrès.

    Posté par  (site web personnel) . En réponse au journal De l'inéluctable progrès de l'informatique, ou pas.. Évalué à 8.

    Langages de programmation fonctionnel ne veut pas dire forcément langage formel prouvable. On ne peut pas tout "prouver" en ocaml.

    De plus, la "preuve" concerne un théorème qui correspond à un point de spec, il peut y avoir des oublis ou quelques choses de mal définis. Même un langage "à preuve" ne sera pas sans bug. Et puis dans la pratique, les "prouveurs" automatiques ne passent pas à l'échelle.

    "La première sécurité est la liberté"

  • [^] # Re: Il ne faut pas confondre l'innovation et le progrès.

    Posté par  (site web personnel) . En réponse au journal De l'inéluctable progrès de l'informatique, ou pas.. Évalué à 6.

    " les langages de programmations fonctionnels sont en parti conçus pour pouvoir démontrer mathématiquement que le programme fonctionne sans bugs."

    non, ils ne font que détruire les classe de bug lié à la gestion de la mémoire ou les pointeurs nuls. C'est énorme mais pas encore suffisant.

    "Si c'est un ordinateur déconnecté du réseau ce n'est pas trop un problème. Et peut-être qu'une faille d'un logiciel qui fonctionne sans utiliser le réseau, et qui n'est pas spécialement connu (donc pas beaucoup de monde pour chercher les failles) ne me gêne pas."

    Les fabricants de matos industriels pensaient comme ça aussi. Maintenant, tout est mis en réseau, et un grand nombre de ligne de production sont de vrai passoire.

    "La première sécurité est la liberté"

  • [^] # Re: Il ne faut pas confondre l'innovation et le progrès.

    Posté par  (site web personnel) . En réponse au journal De l'inéluctable progrès de l'informatique, ou pas.. Évalué à 1.

    D'après un bouquin d'architecture d'ordinateur célèbre dont j'ai oublié le nom, une machine balancé a 1 Mo, pour 1 Mips et 1 Mbps d'IO. Aujourd'hui, on est à 8 Go de RAM, 4*6Gips et 1gbps ethernet (maxi) + 200Mo/s vers un disque (500 sur SSD).

    Les cpu ont bien plus progressé que le reste. Il suffit de voir une machine avec un SSD pour comprendre la différence de sensation de vitesse. Sur un ordinateur portable avec leur HD poussif, la différence est énorme (j'ai mis un SSD dans un EEE). On retrouve ce même genre de sensation lorsque la fonction fsync() de la machine est désactivé. Nombre de logiciel en abuse et cela a un impact énorme sur les performances des IO.

    "La première sécurité est la liberté"

  • [^] # Re: Utilité ?

    Posté par  (site web personnel) . En réponse à la dépêche Le Top 500 de novembre 2012. Évalué à 2.

    Ce que tu décris est plus un problème administratif et de scheduling, qu'un problème technique. Un gros centre de calcul peut aussi prévoir un machine plus petite alloué aux calculs rapides pour éviter d'attendre la disponibilité de la grosse machine (privilégier une latence faible vs un gros débit). Il peut aussi faire en sorte d'avoir plusieurs machines.

    En tout cas, c'est amusant de penser à l'allocation de temps de calcul sur plusieurs superordinateur, comme on pourrait penser au scheduling de cpu fait par un OS :)

    "La première sécurité est la liberté"

  • [^] # Re: Utilité ?

    Posté par  (site web personnel) . En réponse à la dépêche Le Top 500 de novembre 2012. Évalué à 2.

    Si le but est d'avoir le résultat le plus rapidement possible, tu utilises mieux tes ressources à avoir un serveur de la mort qui est blindé en permanence. Quand tu as besoin de ta machine tu as ton résultat en 24h au lieu de qq semaines.

    Il parait qu'il y a un paquet de cluster de machine qui n'ont quasiment pas servi faute de l'administration système qu'il faut avec (dans les université par exemple). L'argent aurait du rester dans la division dédié et l'université aurait pu louer son temps de calcul à la demande. Rien n’empêche d'avoir des clusters de 4 machines pour faire des tests de mise au point.

    "La première sécurité est la liberté"

  • [^] # Re: C'est quoi propre ?

    Posté par  (site web personnel) . En réponse au journal Du code propre, c'est quoi ?. Évalué à 2.

    1)
    Concernant les noms, je dirais même plus : il ne faut surtout pas être créatif, et utiliser le même mot même pour des objets de programmation différent. Par exemple en ocaml, l'espace des noms des type et des paramètres est séparé, il est donc souhaitable d'utiliser le même nom pour le type de la donné complexe et le paramètre des fonctions qui l'utilise.
    2)
    Pour la doc, il peut être souhaitable de maintenir à jour une spec en même temps que l'écriture du code et pointer sur les points de spec dans son code pour faire référence au niveau supérieur, cela évite de se noyer dans son code. Seul les points complexes ou non évident ont intérêt à être expliquer dans la doc.
    3)
    Une bonne métrique de la maintenabilité est le temps moyen de correction d'un bug (en gros <2h).
    4)
    C'est encore mieux si tes tests sont passées dans un outil de couverture de code, cela permet de voir ce qui a été oublié.

    "La première sécurité est la liberté"

  • [^] # Re: POO

    Posté par  (site web personnel) . En réponse au journal Du code propre, c'est quoi ?. Évalué à 2.

    Oui, mais tu peux normalement t'en sortir avec des patterns factory/proxy/visiteurs. A priori, l'aspect programming devient très complexe dés que plusieurs traits doivent fonctionner ensemble.

    "La première sécurité est la liberté"

  • [^] # Re: POO

    Posté par  (site web personnel) . En réponse au journal Du code propre, c'est quoi ?. Évalué à 2.

    Il me semblait que l'on pouvait faire les mêmes fonctionnalités de l'aspect avec de la simple programmation OO.

    "La première sécurité est la liberté"

  • [^] # Re: POO

    Posté par  (site web personnel) . En réponse au journal Du code propre, c'est quoi ?. Évalué à 1.

    D’où le fait de ne pas faire d'abstraction, tant que cela n'est pas nécessaire.

    Un code propre est un code ou l'on corrige n'importe quel bug en moins de 2h.

    "La première sécurité est la liberté"

  • [^] # Re: POO

    Posté par  (site web personnel) . En réponse au journal Du code propre, c'est quoi ?. Évalué à 2.

    Les méthodes agiles disent qu'il faut résister à l'envie du patch en bois et factoriser quand il le faut. Typiquement si ton projet est petit, il n'y a pas besoin d'avoir d'objet proxy, mais cela change avec le nombre d'objet concerné. Il y a quand même une règle qui dit que moins il y a de code, mieux on se porte. Les guideslines Linux ne sont pas mauvais sur le sujet.

    Pour faciliter la maintenance, il faut avoir du code simple, avec "changement atomique" ou au moins que cela ne compile plus en cas de changement multiple nécessaire. Il faut une arborescence claire entre module pour éviter de copier/coller du code pour éviter une dépendance circulaire, en général, cela signifie qu'un nouveau module doit être créer.

    "La première sécurité est la liberté"

  • [^] # Re: En vrac...

    Posté par  (site web personnel) . En réponse à la dépêche Le Top 500 de novembre 2012. Évalué à 4.

    50%, cela date de l'époque ou les rac de PC était dans des salles climatisé à 12°C.

    Il me semble que pour OVH, c'est 7% (watercooling + effet cheminé), par exemple.

    "La première sécurité est la liberté"

  • # Maintenance par l'inria ?

    Posté par  (site web personnel) . En réponse au journal Annonce : un blog sur une équipe de recherche en langages de programmation. Évalué à 2.

    Je croyais que l'Inria ne faisait que bosser sur les "typeurs" et autre fonctionnalité avancé de Ocaml. Pas franchement sur la génération de code, par exemple, qui reste assez primitif (le code est rapide grâce au optimisation de haut niveau, mais il n'y a pas de spécialisation de code par type, pas de déroulage de boucle,etc…).

    "La première sécurité est la liberté"

  • [^] # Re: Blablabla

    Posté par  (site web personnel) . En réponse au journal Sexe et numéro de sécurité sociale en France. Évalué à 4.

    Cela n'est grave que si le chiffre est utilisé pour réellement stocker le sexe de la personne. Si cela n'est qu'une fonction de hash primitive pour limiter des collisions on s'en fout un peu…

    "La première sécurité est la liberté"

  • [^] # Re: On parie?

    Posté par  (site web personnel) . En réponse au journal Half-life 3 sera sous linux. UNIQUEMENT SOUS LINUX !. Évalué à 5.

    Est-ce qu'il ne pourrait pas venir avec une techno de virtualisation dans un sens ou dans l'autre pour avoir windows + Linux pour les jeux ?

    "La première sécurité est la liberté"

  • [^] # Re: cela pourrait marcher

    Posté par  (site web personnel) . En réponse au journal Papy fait de la résistance. Évalué à 2.

    premier arrivé premier servis, et cela nécessite un bonne entente entre racine, mais cela limite beaucoup le pouvoir de l’élément centralisateur.

    "La première sécurité est la liberté"

  • [^] # Re: cela pourrait marcher

    Posté par  (site web personnel) . En réponse au journal Papy fait de la résistance. Évalué à 3.

    si openroot définit .open, il gère .open et renvois le .com .org et autre à l'ICANN.

    Idem si TartenpionRoot gère .tart, et renvoit pour .com et .open.

    "La première sécurité est la liberté"

  • # cela pourrait marcher

    Posté par  (site web personnel) . En réponse au journal Papy fait de la résistance. Évalué à 3.

    Il faudrait juste que les dns racine soit lister les uns les autres comme peut le faire le fichier localhost, pour localiser les machines définissant les .com, .fr, .plop et .bidule.

    si l'icann ne joue pas le jeu, il peut être possible de passer par un autre root qui définit tous les chemins y compris les officiels.

    "La première sécurité est la liberté"

  • [^] # Re: je suis contre

    Posté par  (site web personnel) . En réponse au journal Fusion Drive. Évalué à 8.

    J'ai juste /home/moi/Documents/ qui est sur un HD. Cela permet d'avoir tous les "/home/moi/.*" sur SSD.

    "La première sécurité est la liberté"

  • [^] # Re: c'est en cours

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

    Si on perd le journal on s'en fout un peu. L'écriture du journal se fait toujours avant les données, donc cela permet un gain de temps de l'écrire sur un ssd d'abord. Il existe des NAS en raid soft linux qui utilise un SSD pour les metadata et aller plus vite.

    "La première sécurité est la liberté"

  • # c'est en cours

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

    Il y a des trucs en cours sur le sujet (bcache ?).

    Pour l'instant, il est possible de mettre le journal d'un système de fichier dans une partition séparée. On peut donc la mettre dans un SSD, cela sera plus rapide qu'avec le disque seule.

    "La première sécurité est la liberté"

  • [^] # Re: Plutôt d'accord mais

    Posté par  (site web personnel) . En réponse au journal Cinema - Skyfall. Évalué à 2.

    "l'homme qui n'aimait pas les femmes" est très pointu justement sur le piratage.

    "La première sécurité est la liberté"

  • [^] # Re: Dommages irréversibles au QI

    Posté par  (site web personnel) . En réponse au journal Dépénalisation du cannabis. Qu'en pensez-vous ?. Évalué à 2.

    Pour toi les alcolos ne sont pas des toxicomanes ?

    "La première sécurité est la liberté"