L'offre est correcte, je trouve. pour 25¤ par mois on a Internet, et pour 30¤ on a en plus le téléphone illimité pour les fixes.
J'ai peut-être loupé quelque chose mais, avec le téléphone, il me semble que c'est le tarif qu'appliquent pour ainsi dire tous les fournisseurs !
C'est peut-être voulu au niveau de ta résidence, mais en tout cas, ce genre de filtrage doit obligatoirement être écrit noir sur blanc dans ton contrat, faute de quoi, tu t'en sers pour le casser.
J'ai fait mes premières geekeries en réseau autour de 1988-89, sur le nanoréseau Thomson de mon C.E.S (Perben et RDDV n'étaient pas encore passés par là). La prof de français nous avait emmené faire un exercice ludique sur les machines. Un p'tit CNT-C et un PRINT bien placé pour afficher les réponses en haut de l'écran et le tour était joué !:-)
C'est devenu encore plus marrant quand la prof de techno elle-même m'avait demandé de contourner la protection programme pour pouvoir utiliser le programme de gestion des scores dont elle avait oublié le mot de passe. Le mot de passe, codé en dur, était "SCORE". :-) Ah, ces regrettés POKE ! Tous ceux qui en chient aujourd'hui avec les pointeurs ne peuvent évidemment pas savoir ce qu'il manquent ...
La plupart des parsers d'expression rationnelle permettent de spécifier une liste de caractères reconnaissables entre crochets [ et ] et celle-ci peut-être inversée avec l'opérateur ^ (différent du marqueur de début de ligne).
Donc, si tu veux matcher au moins une fois un non-espace, tu fais.
.*[^ ]+.*.
Si tu as un chiffre en quatrième position à reconnaître et que le reste des caractères ne t'importe que peu, tu peux faire
...[0-9].*
Maintenant, si tu dois reconnaître exactement 10 caractères dont la nature change, c'est plus compliqué parce qu'il te faut un registre qui sort du contexte de l'automate. Ou alors il faut faire un automate à 21 états (si on veut reconnaître exactement 10 caractères) et c'est chiant à simplifier, évidemment.
- niveau lycée/STS, un inspecteur pédagogique régional qui en assemblée de plusieurs dizaines de profs fait la promotion des logiciels "open source" (notamment openoffice), avec son portable sous Windows et un slide sous PowerPoint. Je me suis retenu de rire et de l'interpeller sur ce point (je pense à ma rémunération au mérite les gars !!!)
Oui, mais en même temps, on n'est pas obligé de rentrer dans les ordres quand on décide de comencer à utiliser du logiciel libre et heureusement. Une migration se fait toujours de manière planifiée et en douceur (enfin, en principe).
Et plus globalement, les médias qui nous emmerdent avec la dette publique, la réduction des déficits et tout le tralala. En attendant, j'attends toujours le visionnaire qui dira "libre partout où c'est possible", plutôt que de gaspiller des millions en licences diverses pour des logiciels dont, dans la grande majorité des cas, les utilisateurs n'utilisent que 5-10% des fonctionnalités, et encore...quand ils comprennent quelque chose à l'outil.
Il arrive aussi que dans les 5 à 10% de fonctionnalités utilisées dans un produit, il y en ait une ou deux qui n'existent pas dans l'équivalent libre, et que cela suffise à perturber l'utilisateur. Il ne faut pas prendre systématiquement les gens pour des imbéciles non plus. C'est exactement l'argument que l'on brandit quand on parle de standard (web, etc.) et que l'on nous répond "on va pas se faire chier pour les 5 à 10% d'utilisateurs de Linux".
Pour le reste, je pense effectivement que le prix des logiciels d'entreprise est très surévalué. Par contre, l'argument fort du logiciel libre doit justement être la liberté et l'indépendence de l'Administration vis-à-vis des compagnies extérieures, voire étrangère. Brandir le coût de revient (hors TCO car c'est un autre troll) comme argument numéro 1 reste un mal nécessaire, pas une ligne à suivre.
C'est bien çà, l'astuce. Tous les appels système ou presque (ceux que l'on peut trouver dans la section 2 du manuel), sont en fait interceptés par la libc, ne serait-ce que pour pouvoir la lier aux programmes que l'on compile.
Du coup, les appels systèmes proprement dits ne sont jamais déclarés sous leur nom « officiel » exact dans le noyau lui-même ...
Attention ! C'est une expression régulière, pas une globale shell !
Je viens d'essayer de mon côté, ça fonctionne très bien. Soit tu as mal écrit l'expression (celle que tu as écrite dans ce commentaire reconnaîtrait « repor », « report », « reporttttttt », tous suivis de n'importe quel motif), soit find est mis en défaut par les problèmes d'encodage des noms de fichiers (entre UTF-8 et ISO-8859-15, par exemple). J'ai le problème sur une Ubuntu Dapper.
Cela me semble correct, excepté que fermer les entrées et sorties standard n'est peut-être pas souhaitable. Si tu veux faire plus propre il existe unshare mais c'est Linux-specific ...
Je voudrais savoir comment je peut monter mon disque NTFS sur linux (en lecture/écriture si possible) afin que je puisse aller prendre mes photos,vidéo,musique... sur la partition windows et si possible en tant que simple user.
D'abord, si c'est juste pour prendre ou même lire tes documents depuis la partoche Windows, la gestion du NTFS en lecture seule fonctionne très bien dans le noyau ! Pas besoin d'aller chercher ntfs-3g ou autre ...
Ensuite, si tu tiens à pouvoir transférer tes documents facilement, je te conseille plutôt de faire comme la plupart des gens : une partition FAT32 dédiée ! C'est quand même nettement moins hasardeux que d'aller directement bidouiller le NTFS de Windows sur lequel se trouve le système ...
M'enfin bon, si c'est juste pour un seul répertoire et si ce n'est à faire qu'une seule fois, tu as plus vite fait de faire un chmod 000 sur ledit répertoire, lancer ton chown et restaurer les droit du répertoire ensuite.
- Est-ce enfin plus rapide et moins lourd ? Il me faut au minimum 10 secondes pour ouvrir le terminal la première fois et au moins 2 les fois suivantes (sur une Dapper, et un P4 1,2/1,7GHz, 1G de swap). Je sais, on a le droit de rêver.
- Est-ce que le bug d'Évolution sur le vidage de la corbeille a été enfin résolu ? J'ai 1500 mails en attente et autant dans la boîte à spams.
j'ai fait des essais de char **, mais rien de concluant...et je ne trouve pas d'aide dans mes bouquins....
C'est pourtant la signature de ce que tu as défini. Ca veut quoi, "rien de concluant" ?
Si ton problème est de passer le contenu entier en une fois, en conservant l'indication de taille de ton tableau à deux dimensions, il faut utiliser un objet qui gère le tout (car le travail doit être fait même s'il est masqué par une couche d'abstraction). Dans ce cas, tu auras peut-être envie d'aller voir du coté des std::vector<>. Mais vérifie d'abord si tu ne peux pas débugguer ce que tu as fait.
int main (void)
{
delete (new char[4096]+256);
return 0;
}
$ g++ memcorrupt.c++ -o memcorrupt
$ ./memcorrupt
*** glibc detected *** ./mai
Même chose en C :
#include <stdlib.h>
int main (void)
{
free (malloc(4096)+256);
return 0;
}
L'idée est de passer aux routines de gestion de la mémoire qui reste dans l'espace d'adressage du processus (ce qui fait que le processeur ne segfaulte pas) mais qui ne corresponde malgré tout à rien de valable.
Si cela se produit au sein de la lib Magick, soit c'est un bug, soit la fonction incriminée essaie de faire des opérations sur un objet qu'elle suppose prêt à être utilisé et qui ne l'est pas.
Je ne connais pas DDD, donc je ne peux pas te donner la marche à suivre mais à vue de nez :
- Tu peux essayer un try { } catch (...) { } autour de ton code pour essayer de rattraper quelque chose mais ça m'étonnerait que ça marche. C'est la libc qui se plaind et il est peu probable (mais pas impossible) qu'elle communique avec la libstdc++.
- Il faudrait compiler ton affaire avec l'option -g si ce n'est pas fait par défaut (mode debug). Si la libc++ arrive à rattraper l'exception, DDD ou GDB seront capables de te montrer exactement quelles étaient les fonctions en cours d'exécution au moment du crash.
- Je ne sais pas du tout comment fonctione la lib Magick, mais il y a des chances pour que le BLOB déclaré au dessus ait besoin d'être préalablement initialisé d'une manière ou d'une autre avant usage ... A creuser.
Cerber : il y a des gens, ici, qui ont déjà installé Ubuntu à la place de Windows Vista [1]. Vérifie aussi, des fois qu'on t'ait refilé un NT4 sans te le dire ! XD
# Mauvais fournisseur, changer fournisseur ...
Posté par Obsidian . En réponse au journal myip.fr: le pire des FAI !. Évalué à 5.
J'ai peut-être loupé quelque chose mais, avec le téléphone, il me semble que c'est le tarif qu'appliquent pour ainsi dire tous les fournisseurs !
C'est peut-être voulu au niveau de ta résidence, mais en tout cas, ce genre de filtrage doit obligatoirement être écrit noir sur blanc dans ton contrat, faute de quoi, tu t'en sers pour le casser.
# Ah, on en a fait des conneries, Valéry !
Posté par Obsidian . En réponse au journal [Mouling + Mavie] Vos pires geekeries. Évalué à 3.
C'est devenu encore plus marrant quand la prof de techno elle-même m'avait demandé de contourner la protection programme pour pouvoir utiliser le programme de gestion des scores dont elle avait oublié le mot de passe. Le mot de passe, codé en dur, était "SCORE". :-) Ah, ces regrettés POKE ! Tous ceux qui en chient aujourd'hui avec les pointeurs ne peuvent évidemment pas savoir ce qu'il manquent ...
# Avec l'opérateur de négation ?
Posté par Obsidian . En réponse au message [expression régulière] détecter un caractère non espace dans une séquence.. Évalué à 2.
Donc, si tu veux matcher au moins une fois un non-espace, tu fais.
.*[^ ]+.*.
Si tu as un chiffre en quatrième position à reconnaître et que le reste des caractères ne t'importe que peu, tu peux faire
...[0-9].*
Maintenant, si tu dois reconnaître exactement 10 caractères dont la nature change, c'est plus compliqué parce qu'il te faut un registre qui sort du contexte de l'automate. Ou alors il faut faire un automate à 21 états (si on veut reconnaître exactement 10 caractères) et c'est chiant à simplifier, évidemment.
[^] # Re: De la bonne volonté
Posté par Obsidian . En réponse à la dépêche Migration massive des écoles sous GNU/Linux. Évalué à 2.
Oui, mais en même temps, on n'est pas obligé de rentrer dans les ordres quand on décide de comencer à utiliser du logiciel libre et heureusement. Une migration se fait toujours de manière planifiée et en douceur (enfin, en principe).
Il arrive aussi que dans les 5 à 10% de fonctionnalités utilisées dans un produit, il y en ait une ou deux qui n'existent pas dans l'équivalent libre, et que cela suffise à perturber l'utilisateur. Il ne faut pas prendre systématiquement les gens pour des imbéciles non plus. C'est exactement l'argument que l'on brandit quand on parle de standard (web, etc.) et que l'on nous répond "on va pas se faire chier pour les 5 à 10% d'utilisateurs de Linux".
Pour le reste, je pense effectivement que le prix des logiciels d'entreprise est très surévalué. Par contre, l'argument fort du logiciel libre doit justement être la liberté et l'indépendence de l'Administration vis-à-vis des compagnies extérieures, voire étrangère. Brandir le coût de revient (hors TCO car c'est un autre troll) comme argument numéro 1 reste un mal nécessaire, pas une ligne à suivre.
[^] # Re: C'est la
Posté par Obsidian . En réponse au message Code des system calls. Évalué à 3.
Du coup, les appels systèmes proprement dits ne sont jamais déclarés sous leur nom « officiel » exact dans le noyau lui-même ...
[^] # Re: Juste find.
Posté par Obsidian . En réponse au message chown récursif avec exclusion de répertoire. Évalué à 2.
Attention ! C'est une expression régulière, pas une globale shell !
Je viens d'essayer de mon côté, ça fonctionne très bien. Soit tu as mal écrit l'expression (celle que tu as écrite dans ce commentaire reconnaîtrait « repor », « report », « reporttttttt », tous suivis de n'importe quel motif), soit find est mis en défaut par les problèmes d'encodage des noms de fichiers (entre UTF-8 et ISO-8859-15, par exemple). J'ai le problème sur une Ubuntu Dapper.
# Non.
Posté par Obsidian . En réponse au message comment faire un appel à system() sans que le processus hérite des filedescriptors. Évalué à 2.
[^] # Re: Linux ?
Posté par Obsidian . En réponse au journal Intel contre EDF.. Évalué à 2.
# Et de la FAT ?
Posté par Obsidian . En réponse au message disque NTFS en lecture écriture sur linux. Évalué à 2.
D'abord, si c'est juste pour prendre ou même lire tes documents depuis la partoche Windows, la gestion du NTFS en lecture seule fonctionne très bien dans le noyau ! Pas besoin d'aller chercher ntfs-3g ou autre ...
Ensuite, si tu tiens à pouvoir transférer tes documents facilement, je te conseille plutôt de faire comme la plupart des gens : une partition FAT32 dédiée ! C'est quand même nettement moins hasardeux que d'aller directement bidouiller le NTFS de Windows sur lequel se trouve le système ...
[^] # Re: Je voudrais savoir...
Posté par Obsidian . En réponse au message [Éditeur/Vim] Lancer une commande sur tous les buffers avec Vim. Évalué à 2.
http://tnerual.eriogerg.free.fr/vimqrc-fr.pdf
# Juste find.
Posté par Obsidian . En réponse au message chown récursif avec exclusion de répertoire. Évalué à 4.
M'enfin bon, si c'est juste pour un seul répertoire et si ce n'est à faire qu'une seule fois, tu as plus vite fait de faire un chmod 000 sur ledit répertoire, lancer ton chown et restaurer les droit du répertoire ensuite.
[^] # Re: GNOME 2.20 approche...
Posté par Obsidian . En réponse au journal GNOME 2.20 approche.... Évalué à 3.
# Les vrais questions
Posté par Obsidian . En réponse au journal GNOME 2.20 approche.... Évalué à 3.
- Est-ce enfin plus rapide et moins lourd ? Il me faut au minimum 10 secondes pour ouvrir le terminal la première fois et au moins 2 les fois suivantes (sur une Dapper, et un P4 1,2/1,7GHz, 1G de swap). Je sais, on a le droit de rêver.
- Est-ce que le bug d'Évolution sur le vidage de la corbeille a été enfin résolu ? J'ai 1500 mails en attente et autant dans la boîte à spams.
Désolé, je suis absent vendredi.
# GNOME 2.20 approche...
Posté par Obsidian . En réponse au journal GNOME 2.20 approche.... Évalué à 10.
[^] # Re: Pointeurs.
Posté par Obsidian . En réponse au message passage d'un tableau de chaine à une fonction. Évalué à 2.
#include
using namespace std;
void fonction (char ** p)
{
cout << p[0][0] << endl;
}
int main (void)
{
char tbl[10][20];
fonction (tbl);
return 0;
}
# Pointeurs.
Posté par Obsidian . En réponse au message passage d'un tableau de chaine à une fonction. Évalué à 2.
C'est pourtant la signature de ce que tu as défini. Ca veut quoi, "rien de concluant" ?
Si ton problème est de passer le contenu entier en une fois, en conservant l'indication de taille de ton tableau à deux dimensions, il faut utiliser un objet qui gère le tout (car le travail doit être fait même s'il est masqué par une couche d'abstraction). Dans ce cas, tu auras peut-être envie d'aller voir du coté des std::vector<>. Mais vérifie d'abord si tu ne peux pas débugguer ce que tu as fait.
[^] # Re: Re:
Posté par Obsidian . En réponse au message memory corruption. Évalué à 2.
[^] # Re: Re:
Posté par Obsidian . En réponse au message memory corruption. Évalué à 2.
[^] # Re: Re:
Posté par Obsidian . En réponse au message memory corruption. Évalué à 2.
int main (void)
{
delete (new char[4096]+256);
return 0;
}
$ g++ memcorrupt.c++ -o memcorrupt
$ ./memcorrupt
*** glibc detected *** ./mai
Même chose en C :
#include <stdlib.h>
int main (void)
{
free (malloc(4096)+256);
return 0;
}
L'idée est de passer aux routines de gestion de la mémoire qui reste dans l'espace d'adressage du processus (ce qui fait que le processeur ne segfaulte pas) mais qui ne corresponde malgré tout à rien de valable.
Si cela se produit au sein de la lib Magick, soit c'est un bug, soit la fonction incriminée essaie de faire des opérations sur un objet qu'elle suppose prêt à être utilisé et qui ne l'est pas.
[^] # Re: re:
Posté par Obsidian . En réponse au message memory corruption. Évalué à 2.
- Tu peux essayer un try { } catch (...) { } autour de ton code pour essayer de rattraper quelque chose mais ça m'étonnerait que ça marche. C'est la libc qui se plaind et il est peu probable (mais pas impossible) qu'elle communique avec la libstdc++.
- Il faudrait compiler ton affaire avec l'option -g si ce n'est pas fait par défaut (mode debug). Si la libc++ arrive à rattraper l'exception, DDD ou GDB seront capables de te montrer exactement quelles étaient les fonctions en cours d'exécution au moment du crash.
- Je ne sais pas du tout comment fonctione la lib Magick, mais il y a des chances pour que le BLOB déclaré au dessus ait besoin d'être préalablement initialisé d'une manière ou d'une autre avant usage ... A creuser.
[^] # Re: re:
Posté par Obsidian . En réponse au message memory corruption. Évalué à 2.
En général, elle arrive lorsque l'on tente de faire un free() ou un realloc() sur un pointeur dont le contenu a été modifié de façon incorrecte.
[^] # Re: Le malheur des un fait le bonheur des autres
Posté par Obsidian . En réponse à la dépêche SCO en redressement judiciaire. Évalué à 3.
Cerber : il y a des gens, ici, qui ont déjà installé Ubuntu à la place de Windows Vista [1]. Vérifie aussi, des fois qu'on t'ait refilé un NT4 sans te le dire ! XD
[1] https://linuxfr.org//~ploum/23705.html
[^] # Re: Nombre d'employés
Posté par Obsidian . En réponse à la dépêche SCO en redressement judiciaire. Évalué à 4.
[^] # Re: Nombre d'employés
Posté par Obsidian . En réponse à la dépêche SCO en redressement judiciaire. Évalué à 10.
Ils ont licencié le mainteneur de la FAQ ? /o\
[^] # Re: fruit pourrie
Posté par Obsidian . En réponse au journal Les nouveaux Ipod ne sont plus compatibles Linux. Évalué à -1.
Du temps de Total, on a eu « vous ne viendrez plus chez nous, même par hasard. ». Celle-là était fine.