19/08/2006 à 03h51 : 3D-Desktop, le Xgl/Compiz des pauvres ;-)

Maintenant que la folie Xgl & Compiz est un peu retombée, j'ai voulu retester la chose.
Première bonne surprise, on trouve maintenant des paquets pour Debian, même en AMD64.
J'ai fais mumuse un peu avec, et puis mon Fluxbox me manque vite...
Et oui Compiz change pas mal de mes "habitudes", donc le changement n'est pas anodin.
Donc finalement me voilà de retour sous Fluxbox, mais pour le rendre moins austère, j'ai ajouté quelques pincées de 3D-Desktop.
Il s'agit d'un gestionnaire de bureau virtuels en 3D, qui existait bien avant Xgl/Compiz, et qui s'installe beaucoup plus facilement (pas besoin de serveur X modifié).
Evidemment il y a beaucoup moins d'effets graphiques, mais le fun est là.
L'intégration dans Fluxbox est assez aisée :
royale@royale:~$ cat .fluxbox/keys
...
Mod1 Escape :ExecCommand 3ddesk --changespeed 40 --zoomspeed 40
Mod1 F1 :ExecCommand 3ddesk --goto 1 --changespeed 14 --zoomspeed 7
Mod1 F2 :ExecCommand 3ddesk --goto 2 --changespeed 14 --zoomspeed 7
...
J'ai choisi des vitesses différentes pour mes racourcis habituels (Alt F1, Alt F2, etc) car j'aime bien que ça change "vite" de bureau.
Et pour avoir une vue d'ensemble de mes bureaux, il me reste le "Alt Echap" :



5 commentaire(s)...

12/08/2006 à 17h11 : Les Passeurs de millénaires

J'ai entendu parler de ce bouquin je ne sais plus où et j'ai pensé que c'était une bonne occasion de me remettre à la lecture.
En effet le livre présente deux atouts pour moi : Donc je rajoute ce produit à ma wishlist Amazon pour ne pas l'oublier... Et pour mon anniversaire, "surprise", Jo m'offre ce livre (et un autre).


Je viens juste d'en terminer la lecture (et oui je prend mon temps, c'est l'avantage des nouvelles).
Et j'ai beaucoup apprécié l'ensemble du livre, avec naturellement une préférence pour quelques nouvelles :
  • L'éternité, moins la vie : ou comment rendre immortel quelqu'un en transférant sa personnalité sur ordinateur.
  • La première oeuvre : une intelligence artificielle programmée pour faire de l'art...
  • Craqueur : une astuce pour souder les gens en société !
  • La fin du big bang : un univers dont les règles et l'histoire fluctue légèrement au cours du temps.
Bref, je vous conseille cette lecture :-) Et merci encore Jo !

2 commentaire(s)...

08/08/2006 à 18h42 : Bloquer le spam sur les forums, blogs, wikis, etc

Tous mes sites sont plus ou moins touchés par le spam de commentaires.
Que ça soit les forums (phpBB), les blogs (DotClear ou solution maison), mon wiki...
J'ai d'abord essayé les techniques suggérées par chaque solution : Mais finalement toutes ces solutions sont : Récemment je suis tombé sur une technique assez élégante que je teste depuis plusieurs jours et qui fait ses preuves.
LinkSleeve est un site qui centralise les liens postés dans les formulaires.
Dès qu'un lien est un peu trop répété, le site suppose qu'il s'agit d'un spam.
L'intégration est assez facile et la solution générique puisqu'elle se base sur des messages XML-RPC.
Comme tous mes sites sont programmés en PHP, j'ai fait un petit script que j'inclue sur toutes mes pages. Si le contenu posté par l'utilisateur passe l'ensemble des tests, le script rend la main au programme initial sans rien dire. Sinon on fait un die pour calmer le spammeur.
Le die fait donc que le spammeur voit une page blanche au lieu du résultat attendu. C'est très moche mais finalement ça a quelques avantages : Evidemment il faut éviter au maximum les faux-positifs ;-)
Voilà à quoi ressemble aujourd'hui le script que j'utilise :
<?
        # log the spam and quit
        function spam_log($reason)
        {
                global $spam_input;
                global $SERVER_NAME;
                # here we can log to a file to monitor the spam
                # ...
                die;
        }

        # get POSTed data
        $spam_input=implode(" ",$_POST);

        # all in one big line
        $spam_input=str_replace("\n"," ",$spam_input);
        $spam_input=str_replace("\r","",$spam_input);

        # if the POSTed vars do not contain any URL, no need to check for spam...
        if (!preg_match('#http#i',$spam_input)) return;

        # if there are too many urls we suppose it is spam...
        if (preg_match('#(http[^ ]* *){3}#i',$spam_input)) spam_log('http');

        # basic list of forbidden words
        if (preg_match('#(viagra|pharmacy|casino|...)#i',$spam_input)) spam_log('word');

        # try linksleeve database
        include('xmlrpc.php');
        $spam_f=new xmlrpcmsg('slv',
                array(new xmlrpcval($spam_input, "string"))
        );
        $spam_c=new xmlrpc_client("/slv.php", "www.linksleeve.org", 80);
        $spam_r=$spam_c->send($spam_f);
        $spam_v=$spam_r->value();
        if (!$spam_r->faultCode())
        {
                $spam_theval=$spam_v->scalarval();
                if ($spam_theval!=1) spam_log('sleeve');
        }
?>
Attention, c'est du "quick & dirty (tm)", et c'est adapté pour mes besoins maisons. En gros les étapes sont :
J'ai affiné ma liste de mots à partir des URL qui sont filtrées par LinkSleeve justement, ça me permet d'éviter de trop "bourriner" LinkSleeve.
Certains scripts suggérés par LinkSleeve ne testent d'ailleurs pas la présence d'une URL dans le contenu avant de soumettre celui-ci, alors que ça économise pas mal de requêtes. Heureusement tous les commentaires ne contiennent pas forcément un lien...
Au final je récupère un joli fichier de log, qui me permet d'affiner un peu plus mon script !

J'ai hésité entre l'anglais et le français pour ce billet, l'anglais était adapté vu que les commentaires de mon code sont déjà en anglais, mais maintenant que je suis agrégé sur planet.amglr.net, je ne peux plus tout me permettre :-p

13 commentaire(s)...

06/08/2006 à 03h17 : Pour relancer mon blog...

...une petite blagounette trouvée au hasard de mon surf nocturne :



0 commentaire(s)...

Archives...

07/2007 ] [ 04/2007 ] [ 03/2007 ] [ 02/2007 ] [ 01/2007 ] [ 12/2006 ] [ 11/2006 ] [ 10/2006 ] [ 09/2006 ] [ 08/2006 ] [ 07/2006 ] [ 06/2006 ] [ 05/2006 ] [ 04/2006 ] [ 03/2006 ] [ 02/2006 ] [ 01/2006 ] [ 12/2005 ] [ 11/2005 ] [ 10/2005 ] [ 09/2005 ] [ 08/2005 ] [ 07/2005 ] [ 06/2005 ] [ 05/2005 ] [ 04/2005 ] [ 03/2005 ] [ 02/2005 ] [ 01/2005 ] [ 12/2004 ] [ 11/2004 ] [ 10/2004 ] [ 09/2004 ] [ 08/2004 ] [ 07/2004 ] [ 06/2004 ] [ 05/2004 ] [ 04/2004 ] [ 03/2004 ] [ 02/2004 ] [ 01/2004 ] [ 12/2003 ] [ 11/2003 ] [ 10/2003 ] [ 09/2003 ] [ 08/2003 ] [ RSS ] [ RSS commentaires ]