Je veux pas faire mon intégriste, mais moi j'espère de tout c½ur que le projet Nouveau aboutisse un jour ! C'est un projet qui vise à développer des pilotes libres complets (support de la 3D potable) pour les cartes Nvidia (depuis GeForce jusqu'aux toutes dernières). http://nouveau.sourceforge.net/
Pour faire des sites web :-) Et pour les boîtes (oué, ceux qui manipulent de l'argent, pas les étudiants atardés qui font du libre), il reste Java et .NET.
Pour faire avancer la discussions sans fin, la question « découper CImg en plusieurs fichiers » est relative, à mon avis, à la facilité de développement de CImg : il est plus agréable de travailler sur des fichiers de 200 à 400 lignes que sur un fichier de 20.0000 lignes.
Sinon, plutôt que d'utiliser des flags de compilation pour choisir les options de CImg à activer, il serait intéressant de découper la bibliothèque en module. Un programme pour X11 qui voudra permettre l'enregistrement en JPEG utilisera :
En tout cas, je pense qu'au niveau de la compilation, c'est kif-kif. Le précompilateur, cc je crois bien, fait bien son boulot.
C'est vraiment pour rendre le code de CImg (mais pas des programmes qui l'utilisent) plus lisible (plus facile à relire, à maintenir, à faire évoluer, etc.).
En quoi le fait que le style de code d'une bibliothèque te plaise ou non soit un critère pour l'utiliser, si elle remplit les fonctions pour lesquelles tu l'utilises ?
Elle ne me satisfait pas, elle est trop lente :-) Je voulais l'optimiser (ex: en utilisant de l'assembleur SIMD, MMX, SSE, Altivec & co).
De plus, l'essentiel du code de GREYCstoration est dans CImg (tous les traitements sur l'image).
Ne serait-ce pas un peu une sorte de snobisme de programmation ?
Oui, il me semble.
Je suis pas contre que quelqu'un reprenne le peu de code que j'ai écrit. De tout façon il est sous GPL, je ne peux même pas m'y opposer :-)
Pour ceux qui n'y connaissent rien en moteur de rendu, existe-t-il un article permettant de comparer visuellement (image à l'appui) les fonctionnalités ?
En fait, quand j'ai lu le code source de CImg (pour info, c'est un seul fichier C++ de +13.000 lignes), j'ai eu froid dans le dos. Ça m'a refroidi et du coup, je n'ai plus jamais touché à ce plugin.
Un mec m'a envoyé une version 0.3 du plugin qui utilise la version précédente de CImg et l'algorithme GREYCstoration. Je pense qu'il faudrait créer un projet sur Savanah, Gna, BerliOS ou autre pour que d'autres puisse participer au développement du plugin.
Moi j'attend toujours que CImg soit découpé en modules pour qu'il soit un minimum lisible. Je me refuse à travailler sur un fichier monolythique qui mélange appel à la biblitohèque libpng, appel à Windows, gestion des entrées X11, algorithme de traitement d'image, etc.
Contactez-moi si vous voulez voir une nouvelle version du plugin Gimp.
Pour info, ISO (OSI en français) est un organisme international de normalisation. Les normes qui produit sont numérotés, exemple : norme « ISO 9001 ». Il a un espace entre ISO et le nombre. On écrira donc « ISO 8859-1 » et pas « ISO-8859-1 ». Un « CD ISO » est un drôle de raccourci pour désigner un CD-Rom gravé dans le norme ISO 9660 :-)
Donc oui, il vaut mieux parler de « CD-Rom de données » ;-)
La musique est encodée au format « Red Book » développée par Philips et Sony en 1980.
Hachoir a actuellement 3 interfaces utilisateurs : console (sortie brute), curses (on peut naviguer au clavier) et urwid (la plus évoluée). Une interface graphique (je pense en refaire une en Gtk+) suivra.
La version 0.2 a été réécrite depuis zéro. Je suis reparti sur des bases saines : séparation nette entre le noyau (back-end) et l'interface utilisateur (frontend).
Des interfaces FUSE, Hurd, web (?), ou autre sont envisageables :-)
Mouarf, c'est pas du tout une image ISO le fichier dont tu parles (truc.rom) ! À mon avis, pour faire une mise à jour, il faut graver un cdrom de donnée (ce qu'ils appellent "CD ISO") et y placer uniquement ce fichier de 1 Mo ...
À mon avis le fichier ROM contient un programme pour le processeur de ta platine (c'est une platine DVD/"DivX" non ?). Enfin, c'est peut-être un espèce de format d'archive contenant programme + des fichiers de données, mais en tout cas, c'est rien de classique (pas une archive TAR par exemple).
Le parseur ne lit que les "volumes" (4 blocs de 2 Ko sur l'ISO testé, netinst Debian Sarge). http://hachoir.python-hosting.com/file/hachoir/trunk/src/hac(...)
(utilise la version SVN si tu veux tester, ou alors copie juste ce fichier au bon endroit, /usr/lib/python2.4/site-packages/hachoir.../parser/file_system/ -- pas sûr que ça marche :-))
À ce que j'ai compris :
* Il y a 0x8000 (32768) octets nuls au début du fichier
* Ensuite on trouve différents "volumes"
* Chaque volume fait 2048 octets et a comme entête "\x01CD001" (1, "CD001")
Est-ce que tu as la chaîne "CD001" dans ton fichier (au début) ?
Je connais trois commandes pour faire ça :
mount iso /mnt/loop -t iso-9660 -o loop=/dev/loop3,offset=XXX
dd if=iso of=iso_coupe seek=XXX bs=XXX
tail -c +XXX
J'aime bien la dernière commande :-) (par tail commence à compter à 1, la "-c +2" zappe le 1er octet)
Pour trouver la bonne valeur, comparer une ISO normale et l'ISO bizzare avec "hexdump -C fichier | less", khexedit ou autre éditeur hexadécimal.
L'écriture d'un parseur prend beaucoup de temps. L'écriture d'un bon parseur en prend encore plus :-) Je te laisse donc jetter un coup aux systèmes de fichier pour CDRom : http://www.nondot.org/sabre/os/articles/FileSystems/
(ISO-9660, Joliet, etc.)
À part l'astuce du hinting expliquée plus haut, il y a aussi le crénage (kerning en anglais) : on rapproche des lettres pour qu'elles s'imbriquent l'une dans l'autre, pour « VA », la lettre A s'imbrique juste à côté du V par exemple. http://fr.wikipedia.org/wiki/Cr%E9nage
L'anti-crénelage apporte un confort de lecture très appréciable. XFree 4.0 avait introduit le lissage "simple" (dégradé noir -> blanc). Windows (XP je crois) a "inventé" Cleartype : utilisation des sous-pixels (rouge/vert/bleu) sur les écrans LCD. Cette technologie existe aussi sous Xorg (je ne sais pas qui a été l'inventeur ... l'essentiel étant qu'on puisse l'avoir sur notre OS libre ;-)). http://fr.wikipedia.org/wiki/Anticr%E9nelage
Et d'autres rendus de police non libres (bouuuuh) : http://www.haypocalc.com/tmp/unicode/
(liens temporaires ... je prépare un vrai article sur le sujet)
Je n'ai pas encore trouvé assez de polices libres pour couvrir tout Unicode. J'ai testé Arial Unicode MS ... très jolie police ! Par contre, je préfère les polices avec sérif :-) Il existe aussi les polices shareware (5$ je crois) Code2000 et Code2001 qui couvrent une très grosse partie d'Unicode 4. Enfin, TITUS Cyberbit est une jolie police gratuite (pour un usage non commercial) mais non libre.
Ça va plus vite (30% plus vite), mais c'est la classe BaseException qui fait son apparition, pas Exception :-p
BaseException inclut Exception, KeyboardInterrupt et SystemError (et peut-être d'autres). Bref, "except BaseException" attrape TOUTES les exceptions ;-)
Avec une température pareil, des phénomènes paranormaux apparaissent : http://fr.wikipedia.org/wiki/Supraconductivité
(en bref : « Il est caractérisé par l'absence de résistance électrique et l'annulation du champ magnétique à l'intérieur du matériau »)
Attendez, 268°C en dessous de zéro ... faut pas déconner ! C'est n'importe quoi, ça doit être hyper coûteux d'avoir un froid si extrême ! Il n'y a que des grosses compagnies d'électricité qui utilisent ça pour transporter le courant « sans perte » (faut voir la facture ... d'électricité, du système de refroidissement).
La supraconductivité ça permet aussi de faire des trucs sympas comme faire voler des trains ;-) (sérieux) Je me demande encore comment ils font pour freiner ... Ils diminuent doucement le champ magnétique pour avoir de plus en plus de frottement ? ça doit vite user les rails / le train. http://www.rtri.or.jp/rd/maglev/html/english/maglev_frame_E.(...)
On est d'abord parti sur VeraSans.ttf (de mémoire), mais cette police est très limité ! J'ai vu que Battle for Wesnoth utilisait DejaVu.ttf (DejaVu Sans en fait). Alors je l'ai reprise car les langues de l'Europe de l'Est s'affichaient bien mieux avec. Effectivement, les gars de DejaVu ont fait un superbe boulot ! http://dejavu.sourceforge.net/wiki/index.php/Main_Page
Peut-être qu'on peut spécifier un nom de police plutôt qu'un nom de fichier. On est parti sur un fichier donné car Wormux a déjà plein de dépendances. Et puis bon, avec les portages Windows et MacOS X, tout ça ...
J'avais commencé une traduction en espéranto, puis Damien Boucard l'a terminée, mais ... pour la version 0.5 Depuis plus rien. Je ne pense pas que Damien veuille retravailler dessus.
Envoie moi la traduction, j'uploaderai sous 24h.
La notation avec des x date de l'époque où Wormux utilisait une pilote bitmap. Cette époque est révolue : UTF-8 + TTF est le dual gagnant ;-)
# Projet Nouveau
Posté par Victor STINNER (site web personnel) . En réponse au journal ATI 1, nVidia 0.... Évalué à 10.
http://nouveau.sourceforge.net/
Haypo
# Il reste Python, Ruby, Perl, Tcl
Posté par Victor STINNER (site web personnel) . En réponse au journal PHP is dying. Évalué à 4.
Haypo
# Intégré dans Debian ;-)
Posté par Victor STINNER (site web personnel) . En réponse au journal Appel à contributions. Évalué à 2.
http://packages.debian.org/unstable/games/wormux
Uniquement dans unstable, mais bientôt dans testing ;-)
Haypo
[^] # Re: Gentoo
Posté par Victor STINNER (site web personnel) . En réponse au journal Appel à contributions. Évalué à 2.
Haypo
[^] # Re: OMFG !
Posté par Victor STINNER (site web personnel) . En réponse au journal Sortie de CImg 1.1.5. Évalué à 2.
http://www.ioccc.org/
Ça m'intéresserait de connaître le même genre de site mais pour Python ! Perl, c'est de la triche, il intègre un obscursificateur de base :-p
http://en.wikipedia.org/wiki/Just_another_Perl_hacker
Haypo
[^] # Re: Apu updates ?
Posté par Victor STINNER (site web personnel) . En réponse au journal Sortie de CImg 1.1.5. Évalué à 2.
Sinon, plutôt que d'utiliser des flags de compilation pour choisir les options de CImg à activer, il serait intéressant de découper la bibliothèque en module. Un programme pour X11 qui voudra permettre l'enregistrement en JPEG utilisera :
En tout cas, je pense qu'au niveau de la compilation, c'est kif-kif. Le précompilateur, cc je crois bien, fait bien son boulot.
C'est vraiment pour rendre le code de CImg (mais pas des programmes qui l'utilisent) plus lisible (plus facile à relire, à maintenir, à faire évoluer, etc.).
Haypo
[^] # Re: Apu updates ?
Posté par Victor STINNER (site web personnel) . En réponse au journal Sortie de CImg 1.1.5. Évalué à 2.
Elle ne me satisfait pas, elle est trop lente :-) Je voulais l'optimiser (ex: en utilisant de l'assembleur SIMD, MMX, SSE, Altivec & co).
De plus, l'essentiel du code de GREYCstoration est dans CImg (tous les traitements sur l'image).
Ne serait-ce pas un peu une sorte de snobisme de programmation ?
Oui, il me semble.
Je suis pas contre que quelqu'un reprenne le peu de code que j'ai écrit. De tout façon il est sous GPL, je ne peux même pas m'y opposer :-)
Haypo
# Comparaisons entre moteurs de rendu
Posté par Victor STINNER (site web personnel) . En réponse au journal Yafray 0.0.9. Évalué à 4.
Haypo
[^] # Re: Apu updates ?
Posté par Victor STINNER (site web personnel) . En réponse au journal Sortie de CImg 1.1.5. Évalué à 3.
Un mec m'a envoyé une version 0.3 du plugin qui utilise la version précédente de CImg et l'algorithme GREYCstoration. Je pense qu'il faudrait créer un projet sur Savanah, Gna, BerliOS ou autre pour que d'autres puisse participer au développement du plugin.
Moi j'attend toujours que CImg soit découpé en modules pour qu'il soit un minimum lisible. Je me refuse à travailler sur un fichier monolythique qui mélange appel à la biblitohèque libpng, appel à Windows, gestion des entrées X11, algorithme de traitement d'image, etc.
Contactez-moi si vous voulez voir une nouvelle version du plugin Gimp.
Haypo
# Hop, un petit lien perso
Posté par Victor STINNER (site web personnel) . En réponse au journal Caps Lock en touche Compose ?. Évalué à 6.
Haypo
[^] # Re: Nouveau parseur ?
Posté par Victor STINNER (site web personnel) . En réponse au journal Hachoir 0.4. Évalué à 4.
Donc oui, il vaut mieux parler de « CD-Rom de données » ;-)
La musique est encodée au format « Red Book » développée par Philips et Sony en 1980.
http://fr.wikipedia.org/wiki/Organisation_internationale_de_(...)
http://fr.wikipedia.org/wiki/ISO_9660
http://en.wikipedia.org/wiki/Red_Book_(audio_CD_standard)
Voili voilou pour la note culturelle,
Haypo
[^] # Re: gui
Posté par Victor STINNER (site web personnel) . En réponse au journal Hachoir 0.4. Évalué à 3.
La version 0.2 a été réécrite depuis zéro. Je suis reparti sur des bases saines : séparation nette entre le noyau (back-end) et l'interface utilisateur (frontend).
Des interfaces FUSE, Hurd, web (?), ou autre sont envisageables :-)
Haypo
[^] # Re: Nouveau parseur ?
Posté par Victor STINNER (site web personnel) . En réponse au journal Hachoir 0.4. Évalué à 4.
À mon avis le fichier ROM contient un programme pour le processeur de ta platine (c'est une platine DVD/"DivX" non ?). Enfin, c'est peut-être un espèce de format d'archive contenant programme + des fichiers de données, mais en tout cas, c'est rien de classique (pas une archive TAR par exemple).
Haypo
[^] # Re: Nouveau parseur ?
Posté par Victor STINNER (site web personnel) . En réponse au journal Hachoir 0.4. Évalué à 3.
http://www.nondot.org/sabre/os/files/FileSystems/iso9660.pdf
Le parseur ne lit que les "volumes" (4 blocs de 2 Ko sur l'ISO testé, netinst Debian Sarge).
http://hachoir.python-hosting.com/file/hachoir/trunk/src/hac(...)
(utilise la version SVN si tu veux tester, ou alors copie juste ce fichier au bon endroit, /usr/lib/python2.4/site-packages/hachoir.../parser/file_system/ -- pas sûr que ça marche :-))
À ce que j'ai compris :
* Il y a 0x8000 (32768) octets nuls au début du fichier
* Ensuite on trouve différents "volumes"
* Chaque volume fait 2048 octets et a comme entête "\x01CD001" (1, "CD001")
Est-ce que tu as la chaîne "CD001" dans ton fichier (au début) ?
Haypo
[^] # Re: Nouveau parseur ?
Posté par Victor STINNER (site web personnel) . En réponse au journal Hachoir 0.4. Évalué à 2.
Je connais trois commandes pour faire ça :
mount iso /mnt/loop -t iso-9660 -o loop=/dev/loop3,offset=XXX
dd if=iso of=iso_coupe seek=XXX bs=XXX
tail -c +XXX
J'aime bien la dernière commande :-) (par tail commence à compter à 1, la "-c +2" zappe le 1er octet)
Pour trouver la bonne valeur, comparer une ISO normale et l'ISO bizzare avec "hexdump -C fichier | less", khexedit ou autre éditeur hexadécimal.
Haypo
[^] # Re: Nouveau parseur ?
Posté par Victor STINNER (site web personnel) . En réponse au journal Hachoir 0.4. Évalué à 6.
http://www.nondot.org/sabre/os/articles/FileSystems/
(ISO-9660, Joliet, etc.)
D'autres ressources :
http://hachoir.python-hosting.com/wiki/FileFormatResources
Je peux te filer un coup de main si tu veux écrire un parseur, car la documentation actuelle est pauvre :
http://hachoir.python-hosting.com/wiki/WriteYourParser
Haypo
# Détails sur les polices de caractère vectorielles
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche Fedora lance une campagne de test de la police DejaVu. Évalué à 8.
http://fr.wikipedia.org/wiki/Cr%E9nage
L'anti-crénelage apporte un confort de lecture très appréciable. XFree 4.0 avait introduit le lissage "simple" (dégradé noir -> blanc). Windows (XP je crois) a "inventé" Cleartype : utilisation des sous-pixels (rouge/vert/bleu) sur les écrans LCD. Cette technologie existe aussi sous Xorg (je ne sais pas qui a été l'inventeur ... l'essentiel étant qu'on puisse l'avoir sur notre OS libre ;-)).
http://fr.wikipedia.org/wiki/Anticr%E9nelage
Pour activer l'anti-crénelage, des infos chez Gentoo :
http://gentoo-wiki.com/HOWTO_Xorg_and_Fonts
--
Enfin je voulais signaler qu'il existe une autre police libre très intéressante : MPH 2B Damase. Elle couvre des plages Unicode que DejaVu n'a pas encore.
http://packages.debian.org/unstable/x11/ttf-mph-2b-damase
Exemples de rendu de cette police :
http://www.haypocalc.com/tmp/unicode/ugaritic_mph_2b_damase.(...)
http://www.haypocalc.com/tmp/unicode/linear_b_ideograms_mph_(...)
Et d'autres rendus de police non libres (bouuuuh) :
http://www.haypocalc.com/tmp/unicode/
(liens temporaires ... je prépare un vrai article sur le sujet)
--
Enfin, j'ai noté d'autres informations sur un court "article" par ici :
http://www.haypocalc.com/wiki/Polices_de_caract%E8re
Je n'ai pas encore trouvé assez de polices libres pour couvrir tout Unicode. J'ai testé Arial Unicode MS ... très jolie police ! Par contre, je préfère les polices avec sérif :-) Il existe aussi les polices shareware (5$ je crois) Code2000 et Code2001 qui couvrent une très grosse partie d'Unicode 4. Enfin, TITUS Cyberbit est une jolie police gratuite (pour un usage non commercial) mais non libre.
Haypo
[^] # Re: Tricheurs !
Posté par Victor STINNER (site web personnel) . En réponse au journal Vista : Les mauvaise langues .... Évalué à 2.
Haypo
# Plus c'est gros, mieux ça passe
Posté par Victor STINNER (site web personnel) . En réponse au journal Python 2.5 beta 2. Évalué à -2.
Je vous laisse relire 4x ces phrases.
Haypo
# Au sujet des exceptions
Posté par Victor STINNER (site web personnel) . En réponse au journal Python 2.5 beta 2. Évalué à 2.
BaseException inclut Exception, KeyboardInterrupt et SystemError (et peut-être d'autres). Bref, "except BaseException" attrape TOUTES les exceptions ;-)
Haypo
# Tricheurs !
Posté par Victor STINNER (site web personnel) . En réponse au journal Vista : Les mauvaise langues .... Évalué à 2.
http://fr.wikipedia.org/wiki/Supraconductivité
(en bref : « Il est caractérisé par l'absence de résistance électrique et l'annulation du champ magnétique à l'intérieur du matériau »)
Attendez, 268°C en dessous de zéro ... faut pas déconner ! C'est n'importe quoi, ça doit être hyper coûteux d'avoir un froid si extrême ! Il n'y a que des grosses compagnies d'électricité qui utilisent ça pour transporter le courant « sans perte » (faut voir la facture ... d'électricité, du système de refroidissement).
La supraconductivité ça permet aussi de faire des trucs sympas comme faire voler des trains ;-) (sérieux) Je me demande encore comment ils font pour freiner ... Ils diminuent doucement le champ magnétique pour avoir de plus en plus de frottement ? ça doit vite user les rails / le train.
http://www.rtri.or.jp/rd/maglev/html/english/maglev_frame_E.(...)
Haypo
[^] # Re: beuh
Posté par Victor STINNER (site web personnel) . En réponse au journal Progrès dans l'équipe de traduction du jeu Wormux. Évalué à 2.
http://dejavu.sourceforge.net/wiki/index.php/Main_Page
Peut-être qu'on peut spécifier un nom de police plutôt qu'un nom de fichier. On est parti sur un fichier donné car Wormux a déjà plein de dépendances. Et puis bon, avec les portages Windows et MacOS X, tout ça ...
Haypo
[^] # Re: Espéranto
Posté par Victor STINNER (site web personnel) . En réponse au journal Progrès dans l'équipe de traduction du jeu Wormux. Évalué à 2.
Envoie moi la traduction, j'uploaderai sous 24h.
La notation avec des x date de l'époque où Wormux utilisait une pilote bitmap. Cette époque est révolue : UTF-8 + TTF est le dual gagnant ;-)
Haypo
[^] # Re: Bientot sur commodore 64 ?
Posté par Victor STINNER (site web personnel) . En réponse à la dépêche XMoto 0.1.16 est sorti !. Évalué à 4.
http://www.drkrupp.se/bilder/spel/motoracer_008.jpg
Motoraccer était plus orienté vitesse qu'agilié ! Et puis bon, Motoracer était en 3D, alors "clone" est un peu gros comme mot.
Motoraccer ! Comme je me suis éclaté à ce jeu !!!! Ah ah, rouler à 300 Km/h en faisant plusieurs wheeling d'afilé ;-)
Haypo
[^] # Re: .
Posté par Victor STINNER (site web personnel) . En réponse au journal osinfo. Évalué à 2.
Ubuntu release 5.10 on i386 (2.6.12-10-386)
$ ./osinfo --help
./osinfo: illegal option -- -
(mais donne l'aide)
Hum, il manque "osinfo -v" pour avoir la version ... d'osinfo :-) (bon apparement j'ai testé la 1.2)
Haypo