Savannah est un site analogue a Source Forge, même design, même fonctionnalité. le but de ce site fournir une alternative 100% GNU à Source Forge , le site de gestion de projet OpenSource de VALinux. La différence fondamentale est qu'en effet ce site est géré par la FSF, et de plus il est maintenu par des Français (cocorico !!).
Alors que demande le peuple du GNU ... du GNU !!!
Anti aliasing & GTK 1.2
Si comme moi vous attendiez avec impatience de la sortie de GTK 2.0 pour s'offrir (entre autres) l'antialiasing, voici un patch à appliquer sur les sources de Gtk+ 1.2.9 pour profiter de polices anti aliasées dans toutes les applications Gtk+ (et donc, dans Gnome).
Script pour transformer les MP3 en OGG
Comme récemment, dans les nouvelles linuxfr des lecteurs s'interrogeaient sur comment transformer des MP3 en OGG, après quelques minutes de recherche j'ai trouvé le script PERL suivant : mp32ogg. Le fonctionnement est assez long (environ 1 min par MP3 sur un Duron 700) mais ça marche super bien.
L'emploi très simple. Dans une console tapez :
mp32ogg fichier.mp3 -> pour transformer un fichier mp3 en ogg
mp32ogg répertoire-contenant-les-mp3 -> pour transformer un ensemble de mp3 se trouvant dans un répertoire.
mp32ogg --help pour afficher l'aide.
Laissez tourner pendant la nuit pour des répertoires de taille importante ;-)
L'emploi très simple. Dans une console tapez :
mp32ogg fichier.mp3 -> pour transformer un fichier mp3 en ogg
mp32ogg répertoire-contenant-les-mp3 -> pour transformer un ensemble de mp3 se trouvant dans un répertoire.
mp32ogg --help pour afficher l'aide.
Laissez tourner pendant la nuit pour des répertoires de taille importante ;-)
Un autre script pour netfilter/iptables
En complément de l'article du 15 mai, un autre script de configuration pour la partie firewall (netfilter) du noyau 2.4.
Ce script, très complet, suppose une connexion PPP, un réseau local et une DMZ. Cependant, une adaptation à ses propres besoins est relativement aisée.
Ce script, très complet, suppose une connexion PPP, un réseau local et une DMZ. Cependant, une adaptation à ses propres besoins est relativement aisée.
Script de configuration dynamique netfilter/iptables
Un article sur iptables avec un script de configuration "dynamique"
Vu sur linuxsecurity.com
Note du modérateur : script clair et détaillé, qui peut en inspirer plus d'un pour s'écrire ses propres scripts...
Vu sur linuxsecurity.com
Note du modérateur : script clair et détaillé, qui peut en inspirer plus d'un pour s'écrire ses propres scripts...
Perl/shell obfuscated
Bon, après bien des heures de labeur, Dilbert et moi avons pondus ces lignes de commandes pour écouter les mp3 que raphit broadcast. D'ailleurs ne les lancez pas tous à la fois pour pas le flooder :)
version normale:
perl -e'$a="mp3.raphit.net";s/ /%20/g,/:.{8}(.*mp\d)/i&&print"http://$a/$1\n"foreach`rsync -r "$a"::mp3`'|mpg123 -yvZ@-
variante:
mpg123 -yvZ$(perl -e'$a="mp3.raphit.net";s/ /%20/g,/:.{8}(.*mp\d)/i&&print"http://$a/$1\n"foreach`rsync -r "$a"::mp3`')
version gore:
export Q=mp3.raphit.net;mpg123 -yvZ`rsync -r $Q::mp3|perl -ne's/ /%20/g,/:.{8}(.*mp\d)/i&&print"http://$ENV{Q}/$1\n"'`
encore plus courte:
export Q=mp3.raphit.net;mpg123 -yvZ`rsync -r $Q::mp3|perl -pe's|.*:...(.*mp\d)|http://$ENV{Q}/$1|i?s/ /%20/g:s/.*//'`
version normale:
perl -e'$a="mp3.raphit.net";s/ /%20/g,/:.{8}(.*mp\d)/i&&print"http://$a/$1\n"foreach`rsync -r "$a"::mp3`'|mpg123 -yvZ@-
variante:
mpg123 -yvZ$(perl -e'$a="mp3.raphit.net";s/ /%20/g,/:.{8}(.*mp\d)/i&&print"http://$a/$1\n"foreach`rsync -r "$a"::mp3`')
version gore:
export Q=mp3.raphit.net;mpg123 -yvZ`rsync -r $Q::mp3|perl -ne's/ /%20/g,/:.{8}(.*mp\d)/i&&print"http://$ENV{Q}/$1\n"'`
encore plus courte:
export Q=mp3.raphit.net;mpg123 -yvZ`rsync -r $Q::mp3|perl -pe's|.*:...(.*mp\d)|http://$ENV{Q}/$1|i?s/ /%20/g:s/.*//'`
Code TeX incompréhensible... et pourtant ça marche !
Il y a des concours de scripts les plus incompréhensibles -- du moins au premier abord, car ils sont toujours compréhensibles, avec du temps et des efforts.
En voici un, qui n'est pas en Perl mais en TeX : quelques lignes pour plusieurs pages !!
Faites un copier/coller, enregistrez dans "message.tex" puis lancez la commande "tex message.tex".
Et enfin "xdvi message.dvi"...
\let~\catcode~`76~`A13~`F1~`j00~`P2jdefA71F~`7113jdefPALLF
PA''FwPA;;FPAZZFLaLPA//71F71iPAHHFLPAzzFenPASSFthP;A$$FevP
A@@FfPARR717273F737271P;ADDFRgniPAWW71FPATTFvePA**FstRsamP
AGGFRruoPAqq71.72.F717271PAYY7172F727171PA??Fi*LmPA&&71jfi
Fjfi71PAVVFjbigskipRPWGAUU71727374 75,76Fjpar71727375Djifx
:76jelse&U76jfiPLAKK7172F71l7271PAXX71FVLnOSeL71SLRyadR@oL
RrhC?yLRurtKFeLPFovPgaTLtReRomL;PABB71 72,73:Fjif.73.jelse
B73:jfiXF71PU71 72,73:PWs;AMM71F71diPAJJFRdriPAQQFRsreLPAI
I71Fo71dPA!!FRgiePBt'el@ lTLqdrYmu.Q.,Ke;vz vzLqpip.Q.,tz;
;Lql.IrsZ.eap,qn.i. i.eLlMaesLdRcna,;!;h htLqm.MRasZ.ilk,%
s$;z zLqs'.ansZ.Ymi,/sx ;LYegseZRyal,@i;@ TLRlogdLrDsW,@;G
LcYlaDLbJsW,SWXJW ree @rzchLhzsW,;WERcesInW qt.'oL.Rtrul;e
doTsW,Wk;Rri@stW aHAHHFndZPpqar.tridgeLinZpe.LtYer.W,:jbye
En voici un, qui n'est pas en Perl mais en TeX : quelques lignes pour plusieurs pages !!
Faites un copier/coller, enregistrez dans "message.tex" puis lancez la commande "tex message.tex".
Et enfin "xdvi message.dvi"...
\let~\catcode~`76~`A13~`F1~`j00~`P2jdefA71F~`7113jdefPALLF
PA''FwPA;;FPAZZFLaLPA//71F71iPAHHFLPAzzFenPASSFthP;A$$FevP
A@@FfPARR717273F737271P;ADDFRgniPAWW71FPATTFvePA**FstRsamP
AGGFRruoPAqq71.72.F717271PAYY7172F727171PA??Fi*LmPA&&71jfi
Fjfi71PAVVFjbigskipRPWGAUU71727374 75,76Fjpar71727375Djifx
:76jelse&U76jfiPLAKK7172F71l7271PAXX71FVLnOSeL71SLRyadR@oL
RrhC?yLRurtKFeLPFovPgaTLtReRomL;PABB71 72,73:Fjif.73.jelse
B73:jfiXF71PU71 72,73:PWs;AMM71F71diPAJJFRdriPAQQFRsreLPAI
I71Fo71dPA!!FRgiePBt'el@ lTLqdrYmu.Q.,Ke;vz vzLqpip.Q.,tz;
;Lql.IrsZ.eap,qn.i. i.eLlMaesLdRcna,;!;h htLqm.MRasZ.ilk,%
s$;z zLqs'.ansZ.Ymi,/sx ;LYegseZRyal,@i;@ TLRlogdLrDsW,@;G
LcYlaDLbJsW,SWXJW ree @rzchLhzsW,;WERcesInW qt.'oL.Rtrul;e
doTsW,Wk;Rri@stW aHAHHFndZPpqar.tridgeLinZpe.LtYer.W,:jbye
cache kernel
Un projet qui me paraissait intéressant a disparu du web : allos, discidents de freedows, voulaient utiliser le concept de cachekernel. Certains chiffres impressionnaient (nombre de lignes de codes pour un driver ethernet, p.ex).
Quelqu'un de compétent avait-il "évalué" ce projet ? (intérêt technologique, faisabilité...)
Quelqu'un de compétent avait-il "évalué" ce projet ? (intérêt technologique, faisabilité...)
Bug lp avec noyau 2.4.0
Je ne sais pas si avec le 2.4.2 c'est rectifié ou pas...
Mais au cas ou: j'ai eu un problème d'impression avec le 2.4.0, l'imprimante plantait régulièrement en cours d'impression (mode interrupt driven). Même un chargement de parport_pc irq=none ne passait pas. Après plusieurs mails avec Tim Waugh (le développeur) la solution pour le problème a été trouvée:
vim /usr/src/linux/drivers/parport/ieee1284_ops.c
vers la 55ème ligne mettre en commentaire l'appel à down_trylock, pour obtenir:
no_irq = 0;
/* Clear out previous irqs. */
// while (!down_trylock (&port->physport->ieee1284.irq));
}
à combiner avec irq=none. J'ai pas encore essayé sans...
Mais au cas ou: j'ai eu un problème d'impression avec le 2.4.0, l'imprimante plantait régulièrement en cours d'impression (mode interrupt driven). Même un chargement de parport_pc irq=none ne passait pas. Après plusieurs mails avec Tim Waugh (le développeur) la solution pour le problème a été trouvée:
vim /usr/src/linux/drivers/parport/ieee1284_ops.c
vers la 55ème ligne mettre en commentaire l'appel à down_trylock, pour obtenir:
no_irq = 0;
/* Clear out previous irqs. */
// while (!down_trylock (&port->physport->ieee1284.irq));
}
à combiner avec irq=none. J'ai pas encore essayé sans...
des exemples de programmes faits avec Kylix
Sur Codecentral, il y a des sources et des exécutables de demo et de programmes plus "utiles" fait en Kylix. (ainsi que la documentation)
Kylix est un programme commercial qui n'est pas libre.
(une version gratuite est "annoncée" pour dans quelques mois)
Note du modérateur: Il faut s'ouvrir un compte de communauté Borland (gratuit) pour accéder aux fichiers.
Kylix est un programme commercial qui n'est pas libre.
(une version gratuite est "annoncée" pour dans quelques mois)
Note du modérateur: Il faut s'ouvrir un compte de communauté Borland (gratuit) pour accéder aux fichiers.
DeCSS encore plus petit en C qu'en Perl
Il y a quelques jours, une version Perl de DeCSS a été introduite qui était le programme le plus petit (7 lignes) pour décrypter le CSS.
Il faut croire que ça a vexé un passioné de C, qui vient de produire un code C de 442 octets, soit 30 de moins que son équivalent Perl!
Allez, y'en a bien un qui va nous l'écrire en Basic ou en logo à ce rythme :)
#define K(i)(x[i]^s[i+84])<<
unsigned char x[5],y,z,s[2048];main(n){for(read(0,x,5);read(0,s,n=2048);write(1
,s,n))if(s[y=s[13]%8+20]/16%4==1){int i=K(1)17^256+K(0)8,k=K(2)0,j=K(4)17^K(3)9
^k*2-k%8^8,a=0,b=0,c=26;for(s[y]-=16;--c;i/=2,j/=2)a=a*2^i&1,b=b*2^j&1;for(j=
127;++jy)a^=a>>14,a=a>>8^(y=a^a*8^a<<6)<<9,b=b>>8^(z=b^b/8^b>>4^b>>12)
<<17,i=s[j],i="7Wo~'G_\216"[i&7]+2^"cr3sfw6v;*k+>/n."[i>>4]*2^i*257/8,s[j]=i^(i
&i*2&34)*6^z+c+~y;}}
Il faut croire que ça a vexé un passioné de C, qui vient de produire un code C de 442 octets, soit 30 de moins que son équivalent Perl!
Allez, y'en a bien un qui va nous l'écrire en Basic ou en logo à ce rythme :)
#define K(i)(x[i]^s[i+84])<<
unsigned char x[5],y,z,s[2048];main(n){for(read(0,x,5);read(0,s,n=2048);write(1
,s,n))if(s[y=s[13]%8+20]/16%4==1){int i=K(1)17^256+K(0)8,k=K(2)0,j=K(4)17^K(3)9
^k*2-k%8^8,a=0,b=0,c=26;for(s[y]-=16;--c;i/=2,j/=2)a=a*2^i&1,b=b*2^j&1;for(j=
127;++jy)a^=a>>14,a=a>>8^(y=a^a*8^a<<6)<<9,b=b>>8^(z=b^b/8^b>>4^b>>12)
<<17,i=s[j],i="7Wo~'G_\216"[i&7]+2^"cr3sfw6v;*k+>/n."[i>>4]*2^i*257/8,s[j]=i^(i
&i*2&34)*6^z+c+~y;}}
DVD et QRPFF
DeCSS n'est plus, frappé du sceau de l'infâmie par tous les pauvres majors de l'industrie du DVD. Pour ne pas risquer la prison à perpèt' pour la possession d'un bout de code de DeCSS, utilisez plutôt qrpff. Développé par 2 étudiants du MIT, ce script de 7 lignes en perl offre les même possibilités que DeCSS, mis à part qu'il est nettement plus simple à reproduire, la preuve :
#!/usr/bin/perl -w
# 531-byte qrpff-fast, Keith Winstein and Marc Horowitz
# MPEG 2 PS VOB file on stdin -> descrambled output on stdout
# arguments: title key bytes in least to most-significant order
$_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map{$_%16or$t^=$c^=(
$m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t^=(72,@z=(64,72,$a^=12*($_%16
-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h
=5;$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$
d=unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d>>12^$d>>4^
$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9,$_=$t[$_]^
(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval
Dites-moi si je me trompe : il y a bien un concours Obsfucated Perl Contest, non? :)
Bravo aux 2 étudiants du MIT, Keith Winstein et Marc Horowitz.
Merci à Tom's Hardware pour le lien sur Wired.
#!/usr/bin/perl -w
# 531-byte qrpff-fast, Keith Winstein and Marc Horowitz
# MPEG 2 PS VOB file on stdin -> descrambled output on stdout
# arguments: title key bytes in least to most-significant order
$_='while(read+STDIN,$_,2048){$a=29;$b=73;$c=142;$t=255;@t=map{$_%16or$t^=$c^=(
$m=(11,10,116,100,11,122,20,100)[$_/16%8])&110;$t^=(72,@z=(64,72,$a^=12*($_%16
-2?0:$m&17)),$b^=$_%64?12:0,@z)[$_%8]}(16..271);if((@a=unx"C*",$_)[20]&48){$h
=5;$_=unxb24,join"",@b=map{xB8,unxb8,chr($_^$a[--$h+84])}@ARGV;s/...$/1$&/;$
d=unxV,xb25,$_;$e=256|(ord$b[4])<<9|ord$b[3];$d=$d>>8^($f=$t&($d>>12^$d>>4^
$d^$d/8))<<17,$e=$e>>8^($t&($g=($q=$e>>14&7^$e)^$q*8^$q<<6))<<9,$_=$t[$_]^
(($h>>=8)+=$f+(~$g&$t))for@a[128..$#a]}print+x"C*",@a}';s/x/pack+/g;eval
Dites-moi si je me trompe : il y a bien un concours Obsfucated Perl Contest, non? :)
Bravo aux 2 étudiants du MIT, Keith Winstein et Marc Horowitz.
Merci à Tom's Hardware pour le lien sur Wired.
Crypter des cochons en latin ?
Vous n'êtes pas sans savoir que depuis dimanche, les fichiers sont filtrés sur napster. Et bien, voici une solution qui risque de faire ch**r la RIAA. AIMster vient de proposer le "Pig Latin Encoder". Ca sert a crypter les titres des mp3s.
Le plus beau c'est que la méchante loi (DMCA) qui est en vigueur dans ces états et qui interdit de faire du reverse engineering, s'applique _aussi_ a la RIAA qui essayerait de s'attaquer à ce système de cryptage....
Cette loi qui gène beaucoup de gens (notamment la communauté du libre) aurait donc un interêt... Rappelons que si vous enfreignez la loi fédérale DMCA, vous risquez 500K$ d'amende et 5 ans de taule. Bien sur, pour enfreindre cette loi, il faut qu'elle soit appliquée et cette loi n'est applicable qu'aux States. Les gars de AIMSTER attaqueront en justice quiconque divulguerait le fonctionnement de leur système.
note du modero: pour rire un peu des sujets sérieux
Le plus beau c'est que la méchante loi (DMCA) qui est en vigueur dans ces états et qui interdit de faire du reverse engineering, s'applique _aussi_ a la RIAA qui essayerait de s'attaquer à ce système de cryptage....
Cette loi qui gène beaucoup de gens (notamment la communauté du libre) aurait donc un interêt... Rappelons que si vous enfreignez la loi fédérale DMCA, vous risquez 500K$ d'amende et 5 ans de taule. Bien sur, pour enfreindre cette loi, il faut qu'elle soit appliquée et cette loi n'est applicable qu'aux States. Les gars de AIMSTER attaqueront en justice quiconque divulguerait le fonctionnement de leur système.
note du modero: pour rire un peu des sujets sérieux
Anjuta : un autre IDE
Je viens de découvrir Anjuta uu autre IDE pour C et C++.
Celà m'a l'air plus que prometteur. Tout comme gIDE, ou glimmer c'est un ide conçu autour de GTK+/Gnome. Il gère en mode projet les fichiers de conf (automake,autoscan), les rep src, intl,doc ... , et semble déja très complet.
Version actuelle : 0.1.2-beta.2
Celà m'a l'air plus que prometteur. Tout comme gIDE, ou glimmer c'est un ide conçu autour de GTK+/Gnome. Il gère en mode projet les fichiers de conf (automake,autoscan), les rep src, intl,doc ... , et semble déja très complet.
Version actuelle : 0.1.2-beta.2
Noyau Linux 2.4.2
Le nouveau noyau Linux 2.4.2 est sorti. Parmi la liste des changements, on ne trouve pas de nouveauté majeure mais plutôt des corrections des bugs (voir le changelog)