Du découplage

(Jean fait la queue avec Vincent au Starbucks)
Jean : Quel monde ! Dire que je n’ai que 20 minutes, nous n’allons jamais avoir le temps de boire notre café !
Vincent : Ce n’est pas grave Jean, 20 minutes à faire la queue, ca reste un moment pour décompresser.

Serveuse : Bonjour messieurs, que désirez vous commander ?
Jean : Bonjour, un frappuccino s’il vous plait.
Vincent : Bonjour, avec un café liégois s’il vous plait.
Serveuse : Merci, un prénom ?
Jean : Jean.
Serveuse : Merci. (elle donne un ticket à Jean)

Lire la suite

La crise économique, une opportunité à ne pas rater !

La crise économique, une opportunité à ne pas rater !
L’actualité financière et les perspectives économiques mettent sous pression les budgets des DSI. Les coups de rabot budgétaires ont le mérite de mettre en évidence les sujets perçus comme les plus importants et urgents.
Arbitrer entre maintenir à flot l’activité métier ou la transformer est un choix difficile pour chaque Direction : « run the business or change the business » ? Les investissements SI sont soumis également à ce dilemme.
Néanmoins, les entreprises qui sauront mettre à profit cette période troublée pour se transformer sauront en bénéficier plus tôt. Alors que celles, qui ne le feront pas, n’auront pas eu le temps de le faire avant la prochaine crise, qui les paralysera à nouveau.
Dans une logique de recentrage des investissements SI, la question est donc de bien identifier les sujets qui permettent d’obtenir une réduction significative des coûts opérationnels et de rentabiliser à court terme la transformation des activités. Il faut bien l’admettre, cet exercice nécessite une bonne dose de créativité et d’innovation.
Lire la suite

Métro Boulot Dodo

Signal sonore de fermeture des portes

– Ah salut ! Tu prends la ligne 7 toi aussi ? Alors c’est pour bientôt la mise en prod’ ?
– M’en parle pas, c’est dans 10 jours.
– Dis donc je vois passer une tonne de mails sur le projet..
– Oui, on n’a pas accès au bug tracker du client donc il nous envoie les bug reports par mail.
– Mince, ça en fait un paquet!
– Tout est relatif. Il y a surtout des demandes d’évolutions. Heureusement, Hubert monte au créneau pour renégocier ça avec le client.
Lire la suite

Et si nous définissions l’Internet des objets ?

Le concept

L’Internet des objets repose sur l’idée que tous les objets seront connectés un jour à Internet et seront donc capables d’émettre de l’information et éventuellement de recevoir des commandes. On parle aussi d’ “ubiquitous computing”, c’est à dire informatique omniprésente, ambiante, ou pervasive. Ce nouveau paradigme informatique est basé non plus sur le PC, mais sur des objets quotidiens intégrant des capteurs et des capacités de communication.
L’internet des objets propose de créer une continuité entre le monde réel et le monde numérique : il donne une existence aux objets physiques dans le monde numérique.

Lire la suite

Comment ne plus avoir de NullPointerException en Java ?

NullPointerException : l’erreur la plus courante dans un programme Java. On est tous à un moment ou à un autre tombé sur cette exception. Malheureusement, ce n’est qu’en production à 4h du matin qu’elle arrive. On corrige donc le bug suivant :

MonObjet monObjet = null;
…
monObjet.maMethode(); // => NullPointerException

Par un rapide :

if(monObjet != null) {
  monObjet.maMethode();
}

Ce correctif est tout à fait honorable, mais pourquoi ne pas essayer de ne plus avoir aucune exception de ce type ?

Il existe plusieurs méthodes validées par le compilateur pour l’éviter, et donc avant la mise en production. Aucune n’est nouvelle, certaines controversés, mais elles sont toutes étudiées dans la suite de cet article.

Lire la suite

La programmation haute performance n’est-elle réservée qu’à une élite de développeurs C++ ?

Récemment un papier d’étude de Google UK a été publié sur la performance des langages de programmation JAVA, Scala, C++ et Go (Loop Recognition in C++/Java/Go/Scala). Dans ce papier, les performances des langages sont comparées sur la base d’un algorithme de recherche de boucles dans un graphe (Algorithme de Tarjan).

Principalement basé sur la performance d’exécution d’instructions séquentielles (boucles), la gestion de la mémoire, le temps de compilation et le nombre de lignes de code écrites cette étude montre que pour arriver à des hautes performances en C++ les optimisations techniques (au niveau du langage) deviennent trop compliquées pour le résultat produit. Comme le dit Robert Hundt :

 

We find that in regards to performance, C++ wins out by
a large margin. However, it also required the most extensive
tuning efforts, many of which were done at a level of sophistication
that would not be available to the average programmer.

Cependant, cet article a été critiqué sur son use-case peu pertinent et sur la validité des résultats. Quand même, C++ est le ++ fort ! Bien qu’il ait été maladroit, ce cher Robert a soulevé un point très intéressant : la programmation haute performance n’est-elle réservée qu’à une élite de développeur C++ ? Le développeur moyen peut-il espérer développer des applications haute performance ?

Lire la suite

L’open space m’a sauvé

Un responsable de département d’étude avait fait venir un consultant afin d’identifier les obstacles à une meilleure productivité pour son nouveau projet développé en agile. Après quelques échanges à la machine à café, il lui proposa : “le mieux est que je vous accompagne pour faire le tour des bureaux. Vous verrez qu’il y a sacrément du monde sur le projet Neutrino !”
Lire la suite