Pourquoi, c'est RMS qui écrit la doc dans ce cas là ? :-)
Plus sérieusement, c'est pas parce qu'un truc devient ouvert qu'il y a plus de doc. Tu peux trouver facilement de la doc pour Windows, et difficilement pour certains projets libres. L'un n'a donc rien à voir avec l'autre.
De plus, après son nouveau wiki, Mandriva est en train de migrer son bugzilla, qui il faut le dire, était un goulot d'étranglement incroyable. Le fait de lister tous les packages disponibles pour y choisir celui qui auquel se rapporte un bug était d'une lenteur infinie. Vincent Danen s'y attèle: http://linsec.ca/blog/index.php?/archives/133-New-bugzilla-i(...)
Le nouveau bugzilla est actuellement en test (inutile donc de raporter des bugs dessus, ils seraient perdus): http://bugzilla.linsec.ca/
Certaines évolutions sont le résultat direct des possiblités ouvertes par Powertop, disponible depuis le kernel 2.6.21. Par exemple, l'applet d'état du réseau, net_applet, faisait un polling qui réveillait le kernel. Celui ci sera supprimé. http://wiki.mandriva.com/en/Development/Ideas/Technical_spec(...)
...Ou bien (peut être, la proposition n'a pas encore été acceptée) un outil d'installation de codecs "à la Ubuntu". Celui ci permet l'installation de codec non redistribuables dans certains pays, car soumis au DMCA (US) ou à l'EUCD (europe) - merci les brevets logiciels. http://wiki.mandriva.com/en/Development/Ideas/Technical_spec(...)
Côté son, l'heure a sonné de changer le système tout pourri de serveurs de son sous Linux. Des alternatives sont à l'étude pour KDE3, KDE4 et GNOME. Ce dernier pourrait bien remplacer esd par PulseAudio. http://wiki.mandriva.com/en/Development/Ideas/Technical_spec(...)
Donc à priori on peut dire que cela devrait être un bon cru, GNOME 2.20 et KDE 3.5.7, avec une version preview de KDE4, kernel 2.6.22, Xorg 7.3 avec XrandR 1.2, disponibilité de compiz-fusion, fin de la migration complète aux menus XDG.
Ah, et je te recommande refaire un peu le point sur le fonctionnement de l'allocation mémoire et les pointeurs. Là j'ai l'impression que tu vas un peu trop vite en besogne. C'est pas méchant hein, mais c'est bien de bien maitriser le langage avant l'API.
Reposte ton code quand tu auras quelque chose, je te filerai un coup de main.
Si l'ordre d'arrivée des paquets est important, tu peux même utiliser les files. http://developer.gnome.org/doc/API/2.0/glib/glib-Double-ende(...)
L'avantage est que tu peux rajouter un élément à la fin en temps constant. Tu n'as pas besoin de parcourir la liste entière pour rajouter cet élément à la fin. En tout cas vu ce que tu veux faire, c'est la solution que j'adopterais, à moins qu'il n'y ait une bonne raison (que je ne vois pas) pour utiliser un B-tree...
Hum... Tu es sûr que c'est bien une liste que tu dois utiliser ? Tu es sûr que ce n'est pas juste un nouveau noeud dans le btree ? Sinon, pour les listes, oui la GLib en a: GSList pour les listes simplement chainées, et GList pour les listes doublement chainées. Pour connaitre tous les types d'éléments fournis par la GLib, regarde la doc: http://developer.gnome.org/doc/API/2.0/glib/glib-data-types.(...)
Ah, pour les g_slice_*, ce n'est intéressant que si tous les objets ont la même taille. Donc si tu veux allouer/désallouer plein d'objets de 15000 octets, c'est ce qu'il faut utiliser. Mais là dans ton cas, vu que la taille des données est variable, ce n'est pas indiqué: autant ne stocker que ce dont tu as besoin.
GArray est fait pour stocker plein d'objets de taille fixe, pour ne pas avoir besoin d'allocation dynamique. Pour toi ce n'est pas possible, car tes objets ne font pas tous la même taille. Tu pourrais dans ce cas utiliser GPtrArray qui est fait pour stocker un pointeur vers des données (que tu allouerais dynamiquement), mais dans ce cas aussi, tu perds la taille de tes données.
Conclusion: si tu veux pouvoir accéder à tes données sans risquer d'aller lire en dehors des limites du buffer où elles se trouvent, tu dois utiliser une structure qui contient:
- la taille de ton buffer
- un pointeur vers ton buffer de données
Tu peux le faire à la main, c'est simple, mais si tu n'as pas envie de te prendre la tête, tu utilise une GString, qui le fait à ta place . Si tu la crées avec g_string_new_len, tu peux spécifier la taille de tes données, et dans ce cas là, la chaine à copier est autorisée à contenir des caractères '\0'. Ton code ressemblera alors à : value = g_string_new_len(m->payload, m->data_len);
g_tree_insert(Storing_B_Tree, key_one->str, value);
Tu accèdes ensuite à ton buffer avec value->str et tu en connais la taille grâce à value->len. Avec ça tu ne consommes juste ce qu'il faut de mémoire, pas plus, et connais toujours la longueur de tes données.
Toutes mes confuses, après avoir recommandé l'article, on m'a renvoyé sur la dernière page consultée, et pas sur la première page de l'article comme je le pensais...
Non, mais par contre, ça vulgarise bien les problèmes, et dans un média de masse. Le mettre en avant, c'est faire partager avec un article compréhensible pour tous.
En gros, toi tu n'apprends rien, mais par contre, tu as un bon lien à ressortir le jour où te sort l'excuse habituelle: "pourquoi refuser si t'as rien fait de mal ?" (vous savez, l'excuse qu'on nous sort aussi pour la télésurveillance).
Bin moi je me suis rendu compte y a pas longtemps que je pouvais jouer à Neverwinter Nights avec les pilotes libres pour mon ATI 9800 pro ! Ah, il est où le temps où je perdais ma soirée à installer les pilotes proprio...
Bon, par contre au niveau performances, j'aurais bien voulu comparer, faudrait que je vois comment afficher les FPS du jeu.
Ha, bé je comprends mieux pourquoi une meuf de meetic avec qui j'avais pas parlé depuis deux ans m'a envoyé une invitation pour un site à la con de genre... Je me disais aussi, un geek qui se fait contacter par une fille, c'est louche.
Cherchons où se trouve ce fichier: [luis@donald ~]$ urpmf libmp3lame.so
liblame0-devel:/usr/lib/libmp3lame.so
liblame0:/usr/lib/libmp3lame.so.0
liblame0:/usr/lib/libmp3lame.so.0.0.0
Donc le fichier que tu veux se trouve dans le package liblame0.
[luis@donald ~]$ urpmq --sources liblame0
ftp ://ftp.free.fr/pub/Distributions_Linux/plf/mandriva/2007.1/free/release/binary/i586/liblame0-3.97-2plf2007.1.i586.rpm
Bon en plus, je peux voir que j'ai ce package disponible parce que j'ai ajouté le média plf-free à ma distrib. Pour cela, comme dit plus haut, il faut passer par http://easyurpmi.zarb.org .
Tu peux essayer d'installer les smartmontools pour vérifier que ce n'est pas un problème de disque dur. Effectivement, commme toi j'aurais pensé à un problème de RAM, mais si memtest est muet...
[^] # Re: En gros...
Posté par liberforce (site web personnel) . En réponse au journal Solaris mon amour. Évalué à 4.
Plus sérieusement, c'est pas parce qu'un truc devient ouvert qu'il y a plus de doc. Tu peux trouver facilement de la doc pour Windows, et difficilement pour certains projets libres. L'un n'a donc rien à voir avec l'autre.
# Bin moi qui attendais...
Posté par liberforce (site web personnel) . En réponse au journal Mandriva 2008: les nouveautés prévues. Évalué à 10.
Alors voici le processus dans l'ordre:
Les idées issues de la communauté:
http://wiki.mandriva.com/en/Development/Ideas/Mandriva_2008
Les spécifications techniques détaillée des améliorations:
http://wiki.mandriva.com/en/Development/Ideas/Technical_spec(...)
Une synthèse des spécifications techniques:
http://wiki.mandriva.com/en/Releases/Mandriva/2008.0/What's_(...)
De plus, après son nouveau wiki, Mandriva est en train de migrer son bugzilla, qui il faut le dire, était un goulot d'étranglement incroyable. Le fait de lister tous les packages disponibles pour y choisir celui qui auquel se rapporte un bug était d'une lenteur infinie. Vincent Danen s'y attèle:
http://linsec.ca/blog/index.php?/archives/133-New-bugzilla-i(...)
Le nouveau bugzilla est actuellement en test (inutile donc de raporter des bugs dessus, ils seraient perdus):
http://bugzilla.linsec.ca/
Certaines évolutions sont le résultat direct des possiblités ouvertes par Powertop, disponible depuis le kernel 2.6.21. Par exemple, l'applet d'état du réseau, net_applet, faisait un polling qui réveillait le kernel. Celui ci sera supprimé.
http://wiki.mandriva.com/en/Development/Ideas/Technical_spec(...)
Mandriva contribue aussi upstream, on l'oublie trop souvent. Ainsi l'envoi upstream des modifications de pm-utils, et de la base de détection de périphériques (PCI IDs) est au programme, pour éviter de dupliquer inutilement les efforts entre chaque distribution.
http://wiki.mandriva.com/en/Development/Ideas/Technical_spec(...)
http://wiki.mandriva.com/en/Development/Ideas/Technical_spec(...)
Mandriva sait aussi prendre ce qu'il y a de bon ailleurs, par exemple la gestion udev dans le cas de Fedora:
http://wiki.mandriva.com/en/Development/Ideas/Technical_spec(...)
...Ou bien (peut être, la proposition n'a pas encore été acceptée) un outil d'installation de codecs "à la Ubuntu". Celui ci permet l'installation de codec non redistribuables dans certains pays, car soumis au DMCA (US) ou à l'EUCD (europe) - merci les brevets logiciels.
http://wiki.mandriva.com/en/Development/Ideas/Technical_spec(...)
Côté son, l'heure a sonné de changer le système tout pourri de serveurs de son sous Linux. Des alternatives sont à l'étude pour KDE3, KDE4 et GNOME. Ce dernier pourrait bien remplacer esd par PulseAudio.
http://wiki.mandriva.com/en/Development/Ideas/Technical_spec(...)
De même, les derniers pilotes audio OSS seront remplacés s'ils ont une alternative ALSA.
http://wiki.mandriva.com/en/Development/Ideas/Technical_spec(...)
Donc à priori on peut dire que cela devrait être un bon cru, GNOME 2.20 et KDE 3.5.7, avec une version preview de KDE4, kernel 2.6.22, Xorg 7.3 avec XrandR 1.2, disponibilité de compiz-fusion, fin de la migration complète aux menus XDG.
Bref: ils ont du boulot ! :-)
[^] # Re: C'est simple:
Posté par liberforce (site web personnel) . En réponse au message Galère de pointeurs avec les GArrays. Évalué à 2.
Reposte ton code quand tu auras quelque chose, je te filerai un coup de main.
[^] # Re: C'est simple:
Posté par liberforce (site web personnel) . En réponse au message Galère de pointeurs avec les GArrays. Évalué à 2.
http://developer.gnome.org/doc/API/2.0/glib/glib-Hash-Tables(...)
Si l'ordre d'arrivée des paquets est important, tu peux même utiliser les files.
http://developer.gnome.org/doc/API/2.0/glib/glib-Double-ende(...)
L'avantage est que tu peux rajouter un élément à la fin en temps constant. Tu n'as pas besoin de parcourir la liste entière pour rajouter cet élément à la fin. En tout cas vu ce que tu veux faire, c'est la solution que j'adopterais, à moins qu'il n'y ait une bonne raison (que je ne vois pas) pour utiliser un B-tree...
[^] # Re: C'est simple:
Posté par liberforce (site web personnel) . En réponse au message Galère de pointeurs avec les GArrays. Évalué à 2.
Mais qu'est ce que tu essaie de faire au juste ?
[^] # Re: Question:
Posté par liberforce (site web personnel) . En réponse au message Galère de pointeurs avec les GArrays. Évalué à 2.
[^] # Re: C'est simple:
Posté par liberforce (site web personnel) . En réponse au message Galère de pointeurs avec les GArrays. Évalué à 2.
Conclusion: si tu veux pouvoir accéder à tes données sans risquer d'aller lire en dehors des limites du buffer où elles se trouvent, tu dois utiliser une structure qui contient:
- la taille de ton buffer
- un pointeur vers ton buffer de données
Tu peux le faire à la main, c'est simple, mais si tu n'as pas envie de te prendre la tête, tu utilise une GString, qui le fait à ta place . Si tu la crées avec g_string_new_len, tu peux spécifier la taille de tes données, et dans ce cas là, la chaine à copier est autorisée à contenir des caractères '\0'. Ton code ressemblera alors à :
value = g_string_new_len(m->payload, m->data_len);
g_tree_insert(Storing_B_Tree, key_one->str, value);
Tu accèdes ensuite à ton buffer avec value->str et tu en connais la taille grâce à value->len. Avec ça tu ne consommes juste ce qu'il faut de mémoire, pas plus, et connais toujours la longueur de tes données.
[^] # Re: Précision
Posté par liberforce (site web personnel) . En réponse au journal FreeBSD s'attaque au GNU Tools. Évalué à 1.
~~~~> [ ]
[^] # Re: Question:
Posté par liberforce (site web personnel) . En réponse au message Galère de pointeurs avec les GArrays. Évalué à 2.
# Question:
Posté par liberforce (site web personnel) . En réponse au message Galère de pointeurs avec les GArrays. Évalué à 2.
[^] # Re: ... sauf que ...
Posté par liberforce (site web personnel) . En réponse au journal linuxfr dans télématin .... Évalué à 10.
# Bravo !
Posté par liberforce (site web personnel) . En réponse à la dépêche Sortie du noyau Linux 2.6.22. Évalué à 10.
# Mandriva One, le live CD de Mandriva
Posté par liberforce (site web personnel) . En réponse au message [par où débuter]. Évalué à 2.
http://wiki.mandriva.com/fr/Choisir_la_bonne_version
# chez moi ça marche.com
Posté par liberforce (site web personnel) . En réponse au message Qu'est devenu rpmbone.net. Évalué à 2.
[^] # Re: hein ?
Posté par liberforce (site web personnel) . En réponse au message Placer un filesystem complet en RAM. Évalué à 2.
[^] # Re: Mémoire cache
Posté par liberforce (site web personnel) . En réponse au message Placer un filesystem complet en RAM. Évalué à 3.
# Un hymne...
Posté par liberforce (site web personnel) . En réponse au journal Jeu sonore. Évalué à 8.
[^] # Re: En commençant par la page n° 1 et non pas la n°2, c'est mieux
Posté par liberforce (site web personnel) . En réponse au journal Fichage ADN de masse. Évalué à 3.
[^] # Re: Et...
Posté par liberforce (site web personnel) . En réponse au journal Fichage ADN de masse. Évalué à 3.
En gros, toi tu n'apprends rien, mais par contre, tu as un bon lien à ressortir le jour où te sort l'excuse habituelle: "pourquoi refuser si t'as rien fait de mal ?" (vous savez, l'excuse qu'on nous sort aussi pour la télésurveillance).
[^] # Re: Oh !
Posté par liberforce (site web personnel) . En réponse au journal I need a fix 'cause I'm going down. Évalué à 3.
Bon, par contre au niveau performances, j'aurais bien voulu comparer, faudrait que je vois comment afficher les FPS du jeu.
[^] # Re: Euh...
Posté par liberforce (site web personnel) . En réponse au journal Adblockblockblock : l'anti-anti-anti-pub. Évalué à 10.
Faut pas déconner quand même...
# Message personnel
Posté par liberforce (site web personnel) . En réponse au journal Usenet. Évalué à 2.
[^] # Re: ca arrive.
Posté par liberforce (site web personnel) . En réponse au journal Attention à badoo.com. Évalué à 10.
[^] # Re: Merci, mais...
Posté par liberforce (site web personnel) . En réponse au message libmp3lame.so ? ou ça ?. Évalué à 3.
[luis@donald ~]$ urpmf libmp3lame.so
liblame0-devel:/usr/lib/libmp3lame.so
liblame0:/usr/lib/libmp3lame.so.0
liblame0:/usr/lib/libmp3lame.so.0.0.0
Donc le fichier que tu veux se trouve dans le package liblame0.
[luis@donald ~]$ urpmq --sources liblame0
ftp ://ftp.free.fr/pub/Distributions_Linux/plf/mandriva/2007.1/free/release/binary/i586/liblame0-3.97-2plf2007.1.i586.rpm
Bon en plus, je peux voir que j'ai ce package disponible parce que j'ai ajouté le média plf-free à ma distrib. Pour cela, comme dit plus haut, il faut passer par http://easyurpmi.zarb.org .
Ensuite: urpmi liblame0.
# urpmi smartmontools ?
Posté par liberforce (site web personnel) . En réponse au message D'où viennent ces plantages ?. Évalué à 2.