drakmaniso a écrit 274 commentaires

  • [^] # Re: Julia

    Posté par  . En réponse au journal De l'enseignement de la programmation en classe préparatoire. Évalué à 10.

    Ça, ça fait partie des mythes de l'ingénierie logicielle.

    S'il est vrai qu'on peut facilement en abuser, il y a de nombreux cas où insérer un return supplémentaire simplifie beaucoup la lecture d'un algo, notamment en évitant des niveaux supplémentaires d'imbrication.

    L'exemple ci-dessus n'en fait pas partie, puisque que l'on peut supprimer le return sans ajouter de niveau supplémentaire. Toutefois il me semble que cela colle mieux à la définition mathématique de l'ensemble de Mandelbrot.

    Avoir des fonctions courtes et simple à lire est bien plus crucial que le nombre de return qu'elles contiennent (et bien sûr, pour cela aussi il y a des exceptions).

  • [^] # Re: Et si...

    Posté par  . En réponse au journal Sarkozy ou le relativisme absolu. Évalué à 5.

    AMHA, il est inutile de coller la moindre intention douteuse là-derrière.

    Simplement, oui, la police est probablement très loin d'être efficace avec les technos informatiques. Notre cher président fait beaucoup de bruit quand il s'agit de lutter contre les cyber-terroristes et autres cyber-pédophiles qui hantent nos campagnes, mais quand il s'agit de moderniser la lutte contre des crimes plus "ordinaires"…

    Ensuite, en ce qui concerne le crime dont il est question, un simple traçage d'IP était apparement insuffisant (trop d'IPs différentes ont contacté la victime pour son annonce). D'après ce que j'ai pu lire, il a fallu recouper avec d'autres fichiers, notamment de personnes s'étant rendu dans des pays "sensibles". Et il n'est peut-être pas si inquiétant que ça qu'on ne cherche pas à faire ce lien à chaque meurtre, mais qu'au contraire ils aient attendu une raison de suspecter un crime idéologique.

  • [^] # Re: Un jeu de plateforme ?

    Posté par  . En réponse à la dépêche Nouveau lot de jeux Humble Bundle. Évalué à 1.

    Les graphismes utilisent bien évidemment un peu plus, mais de ce que j'en ai vu, le terrain de jeu est effectivement une simple ligne, l'axe vertical n'étant pas utilisé pour le gameplay.

  • [^] # Re: Je sais pas quels lobbyistes sont les plus lourds...

    Posté par  . En réponse au journal A moto, pour l'égalité il est encore trop tôt. Évalué à 10.

    Il ne faut jamais mettre de trucs durs dans sa poche à moto. Au mieux, en cas de chute, ça fera des hématomes, au pire ça se cassera et sectionnera une artère.

    Bon, se sectionner une artère avec un éthylotest, c'est vraiment pas ton jour de chance.

    Ensuite, tes clefs d'appartement/maison, tu les mets où? Et voila, tu viens de trouver un endroit pour cet éthylotest.

  • [^] # Re: The Embodied Mind

    Posté par  . En réponse au journal See the World in True Colors.. Évalué à 2.

    Ce n'est pas un avis personnel. Comme dit plus haut, on travaille différemment en sciences humaines, et notamment la notion de preuve y est très différente.

    Si je conseillais plus haut le livre "The Embodied Mind", c'est justement parce qu'il contient énormément de références; nombre d'articles aussi bien que d'expériences (répétables, donc) sont cités.

    Enfin, la discussion s'est centrée sur Varela, mais il n'est pas le seul à déconstruire la vision cartésienne de l'esprit. J'ai cité aussi Damasio, pour les autres noms ma mémoire me fait défaut (cela fait des années que je ne travaille plus dans ce domaine).

  • [^] # Re: The Embodied Mind

    Posté par  . En réponse au journal See the World in True Colors.. Évalué à 1.

    C'est plus de la science mais de la métaphysique :)

    Ce n'est pas une "science dure" comme les maths ou la biologie, mais ça n'en reste pas moins une science. On travaille différemment en sciences humaines, cela peut sembler moins rigoureux au premier abord, mais l'objectivité et la répétabilité y sont tout aussi importantes.

  • # Outil spécialisé vs générique

    Posté par  . En réponse au journal Traduction : le sophisme systemd -- Leszek Urbanski, tgr, monolight.cc. Évalué à 4.

    Tu oublies une chose: lorsqu'un outil cible des utilisations radicalement différentes, il doit se limiter au plus petit dénominateur commun. Si on veux autre chose que le compromis mou inhérent aux outils génériques, il faut différencier, spécialiser.

    Oui, systemd est orienté bureau, tant mieux. La plus grande partie des changements apportés par systemd m'intéressent, ils correspondent bien à mes besoins. À l'inverse, certaines contraintes liées aux serveurs peuvent me gêner.

    Personne n'a besoin de sacrifier quoique ce soit: à chacun de choisir l'outil adapté. Si les distribs font leur boulot, elles ne se précipiteront pas toute sur systemd, et chacun trouvera son bonheur.

  • [^] # Re: The Embodied Mind

    Posté par  . En réponse au journal See the World in True Colors.. Évalué à 0. Dernière modification le 05 mars 2012 à 22:13.

    Qu'est-ce qui empêche de fournir à un ordinateur des moyens de communication et d'agir sur le monde réel ?

    Ce n'est absolument pas de ça dont il s'agit. La cognition d'un être humain est construite par le même mouvement qui produit aussi le monde, le corps.

    Ce n'est pas une "connexion" entre le cerveau et l'extérieur, c'est le fait que les distinctions esprit/corps, et corps/monde, sont des abstractions construites par l'homme, certes utiles mais qui n'ont aucune existence dans l'absolu.

    À l'inverse, pour un ordinateur que l'on interface au monde, il y aura toujours cette distinction, par construction. La position de Varela (entre autre), c'est que cette différence est fondamentale.

    Encore une fois, des chercheurs autrement plus qualifiés que moi ont eu besoin de multiples articles et livres pour développer leur position; mon intention ici n'était que de signaler l'existence de ces travaux, absolument pas d'en faire un exposé inattaquable (je n'en suis pas capable).

    Sur ce, bonne soirée.

  • [^] # Re: The Embodied Mind

    Posté par  . En réponse au journal See the World in True Colors.. Évalué à 2.

    Désolé mais ça aussi, c'est complètement bidon. La matière pour faire les neurones est aussi limité. Si la simulation de neurone est trop complexe, on pourra toujours simuler au niveau atomique. Ce n'est qu'un problème de taille de problème, pas de nature. On parlait de intelligence (humaine) .

    Sauf que justement, le cerveau n'est pas un élément isolé. Il fait partie intégrale du corps, et le corps fait partie intégrale du monde. Ils ont évolués, émergés ensemble, et se construisent mutuellement ("co-construisent") en permanence. Ce ne sera jamais le cas d'un ordinateur (au sens équivalent à une machine de Turing), quelque soit les mécanismes de feedback et d'auto-programmation qu'on y ajoute; précisément parce que ce sont des ajouts et non pas une caractéristique intrinsèque.

    Tu es libre de ne pas avoir envie de lire Varela. Mais ce n'est pas la peine qu'on continue à argumenter dans le vide, dans ce cas: je suis totalement incapable de résumer correctement ses travaux dans un commentaire sur dlfp…

  • [^] # Re: The Embodied Mind

    Posté par  . En réponse au journal See the World in True Colors.. Évalué à 1.

    Le texte commence mal. Il dit simplement que la vie n'est pas homothétique à un automate. Mais l'ensemble des programmes possibles ne sont pas tous des automates, un programme peut gérer des données qui peut complexifier sont états interne.

    Quelle que soit la complexité d'un programme, il y aura toujours une machine de Turing équivalente. Un ordinateur ne peux y échapper, par construction. Donc si, ce qu'il dit a du sens: même si une machine peut simuler une part d'improvisation et de flexibilité, cela ne reste qu'une simulation, basée sur un mécanisme où toute improvisation est exclue.

    idem, un programme peut aussi être une composition. cf la programmation par agent ou les systèmes distribués.

    Oui, la notion d'émergence est commune avec les système à agents (d'ailleurs il cite Brooks dans le texte, qui a beaucoup travaillé en robotique sur ce thème). Mais Varela montre que cette notion n'est pas suffisante, parce qu'elle requiert toujours l’existence d'un "sens" indépendant du monde.

    Cette affirmation n'a pas de sens non plus. Dans le cas du réseau de neurone simulé, l'information, la mémoire est contenu dans les poids de chaque synapse et n'est pas localisé ou localisable.

    Encore une fois, tu confonds simulation et caractéristique intrinsèque. Le problème d'une auto-organisation simulée, c'est qu'il y a toujours une limite à cette capacité. Alors que l'auto-organisation du vivant ne s'arrête même pas à l'individu, elle enveloppe le monde dans son entier, et de façon continue.

    Il y a des tas de systèmes numériques qui n'ont pas réellement de système central : cf les avions, les voitures, les trains,…

    Le fait qu'il y ai plusieurs éléments centraux ne change rien au problème.

    C'est pourtant la base de l'incertitude d’Heisenberg, qui est connu depuis un moment ! On peut aussi ajouter à ça l'effet placebo, les études en double aveugle, etc…

    Il n'y a qu'à voir la difficulté qu'on a eu à intégrer les incertitudes d'Heisenberg pour comprendre que ce n'est pas dans notre tradition. Quand aux effets placebo et double aveugle, ce sont des mécanisme psychologiques, ce qui est précisément le sujet…

    Après, ce texte n'est qu'un court extrait d'un ouvrage de vulgarisation, si tu veux étudier l'approche de Varela c'est "L'inscription corporelle de l'esprit" qu'il faut lire (The Embodied Mind).

  • [^] # Re: The Embodied Mind

    Posté par  . En réponse au journal See the World in True Colors.. Évalué à 1.

    Justement, l'erreur, c'est de ne se préoccuper que du cerveau. Or, s'il est évidemment central pour la cognition, il a été à maintes reprise montré qu'il n'est pas suffisant. On ne peut pas avoir de cognition sans corps.

    Pour reprendre une terminologie informatique, le corps n'est pas une interface entre le cerveau et l'extérieur. C'est de l'ensemble "cerveau plus corps plongé dans le monde" qu'émerge la pensée, et le corps y participe activement.

    Un ordinateur reçoit des données, traite cette information, puis fournit un résultat; même si on imagine un parallélisme massif, au niveau atomique on retrouvera toujours le même processus. À l'inverse un être humain ne s'arrête jamais de percevoir, agir ou penser: tout cela se déroule en même temps, et s'influence mutuellement, continuellement.

    J'ai trouvé un court extrait de L'invitation aux sciences cognitives de Varela (c'est un PDF), c'est sans doute plus clair que mes tentatives d'explications.

  • # The Embodied Mind

    Posté par  . En réponse au journal See the World in True Colors.. Évalué à 10.

    Mais entre nous, vouloir émuler sur du hardware électronique l'architecture du cerveau qui est prévue pour « hardware » bio-chimique, ça me semble une mauvaise idée. C'est un peu comme si on construisait des avions avec des plumes imitant le mouvement des ailes des oiseux. Je pense qu'on peux faire bien mieux en s'y prenant différemment.

    Ça fait de nombreuses années maintenant que certains chercheurs en sciences cognitives ont montré qu'on ne peut pas réduire l'esprit au seul cerveau: il faut considérer le corps dans son entier (voire même son environnement). Je pense notamment à Francisco_Varela et Antonio_Damasio.

    Ces mêmes chercheurs ont aussi montré que l'esprit ne fonctionne pas comme un ordinateur: la séquence perception / traitement de l'information / action n'est qu'une grossière approximation, prenant source en grande partie dans notre culture cartésienne.

    (Au cas où ça intéresserait certains, Varela a écrit un petit livre d'introduction assez clair, "L'invitation aux sciences cognitives".)

    Bref, on peut entasser les pétaflops autant qu'on veux, on est toujours aussi loin de la naissance d'un ordinateur «dont les capacités dépassent celle de l'homme». Ce qui n'empêche pas la recherche en IA d'être passionnante (au contraire: il n'y a rien de plus décevant qu'un domaine scientifique où tout a été découvert…).

  • # Petite Poucette

    Posté par  . En réponse au journal Nous, les enfants nés avec le réseau, par Piotr Czerski. Évalué à 5.

    Ça me rappelle un peu un texte de Michel Serres: Petite Poucette, moins centré sur le réseau, mais qui parle, au fond, de la même chose.

    Cela fait toujours du bien d'entendre un discours qui sorte de l'aigreur ambiante quand on parle de l'avenir et des (plus si) nouvelles technologies.

  • [^] # Re: Génial :)

    Posté par  . En réponse au journal Manifestation anti ACTA cet après midi a travers l'Europe... et la France.. Évalué à 2.

    La liberté, c'est aussi le droit d'enfermer des gens dans une cave ?

    Non.

    Mais ni Google ni Facebook ne t'enlèvent quoique ce soit. Ils proposent un service, et il se trouve que ce service, parce qu'il est utilisé par beaucoup de monde, est une nuisance pour toi.

    Pour reprendre ta métaphore, ils ne t'enferment pas dans une cave, ils ont ouvert une boite de nuit géante où quasiment tout le monde s'est précipité, ce qui fait que tu te retrouves tout seul dehors. La situation est très différente, et beaucoup moins manichéenne que ce que vous voulez bien croire.

  • [^] # Re: Génial :)

    Posté par  . En réponse au journal Manifestation anti ACTA cet après midi a travers l'Europe... et la France.. Évalué à 3.

    La liberté, c'est justement de pouvoir utiliser les services que l'on veut, même s'ils ne correspondent pas à telle ou telle idéologie.

    Si tout le monde partageait la même opinion, il n'y aurait pas besoin de liberté.

  • [^] # Re: Anomaly

    Posté par  . En réponse au journal Humble Bundle pour Android. Évalué à 1.

    Ce n'est généralement pas un oubli de tester: c'est Intel qui refuse obstinément d'implémenter de nombreuses fonctionnalités OpenGL pour leur GPUs (alors que ces même fonctionnalités sont disponibles dans leur drivers DirectX).

    Du coup dès qu'on sort d'une 3D "basique", si on veut faire du multiplateforme il faut oublier Intel. C'est probablement l'un des plus gros obstacle au développement d'OpenGL dans le monde du jeu vidéo.

  • [^] # Re: initiative génialissime

    Posté par  . En réponse au journal Humble Bundle pour Android. Évalué à 4.

    plusieurs développeurs qui ont "confié" leur travail à l'équipe du Humble-Bundle ont émis de sévères critiques.

    Sans source ni plus ample explication, cela s'apparente à du FUD…

    Surtout que j'ai lu exactement l'inverse: plusieurs dévs quasiment extatiques (j'exagère à peine) sur l'intérêt de la formule, et de la structure Humble Bundle. Personnellement j'ai l'impression qu'en terme d'intermédiaires, c'est probablement ce qui se fait de mieux.

    Le seul "défaut" de cette approche amha, c'est que seule une petite partie des jeux indés existants y aura accès. Il faut donc avoir un autre mode de distribution à côté.

  • [^] # Re: Workflow audio

    Posté par  . En réponse au journal MAO - Un remix pour Sound Wall Project entièrement réalisé avec du GNU. Évalué à 4.

    Est-ce qu'on peut comparer l'audio et la vidéo ou est-ce que l'audio est totalement différent sur le principe?

    On peut peut-être comparer le cas où l'on enregistre des musiciens sur des pistes audio pour ensuite les mixer au montage vidéo, et encore.

    Mais la MAO recoupe beaucoup plus de choses que ça. Par exemple, jouer sur un clavier externe un synthé logiciel: dans ce cas, il est primordial que l'ordi réagisse avec une latence minimale "garantie". D'où la nécessité du temps-réel. Note qu'il ne s'agit pas seulement de la phase finale d'enregistrement, mais aussi de toute la période, beaucoup plus longue, de composition.

    Il y a aussi le cas inverse: on pilote un synthé matériel avec une piste midi. Là on peut s’accommoder d'une latence plus importante (le séquenceur peut compenser), mais il faut qu'elle soit stable.

    Enfin, même dans le cas où l'on travaille uniquement sur l'ordi, avoir un otuil aussi réactif que possible permet de se concentrer sur la création.

  • [^] # Re: "Achievements"

    Posté par  . En réponse au journal Microsoft Visual Studio Achievements. Évalué à 2.

    Effectivement, les achievements étaient initialement surtout des défis à relever, ils ont perdu beaucoup de leur intérêt depuis qu'ils ont été industrialisés.

    Mais ils ont également une autre fonction: celle de favoriser l'émulation. Au temps jadis, il y avait les high scores qui permettaient de situer sa performance, et poussaient à aller toujours plus loin. Les "gros" jeux modernes n'ayant généralement plus de score, les achievements permettent d'en retrouver une partie des bénéfices (à l'inverse, beaucoup de jeux indés ont bien compris tout ce qu'on peut tirer d'un score).

    Je suppose que c'est cette émulation que Microsoft espère apporter à son environnement de développement.

  • # Renoise 2.8

    Posté par  . En réponse au journal [Audio] Du Proprio dans ma GnuBox !. Évalué à 5.

    Il y a aussi une nouvelle version de Renoise en approche.

    BitWig Studio a l'air vraiment sympa, mais leur site est un peu vide… Il y a des infos plus complètes quelque-part? Et sait-on dans quelle gamme de prix il se situera?

  • [^] # Re: _Generic et surcharge de fonction

    Posté par  . En réponse à la dépêche C11 n'est pas encore mort. Évalué à 3.

    Comme je le disais plus haut, la surcharge des opérateurs mathématiques constitue justement une exception. Elle obéit à des règles universellement connues et ne pose donc pas (ou beaucoup moins) de problème. De plus, ces opérateurs sont déjà une exception syntaxique (notation infixe ou préfixe au lieu d'un appel de fonction).

    Il est certain que dans un langage sans aucune forme d'héritage (ni de conversion implicite), l'overloading est beaucoup moins dangereux. Mais, à choisir entre les deux…

    Je suis vraiment étonné de la popularité que semble avoir cette "fonctionnalité" ici.

  • [^] # Re: _Generic et surcharge de fonction

    Posté par  . En réponse à la dépêche C11 n'est pas encore mort. Évalué à 1.

    Donc, exactement kifkif.

    Non: lorsque le langage supporte l'overloading, tu dois non seulement savoir le nom et le type de la fonction que tu veux appeler, mais aussi être sûr qu'il n'y a aucune autre fonction avec le même nom et une signature compatible. Parce que dans le cas contraire, une petite erreur de type peut passer à la compilation, ce qui remet en question un des principes fondamentaux du typage statique.

    Dans un projet un peu large, demander au programmeur de garder à l'esprit l'ensemble de toutes les fonctions existantes est irréaliste.

    Et savoir que les conversions implicites sont dangereuses n'est pas le problème. Le problème est que, le duo overloading + conversion implicite fait que le compilateur va chercher silencieusement à "réparer" une erreur de type, comme par exemple un int à la place d'un float (voire pire, un float à la place d'un double). Et lorsqu'on a besoin de ces différents types dans un même projet, ces erreurs arrivent fatalement, même au meilleur programmeur.

    Je trouve ça étrange que tu compares avec le polymorphisme

    (Note: le polymorphisme peut être tout aussi bien statique que dynamique). J'ai pris l'exemple du polymorphisme par c'est un mécanisme similaire (permet d'utiliser le même nom de fonction pour des objets différents), mais avec une sémantique claire (un nom dans une classe = une fonctionnalité, éventuellement avec plusieurs implémentations).

    Il en va de même avec la surcharge des opérateurs en C: la sémantique est claire, tout le monde connaît les règles mathématiques. Ton exemple avec les matrices tombe aussi dans cette catégorie.

    Naturellement, on peut donner des milliers d'exemples de mauvaise utilisation de l'overloading. Mais de la mauvaise programmation peut être faite dans n'importe quel paradigme.

    Je suis entièrement d'accord, et j'ai horreur qu'on justifie la suppression d'une fonctionnalité sous prétexte qu'elle peut-être mal utilisée.

    Mais le cas de l'overloading est différent: il induit invariablement des erreurs, même lorsque l'on ne l'utilise pas. Et, encore une fois, je n'ai jamais vu de situation où il n'y avait pas une solution plus élégante.

    S'il fallait absolument introduire quelque chose de ce genre en C, l'approche prise par le langage Go (les interfaces) me parait nettement plus saine.

  • [^] # Re: _Generic et surcharge de fonction

    Posté par  . En réponse à la dépêche C11 n'est pas encore mort. Évalué à 0. Dernière modification le 27 décembre 2011 à 12:10.

    J'aurais aimé qu'ils permettent au compilateur la surcharge de fonction comme en C++

    Oh non, pitié, pas d'overloading en C! C'est l'une des pires erreurs que l'on peut faire dans un langage, parce que le programmeur n'a plus de moyen simple de déterminer quelle fonction va être exécutée (à la différence, par exemple, d'un mécanisme clair comme le polymorphisme en orienté objet sans héritage multiple). Le pire, c'est que cette "fonctionnalité" te pourrit la vie même si tu ne l'utilises pas (surtout avec les conversions implicites du C).

    De plus, elle n'apporte qu'un léger confort dans quelques exemples triviaux. Cas qui sont la plupart du temps symptômes d'un problème de conception.

  • [^] # Re: Robots et présent

    Posté par  . En réponse à la dépêche L'avenir du futur. Évalué à 7.

    Sur la technologie, ce n’est qu’une petite erreur : les robots ne sont pas anthropomorphes et ne sont pas polyvalents mais spécialisés, mais ils existent.

    Non.

    C'est un problème de vocabulaire: on emploi le même mot pour désigner deux choses différentes. Les robots dont il est question dans le "futur tel qu'on le rêvait avant" étaient autonomes, capables de se débrouiller pour effectuer toutes les petites tâches ingrates, et ce, sans intervention humaine. Les robots de l'industrie et de la ménagère n'ont rien à voir avec cela, ce sont juste des automatismes perfectionnés. Ce qui se cache sous le mot "polyvalent" n'est pas un détail, mais une différence de nature.

    De fait, derrière beaucoup de ces prédictions technologiques douteuses il y a la même source d'erreur: une compréhension erronée de ce qu'est l'intelligence artificielle. Déjà dans les années 70, on annonçait monts et merveilles dans les médias, sous prétexte que l'IA était maintenant capable de résoudre de vrais problèmes. Et puis, on s'est aperçu que jouer aux échecs, ce n'était pas vraiment un "vrai problème".

    Le même malentendu persiste depuis lors: d'un côté, la science (et notamment les sciences cognitives) ne cesse de mettre en évidence l'immense gouffre qui sépare la machine de la pensée humaine; de l'autre, les médias (et probablement une petite partie des informaticiens) font comme si ce gouffre n'existait pas.

    Deux des "prévisions" d'IBM sont typiques de cela:

    • Le contrôle par télépathie. Oui, on sait exploiter l'activité électrique du cerveau… Mais on oublie de préciser qu'il y a un prérequis incontournable: il faut un apprentissage, à la fois de la part de l'homme et de la machine. Pour la simple raison que chaque cerveau se construit de manière différente, chaque être humain pense de manière unique. Le gadget qu'on se met sur la tête et qui devine tout seul ce qu'on pense n'est pas plus prêt de l’existence aujourd'hui qu'il y a 40 ans.

    • Le spam pertinent. Oui, le data mining existe, et permet d'établir des corrélations statistiques complexes sur des volumes de donnée de plus en plus énormes. Mais on a toujours pas d'algorithme capable de cerner les goûts et les humeurs d'un être humain.

    Ce type de déclaration a plus à voir avec une stratégie marketing qu'avec de réelles avancées scientifiques.

  • [^] # Re: Hors-sujet

    Posté par  . En réponse au journal Adopter une bonne disposition pour 2012: passez au bépo !. Évalué à 2.

    La "disposition logique" concernait le fait que les parenthèses, crochets, ponctuations, etc. sont regroupés sur des touches adjacentes, faciles à mémoriser.

    Effectivement, la "disposition fonctionnelle pour la dactylo" dont tu parles est le principal intérêt (en fait, la raison d'être) du Bépo et autre Dvorak.

    Mon questionnement était que, pour coder, je n'ai pas l'impression que le Bépo apporte quoique ce soit à l'azerty.