Archive for March, 2008|Monthly archive page

[Updated] Optimiser la clope

[Update : après 2 jours]

Voici les raisons qui ne sont pas celles pour lesquelles je fume

  • devoir sortir sous la pluie venteuse de janvier
  • ne plus aller au comptoir d’un café

Voici les raisons pour lesquelles je fume

  • dépendant à la nicotine
  • dépendant au geste
  • dépendant au café-clope

La solution :


Image 10.png

Disponible aussi en noir.

On met une cartouche de nicotine parfumée à l’intérieur, on aspire, et on récupère de la vapeur d’eau avec de la nicotine.

Pas de fumée, pas de tabagisme passif ; ton voisin te remercie – et toi aussi tu te peux remercier !

Combien ?

Allez voir sur le site. Ca ne se rentabilise pas immédiatement, vu que la clope coûte 90 €.

Mais les recharges valent moins de 2 euros, et sont à peu près équivalentes à 1 paquet de clope.

Et alors ?

C’est carrément positif.

On sent bien le kick de nicotine, et le café passe très bien avec !

Le truc pèse assez lourd (y a une batterie qu’il faut recharger).

Le goût n’est pas terrible, mais n’est pas horrible non plus.

Mais en face de tous les avantages (listés ici ou pas), au final, le goût ne peut pas lutter.

Deux jours après

Convaincu … Je n’ai plus envie de fumer une clope.

La technique : faire des aspirations un peu forte au début, et dès que la vapeur, y aller doucement … et s’arrêter quand ça gratte la gorge :)

Ma recharge a duré 36 heures ; je viens de la changer.

Et la santé ?

Un médecin néo-zélandais actuellement conduit une étude. Les résultats intermédiaires sont disponibles.

Le modèle utilisé est celui de Ruyan, dont la Sedansa n’est qu’un rebranding.

Le Dr Murray Laugesen nous dit :

The Ruyan® e-cigarette is designed to be a safe alternative to smoking, and on examination from a number of aspects, appears to achieve this aim.

Géopolitique

Les ecigarettes sont été inventées, fabriquées et vendues par des entreprises chinoises.

L’idée d’une cigarette qui soit sans danger pour la santé est évidemment un truc qui est censé plaire à tout fumeur. Les perpectives d’un marché captif de 30% de l’humanité (chiffre au pif) qui est en train de se faire chasser de partout!

Philip Morris et les autres américains qui tiennent actuellement le marché devraient s’inquiéter. L’âge d’or (et de goudron) est fini, les chinois attaquent de front.

(Et je les en remercie)

Le code et le bébé

Ca fait maintenant deux mois que Martin n’a plus de nounou. Cela explique mon relatif silence ici. J’explique :

Celle-ci a perdu son agrément à la suite d’une histoire assez obscure. Je ne vais pas m’étendre dessus, mais je pense qu’elle et sa famille sont d’origine algérienne.

C626CB87-58C8-4305-A1FA-A4790A7C18AE.jpg

Quelles sont les options ?

  • la crèche ? bof, un mois d’adaptation, des horaires super rigides
  • une autre nounou ? on espère que la situation soit temporaire, alors une autre nounou, on trouve ça un peu prématuré.
  • le papa, qui bosse beaucoup à la maison.

Pour une solution temporaire, la dernière option est bien sûr la plus simple. Enfin, de l’extérieur …

code + bébé = journées bien remplies

Ah ça oui. C’est dur d’atteindre une concentration suffisante pour résoudre les défis informatiques d’aujourd’hui sur une période supérieure à 15 minutes lorsque bébé est réveillé.

A cela s’additionne les défis de s’occuper d’un bébé tout seul, et il faut ordonnancer et synchroniser les tâches pour minimiser les temps de maintenance.

Malheureusement l’outil n’est pas scriptable et fait parfois preuve de mauvaise volonté.

Mais un certain nombre de plans sont possibles :

Plan M comme Mamie

Depuis quelques semaines, la grand-mère de Martin vient à la maison deux jours par semaine pour s’occuper de Martin et faire des balades dans le parc à côté.

J’en profite pour coder plus et faire un tour au bureau. (mais en fait, je travaille beaucoup mieux à la maison).

Plan C comme Chat

Malgré lui, bien malgré lui, Boulette le chat s’occupe de Martin une heure par jour.

Plan B comme Bouffe

