Soirée à l’Espace du Rock’n Roll à Rennes

Feb 20, 2007 in rock n roll | Danse

Caché dans une petite rue près du Cimetière de l’Est à Rennes, l’Espace du Rock’n Roll est un lieu de danse plutôt agréable où nous avons passé la soirée de vendredi dernier.

La salle est spacieuse avec une belle piste de danse, un parquet de bonne qualité, ni trop accrocheur, ni trop glissant, un bonheur pour les pieds des danseurs et des danseuses! Sur le côté de la piste, il y a de la place et beaucoup de sièges qui permettent de faire une pause le temps d’une chanson, ou moins ;)

Soirée Débutant oblige, lorsque nous sommes arrivés vers 22h45 (la soirée débutait officiellement à 22h15), le “prof” nous a fait mettre en cercle pour changer de partenaire à chaque danse pendant 10-15 minutes. La moyenne d’âge était d’environ 40/50 ans et la musique était vraiment rock’n roll et non pas disco comme on trouve dans les clubs où l’on danse généralement du 4 temps. La soirée durant jusqu’à 1h30, nous avons également eu le droit à une mini-initiation au tcha-tcha, une chanson de salsa :) , une valse et un tango que nous nous avons pas dansés…

C’était une soirée agréable :)

La jouissance du bug corrigé

Feb 14, 2007 in bug, programmation | Informatique

Aujourd’hui, je suis heureux :)

Je vais passer une agréable soirée avec ma compagne, mais en plus, j’ai corrigé un gros bug cette après-midi!!

C’est assez hallucinant de voir d’ailleurs le plaisir ressenti lorsque le bug qu’on a traqué pendant des heures trépasse enfin. On fait le test, on se dit : j’espère que c’est bien ça, il commence à être #@&$%¤ ce bug. Et là, c’est inespéré, le test se déroule …, on scrute avec attention le résultat… OUI! Victoire!! Le bug est corrigé!

Quel extase d’avoir passé des heures pour 2 lignes mal placées… le résultat est tellement agréable qu’on en oublierait les ronchonnements et les arrachages de cheveux!! À tel point qu’on se dit que c’est plus jouissif de corriger un bug poilu que de coder des trucs simples, surtout si c’est des trucs pour le boulot ;)

Anti-Spam PhpBB

Jan 16, 2007 in internet, programmation | Informatique

Le spam est partout, y compris sur les forums. Les différentes méthodes antispam se complexifient à mesure que les robots spammeurs arrivent à les surmonter!

Une solution simple et efficace, interdire les liens de type http:// ou https:// dans les messages, mais aussi dans le profil :)

Un grand merci à Haypo pour cette brillante idée !

Voici le patch correspondant pour phpBB : Premier fichier : posting.php. On interdit ici de poster un message dont le sujet ou le message en lui-même contient http:// ou https://. On interdit également de poster si l’un des champs de localisation, d’emploi, de loisirs, de signature et même de site web du profil de l’utilisateur contient http:// ou https://.

--- posting.php.old     2007-01-16 14:55:06.000000000 +0100
+++ posting.php 2007-01-16 16:38:19.000000000 +0100
@@ -555,8 +555,56 @@
                        $poll_length = ( isset($HTTP_POST_VARS['poll_length']) && $is_auth['auth_pollcreate'] ) ? $HTTP_POST_VARS['poll_length'] : '';
                        $bbcode_uid = '';

+                       // ANTI-SPAM LILOLIPO...
+                       // Pas de http dans le message...
+                       if (
+                           strstr($username, "http://") !== false
+                           || strstr($subject, "http://") !== false
+                           || strstr($message, "http://") !== false
+                           || strstr($username, "https://") !== false
+                           || strstr($subject, "https://") !== false
+                           || strstr($message, "https://") !== false
+                           )
+                         {
+                           $error_msg = 'Sujets ou messages contenant "http://" ou "https://" interdits. '.
+                             'Si vous n\\'etes pas un robot, supprimez simplement '.
+                             '"http://" et "https://" de vos liens ;-)';
+                           break;
+                         }

