dimanche 25 mars 2012

tcpdump - reminder

Ce billet pour me servir de pense bête - pour mes captures réseaux

Capture

sudo tcpdump -s 0 -i < nom de l'interface réseau > -w out.dump

Analyse

Ouvrir le fichier out.dump avec wireshark.

Cake aux courgettes et à la féta



Les ingrédients


  • 75 g de farine
  • 3 oeufs
  • un sachet de levure chimique
  • 2 cuillères à soupe de crème fraîche
  • 4 cuillères à soupe d'huile d'olive
  • 2 courgettes
  • 200g de féta
  • de la ciboulette

Les étapes de la recette

  1. Mélanger la farine, les oeufs et 2 cuillères d'huile d'olive à l'aide d'un fouet.
  2. Incorporer la crème fraîche.
  3. Préchauffer votre four à 180°C
  4. Couper la courgette en petits morceaux dans une poële) ; puis faire chauffer 5 à 10 minutes avec 2 cuillère à soupe d'huile d'olive
  5. Laisser refroidir 5 minutes puis mélanger la ciboulette à la courgette
  6. Mélanger la courgette à la pâte
  7. Couper en dés la féta et la rajouter au mélange
  8. Verser dans un moule et cuire 25 minutes à 180°C

Les suggestions du chef




Laisser le cake refroidir une heure à température ambiante ; puis le metter au frigo pendant deux heures ou plus (je le trouve meilleur froid).
Bon appétit.

vendredi 23 mars 2012

mousse au chocolat



Pour 4 à 5 personnes

Ingrédients

  • 3 oeufs
  • 150 gr de chocolat
  • 1 sachet de sucre vanillé
  • 3 cuillères à soupe de sucre
  • 15 gr de beurre
  • 2 cuillères à soupe de lait

Préparation

  1. Mélanger les jaunes avec le sucre vanillé et le sucre dans un récipient
  2. Faire fondre le chocolat dans une casserole avec le beurre et le lait
  3. Battre les blancs en neige
  4. Rajouter le chocolat au récipient
  5. Rajouter les blancs en neige
  6. Réserver au frigo pendant 24h minimum avant consommation

Crème caramel à la vanille





Ingrédients

  • 1 litre de lait
  • une gousse de vanille
  • 6 œufs
  • 14 cuillères à soupe de sucre
  • 14 sucres en morceau

Préparation

  1. Mélanger le lait et la vanille ; puis porter à ébullition
  2. Mélanger les œufs et le sucre en poudre (les battre au fouet)
  3. Faire chauffer à feu vif les sucres en morceau (avec un peu d'eau) pour constituer le caramel
  4. Mélanger le lait avec les œufs
  5. Verser le caramel au fond de votre plat
  6. Verser le mélange dans le plat

Cuisson

Faire cuire à 180°C pendant 45 minutes ; puis laisser reposer une bonne heure.
Bon appétit.

Tarte au citron meringuée

Ingrédients


  • 4 gros citrons
  • 80 grammes de maïzena
  • 4 gros œufs
  • 175 g de sucre
  • 1 pâte brisée

Préparation

  • Etaler la pâte dans le moule et piquer le fond avec une fourchette, avant de la cuire pendant 15 minutes au four thermostat 7/220°C.
  • Presser les citrons et râper un peu de zeste.
  • Mélanger la maïzena avec la moitié du jus.
  • Dans la deuxième moitié du jus ajouter 3 verres d'eau froide, mettre dans une casserole et faire bouillir.
  • Verser le mélange jus + maïzena dans la casserole, bien remuer puis faire cuire doucement jusqu'à épaississement, laisser refroidir.
  • Séparer les blancs des jaunes d'œufs.
  • Battre les blancs en neige très ferme et y ajouter, délicatement, à la cuillère 50g de sucre.
  • Ajouter les jaunes d'œufs et 100g de sucre au mélange refroidi maïzena/citron et le verser dans le moule.
  • Remettre au four pendant 15 minutes.
  • Verser l'appareil à meringue (les blancs d'œufs battus et sucrés) sur toute la surface de la tarte ; pour la présentation y tracer des sillons avec la tranche d'une cuillère à soupe puis y saupoudrer le sucre restant.
  • Remettre au four 10 minutes.

Recette du gâteau à la crème (cake)


