Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1676 Le 30/07/2012, à 10:54

grim7reaper

Re : /* Topic des codeurs [7] */

Le Rouge a écrit :
grim7reaper a écrit :

Makefile à la main ? Haha, soyons sérieux… En dehors des petit projets, ça tiens pas la route.

Je confirme et c'est bien pour ça que j'ai regardé ailleurs. Mon projet loin d'être énorme mais il fait quand même plusieurs milliers de lignes (20 classes) et c'est déjà intenable de mettre les makefile's à jour hmm

Et encore, quand tu vises plusieurs plates-formes et/ou que tu veux vérifier la présence de plusieurs bibliothèques ça devient infernal.
Ou activer/désactiver facilement des options (localisation, interface graphique, etc.), en Makefile manuel c’est un bonheur aussi…

Dernière modification par grim7reaper (Le 30/07/2012, à 10:58)

Hors ligne

#1678 Le 31/07/2012, à 01:37

grim7reaper

Re : /* Topic des codeurs [7] */

@tshirtman : oui, je connais Yesod et apparemment c’est vraiment pas mal foutu pour ce que j’en ai entendu.
Mais j’ai jamais essayé non, moi et le web ^^



Si y’a des Ruby hacker qui se sentent de faire un plugin RoR pour Chili Project, c’est ici.
Y’a de la bière à la clef ^^

Hors ligne

#1679 Le 31/07/2012, à 04:49

Pylades

Re : /* Topic des codeurs [7] */

grim7reaper a écrit :

Et tu proposes quoi ? :]
Makefile à la main ? Haha, soyons sérieux… En dehors des petit projets, ça tiens pas la route.
Autohell ? Tout est dans le surnom…
Scons ? Possible, je connais pas.

Bah je n’ai jamais été confronté à un cas où le makefile à main devenait ingérable… Et CMake, c’est bien gentil mais c’est devenu tout aussi infernal que les autohells. tongue

Donc je ne propose rien, je dis juste que le build d’un énorme projet sucera forcément ; et que pour du petit projet (parce que c’est loin d’être énorme ce que fait Le Rouge), ramener CMake ou les autohells c’est chercher des problèmes. tongue


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1680 Le 31/07/2012, à 04:57

grim7reaper

Re : /* Topic des codeurs [7] */

Πυλάδης a écrit :

Et CMake, c’est bien gentil mais c’est devenu tout aussi infernal que les autohells. tongue

Tu as un exemple concret ?
Genre t’as un truc à faire et tu me montres que CMake est aussi chiant que la version autohell ?

Πυλάδης a écrit :

je dis juste que le build d’un énorme projet sucera forcément

Ça dépend ce que tu entends par « sucer ».

Πυλάδης a écrit :

et que pour du petit projet (parce que c’est loin d’être énorme ce que fait Le Rouge), ramener CMake ou les autohells c’est chercher des problèmes. tongue

Oui, Le Rouge ne fait pas un projet énorme, mais c’est pas non plus un tout petit truc.
Et je voudrais pas parler à sa place, mais il semble que dans son cas CMake résoud plus de problème qu’il n’en apporte pour le moment :]

Dernière modification par grim7reaper (Le 31/07/2012, à 04:57)

Hors ligne

#1681 Le 31/07/2012, à 05:06

Pylades

Re : /* Topic des codeurs [7] */

Non, je n’ai pas d’exemple concret, j’admet que c’est juste un ressenti subjectif. CMake m’a fait chier quelques fois, et je ne vois pas ce qu’il fait mieux que les autohells, donc je les mets dans le même panier, c’est tout. tongue


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1682 Le 31/07/2012, à 05:37

grim7reaper

Re : /* Topic des codeurs [7] */

Πυλάδης a écrit :

je ne vois pas ce qu’il fait mieux que les autohells, donc je les mets dans le même panier, c’est tout. tongue