+                       // on verifie l'absence de http dans le site du profil de l'utilisateur
+                       if ($userdata['session_logged_in'])
+                         {
+                           $sql = "SELECT user_website, user_from, user_occ, user_interests, user_sig FROM " . USERS_TABLE . " WHERE user_id = ".$userdata['user_id'];
+
+                           if ( !($result = $db->sql_query($sql)) )
+                             {
+                               message_die(GENERAL_ERROR, 'Could not obtain user\\'s website information', '', __LINE__, __FILE__, $sql);
+                             }
+                           if ( $row = $db->sql_fetchrow($result) )
+                             {
+                               if (strstr($row['user_website'], "http://") !== false
+                                   || strstr($row['user_website'], "https://") !== false
+                                   || strstr($row['user_from'], "http://") !== false
+                                   || strstr($row['user_from'], "https://") !== false
+                                   || strstr($row['user_occ'], "http://") !== false
+                                   || strstr($row['user_occ'], "https://") !== false
+                                   || strstr($row['user_interests'], "http://") !== false
+                                   || strstr($row['user_interests'], "https://") !== false
+                                   || strstr($row['user_sig'], "http://") !== false
+                                   || strstr($row['user_sig'], "https://") !== false
+                                   )
+                                 {
+                                   $error_msg = 'Profils contenant "http://" ou "https://" interdits. '.
+                                                       'Si vous n\\'etes pas un robot, supprimez simplement '.
+                                                       '"http://" et "https://" de votre site web, localisation, signature, emploi, ... de votre profil ;-)';
+                                   break;
+                                 }
+                             }
+                         }

               prepare_post($mode, $post_data, $bbcode_on, $html_on, $smilies_on, $error_msg, $username, $bbcode_uid, $subject, $message, $poll_title, $poll_options, $poll_length);

                        if ( $error_msg == '' )
                        {
                                $topic_type = ( $topic_type != $post_data['topic_type'] && !$is_auth['auth_sticky'] && !$is_auth['auth_announce'] ) ? $post_data['topic_type'] : $topic_type;
@@ -1116,4 +1164,4 @@

 include($phpbb_root_path . 'includes/page_tail.'.$phpEx);

Deuxième fichier : includes/usercp_register.php. On interdit l’inscription d’utilisateur qui ont rempli le champ Site internet de leur profil.

--- includes/usercp_register.php.old    2007-01-16 16:40:04.000000000 +0100
+++ includes/usercp_register.php        2007-01-16 17:06:09.000000000 +0100
@@ -447,7 +447,9 @@

        if ( $website != '' )
        {
- rawurlencode($website);
+         $error = true;
+         $error_msg = "Pour lutter contre les robots spammeurs, il est interdit de remplir le champ " . $lang['Website'];
+         // rawurlencode($website);
        }

        $avatar_sql = '';

Howto génération de bugs - épisode 2

Jan 05, 2007 in bug, programmation | Informatique

Et voici le retour de l’opération génération de bug en C/C++.

Comme une bonne illustration veut mieux qu’un long discours :

~~~~ {.cpp} char* substring(const char * chaine, int debut, int longueur) { char buffer[512]; strncpy(buffer, chaine[debut], longueur); return buffer; } ~~~~

Fin de mon premier trimestre de Salsa

Dec 18, 2006 in salsa | Danse

Mon premier trimestre de Salsa portoricaine au Fun Club vient de se terminer! Je suis un peu déçu de ne pas avoir terminé par un stage hier mais celui-ci a été annulé faute de suffisament d’inscrits :(

Je continue à préférer danser le rock et le lindy hop, mais la salsa, c’est aussi très sympa et surtout, ça peut être très sensuel. Je profite de cette fin de trimestre pour récapituler les Shines :

  • rumba (croisée)
  • tour à droite
  • tour à gauche
  • Susie Q
  • Latina
  • Cross cross
  • Susina (un mélange de Susie Q et de Latina)
  • Lassie (un mélange de Latina et de Susie Q)

et les passes de Couple :

  • B1 tour à droite danseuse (balancier)
  • B1 tour à droite danseuse puis caresse sur le danseur
  • C1 tour à droite danseuse
  • C1 tour à droite danseuse puis caresse sur la danseuse
  • B2 tour à droite danseuse puis tour à gauche danseur
  • B1 tour à droite danseuse puis C1 tour à droite danseur puis tour à droite danseuse puis B1 tour à gauche danseur
  • Mambo position fermée
  • Cross-body fermé
  • Cross-body ouvert arrivé B1
  • Orbital (Cross-body avec 1,5 tour)
  • C1 Copa
  • C1 Copa avec 1,5 tour
  • Cross-body outside turn