vendredi 6 novembre 2009

1961: le premier ordinateur qui chante

On sait enfin pourquoi l'ordinateur HAL 9000 du film 2001 Odyssée de l'espace de stanley Kubrik chantait la chanson 'Daisy' :




La réponse est sur donnée par cette autre video de 1961 (la date indiquée sur la vidéo est fausse) qui illustre la première chanson programmée sur un ordinateur.




A.C Clarke avait rendu une visite au laboratoires BELL, où il avait assisté à cette démo sur un IBM 704

Plein de lien vers de la doc Java et Ruby on Rails

Etes vous :

JAVA ?
















OU BIEN
Ruby ?























Si vous été plutôt java le site objij est pour vous : plus de 100 tutoriels JAVA à votre disposition.

Si vous été Ruby on Rails ce site fera votre bonheur: il référence des liens vers de la documentation.


Moi j'ai choisi.

Projet SQUALE : mesurer la qualité du code


Toutes les entités qui développent du code sont confrontées à deux enjeux:

a) Planifier et respecter les délais de mise en œuvre des projets informatiques. Ce n'est pas rien , moins de 30% des projets arrivent à terme en respectant les 3 'C' : Contenu , calendrier, coût. Et plus de 25 % des projets sont purement et simplement abandonnés.

B) Développer du code de qualité. Les mentalités ont évoluées, et maintenant il est admis par tous qu'un code de bonne qualité est un des facteurs de réussite d'un projet.

Il existe des méthodes pour mesurer la qualité d'un code, encore faut il un tableau de bord permettant d'agréger les résultats. C'est le but du projet opensource 'SQUALE' (Software QUALity Enhanceme) .
Le portail squale permet de mesurer 6 facteurs :
  • capacité fonctionnelle
  • architecture
  • évolutivité
  • maintenabilité
  • réutilisabilité
  • fiabilité



Avec un niveau de détail très fin :






Le projet squale utilise trois composants: Une base de données pour stocker les informations collectées. Un serveur web pour le portail et enfin une série d'utilitaires (squalix)
pour mesures la qualité du code.








































Le projet propose des modèles définissant la notion de qualité du code ((ISO-9126,GQM, McCall) Mais il est possible d'enrichir le produit avec des modules tiers . Squale supporte nativement le JAVA mais peut traiter aussi les langages COBOL , C, PHP, .NET.
Squale est avant tout une plateforme d'intégration où viennent se brancher les modules tiers à partir du moment où ils respectent le modèle de données du produit.

Enfin squale met à disposition des fonctions d'audit de code avec notamment la possibilité de suivre dans le temps l'évolution des résultats d'audit.

En conclusion : pourvu qu'il ne fouille pas dans mon code..

mercredi 4 novembre 2009

Une devinette


Petite devinette au sujet de l'image ci-contre:
Cette image est :
  • Un dessin réalisé par ma fille en CM2
  • Le logo d'un nouveau jeux sur WII
  • Le boss du niveau 65 de DOOM II (hyper difficile à tuer)
  • Le logo de l'association pour la dépénalisation de la culture des champignons de Paris sur balcon.
  • Le logo de la version 6 du langage post-moderne Perl

Indice: la solution est dissimulée dans les ailes.

mardi 3 novembre 2009

La planète Ruby et Rails: Le discours de l'état de l'oignon

Le titre du post est directement inspiré d'une présentation réalisée par Larry Wall sur l'état de l'art du langage Perl: "State of the Onion 2000".
J'ai téléchargé un livre blanc sur l'écosystème de Ruby et Rails sur le site infoether(gratuit).









Cette brochure aborde tous les composants de Ruby on Rails avec tout d'abord 'Ruby'.

1) Ruby.
Sa communauté de développeur est en hausse (1 million) et devrait atteindre le chiffre de 4 millions en 2013 . Ce langage est qualifié comme 'l'ami' du développeur. Il est vrai que les pratiquants sont souvent enthousiasmés par ce langage.

Il existe maintenant plusieurs machines virtuelles pour Ruby:



Tout d'abord celle du maitre : MRI : Matz's Ruby Interpreter (version 1.9 ) , elle est utilisée par défaut sur machine Linux.


Jruby: sponsorisée par SUN : elle permet d'utiliser du Ruby sur une JVM java.


IronRuby:sponsorisée par Microsoft :elle permet d'inclure du Ruby dans une architecture .NET


MacRuby : C'est un portage de Ruby sur Max OS X qui permet aux programmes ruby de tirer parti au maximun des architectures Mac.

Et encore deux autres : MaGLev et Rubinius.

La liste des grandes compagnies informatiques actives dans le domaine Ruby est :
  • Sun
  • Microsoft
  • Apple
  • IBM (driver ruby pour ses bases de données)
  • SAP : les produits de SAP sont des progiciels paramétrables , mais de plus en plus ses clients désirent des adaptations fines . Ces modifications sont lourdes et complexes à réaliser. Ici l'idée du laboratoire de SAP est de faire de Ruby le langage de développement embarqué dans leurs solutions.

Ainsi pour beaucoup d'acteur, Ruby, Ruby on Rails représente un contrepoids , une alternative utilisable face à Google et Python.