Ingrédients :

  • 3 oeufs
  • 3 verres de sucre( un peu plus que la moitié pour chaque verre)
  • 1/2 paquet de levure
  • 1 paquet de sucre vanillé
  • 3 verres de farine bien pleins (ou pour le faire plus léger remplacer
  • l'un des verres de farine par un verre de maïzena)
  • 1 pot de 25 cl de crème fraîche

Recette :

  1. Battre longuement le sucre, sucre vanillé et oeufs ( le mélange doit bien augmenter de volume et "blanchir")
  2. Ajouter la farine, puis la levure et enfin la crème.
Cuire à four moyen (200°)pendant environ 3/4 d'heure( vérifier la cuisson en piquant le centre avec un couteau, la lame doit ressortir sèche )

Variantes :

  1. On peut ajouter des raisins secs ou des fruits secs ( il faut les mélanger à une cuillère de farine avant de les mettre dans la pâte)
  2. On peut ajouter des pépites de chocolat et des morceaux d'amandes
  3. On peut faire un marbré au chocolat en partageant la pâte en deux . ajouter dans une partie du sucre vanillé et dans l'autre du chocolat fondu ou même du chocolat en poudre.Alterner les deux pâtes dans le moule.

Le flan aux oeufs


Ingrédients



  • 4 oeufs
  • 2 sachets de sucre vanillé
  • 4 cuillères à soupe de sucre en poudre
  • 75 cl de lait (possible avec du lait écrémé)


La recette


Casser les oeufs, ajouter le sucre (poudre + vanillé)
Battre assez longtemps
Ajouter le lait peu à peu
Verser dans un moule déjà nappé de caramel
Cuire au bain-marie dans le four à 160 degré (maxi) pendant environ 1 heure
Piquer pour vérifier la cuisson

La quiche au saucisson à l'aïe



  • 4 tranches de saucisson à l'aïe
  • 2 tranche de jambon cuit
  • lardons
  • battre 6 oeufs avec un pot de crème fraîche
  • recouvrir dans la quiche
  • 200°C pendant 3/4 heure

Supervision in JAVA applications / Using JMX



I will present a few tricks I'm using systematically to create Java applications easily supervisable ( the  best practices I'm following ). My first POST, on that subject, will introduce how I'm using JMX to deliver peaces of software that will be correctly managed and monitored by the team of technicians in charge of it.


1 - JMX (Java Management Extensions) and MBeans objects


This is a standard technology defining architecture and design patterns for application management and monitoring. Using this technology, the attributs exposed and the operations offered are provided by objects called "Managed Mbean" ( MBean ). See this page for an overview of this technology.


2 - Using MBeans to make the application configurable 'in live'


Changing the configuration of an application without restarting it is sometimes very valuable. MBeans are made for that. Using these objects, you will be able to change the behavior of your soft without effort. So, since the beginning of a new project, I tried to put as much of the configuration properties as possible in these objects. Doing that, your application will be dynamically managed without stopping the production.


3 - Why using this standard


If you choose this technology, you will not have to construct any GUI ( graphical user interface ) to make these objects accessible to your users. Many tools are already capable to connect to a running JVM and to interact with its registered MBeans. For example, the jconsole, provided with every JDK, display all the registered MBean and allow the user to modify the properties and to call the operations of these MBeans.


4 - Persisting the MBean in an XML file


All the MBean I create are saving there configuration in an XML file, so that, after restarting the application, the changes applied will be restored. To make the code of the MBean very simple, I'm using JAXB to marshall all the properties in the target XML File. Let's take an example :
@XmlRootElement(name="test")
public class Test implements TestMBean {

    @XmlElement(name="count")
    @Override
    public Integer getCount() {
        return(this.count);
    }
    @Override
    public void setCount(Integer count) {
        this.count=count;
    }

    /**
     * persist in the XML File
     */
    protected synchronized void save() {
        try {
            Marshaller ma = context.createMarshaller();
            ma.marshal(this, new File(configFileName));
        } catch(Exception e) {
            System.err.println("unable to save file"+e.getMessage());
        }
    }
    
    /**
     * construct the MBean from the XML file
     * @param xmlFileName
     * @return
     */
    protected static Test makeFromXMLFile(String xmlFileName) {
        File configFile = new File(xmlFileName);
        Test result = null ;
        if (configFile.exists()) {
            try {
                Unmarshaller un = context.createUnmarshaller();
                result=(Test) un.unmarshal(configFile);
            } catch (Exception e) {
                throw new RuntimeException("unable to read config file",e);
            }
        }
        if (result==null) {
            result = new Test();
        }
        result.configFileName = xmlFileName ;
        result.save();
        return(result);
    }

    private Integer count ;
    private String configFileName;
    
    private final static JAXBContext context  ;

    static {
        try {
            context = JAXBContext.newInstance(Test.class);
        } catch (JAXBException e) {
            throw new RuntimeException("Programmatic error :",e);
        }
    }
}


As you can see in this exemple, you just need to add some very simple annotations on the bean's properties you want to be saved in the XML file : that's what we did on the Count MBean attribut.

5 - Conclusion


Don't hesitate to provide many MBeans in your software : with a very little cost, you will be able to deliver an application configurable in live, easily monitored and managed.

dimanche 11 mars 2012

Les foudres de la sor'cière

