DADVSI – L’expérience

Pour mon premier billet de l’année 2007 (bonne année à ceux qui lisent encore ceci !), un regard sur les résultats de la politique politicienne française:

http://linuxfr.org/2007/01/16/21913.html

Non je ne suis pas pessimiste, c’est pas comme si on avait des élections dans quelques mois…

Ecrire une TestSuite avec Eclipse et JUnit 4

La dernière fois que j’ai utilisé JUnit pour faire des tests unitaires, l’intégration avec Eclipse était plutôt bien faite et surtout, le monde n’était pas encore passé à Java 5. Je me suis remis dernièrement aux tests unitaires et j’ai découvert la puissance de Junit 4 et des annotations.

Evidemment tout cela ne va pas sans heurt. Il y a 2 ans j’aurais écrit une TestSuite comme celles générées par l’actuel plugin JUnit d’Eclipse, par exemple:

import junit.framework.Test;
import junit.framework.TestSuite;

public class AllTests {

public static Test suite() {
TestSuite suite = new TestSuite(
"Test for default package");

suite.addTestSuite(Test1.class);
suite.addTestSuite(Test2.class);
suite.addTestSuite(Test3.class);

return suite;
}
}

Le problème, c’est que cette TestSuite ne tourne plus sous JUnit 4 ! En effet, l’architecture de JUnit a été complètement repensée et nettoyée.

Là où intervient toute la puissance des annotations, c’est que maintenant ma TestSuite ressemble à ça:

import org.junit.runner.RunWith;
import org.junit.runners.Suite;
import org.junit.runners.Suite.SuiteClasses;

@RunWith(Suite.class)
@SuiteClasses(value={
Test1.class,
Test2.class,
Test3.class,
})
public class AllTests{
}

Code propre, clair, rapide à écrire – et même simple à générer ! Merci les gens :)

Bind 9 et les entrées PTR

Il y a maintenant un peu plus d’un an que j’ai configuré le DNS interne de mon réseau local – du moins que je pensais l’avoir configuré.

Pour situer, ce serveur gère la zone local.asteromith.net (soit un sous-domaine de mon domaine public), invisible de l’extérieur pour des raisons évidentes (adresses IP non routables, tout ça…). Je lui avais adjoint une zone de résolution inverse avec les entrées PTR pour le réseau interne.

Quelle ne fut pas ma surprise quand, en lisant mes logs, je trouve la ligne:

