La voiture est loin d'être la seule coupable : l'agriculture (l'élevage bovin en particulier), l'industrie, les centrales thermiques, le traffic aérien ....
Ce bouquin est vraiment une lecture utile qui remet bien des idées en place.
Lolix est très intéressant pour les techos qui cherchent un job dans lequel ils sont surs de bosser sur tes technos libres et lolix est le seul site du genre donc je suis plutot d'accord avec le responsable du site sur ce point. Pour trouver un job dans l'informatique de manière plus générale des sites comme monster marchent tres bien.
Et puis tu peux toujours poster un journal sur linuxfr.org avec ton annonce car on est pas obligé d'y parler de Linux et des LL :)
Je posterai un journal, une annonce sur le site de l'AFPy et un enregistrement sur le cheeseshop des la release de la version 0.1 d'ici quelques semaines AMA.
Concernant une integration avec oMetah, j'y jetterai un coup d'oeil des que j'aurais un peu de temps.
J'ai déjà utilisé le binding python d'EO mais je le trouve trop compliqué à mettre en oeuvre (compilation, ...) et le fait que la lib soit en C++ templatiser m'embetais (car je suis pas développeur C++).
J'aime beaucoup l'approche interface / composants de Zope3 et c'est pour ca que je developpe un nouveau framework basé sur ce paradigme. Il devrait permettre plus de souplesse pour se brancher sur d'autre composant et imaginer des architectures complexe de parallisations (grid computing ...).
En plus programmer avec les doctests est un vrai plaisir.
Argl, il se trouve que je travaille sur un projet similaire depuis peu. Il s'agit d'un framework pour implementer des algo evolutionnaires potentiellement parallèles en python (pur).
Voici la documentation générée à partir des doctests :
C'est encore très pas fini et donc les interfaces sont susceptible de changer. Pas encore de relase packagée. Si vous voulez jouer avec le code, faut utiliser bzr (ou un wget recursif :).
Ce qui est fait:
- définition des interfaces
- implémentation de composants indépendants de la représentation /du problème à optimiser:
- pools de replicateurs (simple, ordonné, pool virtuel (union dynamique de pools))
(non persitents pour l'instant
- comparateurs (simple ou sharing aware)
- selectors (random, tournamenent
- replacers (random et tournamenent, generationel ou steady state)
- checkpointers (time-based, compteurs, quality based, ...)
- archives d'elites
- evolvers pour organiser tout ca : simple, composé avec exécution séquentielle (nested evolvers) pour simuler une éxecution en //
Reste a faire:
- réprésentations standards (vecteurs de bits, de réels avec numarry par exemple)
- comparateur implémentant une logique de dominance à la Pareto pour implémenter des optimizations multi-critéres
- opérateurs de variations lamarckiens (tabu search par exemple)
- evolvers // (en utilisant coroutines, thread et forks + communication reseau)
- memoizer pour les evaluators et les distance des sharing avec interface memcached
- plein d'autres choses que j'ai oubliées
visiblement pycomplete est inclus de base dans la version 7.0c (branch unstable).
Bon c'est pas encore tout a fait au point, j'ai des erreurs assez vite des que le programme n'est pas trivial mais c'est tres prometteur pour la suite.
On y a apprend entre autre que pour faire lancer la completion intelligente (dans un fichier python, XML, C, java, ...) il faut tapper en mode insertion :
CTRL-X CTRL-O
et ca marche de base ! pas besoin de plugin.
Mes collegues sous emacs vont faire une de ces tronches demain quand je vais leur montrer ca :o)
Perso j'utilise ncftp qui est vraiment une tuerie. C'est en ligne de commande d'accord mais avec la completion automatique et les bookmarks ca ne me viendrait pas à l'idée d'essayer de faire ca en graphique.
Sinon, encore mieux scp ca marche bien aussi (avec un "ssh-add" avant et une paire de clefs + un bash ou zsh qui complete avec tab et des aliases dans ton .ssh/configure). Bon d'accord faut un serveur ssh à l'autre bout.
Ca fait peut etre geek mais c'est pas si compliqué et terriblement efficace.
Et pour synchroniser des gros volumes, rsync y'a pas plus efficace sur terre (et ca marche avec des les memes clefs ssh :)
Sur ce, je sais j'ai répondu à côté de la question mais il faut vraiment faire l'effort d'essayer. Au moins une fois. Comme ca juste pour voir.
Effectivement. Ca a aussi l'air d'être le cas lors du reordonnencement des onglets par drag and drop qui est beaucoup plus réactif.
A propos des onglets FF, j'ai decouvert une extension super : "reveal". Ca ressemble à Foxposé (affichage de vignette pour chaque onglet) en plus cool avec la possibilité faire des drag and drop et recherche textuelle multitabs. Quand on installe l'extension et qu'on redemarre FF, on a droit a un petit tutoriel interactif :
Effectivement, google ne se comporte pas comme MS pour l'instant. Ce qui rapproche google de MS, c'est leur (future?) position de monopole sur un bon nombre de technos IT même s'ils n'abusent pas (encore?) de cette position dominante.
zip est très pratique pour faire des opérations en parallèles sur deux séquences.
A propos des iterateurs, les expressions génératrices sont une manières très élégante de faire de la programmation fonctionnelle en python :
(f(x) for x in l) est équivalent à [f(x) for x in l] mais retourne un générateur (avec évalutation retardée) ce qui évite de construire toute une liste chargée en mémoire même si seul les premiers éléments ne sont utilisés. imap fait l'opération correspondante pour la fonction map.
Donc contrairement à toi je trouve que python évolue dans la bonne direction : on peut faire de la programmation (pseudo-)fonctionnelle efficace en python.
Il n'y a pas besoin de tout Zope3, seuls les deux modules zope.interface et zope.component sont à ajouter dans son python path. Ca fait du code modulaire et vraiment réutilisable :)
Dans le titre de la depeche, c'est marqué "support de la voix" et la lib s'appelle jingle-audio. Donc AMA une carte son suffit pour l'instant. Par contre, OpenWengo en plugin pour FF à l'air en cours d'achevement d'apres le glazblog. Par contre je sais pas si ca marchera sous linux.
Pour zope/python, y a toujours la solution de clustering ZEO: un processus par processeur. C'est pas bien compliqué à mettre en place: une instance ZEO client par proc avec un bout de fichier de conf à décommenter + une instance ZEO server.
je profite de ta présence sur cette page pour te poser des questions qui sont susceptibles d'intéresser du monde ici.
Supposons que je développe un applicatif web (en zope, php, ...). Que dois-je faire pour qu'elle puisse utiliser authentic ? En particulier :
- je suppose que je dois rediriger la page de login vers le serveur authentic et ensuite modifier mon code d'authentification pour récupérer un certains token (header HTTP, cookie ?) de la part du client pour le reconnaitre. Dois-je utiliser un bindings vers la lib lasso (au hasard python-lasso) pour décoder ce token et verifier qu'il est valide au près d'authentic ?
- supposons maintenant que mon appli ait un composant webmail qui attaque un serveur IMAP (+ SMTP) :
- existe-t-il des serveurs IMAP (et SMTP) qui savent interoperer avec authentic pour reconnaitre leurs utilisateurs ?
- que dois-je faire pour que mon webmail transfere le token d'authentification à son backend IMAP/SMTP pour que mes utilisateurs n'aient pas besoin de resaisir un login/mot de passe ?
- enfin : quelles sont les applis libres fares qui supportent nativement une authentification des utilisateurs via authentic ?
--
Bon finalement, j'ai trouvé la page http://authentic.labs.libre-entreprise.org/doc/fr/authentic-(...)
qui repond en parti à ces questions. Mais je suppose que c'est cas d'utilisations interesseront d'autres devs qui frequente ce site donc je poste quand meme ce commentaire :)
Je comprends pas le rapport entre freenet (réseau sur un réseau où toute action est anonyme) et un service de SSO qui permet de partager le même service d'authentification entre plusieurs applis.
Les deux fournissent des services intéressants mais qui n'ont rien à voir.
[^] # Re: Je m'en fout
Posté par Olivier Grisel (site web personnel) . En réponse au journal Sauvez le monde, lisez ce livre !. Évalué à 7.
Ce bouquin est vraiment une lecture utile qui remet bien des idées en place.
[^] # Re: la réalité te rattraperas
Posté par Olivier Grisel (site web personnel) . En réponse au journal Energies renouvelables. Évalué à 2.
http://www.princeton.edu/hubbert/current-events-06-02.html
A votre avis quand l'OPEP refuse d'augmenter sa production même sous la pression du G8 c'est qu'ils ne peuvent plus l'augmenter ?
# Une question de point de vue
Posté par Olivier Grisel (site web personnel) . En réponse au journal Le recrutement libre vu de l'autre coté (Coup de geule Lolix). Évalué à 3.
Et puis tu peux toujours poster un journal sur linuxfr.org avec ton annonce car on est pas obligé d'y parler de Linux et des LL :)
[^] # Re: EvoGrid
Posté par Olivier Grisel (site web personnel) . En réponse au journal Optimisez avec Open Metaheuristics 0.2.4. Évalué à 1.
Concernant une integration avec oMetah, j'y jetterai un coup d'oeil des que j'aurais un peu de temps.
[^] # Re: EvoGrid
Posté par Olivier Grisel (site web personnel) . En réponse au journal Optimisez avec Open Metaheuristics 0.2.4. Évalué à 2.
J'aime beaucoup l'approche interface / composants de Zope3 et c'est pour ca que je developpe un nouveau framework basé sur ce paradigme. Il devrait permettre plus de souplesse pour se brancher sur d'autre composant et imaginer des architectures complexe de parallisations (grid computing ...).
En plus programmer avec les doctests est un vrai plaisir.
# EvoGrid
Posté par Olivier Grisel (site web personnel) . En réponse au journal Optimisez avec Open Metaheuristics 0.2.4. Évalué à 3.
Voici la documentation générée à partir des doctests :
README
http://champiland.homelinux.net/evogrid/code/evogrid.og.main(...)
Overview des principaux composants (mini tutoriel):
http://champiland.homelinux.net/evogrid/code/evogrid.og.main(...)
Implémentation d'une stratégie de "sharing" pour eviter les convergence prématurée:
http://champiland.homelinux.net/evogrid/code/evogrid.og.main(...)
Sytème d'archivage des elites :
http://champiland.homelinux.net/evogrid/code/evogrid.og.main(...)
Le reste :
http://champiland.homelinux.net/evogrid/code/evogrid.og.main(...)
Mon repository bzr:
http://champiland.homelinux.net/evogrid/code/evogrid.og.main
C'est encore très pas fini et donc les interfaces sont susceptible de changer. Pas encore de relase packagée. Si vous voulez jouer avec le code, faut utiliser bzr (ou un wget recursif :).
Ce qui est fait:
- définition des interfaces
- implémentation de composants indépendants de la représentation /du problème à optimiser:
- pools de replicateurs (simple, ordonné, pool virtuel (union dynamique de pools))
(non persitents pour l'instant
- comparateurs (simple ou sharing aware)
- selectors (random, tournamenent
- replacers (random et tournamenent, generationel ou steady state)
- checkpointers (time-based, compteurs, quality based, ...)
- archives d'elites
- evolvers pour organiser tout ca : simple, composé avec exécution séquentielle (nested evolvers) pour simuler une éxecution en //
Reste a faire:
- réprésentations standards (vecteurs de bits, de réels avec numarry par exemple)
- comparateur implémentant une logique de dominance à la Pareto pour implémenter des optimizations multi-critéres
- opérateurs de variations lamarckiens (tabu search par exemple)
- evolvers // (en utilisant coroutines, thread et forks + communication reseau)
- memoizer pour les evaluators et les distance des sharing avec interface memcached
- plein d'autres choses que j'ai oubliées
# Completion automatique
Posté par Olivier Grisel (site web personnel) . En réponse à la dépêche Chasse aux bugs ouverte pour Vim 7.0. Évalué à 2.
Pour les autres nouveautés :
:help version7
[^] # Re: ce qu'il y a de nouveau dans vim7
Posté par Olivier Grisel (site web personnel) . En réponse au journal Vim 7.0b BETA. Évalué à 2.
Bon c'est pas encore tout a fait au point, j'ai des erreurs assez vite des que le programme n'est pas trivial mais c'est tres prometteur pour la suite.
[^] # RTFM
Posté par Olivier Grisel (site web personnel) . En réponse au journal Vim 7.0b BETA. Évalué à 2.
:help version7
On y a apprend entre autre que pour faire lancer la completion intelligente (dans un fichier python, XML, C, java, ...) il faut tapper en mode insertion :
CTRL-X CTRL-O
et ca marche de base ! pas besoin de plugin.
Mes collegues sous emacs vont faire une de ces tronches demain quand je vais leur montrer ca :o)
[^] # Re: ce qu'il y a de nouveau dans vim7
Posté par Olivier Grisel (site web personnel) . En réponse au journal Vim 7.0b BETA. Évalué à 1.
Est-ce que quelqu'un sait comment faire ca ?
[^] # Re: je sais "pas de ligne de commande" ...
Posté par Olivier Grisel (site web personnel) . En réponse au journal Coup de gueule contre les clients FTP sous Linux !!!. Évalué à 6.
Sinon, encore mieux scp ca marche bien aussi (avec un "ssh-add" avant et une paire de clefs + un bash ou zsh qui complete avec tab et des aliases dans ton .ssh/configure). Bon d'accord faut un serveur ssh à l'autre bout.
Ca fait peut etre geek mais c'est pas si compliqué et terriblement efficace.
Et pour synchroniser des gros volumes, rsync y'a pas plus efficace sur terre (et ca marche avec des les memes clefs ssh :)
Sur ce, je sais j'ai répondu à côté de la question mais il faut vraiment faire l'effort d'essayer. Au moins une fois. Comme ca juste pour voir.
[^] # Re: Pas du linux, mais tant pis, j'en parle
Posté par Olivier Grisel (site web personnel) . En réponse à la dépêche Revue de Presse - Mars 2006. Évalué à 4.
http://programmation-python.org/
Par contre celui de Swinnen est mieux pour des débutants en programmation.
[^] # Re: lxml 0.9 est chez le marchand de fromage
Posté par Olivier Grisel (site web personnel) . En réponse au journal lxml 0.9 - traitements XML en python. Évalué à 2.
explicit is better than implicit
Du reste, merci pour le compliment, ca fait toujours plaisir :)
# Bonne idée
Posté par Olivier Grisel (site web personnel) . En réponse au journal C2i : l'enfant terrible de l'informatique. Évalué à 2.
Ajouter des images (photos dispos sur wiki commons par exemple) ca permet d'aérer la lecture et de maintenir le lecteur éveillé et intéressé.
Sinon, rien a dire de plus que les autres.
[^] # Re: figé
Posté par Olivier Grisel (site web personnel) . En réponse au journal Sortie de Firefox 1.5.0.1. Évalué à 2.
A propos des onglets FF, j'ai decouvert une extension super : "reveal". Ca ressemble à Foxposé (affichage de vignette pour chaque onglet) en plus cool avec la possibilité faire des drag and drop et recherche textuelle multitabs. Quand on installe l'extension et qu'on redemarre FF, on a droit a un petit tutoriel interactif :
http://aluminum.sourmilk.net/reveal/
et le guide :
http://aluminum.sourmilk.net/reveal/guide.html
[^] # Re: Ils respectent leurs promesses
Posté par Olivier Grisel (site web personnel) . En réponse au journal Google Talk vers Jabber. Évalué à 5.
Mais bon, evitons les procès d'intention ...
[^] # Re: map, zip, reduce
Posté par Olivier Grisel (site web personnel) . En réponse au journal map() est mort ! longue vie à imap() !. Évalué à 7.
A propos des iterateurs, les expressions génératrices sont une manières très élégante de faire de la programmation fonctionnelle en python :
(f(x) for x in l) est équivalent à [f(x) for x in l] mais retourne un générateur (avec évalutation retardée) ce qui évite de construire toute une liste chargée en mémoire même si seul les premiers éléments ne sont utilisés. imap fait l'opération correspondante pour la fonction map.
Donc contrairement à toi je trouve que python évolue dans la bonne direction : on peut faire de la programmation (pseudo-)fonctionnelle efficace en python.
Et pour ceux qui aiment OCaml et ses functors (et les autres aussi :), on peut retrouver ce type de feelings en python avec la Zope Component Architecture :
http://griddlenoise.blogspot.com/2005/12/zope-component-arch(...)
Il n'y a pas besoin de tout Zope3, seuls les deux modules zope.interface et zope.component sont à ajouter dans son python path. Ca fait du code modulaire et vraiment réutilisable :)
[^] # Re: Paquets pour Ubuntu
Posté par Olivier Grisel (site web personnel) . En réponse à la dépêche OpenOffice.org 2.0.1 est disponible. Évalué à 1.
[^] # Re: Comme quoi...
Posté par Olivier Grisel (site web personnel) . En réponse au journal Emacs ma tuer. Évalué à 2.
[^] # Re: Génial!
Posté par Olivier Grisel (site web personnel) . En réponse à la dépêche Avancées importantes dans le support de la voix sous Jabber/XMPP. Évalué à 4.
[^] # Re: Ruby, c'est cool
Posté par Olivier Grisel (site web personnel) . En réponse à la dépêche Ruby on rails 1.0 est sorti. Évalué à 0.
[^] # Re: Liberty ?
Posté par Olivier Grisel (site web personnel) . En réponse à la dépêche Sortie d'Authentic 0.5. Évalué à 3.
je profite de ta présence sur cette page pour te poser des questions qui sont susceptibles d'intéresser du monde ici.
Supposons que je développe un applicatif web (en zope, php, ...). Que dois-je faire pour qu'elle puisse utiliser authentic ? En particulier :
- je suppose que je dois rediriger la page de login vers le serveur authentic et ensuite modifier mon code d'authentification pour récupérer un certains token (header HTTP, cookie ?) de la part du client pour le reconnaitre. Dois-je utiliser un bindings vers la lib lasso (au hasard python-lasso) pour décoder ce token et verifier qu'il est valide au près d'authentic ?
- supposons maintenant que mon appli ait un composant webmail qui attaque un serveur IMAP (+ SMTP) :
- existe-t-il des serveurs IMAP (et SMTP) qui savent interoperer avec authentic pour reconnaitre leurs utilisateurs ?
- que dois-je faire pour que mon webmail transfere le token d'authentification à son backend IMAP/SMTP pour que mes utilisateurs n'aient pas besoin de resaisir un login/mot de passe ?
- enfin : quelles sont les applis libres fares qui supportent nativement une authentification des utilisateurs via authentic ?
--
Bon finalement, j'ai trouvé la page http://authentic.labs.libre-entreprise.org/doc/fr/authentic-(...)
qui repond en parti à ces questions. Mais je suppose que c'est cas d'utilisations interesseront d'autres devs qui frequente ce site donc je poste quand meme ce commentaire :)
[^] # Re: Liberty ?
Posté par Olivier Grisel (site web personnel) . En réponse à la dépêche Sortie d'Authentic 0.5. Évalué à 10.
Les deux fournissent des services intéressants mais qui n'ont rien à voir.
[^] # Re: 2+
Posté par Olivier Grisel (site web personnel) . En réponse à la dépêche Interview de Damien Sandras (GnomeMeeting). Évalué à 2.
http://nawer.freecontrib.org/index.php?2005/12/03/151-la-vid(...)
Y a même un .deb qui marche sous ubuntu breezy / i386 :
http://www.wengofiles.teaser-hosting.com/wengophone/rc/wengo(...)
Ca marche plutot bien mais c'est du Qt qui s'integre pas top à un bureau gnome. Ca crashouille de temps en temps mais les dev ont l'air actifs :
http://dev.openwengo.com/trac/openwengo/trac.cgi/timeline
Vivement la version XUL/Firefox de DI, ca permettra une plus large diffusion du protocole SIP pour la vidéo chez nos amis les windowsiens.
[^] # Re: Python en close-sources ?
Posté par Olivier Grisel (site web personnel) . En réponse au journal Stage en python / Qt. Évalué à 2.