Le disque dur a fini par péter complètement.
Heureusement j'avais des sauvegardes, mais il m'a quand même fallu un mois pour me motiver à tout remonter.
Voili voilà, tout remarche. Jusqu'à la prochaine panne.
Aller au contenu | Aller au menu | Aller à la recherche
dimanche, décembre 13 2009
Par Fifokaswiti le dimanche, décembre 13 2009, 18:25
Le disque dur a fini par péter complètement.
Heureusement j'avais des sauvegardes, mais il m'a quand même fallu un mois pour me motiver à tout remonter.
Voili voilà, tout remarche. Jusqu'à la prochaine panne.
mercredi, novembre 11 2009
Par Fifokaswiti le mercredi, novembre 11 2009, 17:38
Tiens au fait.
Si vous êtes un vieux schnock pour qui un jeu vidéo est un truc tout pixellisé dans lequel Guybrush Threepwood parcourt l'île de Mêlée pour apprendre de nouvelles insultes (you fight like a cow!), vous serez sans doute intéressés par Tales of Monkey Island de Telltale Games, qui a repris non seulement une grosse partie de l'équipe de la grande époque LucasArts (Mike Stemmle, Dave Grossman, Michael Land...) mais également la licence, et en a fait une série en cinq épisodes[1].
Le principe est le même que pour une série télé (une histoire, n épisodes relativement courts avec chacun un début, un milieu et une fin), avec un épisode par mois... Et c'est du bon ! Je viens de finir l'épisode 4, et on sent bien que le prochain est le dernier de la saison. Pour l'instant l'ambiance et l'humour con sont bien conservés, globalement le système de jeu est pas mal (même si je n'aime pas utiliser le clavier pour déplacer Guybrush) et, ben, c'est juste génial.
A 35$US, ça fait quelque chose comme 23 € pour toute la saison, donc un tarif très doux : si comme moi vous avez un souvenir ému de la première fois où vous avez inséré un coton-tige géant dans l'oreille d'une statue de singe, ou si vous déclamez "Le bonheur est un lamantin chaud" à tout bout de champ, il serait idiot de ne pas profiter de l'occasion. Ne serait-ce que parce que le pirate LeChuck, que l'on a connu fantôme, zombie et démon, est ici... Humain !
(Ah et ça tourne parfaitement sur mon PC ultra bas de gamme d'il y a deux ans. Rien à craindre de ce côté-là...)
[1] Dont quatre sont sortis à ce jour.
Par Fifokaswiti le mercredi, novembre 11 2009, 12:16
Les sites lepcf.org, daelf.fr et fifokaswiti.info ont été inaccessibles entre environ 22h hier soir et 12h aujourd'hui. Essentiellement, une erreur sur le disque dur (relativement vite corrigée une fois que le problème est apparu.)
Un jour quand je serai célèbre et surtout riche, je prendrai une dedibox ou autre système dédié du même type. En attendant, la fiabilité des sites et surtout de Lazare, le serveur, est au mieux aléatoire. Au moins, ce coup-ci, il a eu le bon goût de planter un jour férié, où j'ai pu le réparer facilement ;-)
vendredi, septembre 11 2009
Par Fifokaswiti le vendredi, septembre 11 2009, 17:33
Enfin, réhabilité... C'est en Angleterre, un pays où le Premier Ministre[1] ne peut pas aisément gracier un condamné, même à titre posthume. Il peut, par contre, présenter des excuses officielles au nom du Royaume-Uni. Et c'est ce qui vient de se passer, comme décrit sur le site de la BBC.
Bref.
Alan Turing est un peu une sorte de héros pour les informaticiens[2]. En réalité, c'était un mathématicien génial, connu pour avoir décrypté le code Enigma utilisé par les Allemands pendant la seconde guerre mondiale, et pour avoir contribué à (ce qui ne s'appelait pas encore) la théorie de l'information[3] et surtout pour avoir posé les bases théoriques et pratiques de l'informatique moderne. On reconnaît par exemple la "machine de Turing" (une construction de l'esprit qui préfigure l'informatique, sur lesquels tout algorithme peut être implémenté), les langages "Turing-complets" (qui permettent de simuler une machine de Turing), et bien sûr le "test de Turing" qui est l'un des critères les plus classiques pour évaluer une intelligence artificielle.
Le problème, c'est que le monsieur était homosexuel, à une époque où c'était un crime. Il fut donc condamné en 1952 pour "indécence manifeste" ; son habilitation à travailler sur des sujets confidentiels défense lui fut retiré ; il fut castré chimiquement (pour éviter qu'il ne retourne pervertir d'autres hommes...) Ne pouvant supporter l'humiliation, surtout professionnelle, il s'est suicidé en 1954.
Tout ça pour dire que c'est plutôt une bonne chose. Les gens à l'origine de la pétition[4] à l'origine de sa réhabilitation demandent maintenant qu'il soit nommé chevalier à titre posthume. On ne peut que leur souhaiter autant de succès.
[1] Un Écossais, d'ailleurs, à l'heure actuelle.
[2] Et de là, un des héros de Cryptonomicon de Neal Stephenson, bouquin geek par excellence.
[3] En toute rigueur, la théorie de l'information en tant que branche des mathématiques « date » d'un article de Claude Shannon paru en 1948. Les travaux de Turing sur Enigma y ont contribué un certain nombre de concepts.
[4] Déposée, comme il se doit pour l'un des inventeurs de l'informatique, sur le site web du Premier Ministre britannique.
mercredi, septembre 9 2009
Par Fifokaswiti le mercredi, septembre 9 2009, 11:55
Tout à l'heure j'ai bidouillé mon détecteur de répétitions, pour en améliorer la détection de gravité.
Initialement, ça regardait le nombre d'instances d'une répétition divisé par l'écart-type de leurs distances de proche en proche, le tout écrété à 1.0 pour pouvoir faire des traitements simples dessus. Ce n'est pas bête, en gros plus on répète un terme de façon "en moyenne" proche, plus la répétition est grave.
J'avais pris un écart-type plutôt qu'une moyenne pour diminuer l'importance des points éloignés : si je dis "quelque chose bla bla quelque chose longtemps je me suis levé de bonne heure et c'était une bonne chose", la répétition "chose" contient trois occurrences dont deux très rapprochées et une assez lointaine : l'écart-type est plus petit que la moyenne et donc la répétition est plus grave.
Il y a trois problèmes avec cette fonction :
Si on utilise le minimum des distances plutôt que l'écart-type, on résoud le deuxième problème mais on accentue le troisième : dans mon exemple de tout à l'heure, les deux répétitions sur "quelque" et "chose" sont jugées extrêmement graves (à 1.0) et identiques, alors que celle sur "chose" est plus grave que celle sur "quelque".
Après quelques tâtonnements, je suis arrivé à : log15(20*(nombre/min(distance)) + 1)/2 en écrétant à 0 et à 1. C'est nettement mieux, mais je suis sûr qu'il y a moyen d'aller encore plus loin.
Ah, et j'ai changé l'algorithme de coloriage. Là où ça faisait bleu > vert > rouge, maintenant ça fait vert > jaune-orange > rouge. L'intensité du jaune / orange est la clé de la catégorie médiane (en gros, plus c'est orange "mûr" plus c'est grave).
Comme toujours l'application est accessible ici : http://fifokaswiti.info/pleo/pleo.p... et le code source, là : http://fifokaswiti.info/pleo.py.
mercredi, février 25 2009
Par Fifokaswiti le mercredi, février 25 2009, 06:04
A en croire les recherches qui amènent sur ce blog, je devrais le renommer "répétitions et écrevisses".
Félicitations quand même à ceux qui sont venus via Dzhalagash et "gonades de gallinacées". Fallait le faire...
mercredi, février 18 2009
Par Fifokaswiti le mercredi, février 18 2009, 18:37
Ça m'énerve de voir des articles comme celui-ci : Une bibliothèque dans sa poche.
Au final, on n'apprend rien, mais alors rien du tout sur le livre électronique, sur la disponibilité des livres, leur tarif, les restrictions d'utilisation (aka Mesures techniques de protection, aka Digital rights management, aka grosses merdes qui limitent sévèrement la durée de vie du livre numérique). Tout juste sait-on que Hachette a sélectionné 2000 titres pour les mettre sur le site Fnac.com, ou que l'on peut lire "de la littérature générale" sur un Cybook. La belle affaire ! Voilà qui va me décider à adopter un engin pareil !
De même, pas un mot sur les usages que l'on peut en avoir, sur les avantages que ça a par rapport à un livre papier, sur les impacts sur le modèle économique de la filière culturelle, etc.
Franchement, un tel torchon griffouillé en un coin de table en un quart d'heure, ça ne mérite pas publication dans le quotidien national de référence.
dimanche, février 8 2009
Par Fifokaswiti le dimanche, février 8 2009, 18:29
J'avais dit que je le ferais, c'est fait.
Je viens de faire l'implémentation du truc dont j'ai parlé. Il y a donc un système pour détecter automatiquement les répétitions dans un texte français[1].
C'est affreusement moche (car je n'ai pas vraiment cherché à faire de l'IHM), mais au moins ça prouve la correction de l'algorithme.
En tout premier lieu, le lien : c'est à http://fifokaswiti.info/pleo/pleo.py.
Mode d'emploi : copiez-collez votre texte dans la boîte, et cliquez sur le bouton. Vous pouvez aussi entrer un seuil de non-détection (explication plus bas).
Dans les résultats, vous avez :
Quelques remarques sur le surlignage : celui-ci se fait en fonction du degré de "gravité" de la répétition : un mot répété tous les 3 mots sera vu comme une répétition "grave"[2], alors que dire "table" à 500 mots d'écart n'est pas aussi grave. Globalement, la gravité est fonction du rapprochement des occurrences du radical en question (le principe est expliqué en détail dans mon billet "théorique" précédent). Le surlignage se fait en fonction de cette gravité, selon l'échelle suivante :
Une fois la couleur choisie, l'intensité du surlignage est fonction de la gravité. On a donc : rouge vif > rouge clair > vert vif > vert clair > bleu vif > bleu clair.
Les noms propres sont écrits en rouge. Euh... Enfin, il y a quelques bugs dans le rendu (typiquement, s'il y a un point ou un retour chariot ou un truc comme ça "à côté" d'un nom propre, il n'est pas colorié). Mais croyez-moi sur parole, le nom propre même non colorié est pris en compte dans l'analyse.
Enfin, le seuil de non-détection : c'est simplement qu'au-delà d'une certaine distance, on considère qu'il n'y a plus de répétition. Par exemple, si j'écris "sousaphone" à la première et à la dernière page de mon roman de 250 000 signes, ce n'est pas une répétition. Le seuil de non-détection est en nombre de mots.
Derniers points sur l'analyse :
Si vous vous y intéressez, vous pouvez télécharger le code source. C'est du Python, c'est très sale (je n'ai pas pris le temps de faire une jolie librairie et tout et tout : je voulais surtout voir si mon algorithme donnait des résultats corrects). Faites-en ce que vous voulez.
PS -- mon serveur n'est pas très vaillant. J'apprécierais que vous ne le martèliez pas trop. Bon, je lui ai balancé le premier tome entier des Misérables et il n'a pas trop bronché, donc ça devrait aller, mais si je vois que je me prends des dizaines d'analyses de texte par heure, je couperai le script. Sinon, soyez tolérants sur la lenteur, c'est vraiment une vieille bécane qui fait tourner tout ça.
Edit : je suis pas très satisfait du codage couleur. J'ai remplacé la moyenne par l'écart-type, mais c'est à peine mieux. Peut-être qu'avec un min ce sera mieux...
dimanche, décembre 7 2008
Par Fifokaswiti le dimanche, décembre 7 2008, 11:55
J'ai fini par écrire le programme, c'est en ligne à cette adresse : http://fifokaswiti.info/pleo/pleo.py.
Pour le mode d'emploi, c'est ici.
Vous me direz, "utilise Repetition Detector". Mouais, sauf que je ne suis pas sous Windows, et que je ne suis pas toujours sur le même poste, d'où le fait que j'envisage de faire un outil en ligne ; et puis, c'est intéressant comme problème.
L'objectif : dans un texte (par exemple, une nouvelle, ou un extrait de roman), détecter les répétitions disgrâcieuses. Si possible sans compter les mots "creux" (de, à, le, la, les verbes avoir et être, etc.) et les noms propres. Prendre en compte la distance entre deux occurrence d'un même mot (utiliser "abracadabrantesque" deux fois dans la même phrase est laid, l'utiliser à 30 000 signes de distance ne l'est pas) ainsi que la fréquence d'un mot (si un mot sur dix dans le texte est "pianoforte", c'est qu'il y a un problème.) Afficher tout ça en surlignant les mots problématiques d'une couleur plus ou moins rouge en fonction de la gravité de la faute ; en option, mettre un lien vers un dictionnaire de synonymes à la bonne page.
Comment faire tout ça ? Comme toujours en informatique, il faut isoler les étapes.
En gros, virer tous les retours à la ligne, tirets (mais pas les traits d'union a priori), espaces multiples, etc., histoire de rendre le texte plus facile à interpréter.
Est un nom propre tout mot :
Cette liste est consitutée, puis mise de côté pour la suite.
Pour chaque mot (un mot = une suite de caractères séparés par des espaces ou signes de ponctuation), appliquer le traitement :
L'idée est de constituer un index inversé : pour chaque radical, on a les positions où il intervient dans le texte.
Par exemple, pour le texte suivant :
Son génie est empreint tout entier dans ses lettres écrites durant les campagnes d'Italie et d'Égypte: les lettres se succédaient chaque jour, sa pensée était partout. Sa correspondance durant le consulat n'a pas été moins active; nous y avons réuni les notes qu'il faisait alors insérer dans les journaux, et que plusieurs guides sûrs nous ont fait connaître.
(extrait des Œuvres de Napoléon Bonaparte, tiré du Projet Gutenberg.)
L'index à constituer est le suivant :
Pour chaque radical, on peut déterminer la fréquence dans le texte (nombre d'occurrences / nombre de radicaux non creux). De même, on peut déterminer une mesure de la richesse du vocabulaire (nombre de radicaux différents / nombre total de radicaux). On peut aussi trier ça pour déterminer les radicaux les plus souvent utilisés, etc.
Pour chaque radical enfin, et c'est là le plus intéressant, on peut déterminer les distances entre occurrences, c'est-à-dire constituer une nouvelle liste regroupant les distances deux à deux des occurrences des radicaux, et les positions correspondantes. Dans notre exemple, cette liste ne contient qu'un seul élément :
Si le mot lettre était également présent aux positions 25 et 40, on aurait :
Attention : l'astuce ici est de considérer les répétition deux à deux, en éliminant les distances trop importantes (supérieures à 100 ou 200 mots par exemple ; ce n'est pas une faute de style que de mentionner le mot "pianocktail" à 2 pages d'écart). Dans ce cas, on clôt l'entrée et on en recrée une, de manière à avoir, par exemple :
On met en place l'heuristique de gravité suivante : une répétition est d'autant plus grave qu'elle est répétée en peu de mots. Mis en chiffre, c'est le nombre d'occurrences divisée par la distance moyenne de deux couples.
Une fois l'heuristique calculée, on peut se débarrasser des distances et des couples, qui ne sont plus nécessaires. On a donc une liste de répétitions composée de triplets (radical, occurrences, indice de gravité).
Ici on a donc :
Y'a plus qu'à afficher le texte original ; pour chaque mot on regarde s'il correspond à une entrée dans la liste des répétitions (on peut re-inverser l'index pour faire ça), si oui on le surligne dans une couleur déterminée en fonction de l'indice de gravité. Pour faire bien, on peut le pointer vers des dictionnaires de synonymes en ligne, etc., mais ça c'est du gadget.
...
Voilà, y'a plus qu'à le faire pour de vrai, histoire de voir si l'algo est correct. J'ai un peu la flemme, mais j'ai des chances de m'y mettre un jour. Ce sera vraisemblablement en Java ou dérivé (Groovy ou Scala, qui me paraissent plus adaptés à cela), parce que c'est ce que je sais faire de mieux.
mercredi, novembre 5 2008
Par Fifokaswiti le mercredi, novembre 5 2008, 14:44
Tiens, au fait. Comme le mois d'octobre vient de s'achever, on a eu une nouvelle version d'Ubuntu, la 8.10 (2008, Octobre. Les numéros de version d'Ubuntu sont faciles...) Donc je l'ai installée.
Ben, pour le moment je vois pas de grosse différence, en dehors de la satisfaction d'avoir plein de trucs à jour.
samedi, septembre 13 2008
Par Fifokaswiti le samedi, septembre 13 2008, 16:54
J'ai compris l'une des raisons pour lesquelles Vista m'agace tant.
C'est qu'il méprise l'utilisateur, et se croit à même de décider pour lui, par exemple, s'il faut mettre à jour le système. Du coup, quand je démarre Vista (ce qui est rare), le disque gratte pendant une demi-heure pendant qu'il télécharge...
Ubuntu se contente de mettre une petite icône dans la barre de notification pour me dire qu'il y a des mises à jour, suite à quoi il me dit quoi (et de façon plus explicite que "mise à jour critique de sécurité numéro 1HI2J978279" : il liste en fait les paquets mis à jour, par exemple "rythmbox, alsa-audio, epiphany-browser". Faut décrypter, mais au moins c'est possible).
Bref.
Les puristes me diront que l'on peut désactiver le téléchargement automatique des mises à jour de Windows, ce que je viens de faire ; mais on ne m'ôtera pas de l'idée que décider que par défaut, les utilisateurs sont des cons, est une approche profondément insultante[1].
[1] et ce, même si elle est in fine correcte.
mercredi, septembre 10 2008
Par Fifokaswiti le mercredi, septembre 10 2008, 19:42
Spring 2.0 et 2.5, c'est chouette.
Déjà parce que c'est beaucoup plus concis (surtout avec le 2.5 et les @Autowired, certes, mais les namespaces dans le XML, apparus dans le 2.0, ont déjà beaucoup aidé.)
Mais aussi parce que l'intégration de langages de scripts est enfin réellement efficace. Maintenant, on peut déclarer qu'un bean est en Groovy presque de la même façon qu'un bean Java.
Déclaration d'un bean Java :
<bean id="monbean" class="info.fifokaswiti.application.ClasseDeBeanEnJava"> <property name="param" ref="monautrebean"/> </bean>
Déclaration d'un bean Groovy :
<lang:groovy id="monbean" script-source="classpath:info/fifokaswiti/application/ScriptGroovy.groovy">
<lang:property name="param" ref="monautrebean"/>
</lang:groovy>
Un truc bien, avec les scripts, c'est que ça se relit (et se réinterprète) à la volée, sans recompilation... Ou presque, ici il faut dire à Spring à quelle fréquence il faut qu'il vérifie, avec l'attribut refresh-check-delay sur le lang:groovy. Du coup, on édite le script, on attend 5 secondes (si on a dit refresh-check-delay="5000"), et on réessaye. C'est un peu plus rapide que les éternels cycles compile-deploie-redémarre.
Bon.
Ce soir, je me suis retrouvé à 18h passés à devoir faire un truc depuis le matin, que je n'ai pas pu faire parce que j'ai couru partout. Eh ben grâce à tout ça, j'ai pu faire un DAO qui invoque un service REST et parse le XML résultant en quelques lignes de code (Groovy rules pour ce genre de choses), et l'intégrer comme s'il s'agissait d'un composant standard dans mon appli. Et du coup, je suis rentré à une heure décente ce soir. La joie.
PS : Pour ceux que ça intéresse (y'en a ?), le Groovy pour appeler le REST et parser le XML ressemble à ça :
client = new HttpClient()
get = new GetMethod(url)
get.setRequestHeader("Accept", "text/xml")
client.executeMethod(get)
res = []
new XmlParser().parseText(get.getResponseBodyAsString().toString()).each { res << new MaClassMetier(id: Integer.parseInt(it.'@id'), name: it.'@name', description: it.description.text()) }
return res
J'ai pas le code sous les yeux (la flemme de démarrer le portable du boulot), mais c'est l'idée.
dimanche, septembre 7 2008
Par Fifokaswiti le dimanche, septembre 7 2008, 13:54
A la demande d'un ami à moi, j'ai jeté un œil à l'API PHP pour accéder à une galerie Picasa depuis un site web quelconque.
Le principe est assez simple : vous avez une galerie Picasa Web (parce que Picasa est plutôt sympathique pour gérer et trier ses photos, sans compter que Picasa offre pas mal d'espace disque gratuitement), mais vous souhaitez avoir une présentation "à vous" de la galerie, plutôt que de passer par le très anonyme site de Picasa Web. Cela est possible parce que Google met à disposition pas mal de moyens d'accès programmatiques, relativement simples en plus.
Le hic, c'est que la doc est assez fruste (côté PHP en tout cas...), et qu'il faut déjà bien connaître les pratiques habituelles dans ce domaine pour faire le travail.
Donc, je l'ai fait. Si ça vous intéresse d'aller voir le résultat, vous pouvez le télécharger ici.
Attention :
Tout ça est expliqué en détail dans le README.
mardi, septembre 2 2008
Par Fifokaswiti le mardi, septembre 2 2008, 20:55
Voilà.
La rumeur datait de pas mal de temps : Google allait sortir un navigateur ! Le GBrowser, probablement sur base Gecko, serait une nouvelle démonstration de la volonté hégémonique de Google sur l'utilisateur, etc., etc.
On n'y croyait plus.
Et puis, ce matin, vlatypa que Google publie une BD de Scott McCloud qui explique les tenants et les aboutissants de Google Chrome, le nouveau navigateur internet. Sur base de WebKit, parce que c'est le nouveau moteur HTML à la mode (même Epiphany, le navigateur officiel de Gnome, s'y met. C'est dire.)
Bon.
Et alors ?
Ben, j'ai pu l'installer. Je suis en train de jouer avec.
En première approche, c'est loin d'Opera. Pas de content blocker (filtre anti-pub), pas a priori de raccourcis claviers aussi sexy (genre "Z" pour retourner à la page précédente), pas de mouse gestures (raccourcis à la souris, du genre clic gauche + clic droit pour Précédent, clic droit + haut + bas pour recharger...), pas de poubelle pour récupérer les pages supprimées par erreur, pas de ctrl-b pour coller dans la barre d'adresse.
Je constate quand même que la fonction "dupliquer" (ctrl-alt-shift-n sous Opera), qui permet de créer une copie de l'onglet actuel (avec l'historique de navigation, sinon ce ne serait pas drôle !), est là, mais sans raccourci clavier.
Sinon, pas mal de choses sont là : la barre d'onglets au-dessus de la barre d'URL, recherche dans l'historique (y compris le contenu des pages, ce que Firefox ne fait pas), Speed Dial (mais automatique, en fonction des pages les plus visitées par les utilisateurs), etc.
Chrome est rapide. Très. Sensiblement plus qu'Opera, qui était déjà sensiblement plus rapide que la terre entière. Evidemment, il a été optimisé pour les applications Google (GMail, Google Docs, Google Maps, etc.) Et ça se voit. Rien que pour ça, je risque de l'utiliser : GMail est beaucoup plus rapide avec Chrome qu'avec Opera (et Firefox... bah, mieux vaut ne pas parler de Firefox. On parle de navigateurs rapides, après tout.)
Par rapport à Firefox, y'a pas photo. Et IE... Bah... Ai-je besoin de parler d'IE ?[1]
[2]
Bref.
En tant que bête développeur, le truc qui m'intéresse le plus, évidemment, c'est l'intégration de Gears. Parce que ça ouvre pas mal le champ des possibles, même si je ne suis pas encore certain de comment. A priori, la principale appli web que je souhaiterais avoir en offline est Google Calendar, mais celui-ci n'est pas (encore ?) gearifié, si vous me passez l'expression.
En tant qu'utilisateur, ça me paraît très intéressant. Faut rajouter quelques fonctions d'IHM à la Opera (y'en a, mais pas assez pour que je m'y retrouve) avant que je puisse considérer sérieusement l'utiliser plus de dix minutes, mais globalement, c'est plutôt pas mal.
Au passage, du coup, sur mon PC, j'ai :
(Et sans doute Midori, Links, et peut-être même Konqueror, m'enfin je les ai peut-être désinstallés, et là, comme je suis sous Windows pour jouer avec Chrome et que j'ai la flemme de rebooter, bah je les compte pas vraiment.)
Soit un beau paquet de navigateurs. Je dois être un geek, au fond.
PS - J'ai failli oublier, mais Chrome inclut de base des outils pour développeurs qui permettent d'inspecter le modèle DOM de la page. On ne peut pas encore le modifier (comme dans Firebug ou peut-être Dragonfly[3])
Hop, une photo de Chrome avec sa popup d'inspection :
[1] En fait, j'espère que non, parce que je l'ouvre une fois tous les 36 du mois dans des buts de test. Et c'est tout. Du coup, je peux dire sans honte que je ne connais pas IE, au fond.
[2] Oui, j'utilise Opera et je joue à NWN. C'est à peu près la seule chose que je fais sous Windows, car je hais et je méprise Vista.
[3] En fait, je n'utilise pas vraiment Dragonfly parce qu'il ralentit de trop Opera. Firefox est mon environnement de développement / test ; Opera est mon environnement de travail : mail, applis web pour le boulot, etc.