Nov 3 09:16:36 asteromith sshd
  • : reverse mapping checking getaddrinfo for neskaya.42.168.192.in-addr.arpa failed – POSSIBLE BREAKIN ATTEMPT!
  • Que lis-je ? Que vois-je ? Résolution inverse manquée ? Il a fallu googler un peu (et lire le manuel de bind) pour comprendre: dans le fichier de définition de la zone inverse, il faut mettre des adresses absolues pour les entrées PTR.

    Exemple:

    Voici l’entrée “A” pour ladite machine neskaya (dans le fichier de définition de la zone local.asteromith.net):

    neskaya IN A 192.168.42.3

    L’entrée PTR dans la configuration foireuse était (pour la zone 42.168.192.in-addr.arpa):

    3 IN PTR neskaya

    Voilà où le bât blesse: la valeur neskaya se voit “enrichie” du suffixe 42.168.192.in-addr.arpa ! L’entrée correcte est donc:

    3 IN PTR neskaya.local.asteromith.net.

    Tolérance zéro ?

    C’est difficile d’être tolérant. Très, trop même et c’est bien pour ça que je ne le suis pas assez.

    Être tolérant envers quelqu’un qui apprend, qui ne demande qu’à s’améliorer, je le conçois. Mais comment être tolérant envers le fumeur qui met en danger ses enfants, ceux des autres et en définitive, tout son entourage ? Comment pardonner au chauffard qui prend le volant avec un taux d’alcoolémie proche de la concentration d’un liquide antigel ? Comment enfin, pardonner les excès de nos dirigeants – et je parle ici au nom de l’humanité entière (crise de modestie) ?

    Derrière la notion de tolérance, il y a celles de pardon et d’espoir: on pardonne une faute dans l’espoir qu’elle servira d’enseignement, dans l’espoir que le “fautif” saura percevoir qu’on lui donne l’occasion de se rattrapper.

    C’est bien beau tout ça, mais il faut être vraiment naïf pour y croire. Même dans mes pires accès de naïveté (et Il sait que je suis naïf), j’ai du mal à l’accepter. Il n’y a qu’à consulter les nouvelles pour s’apercevoir que la tolérance universelle n’est qu’une utopie, une limite vers laquelle on ne peut que tendre asymptotiquement.

    Re-déménagement

    Je retente le déménagement de ligne Free mais cette fois ci à la barbare: résiliation de l’actuel pour prendre un abonnement en total NDI avec une Freebox HD :)

    L’inscription a eu lieu hier 20 septembre et la console est déjà en étape 2 (normal), apparement WEG38 n’est pas trop mauvais en ce qui concerne les délais de construction de ligne. Espérons que cette fois-ci on ne restera pas 1 mois sans le net…

    [EDIT]
    Eh bien non ! La ligne était prête lundi 2 octobre et la Freebox m’attendait sagement au bureau de Poste ce matin, c’est donc depuis Saint Egrève que j’édite ce post – ils sont forts chez Free :)

    P.S: je remercie de tout coeur les gens qui se sont liés à cette adresse directement, au lieu de l’ancienne… ça partait d’un bon sentiment mais du coup Google a retrouvé ma trace, et avec lui tous les spammeurs qui passent par des proxies ouverts :( vivement les vacances que je passe tout ça sous WP…

    Paranoia momentanée

    Il est tard et je viens de passer une heure à virer tous les spams de commentaire issus d’Ukraine, du Brésil et de l’Afghanistan et j’en ai marre. J’ai donc grossièrement hacké bBlog pour désactiver tout moyen de poster des commentaires (en tout cas, tous ceux que j’ai trouvés).

    Je m’occuperai de la migration vers WP après le déménagement, là j’en avais trop marre. Pour ceusses qui voudraient des nouvelles, le Blog-inou est toujours opérationnel et – pour le moment – exempt de spam.

    Je HAIS les mauvais codeurs

    Je HAIS positivement les gens qui codent n’importe comment. Je m’adresse ici aux geeks javatisants qui passent de temps en temps ici:

    - je HAIS les comparaisons avec == sur des String – HERESIE
    - je HAIS les exceptions masquées (try/catch sans rien dans le catch) qui compliquent le débuggage
    - je HAIS les tests de type (typeof), ils démontrent un mauvais design de base
    - je HAIS les “if(condition) return true”, autant faire “return condition”
    - je HAIS les “if(condition1) { if(condition2) { blabla }}”, autant faire “if(condition1 && condition2)”, l’évaluation est séquencielle en Java
    - je HAIS les multiples définitions de constantes, pourquoi ne pas les définir une bonne fois pour toutes et toujours s’y référer de la même manière ?

    C’est tout ce qui me vient à l’esprit pour le moment, j’en rajouterai si j’en trouve d’autres (parce que tout ça, j’en trouve tous les jours).

    La boite de Pandore

    Pandora Internet Radio

    Ce site est une énormité, j’ai découvert en 1/4h plus de groupes potentiellement écoutables qu’en 2 heures de recherche à la FNAC.

    Pandora est une sorte de moteur de recherche de musique “qui ressemble à une autre musique”. Il se base sur des annotations réalisées par des employés de Pandora Media et s’inspire du Music Genome Project, pour proposer de générer des “chaines” de radios Internet à double sens: Pandora propose des albums, l’utilisateur peut alors lui dire si oui, ça correspond à ses gouts ou non, ça ne va pas du tout. La “boite” s’ajuste donc pour élargir les horizons musicaux tout en affinant ses critères de recherche.

    L’expression consacrée pour ce genre d’initiative est je crois Web 2.0. Alors évidemment, c’est en Flash, ce n’est pas accessible et tout; mais c’est un pur produit de la nouvelle tendance à établir un flux à double sens entre le Web et son arpenteur, une immersion dans un monde numérique de plus en plus proche de notre réalité.

    "In London, it is about what you can do, not what you have done"

    http://news.bbc.co.uk/2/hi/business/5048428.stm

    C’est tellement vrai. Je ne suis absolument pas pour le libéralisme à outrance, mais ce qui est dit dans cet article est tellement VRAI ! Trouver un premier emploi sur le marché du travail français n’a rien de simple puisqu’il faut dans 95% des cas justifier d’une expérience professionnelle de 2 ans. Pour un premier emploi, comment avoir 2 ans d’expérience dans quelque domaine que ce soit ? Du coup, ça ne m’étonne pas qu’un jeune de 18-25 ans sur 5 soit en vacances prolongées.

    La phrase du titre résume bien cette situation: à Londres, ce qui importe est ce que vous pouvez faire, pas ce que vous avez fait. Alors qu’en France, le simple fait d’affirmer qu’on a 2 ans et demi de formation intensive en école sur une technologie ne suffit pas, il faut justifier l’avoir utilisée dans un cadre professionnel.

    Au lieu de proposer des Contrats Poubelle Express, peut-être que nos chers dirigeants (au premier sens du terme) feraient peut-être bien de s’inspirer de ce qui se passe outre-Manche. Mais bon, la perfide Albion reste depuis bientôt mille ans l’ennemie jurée…

    Bouger c’est vivre

    Un titre sybillin qui veut dire des tas de choses: faire du sport c’est bon pour la santé, tant qu’on bouge c’est qu’on est vivant…

    Ou alors, pour pouvoir continuer à vivre et à travailler dans la société française de ce début de siècle, il faut déménager souvent.

    Hé oui, même pas un an après le déménagement Toulouse > Belfort, voici se profiler un autre déménagement, pour la région Rhône-Alpes cette fois-ci. Même si c’est dans le cadre d’une mutation (et du coup la boîte paye une grosse partie de la chose), ça fait toujours un coup d’abandonner un petit chez soi – surtout ce super appartement de la rue de l’Egalité, à 30 minutes de roller du Malsaucy…

    Bref, restez à l’écoute ! Cette fois-ci il n’y aura peut-être même pas d’interruption de service, je risque de partir tout seul en éclaireur, Audrey me rejoignant quelques semaines plus tard.

    Haut de Page

    INFORMATION

    Changez cette phrase et le titre dans la page d'options de l'administration du theme