Thomas a écrit 88 commentaires

  • [^] # Re: Mais sinon, pourquoi je devrais m'intéresser à ce énième langage

    Posté par  . En réponse à la dépêche Quelques nouvelles de Go, le langage de programmation. Évalué à 1.

    y'a ça qui est intéressant aussi:
    http://www.pvk.ca/Blog/Lisp/concurrency_with_mvars.html
  • [^] # Re: Calaos

    Posté par  . En réponse à la dépêche Enlightenment conquiert le monde. Évalué à 2.

    Les wago sont pas si chers que ça:
    http://octopart.com/parts/search?q=wago

    On les utilise beaucoup ici au taff, un collègue fait joujou avec un Wago qui embarque un Linux 2.6 (un léger avec busybox) sur lequel il s'est posé un Lua. Pour 'scripter du matos' c'est une solution plutôt sympa.
  • [^] # Re: Interrogations...

    Posté par  . En réponse au journal Go : Un nouveau langage chez Google. Évalué à 3.

    J'ai retrouvé l'article parlant des techniques utilisées chez Orbitz:
    http://www.paulgraham.com/carl.html

    Sinon en tapant real time garbage collector dans google on trouve beaucoup de trucs intéressants, genre http://lambda-the-ultimate.org/node/2393 (où dans les commentaires quelqu'un évoque SuperCollider)
  • [^] # Re: Interrogations...

    Posté par  . En réponse au journal Go : Un nouveau langage chez Google. Évalué à 2.

    Comme je l'ai dit juste au-dessus, CCL et SBCL, cesont des implémentations de Common Lisp. Avec un GC générationnel la collecte la plus fréquente ne scanne que les objets de jeune génération, c'est très court. La collecte complète, lançable à la main sur SBCL avec (gc :full t) prend un peu plus de temps, mais c'est rare.

    Sinon comme dit tu peux désactiver le GC pendant les phases plus critiques de ton code. Et il existe d'autres techniques. J'ai lu que chez Orbitz ils mappaient d'énormes fichiers en C++, la partie Lisp les manipulant via des pointeurs (donc un fixnum, le GC ne voyait pas les données). Il y a un message à ce sujet sur google groups, je vais voir si je peux remettre la main dessus.

    Sinon j'ai pas d'exemples de temps réel dur dans un environnement à GC.
  • [^] # Re: Interrogations...

    Posté par  . En réponse au journal Go : Un nouveau langage chez Google. Évalué à 1.

    plutôt que d'utiliser de simples aides à la gestion comme les pointeurs intelligents, qui n'impactent pas les performances mais gardent la souplesse et la puissance d'une gestion manuelle ?

    Un GC ne se contente pas de libérer la mémoire, il peut aussi éviter sa fragmentation.

    typiquement on a beaucoup de mal à régler le moment où il doit se déclencher et les mauvais cas sont fréquents

    Un bon GC peut être désactivé/réactivé. Tu peux forcer un GC quand ça t'arrange. Et dans le cas des GC générationnels (dont sont dotés les langages que j'utilise) tu peux même spécifier quelle génération collecter. Pour finir un bon GC est souvent configurable.

    Jette un oeil du côté des SBCL ou CCL. Je n'ai jamais eu de longue pause pour le GC avec ceux-ci. J'ai plutôt l'impression que ce préjugés date un peu. Ou alors ce sont les GC de Perl/Python/Ruby (qui ne sont pas très évolués) qui ont engendré cette mauvaise image.
  • [^] # Re: Je n'adhère pas...

    Posté par  . En réponse au journal Nimrod, ça se rapproche du langage idéal. Évalué à 1.

    Si Python était insensible à la casse (comme Common Lisp par ex.) on aurait déjà moitié moins de problèmes.

    La conséquence directe c'est qu'en codant j'utilise parfois une mauvaise forme, et comme Python est dynamique il arrive que ça explose 3 mois plus tard quand une condition particulière est rencontrée.
  • [^] # Re: Je n'adhère pas...

    Posté par  . En réponse au journal Nimrod, ça se rapproche du langage idéal. Évalué à 1.

    Il existe un mode Emacs qui fait ça, google-mode il me semble. Le camelCase est convertit en mots séparés par des underscores. J'utilisais ça quand j'en étais réduit à coder en VB6, ça a sauvé mes yeux.
  • [^] # Re: Question général sur les IDE

    Posté par  . En réponse à la dépêche Sortie de Val(a)IDE 0.6. Évalué à 1.

    Pareil, sauf qu'avec des polices lissées ça a souvent une sale gueule. Bon en utilisant une police comme Terminus le problème se pose pas.
  • [^] # Re: Question général sur les IDE

    Posté par  . En réponse à la dépêche Sortie de Val(a)IDE 0.6. Évalué à 3.

    noir sur gris en police topaz: shell Amiga
  • [^] # Re: Plus de 10 000... Correction de bugs ?

    Posté par  . En réponse à la dépêche KDE 4.3 est sorti. Évalué à 2.

    Il continue d'envoyer des chèques d'une banque fictive (à cause de fraudes):
    http://en.wikipedia.org/wiki/Knuth_reward_check

    Apparemment il rajoute les intérêts quand il ne peut pas répondre immédiatement.
  • [^] # Re: Moué

    Posté par  . En réponse au journal Phantom OS: l'OS qui ne s'éteint jamais. Évalué à 1.

    Surtout grâce à la propriété du système d'être modifié pendant qu'il tournait. Ou de le debugger en live.

    Pour info, pour voir comment ce binz marchait, il y a des émulateurs de lisp machine en dev. Certaines images sont dispos. J'ai vu des images de TI Explorer par ex. Le MIT a donné son autorisation pour une distribution du code des Lisp Machine originaires de chez eux. Par contre pour Genera, le système de Symbolics, c'est plus compliqué (le seul et unique actionnaire de Symbolics est décédé l'an dernier, et depuis, flou total). Ca se trouve sur les réseaux p2p par contre.
  • [^] # Re: Tout... tout ?

    Posté par  . En réponse au journal Phantom OS: l'OS qui ne s'éteint jamais. Évalué à 2.

    Je dis peut-être une connerie (je suis trop jeune pour avoir fait joujou avec une lisp machine), mais il me semble qu'on pouvait sauvegarder le "monde", c'est-à-dire l'état de l'environnement, à la demande. C'est le même genre de système avec les compilos lisp actuels ou les VM Smalltalk. Tu changes des trucs, et après tu les rends permanents (en Lisp c'est pratique pour charger les mêmes libs à chaque fois. Tu charges un ensemble de libs pertinent pour chaque tâche, genre devel web, et tu sauvegardes ton core).
  • [^] # Re: Rapide !

    Posté par  . En réponse au journal Rails et Merb fusionnent. Évalué à 1.

    dans le cadre d'applis simplissimes (très "Web 2.0) il ne serait pas plus adapté.

    Dans le cadre d'applis pas simplissimes il est adapté aussi. La plus grosse différence à ce niveau est à mon avis l'absence de helpers pour des trucs comme AJAX. Wycats a fait une présentation (dispo sur slideshare ou un truc web2.0 clickaconvi du style) où il montre la différence entre le code avec un helper de rails (et son ignoble JS inline) et le code jquery correspondant (il est un gros contributeur à JQuery). La différence était minime et d'un point de vue "philosophique" ça rejoint plutôt Django: un bon dev Web se doit de connaitre Javascript.

    Lien vers la présentation: http://www.slideshare.net/wycats/merb-jquery-presentation
  • [^] # Re: Un tas de lien

    Posté par  . En réponse au journal Rails et Merb fusionnent. Évalué à 1.

    J'ai rejoint le channel #merb dès que j'ai vu l'annonce sur news.ycombinator.com, et le nombre de connectés était énorme par rapport aux jours précédents; de mémoire, et à la louche, 250/300 contre une cinquantaine les jours précédents.

    Ca montre bien que l'annonce a un peu surpris tout le monde.
  • [^] # Re: Au cas où...

    Posté par  . En réponse au journal NIN met son dernier album sous CC et explose RadioHead. Évalué à 2.

    Je trouve que ta vision des choses dévalorise énormément le travail d'un artiste. À t'entendre la création ne serait que l'application de quelques algorithmes. Je sais que ça a été fait pour la musique et l'écriture, avec un assez bon résultat, mais ça ne sera jamais assez bon que si un être humain le faisait, pour des raisons évidentes.

    En musique tu peux apprendre également à phraser, à construire des questions/réponses sonores

    Si tu considères la musique comme une branche des mathématiques (approche intéressante, et c'est assez vrai), oui. Mais ça ne touche que le rythme et la hauteur de chaque note, pas le son lui-même, donc ta vision me semble encore simpliste.

    Et si la musique te "touche" plus "directement", c'est parcequ'elle est moins dépendante d'un contexte sociale et plus de ton métabolisme

    C'est plutôt parce qu'elle fait remonter des souvenirs qui me sont propres par exemple. Même si un morceau particulier est supportable par tout le monde, leur sensibilité entraîne chez chacun un vaste éventail de réponse.

    connaître l'origine de la première découverte d'une œuvre, ça peut être intéressant pour lui apporter un contexte et lui donner une certaine signification.

    Le côté "autobiographique" d'une œuvre permet aussi de s'interroger sur soi-même (on s'évalue ou s'identifie souvent à une personne quand on a l'occasion de découvrir certains événements de sa vie en détail).

    Pour finir, comme tout ça commence à n'être plus très clair, ce que je reproche à ton approche c'est d'être simpliste, mécanique, froide; tu te concentres sur l'aspect technique de l'art et oublie qu'il est un véhicule pour un message ou un émotion, destiné à créer un ressenti chez l'auditeur/lecteur/spectateur/whateveur.



    -- Thomas
  • [^] # Re: Au cas où...

    Posté par  . En réponse au journal NIN met son dernier album sous CC et explose RadioHead. Évalué à 2.

    Dans une œuvre tu as une intention et une sensibilité, celles de l'auteur, que tu ne retrouves pas dans une découverte. Dissocier œuvre et auteur n'a vraiment pas de sens pour moi.

    Par exemple j'aime Chateaubriand, je sais que dans chacune de ses œuvres je retrouverai une certaine sensibilité qui m'avait touché dans dans celles que j'avait lu auparavant. La sensibilité de l'auteur évolue aussi au courant de sa vie, et c'est pourquoi il est commun, pour les grands auteurs, de se documenter sur les évènements de sa vie qui entourent la création d'une œuvre particulière.

    Quant à ta vision de l'auteur qui effectue simplement un tri, je la trouve extrêmement réductrice. Quand tu parles d'outils abstraits, j'ai l'impression que tu vois l'auteur comme un assembleur qui se contente d'accoller quelques figures de style (dans le cas de la littérature). Or, dans l'art, tu n'as pas d'outil fiable qui te permette de prédire l'impact et l'effet de ton œuvre. Tu t'en remets pour une grande part à ta sensibilité.

    Le cas de la musique est encore plus frappant, elle touche plus directement la sensibilité que la littérature (qui passe par plusieurs phase intermédiaires).
  • # Rachmaninov

    Posté par  . En réponse au journal Quel sont selon vous les meilleurs morceaux de musique classique ?. Évalué à 1.

    Personne ne parle de Rachmaninov? Je suis d'accord avec beaucoup d'avis ici mais je m'étonne de ne le trouver dans aucune liste. C'est assez facile d'accès, et souvent utilisé pour des musiques de films. Donc pour débuter c'est bien, certains airs te sembleront familiers dès le début.

    Sinon j'ai personnellement un faible pour les opéras italiens, surtout ceux de Rossini/Donizetti. Ce n'est peut-être pas exactement ce que tu recherches mais pour se mettre de bon humeur c'est très efficace.

    -- Thomas
  • # Merci

    Posté par  . En réponse à la dépêche Asterisk en entreprise, retour d'expérience. Évalué à 6.

    Merci pour cette doc qui permet d'appuyer une proposition de projet libre en entreprise!

    J'ai juste une petite question: tu indiques que le déploiement s'est fait en août 2007, mais de la phase de conception à la mise en production, combien de temps s'est écoulé? L'intégralité du projet a été mené en un mois?

    -- Thomas
  • [^] # Re: Un tout ptit truc

    Posté par  . En réponse au journal Qu'est-ce qu'un outils de développement de rève ?. Évalué à 1.

    En beaucoup moins bien mais c'est déjà ça.

    -- Thomas
  • # Gruikerie

    Posté par  . En réponse au journal Nouvelle version de libetc : vers la base de registre sous linux ;-). Évalué à 6.

    Intercepter les fonctions de la libc c'est furieusement gruikesque. Dans un premier temps pour tester sans modifier les applis ça va, mais à terme?

    Sinon je pense qu'il vaut mieux utiliser le système de fichiers, et de préférence dans le répertoire de l'utilisateur. C'est ce qu'on sauvegarde en premier (quand on sauvegarde) et ça permettrait de récupérer tous ses réglages persos avec une simple restauration du répertoire. On peut même pousser le vice jusqu'à faire du versionning des préférences utilisateurs via quelque chose comme Subversion ou mercurial.

    -- Thomas
  • # Un tout ptit truc

    Posté par  . En réponse au journal Qu'est-ce qu'un outils de développement de rève ?. Évalué à 3.

    Qu'est-ce qui vous fait perdre le plus de temps ?

    Mon lecteur RSS, Linuxfr, ...

    Non sérieusement j'aimerais bien voir un truc qui marche bien en Common Lisp: la série des whoo-calls, who-macroexpands, etc. qui permet de voir quelle fonction en appelle une autre, sauter facilement à une définition de fonction, etc. Et non grep ne compte pas.
  • [^] # Re: Vraiment bon

    Posté par  . En réponse au journal Ulteo & OpenOffice Bluffant !!!. Évalué à 3.

    Si si, ça parle aux RH dans les boites.

    Pour avoir filé un coup de main aux RH pour trier les CVs (en interco on fait tout pour s'occuper), j'ai vu de mes propres yeux qu'ils ne raisonnaient que par mots-clés. Genre en cherchant un dev Web Java ils avaient viré un CVs avec pas mal de références à struts par exemple. Dommage, il fallait Web et Java.

    Donc Web x.0 ça leur sert à encore moins réfléchir.

    Ca sert aussi aux chroniqueurs un peu cons qui ne trouvent pas de sujet hype pour leur prochain édito. C'est toujours plus facile de s'exciter sur un truc flou, ça laisse une plus grande place à l'imagination.

    Vivement qu'on remplace tous les RH par une google box ou des cv en texte brut et des grands coup de grep.
  • [^] # Re: ROR et ses limites

    Posté par  . En réponse à la dépêche Sortie de Ruby on Rails 2.0. Évalué à 2.

    Le serveur fourni avec est uniquement pour le développement. Il a été conçu pour le développement. Et partout dans la doc il est répété qu'il ne doit être utilisé que pour ça. Donc les reproches basés sur la lenteur de Webrick n'ont pas lieu d'être.
  • [^] # Re: Dans le privé ?

    Posté par  . En réponse au journal A la SNCF, tout est possible !. Évalué à 1.

    Un avion peut facilement faire des assiettes autour de la piste pour attendre son tour : après décollage (ou atterissage), l'avion précédent libère rapidement la piste. La rotation est rapide.

    Ouais patienter sur un palier c'est tellement bidon, les contrôleurs aériens n'ont qu'à dire "toi va là et attend 10mn, après tu tapes ton approche en U tranquillou en essayant de viser la piste 13".

    Va mettre des trains dans une file d'attente. Une fois le train en gare, il bloque l'arrivée.

    Chez moi on a plusieurs quais, avec les lignes qui se séparent bien en amont de la gare, et qui permet à plusieurs trains d'arriver et partir à un instant T.

    Bon ok j'ai pas encore vu un train en dépasser un autre.
  • [^] # Re: Dynamiquement typé ou statiquement typé ?

    Posté par  . En réponse au journal Python et les décideurs. Évalué à 3.

    Dans la majeure partie des dialectes de Lisp, tu peux autant coder en impératif qu'en fonctionnel. Ou tout autre paradigme d'ailleurs, merci les macros... enfin on est pas là pour faire de la pub.

    En Python tu as des éléments qui le rapproche du fonctionnel.

    Donc je pense qu'on peut quand même faire la comparaison.

    Il faut que je retrouve une vidéo dans laquelle on voit bien l'environnement de développement et les outils qu'il propose.