Et hop, je viens de terminer le deuxième tome ( Les foudres de la sor'cière ) du cycle "Les bannis et les proscrits" de James Clemens. Celui-ci est aussi bon que le premier, je l'ai terminé en quelques soirées. On y retrouve les même ingrédients que dans le premier : de la magie (que Elena commence à maîtriser un petit peu plus), des monstres, et des paysages que l'on découvre au fil des errances des divers personnages. Là encore, nous passons d'un groupe de protagonistes à un autre ; et l'histoire est tellement bonne que à chaque séquence où l'auteur zappe j'ai ressenti une certaine frustration. Un petit résumé :


L'hiver terminé, Elena et ses camarades descendent des montagnes de Kral pour repartir à la recherche du Journal Sanglant. Ils vont être confrontés à des malegardes ( élémentaux corrompus par la magie noire ) tous plus horribles les uns que les autres. De nouveaux personnages, certains très surprenants, vont aussi rejoindre le camp d'Elena durant cet épisode.


Pour conclure, j'ai trouvé ce deuxième tome excellent ; tout aussi bon que le premier, mais pas tout à fait dans la même gamme : certaines scènes avec les malegardes dépeignent leur côté corrompu avec un grand réalisme : je pense par exemple à une scène d'accouchement d'un monstre, tout à fait réaliste. On ne peut parler de gore car c'est bien écrit, mais âmes sensibles abstenez vous ! Le premier tome était peut être un peu plus soft, enfin légèrement :)


Ma note : 16/20

samedi 10 mars 2012

JAVA 7 Pour Mac

Je viens d'installer la JDK 7 sur mon mac : pour être plus précis j'ai installé "Oracle JDK7u4 Mac OS X Port Developer Preview Release", trouvée à cet URL. L'installation s'est effectuée sans aucune surprise, et la JVM semble fonctionner très bien, du moins pour les quelques tests que j'ai réalisé : j'ai compilé, via maven, gsync ( projet JAVA 6 ) et testé le résultat de la compilation, à priori tout fonctionne.
Il me reste maintenant à tester les nouvelles fonctionnalité de la JDK 7 ainsi que son intégration à Eclipse et NetBeans sous Mac. Plus d'info dans un autre billet.
Si tout fonctionne, je migre tous mes projets sous cette nouvelle version.

vendredi 9 mars 2012

SAMI mon ami

Un petit hommage au SAMI ( Services d'Accueil Médical Initial ). Cette mission de service publique, que l'on pourrait qualifier de  service d'intérêt général, vous permet de consulter un médecin généraliste les week end et jours fériés. Ainsi, plus besoin d'aller encombrer les urgences pour une maladie pouvant être soignée par un généraliste.
C'est très pratique quand votre enfant tombe malade le week end. Je ne sais pas pour vous, mais les miens choisissent quasi exclusivement le samedi soir pour déclencher une fièvre à en faire exploser le thermomètre, ou pour remplir un nombre inimaginable de seaux de vomit.
Désormais, quand la chose arrive, si je sens que l'on ne peut pas attendre le lundi je n'appelle plus le 15  (et oui dans le 94 il n'y a pas de SOS médecin , juste le 15) ; j'amène le petit malade directement chez le docteur du SAMI.

Le feu de la sorcière

Il s'agit du premier tome du cycle "Les bannis et les proscrits" de James Clemens. Ce livre m'a enthousiasmé : enfin un cycle dont j'ai acheté le deuxième tome sans hésitation.
Commençons par un petit résumé, histoire de vous mettre l'eau à la bouche, mais sans trop vous en dire ...

Le monde dans lequel se déroule l'histoire est un monde en crise. 500 ans plus tôt les magiciens ( tous des hommes ) luttent contre les "forces du mal" mais se retrouvent peu à peu dépourvu de toute magie. Résultat, les méchants progressent. Trois mages parmi les derniers forgèrent un livre rempli d'un mystérieux pouvoir avant de disparaître eux-même.
A l'heure à laquelle le récit se déroule, une jeune adolescente hérite d'un pouvoir, semblable à celui autrefois réservé aux mages (tous des mâles), que l'on croyait désormais disparu. Malheureusement cet héritage n'est pas passé inaperçu et toutes les forces du mal se déchaînent pour tenter de s'emparer de notre héroïne. Heureusement celle-ci va rencontrer différents personnages qui vont l'aider à s'élever pour atteindre sa destinée : devenir une "sor'cière".

Ce bouquin, bien construit, reproduit - mais sans copier - certains des schémas du seigneurs des anneaux : des personnages dont les destinées se croisent, se séparent ; de la magie, un seigneur du mal fort peu sympathique ... Le monde des sor'ciers et sor'cières est vraiment original, l'écriture de ce premier tome est fort agréable et évite le côté légèrement répétitif que l'on pourrait reprocher à certains cycles de fantasy.


Ma note : 16/20