Axioplase ıɥs∀ a écrit 3050 commentaires

  • [^] # Re: Il et il a raison

    Posté par  (site web personnel) . En réponse au message [Liberté] Google pense pour nous. Évalué à 1.

    Et il le fait dans quel ordre l'affichage des résultats ?
  • [^] # Re: J'aime pas

    Posté par  (site web personnel) . En réponse au journal Marre des portables à 100mille déclinaisons. Évalué à 3.

    Je doute que ça lise les CDs format carte de visite, mais sait-on jamais.
    Si j'avais un slot-in, en tout cas, j'essayerais pas…
  • # J'aime pas

    Posté par  (site web personnel) . En réponse au journal Marre des portables à 100mille déclinaisons. Évalué à 7.

    J'y connais rien en laptop, les seuls que j'ai eus, je les ai achetés d'occasion, j'ai jamais eu besoin de neuf… Passons…

    >> * 15" 1440x900 brillant

    Et quand tu souris, tu t'éblouies… J'ai jamais saisi l'intérêt des écrans à dalle brillante pour laptop. Un gros écran de bureau, pour graphistes qui vivent dans une salle éclairée de manière professionnelle, je comprends, mais pour un laptop, un ordi à utiliser en déplacement, ça sent les emmerdes d'avances, avec tous ces reflets.

    >> Et les fioritures agréables (alu, retro éclairage, chiclet keyboard, multitouche connecteur magnetique, fermeture magnétique, DVDrw slot-in, OSX etc etc..)

    Et les mini-CDs, avec un slot-in, t'as déjà essayé ?
  • # Il et il a raison

    Posté par  (site web personnel) . En réponse au message [Liberté] Google pense pour nous. Évalué à 1.

    Il te manque le mot "naturelle" ou "natural".

    La réduction est un mot propre a lambda calcul, alors que la déduction est un mot de logique (et même si thèse de Church, blah blah, c'est pas un mot directement lié avec une fréquence suffisante pour empêcher la correction automatique)
  • [^] # Re: Autre petit problème

    Posté par  (site web personnel) . En réponse au message Haskell. Évalué à 3.

    T'as pas compris. Haskell, c'est pas Lisp. L'interprète ghci a une sémantique pourrie, donc tant que tu ne fais pas un fichier à compiler avec un MAIN, tu ne comprendras jamais comment ça marche.
    Haskell, c'est un mensonge. On te dit "c'est pur, mais on peut faire des effets de bord dans la monade IO". La vérité, c'est que tu dois TOUT faire dans la monade IO. Tu dois TOUT faire à partir de la fonction main. Donc tu peux TOUJOURS extraire tes données avec l'opérateur "<-"

    Désormais, tu coderas dans un fichier, avec un main, et tu feras ":!ghci %" ou l'équivalent pour emacs. Et tu lanceras "main" dans ton interprète, si ça type.

    En pratique, une dernière fois (après, je moinsse !)


    import Random (randomRIO)
    import System (getArgs)

    data Mobile = Poids Rational | Branche Rational Mobile Mobile deriving Show

    poids :: Mobile -> Rational
    poids (Poids n) = n
    poids (Branche _ g d) = poids g + poids d

    shuffle' [] acc = return acc
    shuffle' l acc = do
      k <- randomRIO (0, length l - 1)
      let (lead, x:xs) = splitAt k l
      shuffle' (lead ++ xs) (x:acc)

    shuffle :: [a] -> IO [a]
    shuffle l = shuffle' l []

    splity :: [a] -> ([a],[a])
    splity x = splitAt n x where
               n = div (length x) 2

    ranCreation :: [Rational] -> Mobile
    ranCreation [] = (Poids 0)
    ranCreation [p] = (Poids p)
    ranCreation li = Branche k (ranCreation x) (ranCreation y) where
                     m = splity li
                     x = fst m
                     y = snd m
                     k = (poids (ranCreation y))/(poids (ranCreation x) + (poids (ranCreation y)))


    main = do
           liste <- getArgs
           let liste_nombres = (map (fromIntegral . read) liste)
           let arbre1 = ranCreation liste_nombres
           liste_nombres_randomisee <- shuffle liste_nombres -- ICI !!!!
           let arbre2 = ranCreation $ liste_nombres_randomisee -- LA !!!!
           print arbre1
           print arbre2


    Ensuite,
    ghc --make toto.hs
    ./toto 1 3 90

    Et voilà !
  • # Déjà répondu

    Posté par  (site web personnel) . En réponse au message Haskell : IO [Int]. Évalué à 2.

  • [^] # Re: Autre petit problème

    Posté par  (site web personnel) . En réponse au message Haskell. Évalué à 3.

    Pour faire simple, c'est impossible.

    Il faut donc que tu repenses ton problème autrement, c'est à dire que tu remarques que tu voudras éventuellement utiliser ton résultat, par exemple pour l'afficher. Et donc tu veux rester dans IO. Comme je vois juste une fonction et pas de main (dont le type est IO ()), j'en déduis que tu ne sais même pas ce que tu veux faire. Donc écrit main, et ensuite, code en te disant "je suis dans la monade IO"

    Exemple simple :

    import Random (randomRIO)
    import System (getArgs)

    shuffle' [] acc = return acc
    shuffle' l acc = do
      k <- randomRIO (0, length l - 1)
      let (lead, x:xs) = splitAt k l
      shuffle' (lead ++ xs) (x:acc)

    shuffle :: [a] -> IO [a]
    shuffle l = shuffle' l []

    ma_fonction_normale :: [String] -> [(String, Int)]
    ma_fonction_normale = map (\x -> (x, ((read x)+2)))

    main = do
      liste_d_entiers <- getArgs -- récupère une liste de nombres passés au programme
      itlse_d_enteisr <- shuffle liste_d_entiers -- permute
      let resultat = ma_fonction_normale itlse_d_enteisr -- applique une fonction "pas IO"
      print resultat -- affiche le résultat et quitte
  • [^] # Re: Demandons à Stallman

    Posté par  (site web personnel) . En réponse au message [Licences] code source libre sans compilateur libre.... Évalué à 3.

    >> On ne peut même pas avoir la preuve que le compilateur en question utilise d'une manière ou d'une autre le source founi en entrée!

    Et alors ?
    Il n'est pas imposé qu'un langage soit turing complet, éditable, ou quoi que ce soit !


    Je pense que le programme "1" dont le compilateur est
    "if (input = 1) then dump_un_binaire(); else error();" est un programme libre et bien acceptable, et qui fait ce qu'on lui demande.

    En revanche, il n'est justement pas dit que le binaire sera, lui, libre !
    C'est pas un bug dans la licence, c'est plutôt une feature marrante ^^

    En fait, tu confonds deux choses : le logiciel et son code source.
    Ici, c'est le code qui est libre mais pas le logiciel, alors que la GPL couvre le logiciel (ce qui implique la couverture du code).
    La GPL dit d'ailleurs :

    The “Corresponding Source” for a work in object code form means all the source code needed to generate, install, and (for an executable work) run the object code and to modify the work, including scripts to control those activities. However, it does not include the work's System Libraries, or general-purpose tools or generally available free programs which are used unmodified in performing those activities but which are not part of the work.


    Ce qui me fait dire que si j'ai écris la partie binaire dumpée par mon compilateur entièrement à la main, alors ça peut même être GPL. C'est un programme "one shot" (un "faux" compilateur) contre lequel tu ne peux rien. Le dev a joué, a ri, et il t'a bien eu.
  • [^] # Re: Pratiques d'une ère (dé)passée

    Posté par  (site web personnel) . En réponse à la dépêche Threat modeling - Savez vous quelles sont les menaces qui guettent votre application ?. Évalué à 2.

    >> Bien sûr, mais déja ne pas avoir de buffer overflow dans son code ça devrait déja être une priorité.

    Ben, suffit d'arrêter de coder en C/C++/ASM.
    Je suis d'accord, ça devrait être une priorité…
  • # Laid

    Posté par  (site web personnel) . En réponse au message Haskell. Évalué à 3.

    Les diagonales, c'est "l'indice i de la ligne i"…
    Donc tu parcoures tes listes, avec un compteur d'indice incrémenté à chaque nouvelle liste. Et tu additionnes "les éléments à l'indice i de chaque liste l_i".

    Pour diag2, c'est la même chose, sauf que tu inverses l'ordre de tes listes pour les parcourir à l'envers…


    l1=[[1,2,3],[4,5,6],[7,8,9]]

    diag1 = fst . foldl (\(x,c) y -> (x+(y!!c),c+1)) (0,0)
    diag2 = diag1 . reverse

    main = do
    print $ diag1 l1
    print $ diag2 l1
  • # J'ai rien compris.

    Posté par  (site web personnel) . En réponse au journal le jour ou le NET c'est brisé ..... Évalué à 10.

    Illisible.

    J'ai pas compris quel était le but de ton journal, son plan, son argumentaire, et j'ai donc laissé tombé la lecture arrivé au premier tiers.


    >> Voila j'écris sous le coup de l'émotion , pardonnez mon orthographe /grammaire / typographie ... Mais fallait que je fasse passez le message ..

    Euh, non,
    1/ je ne pardonne pas. Et puis quoi encore ? Pourquoi je devrais faire un effort ? ;
    2/ ton message n'est pas passé.
  • [^] # Re: sachant...

    Posté par  (site web personnel) . En réponse au journal Une minute à donner contre ACTA ?. Évalué à 3.

    >> Dans les deux on peut mentir, dans les deux il s'agit juste d'avoir un degré de vraissemblance pour interpeller.

    Ben, dans le cas numérique, là, proche de zéro, le degré de vraisemblance…
    Y'a qu'à voir le nombre de spams qu'on reçoit, écrits à la main versus électroniques.

    Dans les faits, les signatures manuelles correspondent à une vraie personne, les autres à un pc sous windows infecté.

    Si tu me rajoutes du PGP sur ta pétition, je suis près à en rediscuter.


    Sinon, c'est quoi ACTA ?
  • [^] # Re: Commentaires aigris

    Posté par  (site web personnel) . En réponse au journal Faut-il supprimer la tribune ? (suite). Évalué à 3.

    Bon, je relance ici, car le fil est gelé là bas…

    >> Le récupérateur de mémoire se déclenche généralement quand il n'y a plus de mémoire disponible, où quand l'application n'a rien de mieux à faire.

    Pas d'accord. En gros le GC se déclenche tout le temps : à chaque fois quon quitte la portée d'un objet, il est *immédiatement* récupéré (sauf cas pathologiques pour certains types de GC où la récupération se fait à un autre moment). Quand tu manques de mémoire, c'est l'allocation de plus de mémoire qui se déclenche, pas la récupération.


    >> Finalement, un récupérateur de mémoire n'est pas si compliqué que ça. Mais face à quelques «delete» bien placés et pas oubliés, ça fait légèrement lourd.

    Un simple GC, c'est simple, oui.
    Mais des centaines de « delete » pas forcément bien placés, et parfois oubliés, c'est légèrement relou, face à de simples GC_malloc();


    >> PS: Je préfère une application en C qui perd un peu de mémoire sur certaines opérations, à une application java qui consomme 200Mio quoi qu'il arrive.

    C'est pas un problème de GC, ni même de langage. C'est un problème de paradigme, et ça n'a rien à voir… Si tu codais orienté objet en C, tu passerais ton temps à créer des objets qui bouffent de la mémoire… En "impératif C", tu crées ce dont tu as besoin, à la main. En POO, tu crées un objet, et immédiatement, toute une hiérarchie d'autres objets dont tu n'as peut-être rien à faire, mais que tu es obligé d'avoir car ils sont liés dans une méthode de la classe virtuelle de l'interface publique du cousin 2.0 de la méthode Cauet(); forcément, ça bouffe plus de mémoire…


    Oui, un GC, ça a un coût. Et c'est fouchtrement rentable quand on sait s'en servir. Simplement, ce que tu ne sais (probablement) pas, c'est qu'un GC, c'est pas une solution générique miracle : ça se choisit en fonction du problème à résoudre et des données, puis ça se paramètre en fonction du programme écrit. Le problème, c'est qu'on a souvent un seul GC par langage ou implantation… Le GC devrait être une lib à part.

    En fait, un GC est une chose trop importante pour être laissée aux implanteurs d'un langage… C'est aussi un art, tout comme gérer ses free() à la main. À compétences égales de développeur, la version GC est garantie meilleure : un débutant fera mieux avec n'importe quel GC qu'un débutant avec free(), et un pro utilisera son GC dans les meilleures situations, et des free() à d'autres !
  • [^] # Re: Ils se moquent du monde ?

    Posté par  (site web personnel) . En réponse au journal Google soutien Theora. Évalué à 3.

    >> Apprendre a lire... Je n'ai pas dis que j'allais mettre mes videos sur youtube. Mais si j'ai une video que j'heberge, que je veux la mettre sur mon site. En theora j'ai firefox et opera qui pourront la lire. En H264 j'aurais IE, safari, chrome. Dans les deux cas je me coupe d'une partie des internautes.

    Gnégnégné !
    Fais de ta vidéo un divx, un avi, un .mov, un .rm, un xanim…
    Les moyens logiciels portables pour lire des vidéos, c'est pas ce qui manque. La vidéo sur internet, c'était là bien avant flash, et ça marchait partout…
    H264 ou Theora, c'est pas les plus vieux non plus…


    >> Mais je perd moins de monde en utilisant du flash que du H264.

    Ben, utilises Flash, c'est ton droit. Moi, j'aime les pommes frites.
    Comme de toute façon t'utilises pas youtube, tu t'en fiches de google. T'as la balise video d'HTML 5, alors tu fais ce que tu veux avec hein !

    >> Pourquoi ne pourraient ils pas s'engager totalement pour une chose afin d'en tirer le maximum et faire simple ? Plutot que de compliquer encore une fois les choses.

    Pour les mêmes raisons qu'on a créé emacs ET vi.
    Puis pourquoi t'es sous linux alors qu'il y a déjà windows, hein ? Tu te coupes d'un nombre incroyable d'applications !
  • [^] # Re: Ils se moquent du monde ?

    Posté par  (site web personnel) . En réponse au journal Google soutien Theora. Évalué à 6.

    >> Si moi je diffuse une video, j'ai besoin de savoir qu'elle pourra être lue par tout le monde.

    Alors tu ne la mets pas sur youtube !
    C'est toi qui choisit de diffuser ta vidéo, pas eux !

    >> Au final on va continuer avec le flash, parce qu'au moins ca fonctionne partout.

    Flash, je crois que ça marche pas sur iMachin, là…


    >> même ceux qui misent sur un codec décident finalement d'en aider d'autres.

    Ah les cons !
    Ils feraient mieux d'aider personne. Je m'en souviendrais, de celle là. Ils la paieront cher !
  • [^] # Re: TheorARM

    Posté par  (site web personnel) . En réponse au journal Google soutien Theora. Évalué à 2.

    Oui, enfin, si TheoArm est libre, c'est con de forker alors qu'il « suffit » de porter le code…
  • [^] # Re: Commentaires aigris

    Posté par  (site web personnel) . En réponse au journal Faut-il supprimer la tribune ? (suite). Évalué à 2.

    Ma remarque était la suivante : « go est un langage qui vient de paraître, et le journal disait à peu près "les propositions d'extension du langage sont longuement étudiées avant d'être acceptées". J'ai du mal à croire que ce soit "longuement" vu l'âge du langage, et si c'est pour tout accepter de toute façon… Pour voir comment bien se prendre la tête sur l'évolution d'un langage, se référer à Scheme. »
  • [^] # Re: Commentaires aigris

    Posté par  (site web personnel) . En réponse au journal Faut-il supprimer la tribune ? (suite). Évalué à 2.

    >> C'est le principe de base du GC qui me gêne

    Euh ? « Une méthode systématique qui empêche les fuites mémoire » ça te gêne ?

    Ou alors tu es persuadé qu'un GC, c'est forcément un truc qui bloque ton programme pendant 3 secondes le temps de réclamer la mémoire ?


    Nan, sérieusement là, je veux savoir quel est le « principe de base du GC » qui te déplaît, et pourquoi il te déplaît.
  • [^] # Re: Restriction du choix des langages sur l'iPhone

    Posté par  (site web personnel) . En réponse à la dépêche Panaché de brèves informatiques de la semaine. Évalué à 5.

    >> l'unique développeur Scheme de l'iPhone doivent un peu faire la tête…

    Euh, y en a au moins deux :
    http://www.ventonegro.org/2009/10/scheme-hits-the-app-store/
    http://jlongster.com/blog/2010/04/09/scheme-dead-iphone/

    Le deuxième lien, d'ailleurs, commente bien le choix d'Apple : « Games are inherently multi-platform (…).The only thing they are restricting is using better, more productive tools to create games. »
  • [^] # Re: Multilingue ?

    Posté par  (site web personnel) . En réponse au journal 30% de réduction sur les TypeMatrix. Évalué à 3.

    Ah, et je précise que je ne suis pas sur un typematrix, mais sur un kinesis advantage, avec de légères modifications du bépo pour en faire un layout adapté à la disposition physique des touches du clavier, et qui permette d'utiliser vim (notamment les déplacements "hjkl") sans se prendre la tête ni les poignets. Faudra que je publie ça…
  • [^] # Re: Multilingue ?

    Posté par  (site web personnel) . En réponse au journal 30% de réduction sur les TypeMatrix. Évalué à 4.

    >> qu'en est il pour les personnes polyglotes ?

    ✓ français
    ✓ anglais
    ✓ japonais
    ✓ italien
    ✓ norvégien (avec la touche compose pour øå)
    ? coréen

    Le problème c'est que le coréen a *déjà* un layout sympa, qui consiste en gros en « consonnes à gauche, voyelles à droite, et ponctuation/chiffres en qwerty. » Mais avec scim, ça passe pas, car il va remapper le qwerty sur le bépo, et donc inverser ce qui est ur la touche "s" (une voyelle coréenne) et avec ce qui est sur la touche "u" (une consonne coréene).

    Je crois qu'il y a désormais une alternative à scim qui est recommandée et qui permet de régler ce problème, mais j'ai pas eu trop le temps d'essayer. Donc en attendant, quand je tape en coréen, je bascule de bépo à qwerty, puis je met l'IME en coréen. Ça fait double combinaison de touches, mais c'est mieux que rien.
  • [^] # Re: Commentaires aigris

    Posté par  (site web personnel) . En réponse au journal Faut-il supprimer la tribune ? (suite). Évalué à 1.

    Oh !
    Je savais pas que je faisais parti des commentateurs aigris \o/

    D'ailleurs, je maintiens ma position : dire de "go" qu'on a longuement « réfléchi à chaque problème, » c'est mépriser le passé, l'expérience. C'est sans doute plus réfléchi que la norme de PHP, mais ça reste je crois bien des décisions prises dérisoirement rapidement (ce qui est orthogonal au fait que la décision soit bonne ou non).
  • [^] # Re: bti ?

    Posté par  (site web personnel) . En réponse à la dépêche Microblogging : envie d'un Twitter rien qu'à vous ?. Évalué à 10.

    >> C'est assez spécial de garder ton mot de passe en clair dans history...

    C'est pour partager encore mieux avec les autres utilisateurs qui font un ps en même temps.
    C'est un plus du logiciel libre.
  • [^] # Re: un truc d'initié

    Posté par  (site web personnel) . En réponse au journal Faut-il supprimer la tribune ?. Évalué à 1.

    Nan mais, c'est qu'en lisant la phrase, on a l'impression qu'IRC est arrivé après la tribune.
  • [^] # Re: un truc d'initié

    Posté par  (site web personnel) . En réponse au journal Faut-il supprimer la tribune ?. Évalué à 1.

    >> alors que IRC c'était déjà vachement mieux

    C'est si vieux que ça, la tribune et DLFP, ou dacode avait un plugin IPoT ?