> Mais pourquoi sous Linux ou *BSD, une application instable ne met
> généralement pas en péril la stabilité de tout le système ?
Déjà, leur doc parle de "logiciel". Si on considère qu'un driver est un logiciel, ou que les modules d'anti-virus qui tournent en mode noyau le sont, ben c'est pareil sous Linux. (Par exemple, installes les drivers constructeurs pour un Sagem Fast 800, et regarde comment il est stable, ton Linux).
Sinon, si tu veux une application 100% mode user qui mette ton Linux à plat (sur la plupart des distribs), compile et execute ça:
#include <sys/types.h>
#include <unistd.h>
int main() {
while (1) fork();
}
(pas sur une machine multi-utilisateur stp). Comme variante, on peut mettre "malloc(1)" à la place du fork().
La solution sous Linux pour ce problème, c'est "ulimit". Sous Windows, sauf erreur de ma part, il y a une solution équivalente, mais désactivée par défaut (comme sur mon Linux, mais ça, ça dépend des distribs).
Bref, sur la gestion des processus, je suis pas sur de comprendre en quoi Linux serait supérieur à Windows. Bon, après, c'est sur que les marketeux de MS sont capables de te parler de techno révolutionnaire pour dire "l'utilisateur par défaut est pas root, et on a mis un ulimit par défaut", mais c'est des marketeux, faut bien qu'ils vivent !
Applie -> appel système (donc passage en mode noyau) -> retour en mode user
Avec Hurd, tu fais directement
Applie -> serveur en mode utilisateur
Ce qui fait dire au moins aux puristes que "hurd, c'est mieux". A priori, la méthode de Hurd est plus fiable (rien ne tourne en mode noyau) et parait-il plus efficace.
Par contre, la grosse différence, c'est que Linux est stable et utilisé en production, donc, l'arrivée de FUSE dedans, ça veut dire tout simplement qu'on va pouvoir s'en servir pour de vrai !
Il s'appuie sur X quand il en a besoin (pour faire tourner un client X ou s'afficher sur un serveur X), mais peut "parler" d'autres protocoles aussi. Sauf erreur de ma part, on peut avoir toutes les configurations client Linux/Win <-> Serveur Linux/Win.
> Ce qui me gêne surtout, c'est que quand une faille de sécurité est découverte
> et exploitée, et que ce phénomène se reproduit un peu trop souvent, personne
> ne veut remettre en cause la fiabilité du produit que tout le monde utilise.
Le fait que la faille soit exploitée ne te dit pas grand chose sur la fiabilité du produit. Le fait qu'une faille soit découverte, bah, ça arrive plusieurs fois par semaines sur une distrib que j'utilise tous les jours, et que je considère comme plutôt bien sécurisée.
Si on lit bien l'article : « Cependant, cette obligation ne touche pas les mises à jour de sécurité. ». On en avait déjà parlé ici il me semble.
En gros, Microsoft cherche à la fois à éviter le piratage et à se débarasser de la réputation « Windows = pas sécurisé ». Donc, la stratégie est de supprimer un maximum d'avantages pour les version piratées (XP SP2 refuse déjà de s'installer si tu as un système non enregistré), mais de garder et d'encourrager les mises à jour pour tout le monde (rappelons que beaucoup de virus, y compris les plus célèbres, exploitent des failles de sécurité déjà corrigées par MS, mais pour lesquelles les utilisateurs n'ont pas encore appliqué le correctif).
Non, tu dis au compilateur de ne pas faire le mangling à la C++. Ça n'a pas d'impact sur la sémantique ou la syntaxe de ton code, seulement sur la manière de gérer les symboles, qui ont une importance au moment du link.
extern "C" veut dire « appelable depuis du C », pas « compilable en C ».
> ca compile peut etre parce que tu n'a qu'une ligne apres
Ou peut-être pas ;-).
extern "C"
int foo (int x, int y) {
int z;
z = x + y;
return z - 42;
}
> Sinon new n'appartenant pas au langage C, un extern est pas indique.
Justement. "new" n'appartient pas au langage C, donc, pour pouvoir l'appeler depuis du code en C, tu as besoin d'un wrapper. Si son but n'était pas d'appeler "new" depuis du C, je ne vois pas l'intérêt de la fonction (m'enfin, j'ai pas toutes les données non plus ...).
A la frontière entre le C et le C++, tu as forcément des fonctions dont la déclaration (donc le .h) est compilable en C, et le corps compilable seulement en C++.
Le principe d'un brevet, à la base, c'est « tu publies ton secret, et en échange, on t'accorde un semi-monopole pour une durée déterminée ». Le brevet est en soi une publication.
Notes que le premier lien que tu donnes pointe sur un executable non libre sauf erreur de ma part. (enfin, la licence est pas trop restrictive non plus, mais vu que Maxime cherche un logiciel libre ...)
J'avais cherché ça il y a quelque temps, mais sous windows, en libre, en dehors de cygwin, y'avait rien. Ce qui s'en approchait le plus était gsview, mais je n'avais pas réussi à trouver de version entièrement libre (il y avait un gs AFPL).
Bref, du coup, les distribs de LL sous Win utilisent en général acroread :-(.
Il y a beaucoup de situations en effet ou les gens confondent les points et les utilisent l'un à la place de l'autre.
Mais je t'assure que pour comparer deux proportions, dire "il y a deux fois plus de graisse dans du fromage 40% de matière grasse que dans du 20%", même des gens sérieux s'y autorisent. Comparer des concentrations en faisant des pourcentages, c'est on ne peut plus clair. Si la quantité de tel ou tel gaz toxique dans l'atmosphère est passé de 1ppm a 2ppm d'une année sur l'autre, tu dira que ça a doublé ou que ça a augmenté de 1ppm ?
Dire que pour 100 lignes de code de FreeBSD, coverity trouve 50% plus de bugs que dans 100 lignes de code Linux en moyenne, ça a un sens très clair, et c'est exactement ce que dit le journal.
> pour infos, en statistique, ca a a peu de sens de faire des pourcentages sur des ratio
Dans le cas qui nous est présenté, justement, je trouve ça bien plus pertinent de faire un pourcentage. 0,08 point si c'était entre 50 et 50,08, ça serait une différence mineur, alors qu'entre 0,00017 et 0,00025, je trouve ça assez gros.
Si l'applie a été prévue pour, pas de problème. Emacs, par exemple, peut faire ça avec M-x make-frame-on-display RET.
Sinon, si l'applie est déjà lancée, a ma connaissance, point de salut. Par contre, si tu la lances dans une sorte de serveur X virtuel, y'a moyen. Par exemple, VNC, NX (ou xmove que tu cites un peu plus haut).
> sur les PDF bien fait je peux demander une liste des titres
Oui, mais c'est une table des matières à part, ie une série de liens de la table des matières vers le document, pas l'inverse. On doit pouvoir s'arranger, mais c'est vraiment pas fait pour.
Ca doit probablement exister (pdf2text | je_sais_pas_quoi ...), mais le problème, c'est que le pdf est intrinsèquement un language de mise en page, avec peu de sémantique. Le PDF te dit ou et comment est le texte, mais pas pourquoi. En HTML, l'aveugle, il oublie le CSS, et il lit des < h1 >, < h2 >, ... dans le texte. Il a les attributs "alt" de certaines balises. Bref, il a toute la structure du document, alors que le pdf est forcément assez "plat" pour lui.
[^] # Re: code pourri
Posté par Matthieu Moy (site web personnel) . En réponse au journal asta la Vista Windows. Évalué à 6.
> généralement pas en péril la stabilité de tout le système ?
Déjà, leur doc parle de "logiciel". Si on considère qu'un driver est un logiciel, ou que les modules d'anti-virus qui tournent en mode noyau le sont, ben c'est pareil sous Linux. (Par exemple, installes les drivers constructeurs pour un Sagem Fast 800, et regarde comment il est stable, ton Linux).
Sinon, si tu veux une application 100% mode user qui mette ton Linux à plat (sur la plupart des distribs), compile et execute ça:
#include <sys/types.h>
#include <unistd.h>
int main() {
while (1) fork();
}
(pas sur une machine multi-utilisateur stp). Comme variante, on peut mettre "malloc(1)" à la place du fork().
La solution sous Linux pour ce problème, c'est "ulimit". Sous Windows, sauf erreur de ma part, il y a une solution équivalente, mais désactivée par défaut (comme sur mon Linux, mais ça, ça dépend des distribs).
Bref, sur la gestion des processus, je suis pas sur de comprendre en quoi Linux serait supérieur à Windows. Bon, après, c'est sur que les marketeux de MS sont capables de te parler de techno révolutionnaire pour dire "l'utilisateur par défaut est pas root, et on a mis un ulimit par défaut", mais c'est des marketeux, faut bien qu'ils vivent !
[^] # Re: Vert et Noir comme ...
Posté par Matthieu Moy (site web personnel) . En réponse à la dépêche Bilan du sommet 2005 des développeurs du noyau Linux. Évalué à 5.
Si j'ai bien compris, avec FUSE, tu fais
Applie -> appel système (donc passage en mode noyau) -> retour en mode user
Avec Hurd, tu fais directement
Applie -> serveur en mode utilisateur
Ce qui fait dire au moins aux puristes que "hurd, c'est mieux". A priori, la méthode de Hurd est plus fiable (rien ne tourne en mode noyau) et parait-il plus efficace.
Par contre, la grosse différence, c'est que Linux est stable et utilisé en production, donc, l'arrivée de FUSE dedans, ça veut dire tout simplement qu'on va pouvoir s'en servir pour de vrai !
[^] # Re: Serveur Win
Posté par Matthieu Moy (site web personnel) . En réponse à la dépêche Sortie de la version 1.5.0 de NX. Évalué à 2.
[^] # Re: Stratégie ...
Posté par Matthieu Moy (site web personnel) . En réponse au journal Quand Windows nous envoie des clients ;). Évalué à 2.
> et exploitée, et que ce phénomène se reproduit un peu trop souvent, personne
> ne veut remettre en cause la fiabilité du produit que tout le monde utilise.
Le fait que la faille soit exploitée ne te dit pas grand chose sur la fiabilité du produit. Le fait qu'une faille soit découverte, bah, ça arrive plusieurs fois par semaines sur une distrib que j'utilise tous les jours, et que je considère comme plutôt bien sécurisée.
# mais encore ... ?
Posté par Matthieu Moy (site web personnel) . En réponse au message Probleme caractère accentué sur apache 2.0. Évalué à 2.
Lesquels ?
# Stratégie ...
Posté par Matthieu Moy (site web personnel) . En réponse au journal Quand Windows nous envoie des clients ;). Évalué à 8.
En gros, Microsoft cherche à la fois à éviter le piratage et à se débarasser de la réputation « Windows = pas sécurisé ». Donc, la stratégie est de supprimer un maximum d'avantages pour les version piratées (XP SP2 refuse déjà de s'installer si tu as un système non enregistré), mais de garder et d'encourrager les mises à jour pour tout le monde (rappelons que beaucoup de virus, y compris les plus célèbres, exploitent des failles de sécurité déjà corrigées par MS, mais pour lesquelles les utilisateurs n'ont pas encore appliqué le correctif).
[^] # Re: a vue de nez
Posté par Matthieu Moy (site web personnel) . En réponse au message erreur surement de syntaxe. Évalué à 2.
Si ce que je dis est faux, comment expliques-tu que le code suivant compile ? ;-)
extern "C"
char * foo () {
return reinterpret_cast<char *>(new int(3));
}
[^] # Re: a vue de nez
Posté par Matthieu Moy (site web personnel) . En réponse au message erreur surement de syntaxe. Évalué à 2.
Si ce que je dis est faux, comment expliques-tu que le code suivant compile ? ;-)
extern "C"
char * foo () {
return reinterpret_cast<char *>(new int(3));
}
[^] # Re: a vue de nez
Posté par Matthieu Moy (site web personnel) . En réponse au message erreur surement de syntaxe. Évalué à 2.
extern "C" veut dire « appelable depuis du C », pas « compilable en C ».
[^] # Re: a vue de nez
Posté par Matthieu Moy (site web personnel) . En réponse au message erreur surement de syntaxe. Évalué à 2.
Ou peut-être pas ;-).
extern "C"
int foo (int x, int y) {
int z;
z = x + y;
return z - 42;
}
> Sinon new n'appartenant pas au langage C, un extern est pas indique.
Justement. "new" n'appartient pas au langage C, donc, pour pouvoir l'appeler depuis du code en C, tu as besoin d'un wrapper. Si son but n'était pas d'appeler "new" depuis du C, je ne vois pas l'intérêt de la fonction (m'enfin, j'ai pas toutes les données non plus ...).
A la frontière entre le C et le C++, tu as forcément des fonctions dont la déclaration (donc le .h) est compilable en C, et le corps compilable seulement en C++.
[^] # Re: messages de m....
Posté par Matthieu Moy (site web personnel) . En réponse au message erreur surement de syntaxe. Évalué à 2.
Le jour ou G++ de parlera de « cet » argument pour parler de "this", tu comprendras le sens de ma remarque ;-).
[^] # Re: a vue de nez
Posté par Matthieu Moy (site web personnel) . En réponse au message erreur surement de syntaxe. Évalué à 2.
Les accolades ne sont pas indispensables : Le programme suivant compile, par exemple.
extern "C"
void foo () { }
# messages de m....
Posté par Matthieu Moy (site web personnel) . En réponse au message erreur surement de syntaxe. Évalué à 2.
export LANG=en_US
Parce que la traduction française est catastrophique !
Sinon, si tu ne nous dis pas sur quelle ligne ça plante, on va avoir du mal...
[^] # Re: Ma condition serais plutôt :
Posté par Matthieu Moy (site web personnel) . En réponse au journal Google vs Microsoft... niark niark!. Évalué à 3.
[^] # Re: Euh
Posté par Matthieu Moy (site web personnel) . En réponse au journal Utnubu...et c'est pas une faute de frappe !. Évalué à 4.
Si j'en crois sa présentation au debconf, il paye déjà 20 développeurs Debian. C'est déjà pas mal, il me semble ... ;-)
[^] # Re: Grep
Posté par Matthieu Moy (site web personnel) . En réponse au journal Spam de referrer. Évalué à 3.
grep -v -e toto -e titi ...
et tu peux limiter les faux positifs en faisant
grep -v '\<sex\>'
(c'est des délimiteurs de mots).
[^] # Re: Trop galère à installer ?
Posté par Matthieu Moy (site web personnel) . En réponse au message Recherche lecteur pdf. Évalué à 2.
# Dur dur
Posté par Matthieu Moy (site web personnel) . En réponse au message Recherche lecteur pdf. Évalué à 2.
Bref, du coup, les distribs de LL sous Win utilisent en général acroread :-(.
[^] # Re: stats
Posté par Matthieu Moy (site web personnel) . En réponse au journal 306 bugs dans FreeBSD. Évalué à 8.
Mais je t'assure que pour comparer deux proportions, dire "il y a deux fois plus de graisse dans du fromage 40% de matière grasse que dans du 20%", même des gens sérieux s'y autorisent. Comparer des concentrations en faisant des pourcentages, c'est on ne peut plus clair. Si la quantité de tel ou tel gaz toxique dans l'atmosphère est passé de 1ppm a 2ppm d'une année sur l'autre, tu dira que ça a doublé ou que ça a augmenté de 1ppm ?
Dire que pour 100 lignes de code de FreeBSD, coverity trouve 50% plus de bugs que dans 100 lignes de code Linux en moyenne, ça a un sens très clair, et c'est exactement ce que dit le journal.
[^] # Re: IP Law
Posté par Matthieu Moy (site web personnel) . En réponse au journal La propriété intellectuelle tue !. Évalué à 3.
Zut, je viens de répondre à un mail me proposant des "P|ls, V|@gra, Pe|\|iZ enl@rgmen.t". Je me suis fait avoir, alors ?
[^] # Re: stats
Posté par Matthieu Moy (site web personnel) . En réponse au journal 306 bugs dans FreeBSD. Évalué à 1.
Dans le cas qui nous est présenté, justement, je trouve ça bien plus pertinent de faire un pourcentage. 0,08 point si c'était entre 50 et 50,08, ça serait une différence mineur, alors qu'entre 0,00017 et 0,00025, je trouve ça assez gros.
# Ça dépends ...
Posté par Matthieu Moy (site web personnel) . En réponse au message Changer le display d'une application. Évalué à 2.
Sinon, si l'applie est déjà lancée, a ma connaissance, point de salut. Par contre, si tu la lances dans une sorte de serveur X virtuel, y'a moyen. Par exemple, VNC, NX (ou xmove que tu cites un peu plus haut).
[^] # Re: C'est défois des longues URL
Posté par Matthieu Moy (site web personnel) . En réponse au message De l'utilité de. Évalué à 2.
http://linuxfr.org(...)
[^] # Re: Peut être le futur du web ?
Posté par Matthieu Moy (site web personnel) . En réponse à la dépêche Le moteur de Gecko en version serveur ?. Évalué à 4.
Oui, mais c'est une table des matières à part, ie une série de liens de la table des matières vers le document, pas l'inverse. On doit pouvoir s'arranger, mais c'est vraiment pas fait pour.
[^] # Re: Peut être le futur du web ?
Posté par Matthieu Moy (site web personnel) . En réponse à la dépêche Le moteur de Gecko en version serveur ?. Évalué à 7.