Obsidian a écrit 5299 commentaires

  • [^] # Re: grep?

    Posté par  . En réponse au message commande Cat avec un arret prècis. Évalué à 4.

    Tout simplement :

    sed -e '/TIMESTAMP 12\/31\/2007/ q' < fichier

    Sed, ça ne sert pas qu'aux substitutions ...
  • [^] # Re: résolu !, Mais ...

    Posté par  . En réponse au message KDE ne se lance plus, sauf en root.... Évalué à 3.

    T'aurais pas installé les pilotes Samsung, des fois ? /o\

    Sinon, est-ce que ton /tmp est situé sur une partition qui lui est propre ou bien fait-il partie de celle de / ? Dans ce cas, un / plein empêche a fortiori d'écrire dans /tmp ...

    Enfin, lorsqu'une partition est presque pleine, il faut se souvenir qu'il reste toujours quelques % utilisables seulement par root, spécialement pour que celui-ci puisse faire le ménage ...
  • # Sockets C - C++

    Posté par  . En réponse au message choix pour l'écriture d'un serveur en C++. Évalué à 6.

    J'ai eu le même problème et franchement, j'ai fini par refaire mes propres classes. Pour deux raisons :

    - Les libs que l'on trouve sur la toile sont soit des APIs Windows, soit des outils qui ont été faits dans les mêmes conditions que les tiennes. Il n'y a donc aucune garantie que ces trucs soient plus propres ni plus faciles à utiliser que ce que tu vas produire. Honnêtement, je n'ai pas cherché plus longtemps que çà non plus, mais si ce n'est pas destiné à un gros projet open-source servant de référence et repris par des dizaines de personnes, la recherche et l'investissement personnel deviennent plus importants que la rédaction de son propre code (ce n'est évidemment pas vrai pour tous les cas de figure).

    - L'API des sockets BSD est à s'arracher les cheveux car c'était à la base une tentative d'universalisation de tous les modes de communication, et il ont essayé de couvrir large dès le départ. C'était une bonne idée, mais maintenant on se traîne depuis des décenies des choses qui ne servent à rien.

    D'autre part, il y avait clairement une notion d'abstraction et de classification qui sont aujourd'hui caractéristiques de la programmation objet. Citons par exemple la notion d'adresse réseau sockaddr étendue en sockaddr_in mais par redéfinition. Même pas un union de structures puisque les familles de protocoles sont déclarées à postériori. Dans cette structure, une autre structure pour l'adresse en particulier, in_addr, laquelle ne contient en tout et pour tout qu'un seul et unique membre, un long de 32 bits !

    A l'utilisation, on est obligé d'utiliser des cast explicites pour transformer un sockaddr_in en sockaddr général pour ne pas prendre de warnings à la compilation. Coté init, c'est pas triste non plus : le modèle a beau être cohérent, il est implémenté de telle manière que tout est à la charge du développeur : hton{sl}() à tout bout de champ à chaque fois qu'il faut changer une adresse, et obligé de spécifier à l'intérieur de chaque structure pourtant déjà spécialisé le type d'adresse (AF_INET), simplement pour que les fonctions dont on a dû abstraire les paramètres puisse les recaster dans l'autre sens en connaissance de cause. Au secours !

    Par contre ...

    ... par contre, encapsuler tout ce merdier dans des classes n'est pas plus compliqué que d'écrire un programme réseau classique en C pour quelqu'un qui s'y est déjà collé, et on se retrouve au final avec trois ou quatre objets maximum, lequels ne sont pas dérivés plus loin. Du coup, la programmation des sockets qui a l'air si difficile en C semble très simple même avec ses propres objets.


    Donc, d'expérience, ce qui est utile pour écrire un daemon text-based est :

    - Ses propres sockets (ci-dessus).
    - Un analyseur de regexp (en encapsulant encore les routines C système).
    - Un mini-parser. Pas besoin de réécrire yacc, mais il n'y a rien de mieux qu'une grammaire BNF pour décrire la syntaxe d'une ligne valide.
    - Un petit automate à pile. On trouve les classes, cette fois, mais ce n'est pas bien dur non plus de refaire le sien une fois pour toutes.

    A partir de là, tu peux déclencher un événement sur n'importe quel flux d'entrée. En te démerdant bien, tu peux faire un programme complètement coopératif sans avoir besoin de pondre un thread.

    Bon courage.
  • [^] # Re: Tu sors

    Posté par  . En réponse au message Diffusion de vidéos en flash. Évalué à 2.

  • [^] # Re: Tu sors

    Posté par  . En réponse au message Diffusion de vidéos en flash. Évalué à 4.

    Hélas

    Can I use the File Format Specification to create a SWF interpreter or player?
    - No, the File Format Specification is provided for the specific purpose of enabling software applications to export to the SWF file format.

    Can I use the File Format Specification to create a FLV encoder or an FLV streaming service?
    - No, the File Format Specification is provided for the specific purpose of enabling software applications to export to the SWF file format.


    Gnash violerait donc bien les termes de cette licence d'utilisation.
  • [^] # Re: Tu sors

    Posté par  . En réponse au message Diffusion de vidéos en flash. Évalué à 3.

    On est vendredi, c'est permis.

    Pareil, je ne comprends pas les gens qui sont partis en croisade contre le Flash. Certes, ça pourrait être encore mieux, mais il y a quand même bien pire.

    Le format est - presque - ouvert, le plug-in est disponible sous Linux même si, à ce que j'en ai entendu, il ne fonctionne que sur x86, et surtout le produit en lui-même est très bien réalisé. Et puis dans le domaine, c'est-à-dire un client léger d'animations vectorielles, il est de fait qu'il n'y a pas grand chose de disponibles non plus (surtout à l'époque où c'est sorti). Alors, évidemment, il faut laisser disponible la source de la vidéo, et pas faire n'importe quoi avec (sites tout-en-flash), mais c'est pas pire qu'un site qui dit "votre navigateur est incompatible" ou autre bêtise.

    Par contre, je regrette d'une part que Macromédia soit devenue Adobe. On passe d'une boîte dynamique et innovante (à l'origine de ce genre de projets), à un poids lourd de l'informatique qui a fait une acquisition stratégique et qui va rendre ce genre d'initiative beaucoup plus compliqué, à mon goût.

    D'autre part, je ne comprends pas la politique de leurs spécos : On a le droit de faire un logiciel qui exporte en Flash, mais pas de réaliser un lecteur, alors que leur composeur est hors de prix mais que l'Adobe Flash Player ne coûte rien. La seule raison plausible qui me vienne à l'esprit est la volonté d'éviter les forks, et l'évolution d'un format plus abouti à partir du SWF de base ...
  • # Avec su

    Posté par  . En réponse au message compte utilisateur. Évalué à 4.

    Question à 2,50 balles. Ton utilisateur est-il réel et doit-il pouvoir se logguer quand même ?

    Si non, tu mets soit un setuid bit sur l'exécutable si c'en est un, soit tu passes par su si c'est vraiment un script.

    Si oui, tu définis le script ou l'exécutable comme shell de l'utilisateur. Il sera automatiquement exécuté à la connexion à l'exclusion de tout le reste et la session se referma avec lui.
  • # La vache

    Posté par  . En réponse au journal technicien recherché :). Évalué à 10.

    Bac+5 pour être technicien d'exploitation ! Je pensais qu'il y avait de l'emploi dans l'informatique ...

    Sérieusement, le candidat a-t-il une chance de faire un peu d'administration système lui-même ou est-ce qu'il ne sera que le faire valoir des informaticiens titulaires ?

    Etant donné que j'ai déjà occupé ce genre de poste (pour aujourd'hui bosser dans le milieu de la recherche, ouf !), je voudrais savoir s'il y a possibilité d'évoluer, s'il y a des chances d'être chargé de mettre en oeuvre les "solutions proposées", ou si, comme c'est déjà arrivé, le techos va être grosso-modo chargé de vérifier que le daemon ne plante pas ?

    Maintenant, les questions pragmatiques :

    - Quel pourcentage de Linux (et UNIX) dans le job ?
    - Quel salaire approximatif ?
  • [^] # Re: Attendre un peu ?

    Posté par  . En réponse au journal EEEPC pour ma petite soeur. Évalué à 3.

    D'ailleurs, il y a une photte : "qui l'avais écris"

    s/écris/écrit/
  • # Hmm. Trackerd ?

    Posté par  . En réponse au message Monitoring evenement disque dur. Évalué à 2.

    Il y a des logiciels pour suivre l'activité disque et système en général, sous Linux, mais le plus simple est encore de faire un top car un processus qui bouffe du disque bouffe en général du CPU en même temps.

    Si tu utilises GNOME sous Ubuntu, il y a des chances que le processus en question soit trackerd. Je le kille à chaque fois pour le peu qu'il me sert et le pire, c'est qu'on en dit la même chose sur le web :

    http://rootix.info/?p=53
  • # Rien.

    Posté par  . En réponse au message Ouverture de session en mode graphique. Évalué à 5.

    « Exceed » est un serveur X qui fonctionne sur le poste client. Il n'y a rien à installer de plus sur une machine Linux, mais il faut configurer le logger (xdm, gdm, ...) pour lui demander d'écouter les requêtes xdmcp.

    Voir dans le fichier de conf', donc.
  • [^] # Re: Pas de bol...

    Posté par  . En réponse au journal Si vous arrivez à acceder à ce site, je vous bannis ^^. Évalué à 2.

    En même temps, c'est un courrier-type qu'il a reçu (ce qui prouve bien qu'il y a suffisamment de demandes pour justifier un développement propre).

    Si ça se trouve, ils ont configuré un anti-spam pour renvoyer la même réponse à tous les mails ressemblant de près ou de loin à celui-ci.
  • [^] # Re: Patimbert ! Patimbert ! PA-TIM-BERT !

    Posté par  . En réponse au journal La protection BD+ cassée elle aussi .... Évalué à 2.

    Désolé ! Depuis les "wizz MSN", François François a été blacklisté dans la même foulée. :-)
  • [^] # Re: Patimbert ! Patimbert ! PA-TIM-BERT !

    Posté par  . En réponse au journal La protection BD+ cassée elle aussi .... Évalué à 6.

    Oh Punaise, j'avais presqu'oublié ! Pas tout jeune, çà ...

    Permission annulée !
  • [^] # Re: Pas de bol...

    Posté par  . En réponse au journal Si vous arrivez à acceder à ce site, je vous bannis ^^. Évalué à 7.

    Sans compter qu'il y a des extrémistes Windows comme il y a des extrémistes Unix. Et puis il y a également ceux à qui on a confié une tâche qui n'est pas dans leur domaine de compétence et dont ils se seraient passés bien volontiers.

    M'enfin bon. Ils auraient pu faire un PDF géant, à la limite. Ca aurait été crade d'un point de vue web, pas référencé, mais au moins ça aurait été vite fait et ce serait passé chez tout le monde de la même façon.
  • # OSMOSE !

    Posté par  . En réponse au journal Une émission de radio sur la sécurité sur internet. Évalué à 3.

    Ah oui, mais ce n'est pas n'importe quelle émission, c'est Osmose. Dommage que ça passe si tard, mais d'un autre côté, ça permet de profiter de deux heures d'émission d'un coup.

    Ca fait un moment que je n'écoute plus maintenant (parce que j'ai un boulot incompatible avec ce genre d'horaire), mais autant que je me souvienne, tous les sujets sont en général très intéressants.

    Comme on est pas à une heure de grande écoute, l'émission n'a pas besoin d'être aussi formattée qu'un JT ou un show télévisé en prime-time. Du coup, la majeure partie du temps reste consacrée à l'intervenant lui-même, et le programmateur musical s'en donne à coeur joie ("J'fume plus d'shit" de Stupeflip et "Vous êtes un arbre" de SDA. Un bidonaute, probablement).

    On en parlait ici (y a presque trois ans déja) :

    https://linuxfr.org//~yeKcim/18398.html#584646
  • [^] # Re: cron vs sleep() ?

    Posté par  . En réponse au message Cron ou sleep() ?. Évalué à 1.

    Heureusement je ne le déclenche qu'une fois et j'appelle via ce programme un autre pour chaque utilisateur qui a demandé un réveil à l'heure actuelle. Je n'ai donc pas plus d'une itération de ce programme à chaque minute (si cron).

    C'est déjà trop, à mon avis. Et ça reste du polling.

    L'idée est très bonne mais implique qu'à chaque changement dans le fichier, je fasse une réorganisation de ma "liste d'attente". Ca me semble un peu plus lourd à mettre en place mais c'est beaucoup plus économe en performances.

    C'est comme ça que cela se passe déjà pour la plupart des daemons, notamment Apache et PostgreSQL. On envoie un signal au processus pour lui demander de relire la conf' (un outil tout fait existe en général pour le faire). Au pire, tu mets un timeout dans ton daemon pour lui demander de relire le fichier toutes les minutes, mais ça devient superflu.
  • # cron vs sleep() ?

    Posté par  . En réponse au message Cron ou sleep() ?. Évalué à 6.

    Dans les deux cas, c'est du polling et c'est à éviter chaque fois que possible. Mieux tu regardes du côté de alarm() :

    man 2 alarm

    Les seuls avantages de cron, c'est de ne pas lancer un nouveau daemon exprès, et surtout de ne pas laisser dormir inutilement les processus en mémoire s'ils ne servent à rien. Mais pour le reste, c'est assez sauvage. Ton application est dépendante de cron, et déclencher un truc toutes les minutes x nombre d'utilisateurs, tu risques de le sentir passer. Ton crond va gagner des places en temps cpu cumulé.

    Moi je partirai quand même sur un daemon dédié. Moins lourd, plus fiable. Ensuite, c'est de la conception : tu ne te réveilles pas toutes les minutes pour voir si c'est l'heure, mais à la place, tu prends les directives de tous les users, tu les tries par ordre chronologique, tu calcules le nombre de seconde entre l'instant présent et le premier de la liste, tu te mets en attente pour cette durée exacte, tu fais ce qu'il y a à faire et tu recommences avec l'entrée suivante.

    Pour ce faire, tu peux effectivement faire un sleep(), mais tu seras réveillé au moindre signal (notamment celui de alarm()), donc il faudra pendre cela en charge. Mieux : tu crées un socket et tu l'écoutes avec select() dans une boucle principale. De cette manière, tu es sûr de ne pas te réveiller sans raison valable et tu peux communiquer avec ton daemon quand il n'est pas occupé à autre chose. Tu n'as même pas besoin de lancer de nouveaux threads. Cerise sur le gâteau : select() accepte une valeur de timeout facultative, qui te permet de sortir de l'état d'attente au bout d'une durée fixe, même si aucun événement n'a eu lieu.

    En tout état de cause, et encore une fois, évite le réveil périodique minute par minute, surtout avec un sleep (60) car tu ne sais jamais à quel moment de la minute tu vas te réveiller. Si c'est à 00h00m59s, par exemple, tu auras 59 secondes de retard et dans certains cas, cela peut être préjudiciable à l'utilisateur.
  • # TF1 et ...

    Posté par  . En réponse au journal HS : combien de temps encore ?. Évalué à 2.

    pour changer le tv francaise c'est pas la pub de france television qu'il faut supprimer, c'est les mentalité de ceux qui composent les programme..; surtout sur tf1...

    Si TF1 te saoûle, essaie NRJ12. Tu verras comme le hertzien te paraîtra doux et reposant, après ... :-)
  • [^] # Variante

    Posté par  . En réponse au message classement de fichiers. Évalué à 2.

    Moi, je propose :

    ls -1 *[0-9]* | sed -e 's/^\([A-Za-z]*\).*$/\1/g' | sort | uniq -d | while read i ; do mkdir $i; mv $i?* $i ; done
  • [^] # Re: Plus sérieusement,

    Posté par  . En réponse au journal Réponse à des gens qui n'ont pas assez réfléchi. Évalué à 2.

    Je connais par contre certaines personnes ayant utilisé DOS, configuré de l'autoexec.bat et du config.sys à en veux tu en voilà, et qui pourtant sont à peine capable aujourd'hui de surfer avec IE et kikoololer sur MSN.

    Raison de plus pour apprendre le DOS à l'école, donc. :-)

    Alors si même eux ne sont pas capable de comprendre un peu le fonctionnement de leur système, à quoi ça sert de demander à l'utilisateur lambda de s'instruire plus que celui qui est censé concevoir son système ?

    Parce que les informaticiens commencent d'abord par être des utilisateurs lambda ?
  • [^] # Re: Plus sérieusement,

    Posté par  . En réponse au journal Réponse à des gens qui n'ont pas assez réfléchi. Évalué à 7.

    A tout cela, je répondrais qu'il est problablement plus simple de connaître le principe général de fonctionnement d'un ordinateur plutôt que les détails des méandres de Windows.

    Pour la télé, la plupart des gens qui ont utilisé un téléviseur à tube cathodique savent qu'il y a le balayage d'un canon à électron d'une part, et un tuner radio d'autre part, qu'il faut accorder, et cela sans être électronicien. J'irais même jusqu'à dire que l'on peut connaître le principe sans être capable de régler sa propre télé, spécialement parce que la mise en pratique impose de connaître les détails d'un environnement donné.

    Dans le même esprit, "lancer un logiciel" n'est pas non plus, dans sa mise en pratique, quelque chose d'universel. La plupart des gens aujourd'hui assimilent le démarrage d'une application à "double-cliquer sur une icône". Non. Ce n'est pas cela qu'il faut apprendre.

    D'autre part, d'une manière générale, si je pense qu'il faut enseigner, jeune, les principes de fonctionnement d'un ordinateur - et pas de l'utilisation d'un OS ou d'une appli dédiée -, c'est de la même manière que l'on apprend au collège les bases de l'électricité et de la chimie.

    Si on remplaçait à l'école l'atomistique et l'électricité par Si vous commandez un flacon de notre produit A et que vous le mélangez avec notre poudre B, vous obtenez un liquide pour faire la vaisselle et par Tous nos luminaires X sont compatibles avec les interrupteurs Y et que l'on présente cela comme des cours académiques, les parents d'élèves feraient la tronche.

    Enfin, je commence personnellement à en avoir marre du "OSEF". D'autant plus que "On s'en fout", c'est souvent "Tu t'en fous". Ben, çà, tu vois, je me laisse encore le loisir d'en décider seul.
  • [^] # Re: Consommation

    Posté par  . En réponse au journal Firefox et consommation de mémoire. Évalué à 2.

    Il faut aussi tenir compte du pilote de la carte vidéo, typiquement les proprios nVidia, qui marchent bien mais qui s'accordent généreusement 1, voire 2 secondes de délai de grâce lors de l'init ...
  • [^] # Re: merci ...

    Posté par  . En réponse au journal Le manifeste du parti linuxien, résumé pour ceux du fond qui n'écoutent pas. Évalué à 3.

    Oui, enfin, si on va par là, Linux n'aurait jamais pu voir le jour puisque les projets *BSD étaient là aussi, et réciproquement.
  • [^] # Re: Plus sérieusement,

    Posté par  . En réponse au journal Réponse à des gens qui n'ont pas assez réfléchi. Évalué à 7.

    Je pense que le rêve du libriste c'est du 1/3 Windows, 1/3 Linux, 1/3 MacOS (désolé pour les BSDistes). En gros, c'est pas la conquête du monde, c'est juste la reconnaissance de l'existence d'alternativeS, pour dire au monde "ne laissez pas les autres choisir à votre place".

    Mouais, 1/5 de Windows, ce serait déjà plus sympa. Il y a quelques API intéressantes, il faut quand même le reconnaître, et puis Windows ayant été écrit avec les pieds dès le départ, ils n'ont pas à respecter une philosophie Unix ou autre instaurée dès le départ. Si une nouvelle "technologie" (je déteste ce mot dans ce contexte) avec des milliers de classes sort tous les trois mois, ce n'est pas un problème.

    Pour moi, ce n'est même pas la reconnaissance qui est si importante, que d'avoir le choix tout simplement. Être contraint et forcé d'utiliser un seul système qui est quand même loin d'être le meilleur, ça me gonfle, tout simplement. D'autre part, on sait tous les dangers qu'implique la monoculture. A l'époque, il avait des TO9+, des C64, des Amstrad CPC6128 (et des PC), ensuite il y a eu les Amiga 1200, les Atari STF puis les Falcon, etc. Bref, il y avait de la diversité et c'était normal.

    Ensuite, tout le monde utilisait soit le DOS, soit le Basic qui servait de système d'exploitation. Je veux dire par là que tout un chacun devait quand même taper un tout petit peu sur son clavier pour utiliser sa machine. Le résultat est que tout utilisateur savait un minimum comment fonctionnait sa machine sans devoir mener forcément une vie de geek.

    C'était sain, tout cela.

    Dès lors qu'il y aura dans les écoles un petit module d'initiation au fonctionnement d'un ordinateur (comprendre : avant que Windows n'ait complètement démarré) de deux ou trois heures sur une année, pas plus, et que le fait d'utiliser le système de son choix sur sa machine sera redevenu une chose normale dans l'esprit des gens, qu'un système soit majoritaire ne me dérange pas tant que cela ne forme pas une contrainte.