jeudi 28 avril 2011

Nous sommes tous des mauvais programmeurs javascript

Le javascript a longtemps été le vilain petit canard de la programmation. Lancé en même temps que Java, son nom introduit dès le départ une ambiguïté java - javascript. Le choix a été dicté par le souhait des concepteurs de surfer dans le sillage de Java. Les fées n'ont pas été sympa avec lui: un mauvais nom, pas de norme, un moteur lent et des mauvaises habitudes de copier/coller.
Moi, le premier je prenais des morceaux de code javascript sur des sites au petit bonheur la chance. De fait, il y a beaucoup de personnes qui font du javascript SANS connaitre le javascript.

Heureusement les choses changent. Les moteurs javascript ont multiplié leur puissance par 1000 en moins de 5 ans. Le langage est normé. De bons programmeurs font des bons programmes javascripts (exemple jquery). Alors JAVA, Perl , Ruby ,Python ? non Javascript !. Les autres langages ne servent qu'a servir la soupe.
Ci dessous un document illustrant le bon usage du javascript:

Avec quelques bonnes pratiques:

  • Séparer la structure d'une page (HTML) et son comportement (JS)
  • Séparer la structure d'une page (HTML) et sa mise en forme (css)
  • Utiliser des vrais 'ID' (unique)
  • Utiliser  l'attribut 'class' pour le CSS
  • Privilégier les structures hiérarchiques du HTML (H1,H2 etc)  aux DIV
=> Pas de javascript dans le HTML
=> Éviter le css dans le HTML
=> Le CSS en tête de chargement

Et surtout : utiliser firebug !
 

Le moteur pour exécuter du javascript en ligne de commande : spidermonkey.
ou node.js (mais c'est une autre histoire).
Le livre qui va avec tout ca:


Les produits dérivés :

Node.js : déja cité
  is an event-driven I/O framework for the V8 JavaScript engine on Unix-like platforms
 (c'est pas beau ca ?)
C'est un concentré de l'informatique de demain: faire des serveurs qui supportent des milliers de connexions critiques et  'longues' (ex : steaming, flux twitter, informatique embarquée) .

coffeesscript : lien ici
Langage à la Ruby pour écrire simplement du javascript.

Rails 3.1 qui embarque jquery dans sa pile de manière très propre : pas de javascript dans le HTML.

mercredi 27 avril 2011

Une platine vinyle hi-tech



Pour tous les nostalgiques amoureux du beau son, il existe un moyen de redonner une deuxième jeunesse à ses disques 33 tours sans faire le lourd achat d'une platine.

Sur cette vidéo, deux jeunes font une démonstration d'une platine construite en Lego.
La partie audio est constituée d'un cornet doublé de papier aluminium garant d'une sonorité 'chaude'. Bien sûr la lecture par une aiguille peut abimer 'légèrement' le disque.


Le matériel


La vidéo:



L'utilisation d'un microcontroleur Arduino pilotant un moteur pas-à-pas permettrait d'obtenir une vitesse stabilisée.

samedi 23 avril 2011

JEE et la bouilloire

La chose la plus intelligente que j'ai lue sur l'énergie nucléaire est ici (suivre ce lien).
L'article titre sur :
Nucléaire : le moyen le plus dangereux pour faire bouillir de l’eau
Tribune de Bernard Laponche, publiée dans Libération le 24/03/2011

Je met en parallèle avec cet article le dernier numéro des Dossiers pour la science.



Lien vers la revue ici.

L'année 2012 sera riche en découverte scientifique grâce au satellite Plank. Et tout ce qu'on sait faire pour produire du courant est de faire tourner une turbine avec de la vapeur (technologie d'avant 1900). Quel gaspillage!.
La france est leader des constructeurs de centrales nucléaires MINITEL.

En faisant une analogie avec l'informatique.

J'ai commencé à faire du Java au début des années 2000, à l'époque des premiers APPLETS.
Puis j'ai enchainé sur les premiers frameworks : struts et spring.
J'ai arreté là, lassé de passer plus de temps à écrire des fichiers de configuration XML que du code.
Avec le recul, je crois que JEE est le moyen le plus complexe de répondre 'hello world' à une requete simple (comme GET /). JEE est bien une espèce de bouilloire.
Et je transpire en pensant que dans leurs bouilloires nucléaires à vapeur, c'est peut etre une autre bouilloire JEE qui supervise l'ensemble.
Le web n'est pas forcement la meilleure solution pour développer des applications métiers et JEE n'est pas la meilleure façon de faire des applications WEB.

samedi 16 avril 2011

Gestion de livre ou ebook

Deux programmes à découvrir pour organiser ses livres

Calibre pour ebook.

Calibre est écrit en python (lien ici) . C'est l'outil de référence pour gérer ses livres au format numérique. Il est capable de convertir les fichiers de PDF en epub.


Alexandria.

Alexandria est un gestionnaire de livre 'papier' lien ici. Par un titre ou par un numéro ISNB, il est possible de d'ajouter automatiquement un ouvrage.
La plupart des grands sites de vente de livre offrent un service de recherche accessible par des programmes.
Alexandria est ecrit en Ruby.





Mes dernières lectures:

  • Lolita de Vladimir Vladimirovich Nabokov.



J'aime énormement le film éponyme de Stanley Kubrick, mais le film est très aseptisé par rapport au livre. C'est un livre assez 'perturbant' et difficile.
Rappel Stanley Kubrick est à la cinémathèque de Paris.

  • Deuxième livre:

L’Attrape-coeurs de J. D. Salinger


C'est un classique, étudié dans les écoles US. Après sa lecture, je n'avais pas envie de tuer John Lennon.(voir article sur wikipédia).

Et enfin, j'ai commencé:

  • Getting Started with Arduino




Et là c'est des heures de plaisir solitaire en perspective.
lien du site arduino.