2) Rails.

Ruby on Rails en perçu par le marché comme le complément indispensable des gros frameworks J2EE . La répartition au sein d'une entreprise de 20% Rails et 80 % J2EE est une bonne estimation. Les dernières manifestations Ruby on Rails ont montrées une grosse percée de ces technologies dans le monde de l'entreprise.
'Better,faster,cheaper' (Meilleur,plus rapide, moins cher) est la phrase qui revient le plus souvent lors de ces conférences.

Une rumeur tenace concernant la tenue du framework à la montée en charge collait à la peau de Rails. Les mésaventures de Twitter en étaient à l'origine. C'était surtout un problème global d'architecture applicative. De fait Twitter a abandonné en partie Rails pour développer son propre langage et sa propre base de données. Twitter explose les échelles de références en termes de message,de connexion ou d'utilisateur.
Ruby on Rails couplé au serveur Mongrel et nginX forment un attelage solide pour supporter la charge. Mais il faut pour cela se faire assister par un expert en architecture Rails.

3) Le Cloud computing.

Le segment de prédilection de Ruby on Rails est le cloud computing. Des sociétés naissent tous les jours dans se domaine (Engine Yard , Heroku, amazon S3 ,rackspace) . Rails a un avantage certain sur ses concurrents: l'industrialisation du déploiement des applications. Le framework a été pensé dans ce sens dès sa conception.
Le cloud computing sera Ruby on Rails ou ne sera pas (eg)

4) Le reste de l'écosystème.

Il existe plusieurs framework avec Ruby l'un d'eux est destiné à la VoIP et ToIP (voix /téléphone sur IP) : Adhearsion




Adhearsion is a new way to write voice-enabled applications. It's not just an API or library — it's a fully-featured framework

Adhearsion est une nouvelle manière d'écrire des applications de voix sur IP. Ce n'est pas une simple API mais une infrastructure complète(compatible avec Asterix).


Enfin , il existe un portage de Ruby sur smartphone de type:
Symbian et ........... android de Google.




lundi 2 novembre 2009

Ruby , Ruby on Rails deux hommes et un même combat.



J'ai lu sur un blog un article humoristique sur : la brève histoire 'bidon' des langages informatiques. Sur ruby l'auteur écrit :

1995 - Yukihiro "Mad Matz" Matsumoto creates Ruby to avert some vaguely unspecified apocalypse that will leave Australia a desert run by mohawked warriors and Tina Turner. The language is later renamed Ruby on Rails by its real inventor, David Heinemeier Hansson. [The bit about Matsumoto inventing a language called Ruby never happened and better be removed in the next revision of this article - DHH].

Ce qui donne en résumé :

1995 - Yukihiro "Mad Matz" Matsumoto crée Ruby pour éviter une apocalypse .... La langue est rebaptisée Ruby on Rails par son véritable inventeur, David Heinemeier Hansson. [La mention sur Matsumoto inventeur d'une langage appelé Ruby n'a jamais eu lieu et il sera préférable de la supprimer dans la prochaine révision de cet article ].
Ce trait d'humour met l'accent sur une grosse injustice. Tout le mode parle de Rails en oubliant de préciser 'Ruby on Rails' . Certains décideurs pensent même que Rails est un langage.

Sans Ruby, il n'y aurait pas le Rails actuel, et sans Rails il n'y aura pas de Ruby actuel ni cette prévision 4 Millions de développeurs Ruby en 2013. C'est un peu la quadrature du cercle. Mais au lieu que cela soit un problème, c'est au contraire une force supplémentaire.

Matz est quelqu'un de très simple qui ne comprend toujours pas pourquoi certains le considèrent comme un gourou. David,lui, est souvent sollicité pour poser pour des couverture de magazine, mais il n'a pas pris la grosse tête pour autant. Ils forment une sorte de couple équilibré où chacun a trouvé son espace. Tous les deux ont démontré qu'il y avait autre chose de plus important que l'informatique où que leurs travaux.

Il existe des programmeurs qui font du Ruby sans faire de Rails. Qui passent du temps pris sur leur vie de famille à évangéliser, organiser des rencontres ou des apéros Ruby. Alors s'il vous plait, en guise de marque de respect ne dite plus Rails mais Ruby on Rails.

Un autre couple célèbre est celui formé par cette fois des frères ennemis (dans le bon sens du terme) Larry Wall le père du langage Perl et Guido van Rossum 'dictateur bienveillant à vie' du langage Python (il travaille chez Google) . Leur rivalité existe et reste très bienveillante. Ils ont été tous les deux chahutés par le vent du sillage de Ruby on Rails. Larry s'est mis à apprendre le japonais pour essayer de comprendre la manière de penser de Matz. Et je n'ai pas encore entendu Guido promouvoir Ruby comme 3 eme langage pour les API Google.

Et n'oublions pas notre objectif : La domination du monde:

dimanche 1 novembre 2009

Dimanche .. golf

Le matin au golf de la poudrerie avec Seb:

Un birdie pour Seb ... Enorme
mais pas sur ce trou




IMAGE_031.jpg

IMAGE_032.jpg