Ta situation n’est pas une situation de tous les jours, et tu seras de toute manière forcé de faire du développement spécifique. À partir de là, tu peux parfaitement faire tout ton système intermédiaire en XML et sortir la conf validée dans un autre format. L’avantage ? Les 2% d’utilisateurs qui ont besoins de choses compliquées utilisent un format compliqué sans embêter les autres qui préfèrent garder quelque chose de simple.
~ 12:31 chromium
[14845:14845:178811833617:ERROR:chrome/browser/zygote_main_linux.cc(522)] Failed to read from chroot pipe: 20
[14845:14845:178811833774:FATAL:chrome/browser/zygote_main_linux.cc(613)] Failed to enter sandbox. Fail safe abort. (errno: 20)
Super, il plante lamentablement avec libetc. Bon, il a au moins le bon goût de ne pas polluer mon home, donc un point pour lui (contrairement à Firefox 3.5 qui plante lamentablement avec libetc ET qui pollue mon home)
~ 12:32 LD_PRELOAD=chromium
The program 'chromium' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadMatch (invalid parameter attributes)'.
(Details: serial 1547 error_code 8 request_code 12 minor_code 0)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
> rage Pro
J’ai installé il y a quelques semaines la dernière ubuntu sur un PC équipé d’une ATI rage pro.
Impossible d’avoir une résolution d’écran supérieure à 800x600 avec le pilote libre.
Bon, effectivement, il marche dans le sens où j’ai une image, mais à ce prix là le pilote générique vesa fonctionne tout autant.
> Par contre, je ne suis pas certain que ce soit plus lent, un arbre dom, c'est quand même très lourd à mettre en place
D’où l’intérêt de mettre en place le filtrage dans le navigateur, puisque ce dernier devra de toute manière construire l’arbre DOM.
Indépendamment de ça, il faut voir que gérer l’imbrication avec des expressions régulières, c’est presque mission impossible. Supprimer [div id="pub"]...[div]...[/div]...[/div] sans casser l’arbre, c’est sioux avec une expression régulière.
(et libxml2 a des performances tout à fait honorables)
> On peut néanmoins sous Chrome enlever des trucs de l'arbre DOM avant qu'ils n'aient été chargés (ce que fait mon extension).
Par curiosité, comment tu fais ? J’ai pas trouvé dans ton code…
> A priori c'est pour obtenir des infos sur Gnome non ? Alors pourquoi des gens qui ont envie de parler de VmWare postent sur ce Planet ?
Et ça n’a pas grand chose à voir avec la licence du machin, alors que pour RMS la licence c’est le seul problème.
> Vachement compliqué à utiliser, non ?
Clairement, non, et je m’en doutais.
Ce qui me laisse plus dubitatif au niveau simplicité, c’est l’implémentation de tee_device.
(malheureusement, mon proxy http étant tombé (probablement pour le week-end), je n’ai plus accès qu’à https, un exemple ici serait le bienvenu, même simplifié ; je n’ai pas boost installé sur ma machine)
> Comme je l'ai précisé plus haut, les flux C++ sont des briques bas-niveau, rien ne t'interdit de construire un système de formattage par dessus.
Et comme dit également plus haut, ce sont les méthodes standard de la librairie standard qui nous intéressent. Si la librairie standard n’est même pas fichue de faire des IO adaptables simplement, autant ne pas s’embêter à en fournir une.
> Cette discussion confirme qu'une bonne partie des développeurs C++ ont une connaissance très partielle du langage y compris des bases (on parle quand même des entrées/sorties !)
1. Je ne suis pas un développeur C++, juste un curieux, curieux de comprendre comment on peut appeler « supérieur » un système d’IO qui nécessite de connaître en profondeur les subtilités d’un langage réputé très complexe (héritage de classes templatées, il ne me semble pas que ce soit le chapitre 1 d’un bouquin de C++…) pour faire quelque chose d’aussi simple qu’une fonction tee() ou gettext() (utiliser une librairie externe comme boost n’est pas une réponse, on discutait des librairies standard)
2. Est-ce la faute du langage (j’inclus dans langage la librairie standard, mais pas les librairies externes : le dénominateur commun de ce que je peux faire avec un gcc, icc et visual studio fraichement installés) ou du développeur si la base (les IO) de la base (la librairie standard) n’est pas simplement assimilable ?
> On peut utiliser boost format (ou d'autres, loki safeformat, fastformat, ...) qui s'intègrent très bien avec gettext tout en étant typesafe.
On parle des librairies standard, là. À ce niveau, je peux te dire que l’implémentation de GCC est capable de vérifier les types (certes, il n’émet que des warnings)
> Il suffit pour cela de fournir son propre streambuf
Si je t’ai fourni un problème concret, c’est bien parce que le niveau stratosphérique ne m’intéresse pas. Je sais pertinemment que tu peux fournir tes propres classes pour les IO. La question implicite était : sur un problème simple, peux-tu me faire là, maintenant, en 5 minutes, une solution simple ? Ce que je voulais savoir, c’était la faisabilité pratique de la chose.
> mais dès qu'on veut faire la moindre petite chose c'est à la fois puissant, expressif et beaucoup plus souple qu'une chaîne de format.
Bon, quitte à entrer dans le troll, allons-y franchement.
Comment fais-tu :
* pour utiliser gettext avec ce magnifique système ? Les défenseurs de C++ ont toujours tendance à considérer ce point comme négligeable et à l’occulter ; en pratique, il ne l’est absolument pas (négligeable)
* un équivalent de tee, qui sorte ta chaine à la fois sur cout et sur un fichier de log ?
> * You cannot assign to, or delete, predefined properties of the built-in JScript objects.
Peut toujours être utile pour du logging
> * You cannot add expando properties to the built-in objects.
String.prototype.rot13 = function() { … }
Oui, on peut faire autrement, mais cette méthode ne me semble pas absurde
> * You must supply the correct number of arguments to function calls.
Non, parce que c’est le seul moyen en javascript de faire les arguments optionnels
> * The arguments property is not available within function calls.
Non, parce que c’est le seul moyen en javascript de faire un nombre variable d’arguments (le va_args du C, *args du python…)
Si c’est le nombre de commentaires, je peux aider.
Je trouve scandaleux que des individus égoïstes m’interdisent de travailler le dimanche pour la seule raison que ça dérange leur petit confort et leurs petites habitudes personnelles.
Le monsieur t’a montré une page avec des données factuelles accessibles à n’importe qui, et toi tu réponds par un argument d’autorité ?
Si tu penses que ce type a tort, montre les chiffres faux au lieu de faire du FUD. Cette page ne semble pas demander des études BAC+12 en climatologie pour être comprise et vérifiée, juste d’un peu de temps.
(pour éviter toute incompréhension : je parle bien évidemment du second lien)
> Le problème de ces traités c'est que c'est des "packages" , avec des trucs nuls et certains trucs biens , la grande soupe
Tu veux dire… comme le choix d’un candidat ou d’un programme politique dans à peu près tout régime démocratique ?
Si on a des professionnels du droit et si on a inventé des concepts tels que l’isonomie, le respect des contrats, la rule of law et tout le tintouin, ce n’est pas pour se prévenir des méfaits de trois pauvres anomistes, mais bien parce qu’il est difficile pour un individu de déterminer la compatibilité d’une règle avec l’intérêt bien compris, qu’il soit particulier ou général…
…maintenant, tu pourrais rétorquer que l’hégémonie positiviste moderne dans le domaine de la philosophie du droit et l’extension concomitante de la législation aux dépends du droit naturel (droit naturel en tant que processus institutionnalisé, s’entend) rend (1) difficile le jugement des règles en elle-mêmes par l’individu, (2) leur évolution tributaire de la volonté de quelque législateurs, offrant ainsi des garanties moins fortes d’adéquation de ces règles législatives avec l’intérêt de chacun (ou de tous, comme tu veux, j’ai tendance à trouver cette dichotomie plutôt artificielle ;)) et je serai d’accord avec toi. Mais comme on dit chez moi, GIGO. On ne peut pas décemment accepter sans cesse l’extension de la sphère de la politique pour se plaindre ensuite des ravage du positivisme juridique.
…
C’est malin, tu viens de me faire rompre ma promesse à moi-même de ne pas troller en cette semaine hyper-chargée. echo 127.0.0.1 linuxfr.org | sudo tee -a /etc/hosts. Ça m’évitera de retomber dans le panneau…
[^] # Re: Faîtes du TOR au gouvernement chinois...
Posté par Moonz . En réponse au journal Fermeture prochaine de Google Chine?. Évalué à 2.
Et même si la majorité était raciste, comment peut-on s’imaginer qu’une loi limitant les propos racistes pourrait être efficace ?
[^] # Re: Règle du KISS et XML
Posté par Moonz . En réponse au journal Requête aux devs de logiciels libres. Évalué à 2.
Hard cases make bad laws.
[^] # Re: Comme beaucoup de film
Posté par Moonz . En réponse au journal Avatar. Évalué à 3.
# Je viens juste d’essayer, et merci mais non merci
Posté par Moonz . En réponse au sondage Chromium / Google Chrome sous Linux. Évalué à 4.
~ 12:31 chromium
[14845:14845:178811833617:ERROR:chrome/browser/zygote_main_linux.cc(522)] Failed to read from chroot pipe: 20
[14845:14845:178811833774:FATAL:chrome/browser/zygote_main_linux.cc(613)] Failed to enter sandbox. Fail safe abort. (errno: 20)
Super, il plante lamentablement avec libetc. Bon, il a au moins le bon goût de ne pas polluer mon home, donc un point pour lui (contrairement à Firefox 3.5 qui plante lamentablement avec libetc ET qui pollue mon home)
~ 12:32 LD_PRELOAD=chromium
The program 'chromium' received an X Window System error.
This probably reflects a bug in the program.
The error was 'BadMatch (invalid parameter attributes)'.
(Details: serial 1547 error_code 8 request_code 12 minor_code 0)
(Note to programmers: normally, X errors are reported asynchronously;
that is, you will receive the error a while after causing it.
To debug your program, run it with the --sync command line
option to change this behavior. You can then get a meaningful
backtrace from your debugger if you break on the gdk_x_error() function.)
Bon, il n’aime pas non plus wmii. Poubelle.
Test terminé :)
[^] # Re: Pourquoi nvidia ?
Posté par Moonz . En réponse au journal Acheter un ordinateur portable en 2009.... Évalué à 1.
J’ai installé il y a quelques semaines la dernière ubuntu sur un PC équipé d’une ATI rage pro.
Impossible d’avoir une résolution d’écran supérieure à 800x600 avec le pilote libre.
Bon, effectivement, il marche dans le sens où j’ai une image, mais à ce prix là le pilote générique vesa fonctionne tout autant.
[^] # Re: Mon dieu ...
Posté par Moonz . En réponse au journal GNOME pourrait se séparer du projet GNU. Évalué à 2.
[^] # Re: Mon dieu ...
Posté par Moonz . En réponse au journal GNOME pourrait se séparer du projet GNU. Évalué à 2.
Tu en as trop dit, ou pas assez…
[^] # Re: H2O = danger
Posté par Moonz . En réponse au journal Certains OGM prouvés nocifs. Évalué à 3.
[^] # Re: Firefox vs le reste du monde
Posté par Moonz . En réponse au journal Performance des navigateur web: linux parent pauvre ?. Évalué à 5.
D’où l’intérêt de mettre en place le filtrage dans le navigateur, puisque ce dernier devra de toute manière construire l’arbre DOM.
Indépendamment de ça, il faut voir que gérer l’imbrication avec des expressions régulières, c’est presque mission impossible. Supprimer [div id="pub"]...[div]...[/div]...[/div] sans casser l’arbre, c’est sioux avec une expression régulière.
(et libxml2 a des performances tout à fait honorables)
[^] # Re: Extensions Firefox et Chromium/Chrome et vie privée
Posté par Moonz . En réponse au journal Chrome disponible sous linux. Évalué à 2.
Par curiosité, comment tu fais ? J’ai pas trouvé dans ton code…
[^] # Re: Mon dieu ...
Posté par Moonz . En réponse au journal GNOME pourrait se séparer du projet GNU. Évalué à 6.
Et ça n’a pas grand chose à voir avec la licence du machin, alors que pour RMS la licence c’est le seul problème.
[^] # Re: Vavavite !
Posté par Moonz . En réponse au journal Chrome disponible sous linux. Évalué à 9.
Release early, release often ?
[^] # Re: Création de douveau compte
Posté par Moonz . En réponse à la dépêche Sortie de Thunderbird 3 RC2. Évalué à 3.
[^] # Re: Une si bonne API
Posté par Moonz . En réponse à la dépêche Sortie de Qt 4.6. Évalué à 2.
Clairement, non, et je m’en doutais.
Ce qui me laisse plus dubitatif au niveau simplicité, c’est l’implémentation de tee_device.
(malheureusement, mon proxy http étant tombé (probablement pour le week-end), je n’ai plus accès qu’à https, un exemple ici serait le bienvenu, même simplifié ; je n’ai pas boost installé sur ma machine)
> Comme je l'ai précisé plus haut, les flux C++ sont des briques bas-niveau, rien ne t'interdit de construire un système de formattage par dessus.
Et comme dit également plus haut, ce sont les méthodes standard de la librairie standard qui nous intéressent. Si la librairie standard n’est même pas fichue de faire des IO adaptables simplement, autant ne pas s’embêter à en fournir une.
> Cette discussion confirme qu'une bonne partie des développeurs C++ ont une connaissance très partielle du langage y compris des bases (on parle quand même des entrées/sorties !)
1. Je ne suis pas un développeur C++, juste un curieux, curieux de comprendre comment on peut appeler « supérieur » un système d’IO qui nécessite de connaître en profondeur les subtilités d’un langage réputé très complexe (héritage de classes templatées, il ne me semble pas que ce soit le chapitre 1 d’un bouquin de C++…) pour faire quelque chose d’aussi simple qu’une fonction tee() ou gettext() (utiliser une librairie externe comme boost n’est pas une réponse, on discutait des librairies standard)
2. Est-ce la faute du langage (j’inclus dans langage la librairie standard, mais pas les librairies externes : le dénominateur commun de ce que je peux faire avec un gcc, icc et visual studio fraichement installés) ou du développeur si la base (les IO) de la base (la librairie standard) n’est pas simplement assimilable ?
[^] # Re: Une si bonne API
Posté par Moonz . En réponse à la dépêche Sortie de Qt 4.6. Évalué à 3.
On parle des librairies standard, là. À ce niveau, je peux te dire que l’implémentation de GCC est capable de vérifier les types (certes, il n’émet que des warnings)
> Il suffit pour cela de fournir son propre streambuf
Si je t’ai fourni un problème concret, c’est bien parce que le niveau stratosphérique ne m’intéresse pas. Je sais pertinemment que tu peux fournir tes propres classes pour les IO. La question implicite était : sur un problème simple, peux-tu me faire là, maintenant, en 5 minutes, une solution simple ? Ce que je voulais savoir, c’était la faisabilité pratique de la chose.
[^] # Re: Une si bonne API
Posté par Moonz . En réponse à la dépêche Sortie de Qt 4.6. Évalué à 3.
Bon, quitte à entrer dans le troll, allons-y franchement.
Comment fais-tu :
* pour utiliser gettext avec ce magnifique système ? Les défenseurs de C++ ont toujours tendance à considérer ce point comme négligeable et à l’occulter ; en pratique, il ne l’est absolument pas (négligeable)
* un équivalent de tee, qui sorte ta chaine à la fois sur cout et sur un fichier de log ?
[^] # Re: Une si bonne API
Posté par Moonz . En réponse à la dépêche Sortie de Qt 4.6. Évalué à 2.
[^] # Re: Surprise
Posté par Moonz . En réponse au journal Lisaac: sorti de la 0.39beta. Évalué à 3.
> * You must declare all variables.
Oui
> * You cannot assign to, or delete, predefined properties of the built-in JScript objects.
Peut toujours être utile pour du logging
> * You cannot add expando properties to the built-in objects.
String.prototype.rot13 = function() { … }
Oui, on peut faire autrement, mais cette méthode ne me semble pas absurde
> * You must supply the correct number of arguments to function calls.
Non, parce que c’est le seul moyen en javascript de faire les arguments optionnels
> * The arguments property is not available within function calls.
Non, parce que c’est le seul moyen en javascript de faire un nombre variable d’arguments (le va_args du C, *args du python…)
[^] # Re: au fait...
Posté par Moonz . En réponse au journal Le réchauffement climatique est une vaste blague. Un complot.... Évalué à 1.
Je trouve scandaleux que des individus égoïstes m’interdisent de travailler le dimanche pour la seule raison que ça dérange leur petit confort et leurs petites habitudes personnelles.
[^] # Re: Comparaison hasardeuse
Posté par Moonz . En réponse au journal Le réchauffement climatique est une vaste blague. Un complot.... Évalué à 1.
Si tu penses que ce type a tort, montre les chiffres faux au lieu de faire du FUD. Cette page ne semble pas demander des études BAC+12 en climatologie pour être comprise et vérifiée, juste d’un peu de temps.
(pour éviter toute incompréhension : je parle bien évidemment du second lien)
[^] # Re: Bon pour le poil
Posté par Moonz . En réponse au journal Le fait du prince. Évalué à 2.
Tu veux dire… comme le choix d’un candidat ou d’un programme politique dans à peu près tout régime démocratique ?
[^] # Re: Eureka !
Posté par Moonz . En réponse au journal Le réchauffement climatique est une vaste blague. Un complot.... Évalué à 2.
PIB(t) = PIBmax . ( 1 - exp(-tau.t) )
> un monde fini ne peut générer qu'une quantité finie de "truc"
Et l’eau ça mouille.
Demain je t’expliquerai le truc du feu qui brûle.
Mais je vois pas trop le rapport avec la choucroute.
[^] # Re: C'est marrant ça..
Posté par Moonz . En réponse au journal Une bonne définition du droit d'auteur ?. Évalué à 2.
…maintenant, tu pourrais rétorquer que l’hégémonie positiviste moderne dans le domaine de la philosophie du droit et l’extension concomitante de la législation aux dépends du droit naturel (droit naturel en tant que processus institutionnalisé, s’entend) rend (1) difficile le jugement des règles en elle-mêmes par l’individu, (2) leur évolution tributaire de la volonté de quelque législateurs, offrant ainsi des garanties moins fortes d’adéquation de ces règles législatives avec l’intérêt de chacun (ou de tous, comme tu veux, j’ai tendance à trouver cette dichotomie plutôt artificielle ;)) et je serai d’accord avec toi. Mais comme on dit chez moi, GIGO. On ne peut pas décemment accepter sans cesse l’extension de la sphère de la politique pour se plaindre ensuite des ravage du positivisme juridique.
…
C’est malin, tu viens de me faire rompre ma promesse à moi-même de ne pas troller en cette semaine hyper-chargée. echo 127.0.0.1 linuxfr.org | sudo tee -a /etc/hosts. Ça m’évitera de retomber dans le panneau…
[^] # Re: Merci google de nous proté
Posté par Moonz . En réponse au journal Une bonne définition du droit d'auteur ?. Évalué à 2.
[^] # Re: Le problème
Posté par Moonz . En réponse au journal Une bonne définition du droit d'auteur ?. Évalué à 5.