Bah déjà il est portable, les autohells non (faut se fader Cygwin & cie sous Windows), il peut générer autre choses que des Makefile (si tu bosses avec des gens fan de Visual Studio, XCode ou Eclipse ça peut être utile).
Sinon il me semble qu’il vient avec un espèce de framework pour lancer des tests. Ce qui permet de faire des trucs comme ça (build pour différents OS avec différents compilateurs, tu vois ce qui passe et ce qui passe pas). Bon là c’est un exemple un peu violent, genre gros projet mais ça reste sympa a plus petite échelle si tu développes un logiciel multi-OS.
CMake spa vraiment comparable aux autohells en fait.
autohells c’est un système fait par GNU pour GNU (c’est pas pour rien qu’ils ont ajouté une option --foreign pour automake…), CMake c’est pour les gens normaux tongue

Hors ligne

#1683 Le 31/07/2012, à 11:12

Dr Le Rouge

Re : /* Topic des codeurs [7] */

grim7reaper a écrit :

Oui, Le Rouge ne fait pas un projet énorme, mais c’est pas non plus un tout petit truc.
Et je voudrais pas parler à sa place, mais il semble que dans son cas CMake résoud plus de problème qu’il n’en apporte pour le moment :]

Tout à fait. Je suis passé de 4 makefile de 50 lignes à 4 CMakeLists.txt de 20 lignes. Je vois pas ce que Pylade a à reprocher au bousin tongue


C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog

Hors ligne

#1684 Le 31/07/2012, à 11:32

grim7reaper

Re : /* Topic des codeurs [7] */

Le Rouge a écrit :

Je vois pas ce que Pylade a à reprocher au bousin tongue

Parce que c’est pas lui qui l’a codé tongue

Tiens pendant que tu passes dans le coin, j’ai une question.
J’ai un peu fait mumuse avec AES récemment, pour ma culture, et j’ai remarqué un truc.
Dans GF(2⁸), j’ai remarqué ça :
- x•3 == x•2 ^ x
- x•11 == x•9 ^ x•2
- x•14 == x•13 ^ x•3

Je connais pas grand-chose en champ de Galois donc je suis un peu tombé sur ces propriétés par hasard (sauf la première qu’on retrouve souvent sur Internet, sans trop d’explication). Tu saurais m’expliquer pourquoi ça fonctionne ?

Dernière modification par grim7reaper (Le 31/07/2012, à 13:29)

Hors ligne

#1685 Le 31/07/2012, à 12:28

Dr Le Rouge

Re : /* Topic des codeurs [7] */

Le point c'est la puissance et le '^' c'est le XOR ?

edit : et le '-', c'est juste une notation pour la liste ? Dans GF(2^8), on remplace l'addition par le XOR donc il n'y a pas de notion de positif/négatif.

Dernière modification par Dr Le Rouge (Le 31/07/2012, à 12:32)


C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog

Hors ligne

#1686 Le 31/07/2012, à 13:26

grim7reaper

Re : /* Topic des codeurs [7] */

Yep, j’ai pas explicité les notations >_<
"^" c’est bien le XOR, j’ai gardé l’opérateur C.
"•" c’est la multiplication dans GF, là j’ai repris la notation utilisée dans FIPS 197.
et oui le "-" n’est là que pour faire une liste ^^

Dernière modification par grim7reaper (Le 31/07/2012, à 13:31)

Hors ligne

#1687 Le 31/07/2012, à 13:40

Dr Le Rouge

Re : /* Topic des codeurs [7] */

En tout cas et indépendamment de tes notations :