A utiliser cependant avec modération. Un bout de pain de mie, tranquillité garantie.

Plan S comme Sieste

3 heures de tranquillité par jour !

Mignon

A delà de tous ces plans, je suis vraiment content de pouvoir passer autant de temps avec lui.

Martin a 14 mois et chaque jour il …. bla bla bla .. (insérer ici 12 lignes de commentaires du père ébaubi devant sa progéniture qui chaque jour découvre le monde un peu mieux)

En gros : c’est dur, mais je ne regrette rien !

Jusqu’à quand ?

On en sait rien. A priori quatre mois maximum. Mais ça dépend d’une décision de justice (celle de Bobigny, Seine Saint Denis) … A suivre.

Auth me on Jabber

CAS est un service très populaire permettant de mettre en place le Single Sign On, avec des librairies clientes pour la plupart des langages.

On peut facilement rajouter des handlers d’authentification.

En voici un très rapide, permettant de s’authentifier sur un service Jabber.

Installation :

Uniquement compatible CAS v3.

Installez ce bout de xml dans le deployerConfigContext, dans la liste des AuthHandlers :


<bean class="com.ohmforce.cas.JabberAuthenticationHandler">
 <property name="jabberHostname" value="DOMAIN"/>
</bean>

Copiez jabber-cas.jar.zip et la jar de Smack, relancez la webapp CAS et c’est tout.

Pour se logger sur vos applications CASifiées, vos utilisateurs utiliserons leur compte défini dans sur le domaine indiqué par jabberHostname, le mal nommé.

Le code

Y en a tellement peu que ca tient ici.


package com.ohmforce.cas;
import org.jasig.cas.authentication.handler.AuthenticationException;
import org.jasig.cas.authentication.handler.support.AbstractUsernamePasswordAuthenticationHandler;
import org.jasig.cas.authentication.principal.UsernamePasswordCredentials;
import org.jivesoftware.smack.XMPPConnection;
import org.jivesoftware.smack.XMPPException;

final public class JabberAuthenticationHandler extends
        AbstractUsernamePasswordAuthenticationHandler {
    private String jabberHostname;
    @Override
    protected boolean authenticateUsernamePasswordInternal(
            UsernamePasswordCredentials credentials)
            throws AuthenticationException {
        XMPPConnection conn = new XMPPConnection(jabberHostname);
        try {
            conn.connect();
            conn.login(credentials.getUsername(), credentials.getPassword());
        } catch (XMPPException e) {
            log.error("Failed", e);
            return false;
        }
        finally{
            conn.disconnect();
        }
        return true;
    }
public void setJabberHostname(String server)
{
    jabberHostname=server;
}
public String getJabberHostname()
{
    return jabberHostname;
}

}

Ping me on Jabber

Je suis en train de faire migrer Ohm Force d’IRC à full Jabber.

Ca marche bien, mais il manque une fonctionnalité indispensable :

Que ca bippe le client quand dans une chatroom, on cite mon nickname.

Ni iChat ni Spark ne l’ont.

iChat

Pour iChat, c’est facile avec AppleScript:


using terms from application "iChat"
    on chat room message received theMessage from theBuddy for theChat
        set theUser to "VOTRE NICKNAME"
        if theMessage contains theUser then
            say theUser
        end if
    end chat room message received
end using terms from

Tout ça dans le script editor, on enregistre dans le rep ~/Library/Scripts/iChat sous le nom de beep.scpt et ensuite on configure comme ça :

Configuration d'iChat

Spark

Pour Spark, j’ai du écrire un plugin. Rapide, j’ai passé plus de temps à trouver comment le compiler qu’à l’écrire.

J’ai pris le son bell.wav de Spark, et je l’ai embarqué dedans.

Pour le télécharger, c’est ici :
beep.jar.zip

Il faut dézipper, et glisser la jar dans le répertoire plugins de Spark.

Sur Mac et Linux, cherchez dans le répertoire Spark à la racine de votre compte. Sur Windows … j’en sais rien.

C’est dans la même licence que Spark, et si vous voulez le code source, contactez-moi.

(oui, je dois toujours configurer mon serveur SVN pour l’accès public)

Pour finir :

Une fonctionnalité qui complémente bien celle-ci est l’autocomplétion des nicknames. Mais c’est beaucoup plus de travail, donc c’est pour plus tard !

Pour l’instant, dites à vos amis de choisir des nicknames plus courts.