Michaël a écrit 2935 commentaires

  • [^] # Re: Rentabilité

    Posté par  (site web personnel) . En réponse au journal Steam sur Linux disponible au téléchargement. Évalué à 2.

    J'ai pertinenté, mais une hirondelle ne fait pas le printemps. Tu me diras, avec Cannonical ça fait deux hirondelles ;)

    Au moins il y a une hirondelle qui a fait ses comptes (enfin deux hirondelles) et qui se positionne sur le marché: cela ne peut que donner des idées aux autres, non?

  • # Rentabilité

    Posté par  (site web personnel) . En réponse au journal Steam sur Linux disponible au téléchargement. Évalué à 7.

    À mon avis l'information la plus importante est qu'une société diffusant un produit tout-public (des jeux vidéos) voit en Linux un marché suffisamment important pour espérer rentabiliser un investissement assez important.

    Cela signifie que de plus en plus d'éditeurs de logiciels tout-public vont certainement s'intéresser à ce marché dans le futur proche.

  • [^] # Re: Ubuntu != Linux

    Posté par  (site web personnel) . En réponse au journal Steam sur Linux disponible au téléchargement. Évalué à 5.

    C'est surtout un problème de budget: le jeu libre est presque toujours du jeu amateur. Si tu me donnes le budget d'une production Ubisoft, je te garantie de faire un jeu libre bien au dessus de la production actuelle :-)

    Les jeux vidéos des années 90 ont largement été réalisés dans des conditions de travail amateur ou à l'aube de la professionalisation du milieu, cela n'a pas empêché l'apparition de jeux légendaires ou fantastiques, comme

    • Civilization I
    • Anvil of Evil
    • Celtic tales: Balor of the evil eye
    • First Samurai
    • Jim Power
    • Shadow of the Beast
    • Drakken
    • Dragon's breath
    • Railroad Tycoon
    • North and South
    • Dune I
    • Dune II
    • Transartica
    • Ishar
    • Ecstatica
    • Alone in the dark
    • Monkey Island
    • Shadow of the Comet
    • Colonization
    • Iron lord
    • Lords of the realm
    • Doom
    • Lethal zone
    • Superfrog
    • Heroes of Might and Magic II

    Tous ce jeux restent aujourd'hui excellents, (sauf Civilization I, beaucoup trop facile, mais c'est de loin celui auquel j'ai le plus joué) et j'y rejoue occasionellement avec beaucoup de plaisir.

    Le monde du libre est techniquement largement capable de produire des jeux de cette qualité mais à vrai dire il ne faut probablement pas sous-estimer le travail de non programmation, qui est presque plus important pour le succès d'un jeu: que serait Doom sans sa musique et sa difficulté (on est presque toujours à court de munitions, c'est stressant!)? Que serait Monkey Island sans son humour beta? Que seraient Drakken, Celtic tales et Dragon's breath sans leurs ambiances, parfois un peu poétiques?

  • [^] # Re: Soupe aux navets

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

    Il n'y a que moi qui trouve que les James Bond sont juste de la soupe ignoble ? Du nanar qui coûte cher, mais du nanar quand même ?

    Dans les films de James Bond le spectacle et l'aventure priment sur tout le reste, notamment la cŕedibilité. (Du scénario, des évènements…) Donc oui, tout l'intérêt du film réside uniquement dans les courses poursuites en voiture, dans l'air ou sous la terre, les sauts en parachute et toutes les situations périlleuses qui les ponctuent… Et puis c'est le 23 ième, donc pas d'embrouille sur la marchandise!

    Perso j'ai regardé distraitement avant-hier Quantum of Solace en ponçant une table que j'ai sauvée de la rue… Mais regarder «vraiment» le film est tout de même au dessus de mes forces. :)

  • [^] # Re: En parlant de TCP...

    Posté par  (site web personnel) . En réponse à la dépêche MPTCP, TCP dans un monde ultra‐connecté. Évalué à 1.

    Il faudrait donc voir ce que cela donne dans la réalité, mais je crois qu'il y a un bon potentiel.

    Dans la réalité cela multiplie par 10 le débit de certaines connnections… tu as lu le texte?

  • # Naïvité

    Posté par  (site web personnel) . En réponse au message Paradigme fonctionnel : juste un habillage ?. Évalué à 3.

    D'où ma question : est-ce que mon interrogation est naïve,

    Ton interrogation est effectivement très naïve: tu remarques que tu as une structure du données, une procédure pour l'initialiser et des traitements sur cette structure. Cela veut juste dire que tu as introduit (sans le dire) un type de données, cela n'a rien à voir avec la programmation orientée objet. Ce qui caractérise la programmation objet c'est la relation d'héritage et les constructions qu'elle permet. Tu ne parles pas d'héritage, donc tu ne parles pas de programmation objet.

    Je sais bien que fonctionnel/objet ne sont que des représentations d'un même code,

    C'est faux, tu ne peux pas facilement traduire tout programme écrit pour le langage objet beta dans un langage fonctionnel alpha, et vice-versa.

    J'accepte que l'on me réponde que le code est trop simpliste pour pouvoir mettre en évidence une différence, mais je voulais justement tester un cas réel et éloigné des constructions mathématiques que l'on retrouve habituellement en exemple…

    Je ne comprends pas trop ce qu'il y a de plus réel dans ton exemple que dans d'autres… Si les exemples de ton livre de programmation sont mauvais, le livre est mauvais: il ne t'apprends pas à programmer. Le langage Caml est un des meilleurs livres de programmation qui soit, tu peux le télécharger sur le site de l'INRIA:

    http://caml.inria.fr/pub/distrib/books/llc.pdf

    (Attention le sujet est Caml light pas OCaml, donc il y a de petites différences, la plus importante sont les parsers de flots qui sont un composant externe dans OCaml).

    Je vois bien que j'ai utilisé des concepts propre au fonctionnel (pattern matching, code récursif, fermeture) mais je m'attendais à quelque chose de différent.

    Attention, même si c'est un point fort de OCaml le pattern matching n'a rien à voir avec le paradigme de programmation fonctionnelle.

    Quelques remarques en vrac sur ton code:

    1. Tu devrais le réécrire pour n'appeler qu'une fois Str.regexp.
    2. concat a; concat b se réécrit List.iter concat [a; b]: la séparation code et données est plus claire.
    3. Pour ton code la regexp n'apporte vraiment rien, tu devrais essayer de traduire ton code en transformant ton texte en char Stream.t.

    Courage avec OCaml, n'hésite pas à poser tes questions!

  • # Pas dans les cases

    Posté par  (site web personnel) . En réponse au sondage Comment aimez-vous les serveurs vocaux ?. Évalué à 1.

    Dans tous les organigrammes dirigeant ce type de serveur il y a une ligne qui amène à un opérateur humain: c'est la ligne «je ne rentre pas dans les cases».

  • [^] # Re: Journal en fichier binaire vs fichier plat

    Posté par  (site web personnel) . En réponse à la dépêche Documentation du format du Journal. Évalué à 6.

    sur les avantages et inconvénients entre les 2 formats

    Des données stockées en fichier texte c'est facilement
    1. modifiable dans un éditeur de texte;
    2. lisible par un programme ad-hoc même si on n'a besoin que d'un bout de la donnée;
    3. produisible par un programme ad-hoc;

    en revanche

    1. l'accès direct aux données est difficile ou impossible;
    2. le format est souvent sous-défini et facile à imiter, on a parfois tout un tas de formats cousins mais pas forçement compatibles. (Genre CSV, y'en a des gros, y'en a des p'tits, des mignons et des pas jolis.)

    En gros le format texte a l'intérêt qu'on peut accéder à ou produire de tels fichiers sans passer par une psychothérapie avec l'API d'une quelconque bibliothèque — qui au passage n'a aucune raison d'exister pour le langage que tu as décidé d'employer.

    Par exemple sox peut convertir des fichiers sonores dans un format texte, dans n'importe quel langage de programmation il ne faut pas plus de 20 minutes pour écrire une procédure de lecture pour ce genre de fichiers.

    Idem pour les images avec les formats PNM et PPM.

    Ensuite par exemple, si tu veux modifier un document TeX ou HTML dans un traitement par lot c'est très facile (tant que tu sais bien décire la modification à faire).

    Des données stockées dans un format binaire…
    1. c'est impossible à lire ou écrire sans un composant logiciel spécialisé
    2. le format est bien défini
    3. il est possible d'accéder aux données aléatoirement.

    En ce qui concerne systemd je pense que le choix du binaire pour les logs n'est pas utile: pour le stockage et la lecture occasionnelle les fichiers texte conviennent, pour les manipulations complexes il vaut sûrement mieux déplacer les logs dans une base de données relationnelle que de les stocker dans un format de fichier binaire.

  • [^] # Re: Documenté ou pas, ce sera non!

    Posté par  (site web personnel) . En réponse à la dépêche Documentation du format du Journal. Évalué à 2.

    J'ai aussi essayé plusieurs et le plus pratique reste tout de même synchroniser la rotation de l'aiguille de boussole au spindle motor au moyen d'un bracelet de caoutchouc de bonne qualité.

  • [^] # Re: Version 3.7 de Linux ?

    Posté par  (site web personnel) . En réponse à la dépêche X.Org est mort, vive Wayland !. Évalué à 7.

    Et kfreeBSD est une distribution GNU mais pas Linux!

  • # Tartuffe

    Posté par  (site web personnel) . En réponse au journal Google menace de déréférencer la presse française.. Évalué à 4.

    Les éditeurs de presse en ligne veulent faire payer Google pour le référencement de leurs articles et ont donc fait une proposition de loi en ce sens auprès du gouvernement.

    Si les éditeurs de presse pensent que Google se fait de l'argent grâce à leurs contenus sans rien leur donner en retour, ils peuvent le bloquer en écrivant un fichier robot.txt non?

    S'ils ne le font pas, c'est qu'ils trouvent un intérêt à être référencé par Google et que cela vaut plus que l'argent soi-disant perdu.

    Ceci dit je ne comprend pas en quoi les éditeurs de presse sont des éditeurs particuliers sur le web. Les moteurs de recherche existent depuis au moins 20 ans si les éditeurs de presse ont un problème avec ça ils auraient pu y réfléchir avant d'ouvrir un site web, non?

  • # À propos de Wine

    Posté par  (site web personnel) . En réponse au journal Linux Deepin…. Évalué à 3.

    je tombe un peu de haut en voyant que certaines d'entre elles montrent que Wine permet de faire tourner Foxit Reader, ou encore Dreamweaver ! (passons pour Photoshop)

    Jusque là tu croyais que Wine servait à faire tourner la version de Gimp pour Windows sur Linux c'est ça? J'ai l'impression que ton problème est avec Wine (la porte ouverte à toutes les fenêtres) et que d'après toi une distribution qui intègre Wine «n'envoie pas du tout les messages que [tu] attendais».

    C'est quoi au juste ces messages?

  • [^] # Re: Propositions

    Posté par  (site web personnel) . En réponse au message Quel langage pour initier un enfant de 10 ans à la programmation. Évalué à 2.

    (elle a déjà tendance à résoudre ses problèmes en faisant des sortes d'équations avec des points d'interrogation sur ses cahiers).

    Effectivement c'est plutôt bon signe.

    Et puis il faut aussi qu'un de ses parents s'y mette. J'avais toujours l'idée que le scheme était assez difficile à aborder?

    Le Scheme est très symbolique (donc un peu difficile pour un bout de chou?) mais aussi beaucoup moins Byzantin que le C ou pire, le C++. Conceptuellement plus difficile peut-être mais d'un accès plus simple car il met en jeu trois concepts et demi et s'explique très rapidement.

    Un autre attrait est la boucle d'intéraction qui permet d'intéragir directement avec le langage sur de petits exemples.

    Le livre de base est le Wizard Book (consultable en ligne http://mitpress.mit.edu/sicp) si tu veux t'y mettre (de toutes façons un classique, qu'on s'intéresse ou non à Scheme).

    Je te souhaite bon courage pour la mise au point d'un projet pédagogique — et beaucoup de plaisir dans cette aventure!

  • [^] # Re: Mais pourquoi ?

    Posté par  (site web personnel) . En réponse au message Quel langage pour initier un enfant de 10 ans à la programmation. Évalué à 1.

    Toi t'as du être traumatisé par les pointeurs;

    Je te remercie mais ça va plutôt pas mal.

    je n'ai jamais eu de problème pour les comprendre.

    Ce que tu sembles avoir un problème à comprendre c'est que la notion pointeur sert justement à ne pas parler d'adresse.

  • [^] # Re: Mais pourquoi ?

    Posté par  (site web personnel) . En réponse au message Quel langage pour initier un enfant de 10 ans à la programmation. Évalué à 0.

    L'adresse d'une case mémoire.

    Et c'est quoi l'adresse d'une case mémoire? Pour l'instant tu as remplacé un mot par un autre! Ce qui rend les pointeurs difficiles c'est que ce sont des abstractions d'adresses mémoire (comprendre type abstrait de données) qu'il n'est facile d'expliquer qu'en prenant un modèle de mémoire particulier.

  • [^] # Re: il faut bien ;)

    Posté par  (site web personnel) . En réponse au journal [PUB] Mon employeur recrute - Boston area - Software Performance. Évalué à 3.

    C'est marrant, vu de loin

    C'est du code souvent VIEUX de 20 ans. Parfois moins. C'est assez cahotique.

    c++, avec une version de gcc très stable (on update de temps en temps, j'ai pas les détails, c'est trop loin de moi et je suis trop jeune ici. Je peut me renseigner)

    la performance étant reine ici, on a notre propre memory allocator (bien plus performant pour ce que l'on fait que malloc/new). Mais std est utilisable, surtout que les containeurs maisons sont très spécifiques. Parfois, std c'est mieux.

    boost, parfois ca discute de l'utiliser (au moins les headers). Pas gagné encore, mais ca peut venir.
    pas d'autre toolkit. C'est très "bare metal", pour deux raisons: (i) perf, (ii) vieux
    y'a des templates, très modérés. Ca m'est arrivé d'en écrire un peu.

    ça ressemble exactement à mon travail. Je travaille pour une moyenne entreprise en Allemagne qui produit un logiciel de calcul d'évaluation des contrats à termes et de leurs dérivés complexes.

    J'ai l'impression que chez mes employeurs le mot «architecture» est étranger et j'adorerais discuter de ça… est-ce que ce sujet t'intéresse aussi?

  • [^] # Re: perforce :-(

    Posté par  (site web personnel) . En réponse au journal [PUB] Mon employeur recrute - Boston area - Software Performance. Évalué à 4.

    Le portage de Git sous Windows est réalisé à l'aide de Msys.

    J'utilise aussi cela à mon travail et les performances sont catastrophiques. Le projet est assez gros (une trentaine de Mo de code source) et je suspecte les performaces d'I/O d'y être pour beaucoup.

  • [^] # Re: Et la carte de la prononciation du "un" ?

    Posté par  (site web personnel) . En réponse au journal Les tenants du vocabulaire incorrect sont battus mais ont la dent dure. Évalué à 3.

    Pas du tout quand je prononce brin je souris tandis que quand je prononce brun je fais un bisou.

  • [^] # Re: Propositions

    Posté par  (site web personnel) . En réponse au message Quel langage pour initier un enfant de 10 ans à la programmation. Évalué à 2.

    Je complète en ajoutant mes premiers programmes:

    • Un petit éditeur de texte en AMOS Basic, qui permettait de déplacer le curseur, taper du texte, sauver et charger.

    • Un éditeur de sauvegarde pour Civilization I écrit en assembleur (compilateur as86 de Isaacson).

    • Un éditeur de sauvegarde pout Heroes of Might and Magic II, aussi écrit en assembleur.

    • Un programme qui dessine des bolygones (tu choisis deux entiers p et q et une racine p-ième de l'unité ζ puis tu relies ζa à ζ{a*q} pour a entre 1 et p — cela fait des jolis dessins et on peut bien sûr expliquer cette construction géométrique sans utiliser les nombres complexes (mais c'est plus long)! C'est un de mes premiers programmes C!

    Et tout un tas de petites choses

  • [^] # Re: Mais pourquoi ?

    Posté par  (site web personnel) . En réponse au message Quel langage pour initier un enfant de 10 ans à la programmation. Évalué à 2.

    Par ce que ça c'est pas plus abstrait?
    points = [line.split()[2] for line in lines]

    Je me suis très mal exprimé: le langage C est une abstraction de langage machine, donc si on ne connaît pas de langage machine on travaille sur un objet dont tous les comportements sont complètement arbitraires! Pour les expliquer il faudra toujours s'en remettre à une machine particulière, autant se passer du C et s'occuper directement de cette machine.

    Ce que tu donnes en exemple est effectivement abstrait, mais c'est d'une abstraction qui est commune à tous les langages de programmations.

    Un langage a des concepts (types) et des verbes (procédures), le problème du C est qu'il fait référence à la mémoire de la machine (pointeurs) en faisant toutes les circonlocutions possibles pour éviter de prononcer le mot adresse: c'est à mon avis tout le contraire de ce qu'il faut étudier pour se faire une idée claire de la programmation.

    Qu'est ce que tu ne peux pas expliquer en C?

    C'est quoi un pointeur?

    Et puis va faire de la lecture d'entrée en C

    Quelque soit le langage faire de la lecture d'entrée est très difficile. (Disons qu'il faut être extrèmement soigneux.) Et puis c'est pas pour troller mais en C il y a scanf, qui manque un peu en Python.

    ou même de l'affichage de 'bonjour' en assembleur.

    C'est un appel de procédure classique: tu pousses tes arguments sur la pile et tu appelles la procédure adéquate.

  • # Propositions

    Posté par  (site web personnel) . En réponse au message Quel langage pour initier un enfant de 10 ans à la programmation. Évalué à 3.

    Mon premier langage est l'AMOS Basic (pour Amiga) que j'ai commencé à l'âge qu'a ta fille aujourd'hui… Ensuite j'ai enchaîné sur l'assembleur.

    Je pense que le choix du langage n'est finalement pas si important que ça, ce qui compte plutôt c'est le projet de ta fille et la façon dont tu vas la guider. (La programmation c'est dûr, la motivation est donc très importante!)

    Par exemple en Caml il y a une bibliothèque graphique très rudimentaire mais aussi très simple à utiliser (j'ouvre ma fenêtre je fais des lignes et des points…). Explorer la génération de dessins par des programmes informatiques peut être très ludique! (Un peu comme le logo!)

    Dans la même direction, il y a le langage METAPOST qui permet de faire des dessins, qui fera un excellent pendant aux cours de géométrie qui vont avoir lieu en sixième (on me souffle que le programme à changé et que le niveau des élèves à baissé :) )

    Pour choisir un langage, j'irais soit
    - vers l'assembleur (par exemple pour la MIX-machine de Donald Knuth, plus simple que l'assembleur des CPU intels et pour laquelle il existe — de mémoire — des émulateurs) si ta fille s'interesse à la structure des machines.
    - vers le scheme si elle aime bien les algorithmes et a de bonnes capacités symboliques (côté maturité, c'est probablement le bon âge puisque c'est en sixième qu'on commence avec les X et les Y il me semble).

    Bon courage!

  • [^] # Re: Mais pourquoi ?

    Posté par  (site web personnel) . En réponse au message Quel langage pour initier un enfant de 10 ans à la programmation. Évalué à 3.

    mais le C tant qu'on reste dans le simple pour la base sans interface graphique c'est super simple.

    Mais bien sûr… faire du C c'est écrire du langage machine en à peine plus abstrait. Par exemple il n'y a pas de type chaîne en C (il y a une convention pour les représenter, mais ce n'est pas un type). Autant faire directement du langage machine, c'est moins compliqué: au moins on peut tout expliquer à partir de la structure de la machine (des cases mémoire numérotées).

  • [^] # Re: Nota Bene : le terme le plus correct est

    Posté par  (site web personnel) . En réponse au journal Les tenants du vocabulaire incorrect sont battus mais ont la dent dure. Évalué à 6.

    Dans ce contexte il vaut peut être mieux d'écrire Église avec une majuscule, pour éviter de confondre avec une bâtisse dédiée au culte de Dieu. (Si tu décales YVH de huits positions vers la gauche dans l'alpahbet corentin — qui ne compte pas de U — tu trouves RMS! C'est un signe, non?)

  • [^] # Re: Il n'y a pas plus important ?

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

    Mais ils font quoi pour les vrais problèmes du pays ?

    Tu devrais écrire un journal (qui dénonce grave) sur les vrais problèmes du pays, cela aurait le mérite d'ouvrir le débat.

  • [^] # Re: Invitation

    Posté par  (site web personnel) . En réponse au journal Dépénalisation du cannabis. Qu'en pensez-vous ?. Évalué à 3. Dernière modification le 16 octobre 2012 à 13:58.

    Je vous invite à venir dans les quartiers nord de Marseille, vos verrez vous mêmes les ravages que produit la BAC.