GF(2^8) est isomorphe au corps des polynômes de degré inférieur ou égale à 7 à coefficient dans GF(2) (i.e. {0,1}. En fait, la définition du corps en question est plus compliquée, j'y reviens plus loin). Le but est de pouvoir faire des opérations sur les octets qui soient inversibles, du coup on utilise le XOR et une multiplication. Pour voir comment ça marche, il faut d'abord encoder les éléments de GF(2^8) (qui est considéré ici comme un ensemble de polynôme) sur des octets. Pour ça, on pose que chaque bit correspond à un coefficient du polynôme, par exemple 0x3 = 0b00000011 est représenté par le polynôme x**2 XOR x.

Du coup, on peut définir la multiplication. Par exemple, en surchargeant l'opérateur "=", on a :

0x2*0x3 = x**2×(x**2 XOR x) = x**4 XOR x**3 = 0b00001100

Note que multiplier par un monôme (i.e. un x**n) revient à faire un décalage de n bits. Le problème c'est qu'on peut avoir des polynômes de degrés plus grand que 8 avec cette méthode. Du coup, on fait comme dans les groupes modulaires : on fait une division Euclidienne. De polynôme, mais oui mais oui.

En fait, GF(2^8) est isomorphe au quotient de l'ensemble des polynôme à coefficients dans GF(2) = {0,1} par l'idéal généré par un polynôme irréductible de degré 8 (si tu n'as rien compris à cette phrase, je peux développer ^^). Pour AES, on prend le polynôme x**8 XOR x**4 XOR x**3 XOR x XOR 1. Donc on divise un produit trop grand par ce polynôme et le reste nous donne le résultat. En faisant ça, on peut définir un inverse pour chaque polynôme, ce qui fait qu'on a bien une structure de corps, ce qui fait qu'on peut faire des opérations dessus comme sur les réels (par exemple) : addition, soustraction (même si les deux sont identiques vu qu'on considère le XOR ici), multiplication et division (multiplication par le polynôme inverse).

Pour ce qui est de tes exemples :

x**11 = x**9 XOR x**2 et x**14 = x**13 XOR x**3 : Là c'est plus compliqué parce que le degré dépasse 8, donc il faut faire des divisions euclidienne de polynôme. SAGE à la rescousse \o/

edit : mmmmh, petits problèmes de compréhension mutuelle avec SAGE, je reviens ^^

edit 2 : OK pour les notations. J'ai pas le temps maintenant mais tu pourras peut-être t'en sortir avec ce que j'ai dit. Ou pas parce que c'est peut-être pas follement clair >_<"

edit 3 : un peu de lecture : http://www.cs.utsa.edu/~wagner/laws/FFM.html

Dernière modification par Dr Le Rouge (Le 31/07/2012, à 20:53)


C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog

Hors ligne

#1688 Le 31/07/2012, à 14:35

grim7reaper

Re : /* Topic des codeurs [7] */

Merci, ça ressemble un peu moins à de la magie maintenant.
Ce que tu dis reprends un peu la partie «  Mathematical Preliminaries » du FIPS 197, mais en plus clair sur certains point smile

Si tu tombes d’accord avec Sage, tu pourras poster les explications ici ^^

Hors ligne

#1689 Le 31/07/2012, à 17:39

Dr Le Rouge

Re : /* Topic des codeurs [7] */

En fait j'ai pas besoin de SAGE vu que j'ai pas à faire de division Euclidienne ^^. Alors :

  • x•3 == x•2 ^ x :
    3=0b00000011, 2=0b00000010, 1=0b00000001. Du coup, si on fait 2^1, on obtient 3. Comme on a la distributivité qui va bien, on a donc que x•3 = x•(2^1) = x•2 ^ x•1.

  • x•11 == x•9 ^ x•2 :
    Pareil, 11=0b00001011, 9=0b00001001, donc 9^2=11

  • x•14 == x•13 ^ x•3 :
    Et re, 14=0b00001110, 13=0b00001101, donc 13^3=14


C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog

Hors ligne

#1690 Le 31/07/2012, à 18:49

grim7reaper

Re : /* Topic des codeurs [7] */

Ha ouais, c’était super con en fait (comme toujours après avoir compris…)
Merci smile

Hors ligne

#1691 Le 31/07/2012, à 21:38

Elzen

Re : /* Topic des codeurs [7] */

Est-ce que par hasard quelqu'un saurait (ou connaîtrait de la doc qui explique) comment écrire du texte dans un Pixbuf en PyGTK (ou dans une autre forme de GTK que je pourrais traduire en Python) ?

À moins que j'n'aies loupé un truc, ç'n'est pas dans les méthodes de base de la classe, et je ne vois pas où ça pourrait être d'autre ; pourtant, ça m'étonnerait vraiment que ce ne soit pas possible…

Hors ligne

#1692 Le 31/07/2012, à 22:29

Mindiell

Re : /* Topic des codeurs [7] */

Tu veux mettre du texte dans une image ? Donc du texte pixellisé, non ?

Hors ligne

#1693 Le 31/07/2012, à 22:51

Elzen

Re : /* Topic des codeurs [7] */

Pourquoi pixélisé ? yikes

Je cherche un truc du genre de cette méthode Java, juste pour afficher du texte à l'intérieur d'une image.

(En l'occurrence, c'est pour faire un truc de ce style-là, mais j'aimerais bien savoir le faire dans le cas général. Quand je reprendrai mon gestionnaire de fichier, par exemple, ça pourrait être cool que je réussisse à générer des miniatures pour les fichiers textes, à partir du contenu…)

Dernière modification par ArkSeth (Le 31/07/2012, à 22:58)

Hors ligne

#1694 Le 01/08/2012, à 02:52

Pylades

Re : /* Topic des codeurs [7] */

@ grim7reaper : Ok, CMake est plus portable que les autohells. Ça lui fait un avantage sur ce machin tant détesté. tongue

Le Rouge a écrit :

Tout à fait. Je suis passé de 4 makefile de 50 lignes à 4 CMakeLists.txt de 20 lignes. Je vois pas ce que Pylade a à reprocher au bousin tongue

T’es peut-être un peu verbeux, comme beaucoup de gens… je regarderai peut-être ce que t’avais fait pour voir si j’aurais fait plus court. tongue


“Any if-statement is a goto. As are all structured loops.
“And sometimes structure is good. When it’s good, you should use it.
“And sometimes structure is _bad_, and gets into the way, and using a goto is just much clearer.”
                Linus Torvalds – 12 janvier 2003

Hors ligne

#1695 Le 01/08/2012, à 03:02

grim7reaper

Re : /* Topic des codeurs [7] */

ArkSeth a écrit :

Est-ce que par hasard quelqu'un saurait (ou connaîtrait de la doc qui explique) comment écrire du texte dans un Pixbuf en PyGTK (ou dans une autre forme de GTK que je pourrais traduire en Python) ?

À moins que j'n'aies loupé un truc, ç'n'est pas dans les méthodes de base de la classe, et je ne vois pas où ça pourrait être d'autre ; pourtant, ça m'étonnerait vraiment que ce ne soit pas possible…

Pourquoi dans un Pixbuf forcément ?
Sinon, tu peux passer par Cairo. Après si tu as absolument besoin d’un Pixbuf ça doit se convertir mais d’une part va sûrement falloir que tu fasses la conversion toi même, d’autre part ça sera sûrement pas super rapide.

Hors ligne

#1696 Le 01/08/2012, à 06:11

The Uploader

Re : /* Topic des codeurs [7] */


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne

#1697 Le 01/08/2012, à 07:06

grim7reaper

Re : /* Topic des codeurs [7] */

Tiens (attention, c’est long) : Gay marriage: the database engineering perspective ^^

Hors ligne

#1698 Le 01/08/2012, à 10:17

Dr Le Rouge

Re : /* Topic des codeurs [7] */

Πυλάδης a écrit :

T’es peut-être un peu verbeux, comme beaucoup de gens… je regarderai peut-être ce que t’avais fait pour voir si j’aurais fait plus court. tongue

Sans doute, mais c'est aussi un des avantages de cmake : la syntaxe est compréhensible, même si on veut faire des trucs un peu tarabiscotés.

Dernière modification par Dr Le Rouge (Le 01/08/2012, à 10:20)


C'est deux suites de Cauchy qui veulent aller à la soirée 'no limit'. Hélas, à l'entrée le videur leur dit : "désolé, c'est complet !".
mon site perso (π²/6.fr) et mon blog

Hors ligne

#1700 Le 01/08/2012, à 11:20

The Uploader

Re : /* Topic des codeurs [7] */

La Ruby Delorean

Moi qui trouvait la classe Date un peu limitée.. tongue
Aussi:
Adieu les partials, vive les Cells!

Dernière modification par The Uploader (Le 01/08/2012, à 11:24)


- Oldies PC : Intel Pentium 3 @ 800 Mhz sur CM ASUS P2B-F, GeForce 4 Ti4800 SE, Disque Dur Hitachi 160 Go, 512 Mo de RAM, 3DFX Voodoo 2, Sound Blaster 16 ISA PnP, Windows 98 SE / XP)
- Desktop : Intel Core i7 6700K @ 4 GHz sur CM ASUS Z170-P, GeForce GTX 1070, SSD Samsung 850 EVO 1 To, 16 Go de RAM, Disque Dur Seagate Barracuda 3 To, Windows 10

Hors ligne