Un peu de changement…

December 23rd, 2008 No comments

A moins de suivre uniquement le flux RSS, vous avez forcément remarqué le nouveau “design” du site.
Cela faisait longtemps que je voulais me debarasser du thème par défaut, voilà qui est donc fait.

Vous avez ainsi droit à une collonne de texte plus large qui remplira mieux votre écran 🙂
Notez egalement une barre de liens en haut qui acceuillera peut-être en 2009 des pages sur différents sujets. Je pense y faire des pages ‘fil rouge’, par exemple sur IPv6, qui serait réactualisé régulièrement (avec une annonce de mise à jour sur la partie blog). Je pense qu’une page unique permet de garder une meilleur structure de l’information alors que la publication de multiples billets oblige le (nouveau) lecteur à lire tous les billets sur ce thème dans le bon ordre (inverse de celui de l’affichage) pour s’informer sur le sujet.
N’hésitez à m’apporter votre avis 🙂

J’en profite pour vous souhaiter de joyeuses fêtes.

Categories: Divers Tags:

Flot – Graphique en JavaScript

December 22nd, 2008 3 comments

Il y a cinq ans de cela, je cherchais une application pour “faire mes comptes”.
A l’époque il n’existait que peu d’application pour faire cela et aucune ne me convenait. D’ailleurs, aujourd’hui, il en existe des tonnes, et aucune ne me convient. Peu d’application permettent de faire des choses assez simple comme des projections d’intérêt sur des comptes épargnes (ou alors que sur des périodes journalière ou que bimensuel) ou plus généralement de la gestion prévisionnel 

Résultat: J’utilisais excel (si si) qui comporte un bon nombre de fonction financière et qui peut donc faire à peu près tout ce qu’on peut imaginer à condition d’être patient.
Mais excel c’est pas libre et pas très sexy, j’ai donc écrit en 2003 une application web pour mon propre besoin (et qui à quelques autres utilisateurs, mais les gens sont retissant à gérer leurs comptes sur un site web) qui à depuis subit de lourdes modifications :

  • AJAX (Asynchronous Javascript And XML) pour charger les listes d’opérations dynamiquement, renvoie d’un fichier XML puis construction des tags html en JavaScript,
  • Passage de fichier à plat vers une base de données (avec abstraction Object de la BDD),
  • XSLT (eXtensible Stylesheet Language Transformation) coté client, pour construire cette liste d’opérations en (X)HTML sans 2 tonnes de JavaScript,
    (le XSLT coté client, via XSLTProcessor, ne fonctionnait à l’époque (et sûrement encore maintenant) que sous FireFox. Des librairies JavaScript existent pour les autres navigateurs)
  • Graphique pour voir l’évolution des comptes,
  • … peut être HTML5 un jour, cela permettra de garder les informations sur le poste de l’utilisateur qui n’aura peut-être plus peur d’utiliser un site web tier pour ses comptes !

Ceux qui me connaisse savent que je ne suis pas très fan des divers framework que l’on peut trouver pour développer des sites web.
Cette application est donc complètement faite à la main (en Perl), faire un site web en Perl n’est pas très compliqué mais le jour ou j’ai voulu faire un graphique j’ai compris ma douleur.
En effet, je n’ai pas trouvé, à l’époque, de module Perl permettant, sur un même graphique, de représenter plusieurs séries de données temporel utilisant chacune des repères temporels différents.
J’ai donc écrit mon propre code de génération de Graph (en utilisant GD). Exercice un peu complexe, la gestion de l’axe temporel n’étant pas des plus simple. J’ai cependant obtenu ce que je voulais moyennant 400 lignes de Perl.
Le résultat fonctionne bien et est plutôt visuellement agréable, mais donne une image fixe qui n’est pas super sexy.

J’étais plutôt satisfait de mon graphique, jusqu’à ma découverte, il y a un moment déjà, de Google Finance qui fait (en flash) des beaux graphiques sur lesquels on peut zoomer facilement.
Mon système avait en effet 2 défauts, pour zoomer, il fallait sélectionner une date de début et/ou de fin “à la main” puis attendre la régénération d’une nouvelle image ; et image fixe oblige il était impossible de connaître la valeur précise d’un point du graphe en se positionnant dessus.

Comme il n’y a que les imbéciles qui ne changent pas d’avis, je m’ouvre de plus en plus au framework. Il faut dire que ces derniers commencent à être matures et reconnus. Après avoir découvert Prado, un framework pour faire du PHP, en début d’année, j’ai découvert hier Flot, une librairie JavaScript basé sur JQuery et qui permet de faire des graphiques fabuleux !
Et cela n’a vraiment rien à envier au beaux graphiques de Google Finance.

Je vous invite donc à visiter le site de Flot et découvrir par les exemples ce qu’il est possible de faire.
Ces derniers ne montrent pas toutes les possibilités de flot mais vous pouvez voir que :

  • Il est possible de tracer des fonctions mathématique ou des séries discontinues ici
  • Qu’il est possible de tracer des lignes, des points, des points sur des lignes, des bars, etc. ici
  • Que, oui, vraiment, le développeur aime la trigo ici
  • Que l’on peut choisir quelles séries afficher avec des checkbox et que l’on peut placer une légende (on peut choisir sa position, sa couleur, son opacité, …) ici
  • Que l’on peut zoomer comme on veut ici
  • Que l’on peut se rapprocher de ce que fait Google ici (notez la précision de l’axe temporel qui change quand vous zoomez)
  • Que l’on peut très bien avoir 2 séries dans des unités différentes ici
  • Que l’on peut afficher les valeurs en passant dessus ici (cochez la case enable tooltip)

Je n’ai pas trouvé de chose que l’on ne peut pas customiser (couleurs, précision des axes, …), si vous n’êtes pas convaincu allez consulter la doc de l’API qui est très bien faites.

J’ai vraiment été très agréablement surpris par cette librairie qui est plutôt rapide et donc la prise en main est très rapide, regardez le source des exemples cela reste toujours simple.
 Du coup je vais sûrement me plonger dans JQuery, qui n’as pas l’air mal du tout 🙂

Categories: Web Tags: , , ,

Les moteurs de recherche en rade ?

December 14th, 2008 4 comments

Je trouve que Google me donne de moins en moins de pages pertinentes par rapport à ma recherche (ou du moins, à ce que j’en attends). Résultat j’en arrive de plus en plus souvent à coupler mes recherches avec le résultat d’autres moteurs (qui reste plus ou moins proche de Google en terme de résultat).

Je ne sais pas si cela viens du faite que je cherche des choses généralement assez complexe, si cela viens du fait que les moteurs de recherche se “popularise” de plus en plus de façon à remonter des pages basiques qui correspondent aux résultats voulu par le plus grand nombre (type page Wikipedia) ou si tous simplement le nombre de page web est devenu trop important, la redondance d’information rendant les recherches moins pertinentes.

En tout cas quand je cherche quelques choses dans un moteur de recherche je n’attends pas à avoir un lien vers Wikipedia sinon je serais allé sur le site de Wikipedia directement… Les résultats que j’attends sont généralement des pages d’actualités sur ce que j’ai recherché ou des pages écrites par des spécialistes du domaine.

Il y a encore 5 ans je trouvais ce que je voulais sans difficulté, aujourd’hui c’est dur. L’augmentation de la taille d’internet y ai surement pour quelque chose mais je pense aussi que les moteurs favorisent les sites qui vont fournir des informations basique tout en répondant à la demande de recherche car cela va contenter la plus part des gens. Obtenir des liens vers des pages riches en informations est, en revanche, compliqué et il faut rapidement “jouer” à ajouter des mots complexes dans la recherche pour épurer le résultat.

De mon point de vu nous arrivons à un stade ou la recherche doit commencer sa mutation. Cela fait longtemps que je pense que les moteurs doivent se douter d’outils permettant de filtrer les recherches. Imaginons que je recherche des tests du SSD Intel X25-M, je vais être tenter de chercher “Intel X25-M review” ou “Intel X25-M test”. Il y a ici le premier problème, je parle 2 langues, je dois faire 2 recherches. Passons, j’obtient sur Google 89500 résultats pour “Intel X25-M review” dans ces résultats il y a des tests du disque seul, des tests qui le compare à d’autres SSD, des sites avec un article de fond et d’autres qui se contente de donner les caractéristiques techniques fournies par Intel, etc.

Dans mon Idéal je devrais rechercher “Intel X25-M”. Le moteur me proposerait alors d’affiner les résultats en baissant le poids de certains termes et en augmenter le poids d’autres termes. Je choisirais de ne garder que les résultats en français ou en anglais, le moteurs aurait détecter que dans les 322000 résultats de cette recherche certaines page sont des présentations du produit (annonce de la sortie du produit, présentation des caractéristiques), certaines sont des tests, certains sont des comparatifs de prix. Ceci me permettrait déjà de ne récupérer que les pages traitent du test de ce disque en langue française ou anglaise. Aujourd’hui il faudrait chercher quelque chose comme “Intel X25-M test or review” qui fonctionne plus ou moins bien car google ne comprendra pas pour autant que ici “test” est à prendre au sens français.

Dans les pages restantes, certaines vont faire un test brut du disque, d’autre vont le comparer avec d’autre SSD, des SSD MLC, SLC ou les deux… Il faudrait donc que google analyse que certains termes sont redondants dans les résultats des recherches. Ainsi les termes des noms de produit concurrent apparaissant un grand nombre de fois dans les pages formant le résultat, le moteur pourrait proposer de filtrer en fonction de ces termes. Aujourd’hui il faudrait chercher quelque chose comme “Intel X25-M review JMF602” pour trouver les articles comparant le disque d’Intel aux autre SSD utilisant un contrôleur JMF602.
Seulement avant de vous intéresser au sujet vous ne savez pas forcement que le contrôleur JMF602 existe et qu’il est pertinent de l’inclure dans votre recherche. Si Google vous proposez de l’ajouter ou le supprimer de vos termes de recherche vous pourriez rapidement vous rendre compte qu’il s’agit d’un point de comparaison intéressant et qu’il faut le garder dans votre recherche.

Ici nous avons réduit drastiquement le nombre de résultat (300 selon l’estimation de Google, 54 résultats réellement visible). Nous avons ici un résultat pertinent assez court pour être exploré complètement. Cela dit, si le nombre de réponse était encore trop grand, le moteur pourrait nous suggérer de filtrer certain type de site. Il en effet peut probable que je trouve ce que je cherche sur un forum. “Intel X25-M review JMF602 -forum” trouve 24 pages mais le -forum a surement exclue des pages intéressantes disant “Please react in our forum”

Au final il faudrait pouvoir avoir le résultat de la rechercher “Intel X25-M context:review lang:”fr or en” including:term=JMF602;weight=+2 sitetype:-forum” en étant partie d’une simple recherche “Intel X25-M”

Je reste confiant sur le fait de voir mon souhait exhaussé pour Noel 2009 ou 2010 ou plus tard…

EDIT : On me signale http://clusty.com/ qui est une bonne base de ce dont je parle même si cela reste assez basique et que dans le cas de ma recherche “Intel X25-M” je ne trouve pas ce que je cherche 🙂
Il faudrait également une icone supplémentaire à coté des liens pour voir les pages similaires comme sur Google.

Categories: Divers, Web Tags: ,

SSD

December 8th, 2008 No comments

Je le sais, vous avez eu la flemme de lire le lien vers l’article d’AnandTech dans mon dernier billet. Je vous propose donc un petit résumé des choses à savoir sur les SSD.

Quels sont les avantages des SSD ?

Le temps d’accès aux données
Lors de la lecture d’un fichier sur un disque classique, ce dernier doit effectuer des mouvements mécaniques pour placer la tête de lecture à l’endroit où sont les données sur le disque. Il y a donc 2 type de mouvement : Celui de la tête de lecture sur la bonne piste du plateau et celui du plateau qui tourne. (Voir ici)
Si vous lisez un gros fichier, le temps de placement de la tête est négligeable car si votre fichier n’est pas fragmenté la tête va se placer une fois puis le débit (le temps de lecture de votre fichier) va être limité par la vitesse de rotation du plateau (généralement 7200 tours/minute).
Si vous lisez des petits fichiers (ou un gros fichier très fragmenté) le temps de placement de la tête est grand par rapport au temps de lecture du fichier.

Pour faire simple, la lecture (de la demande à la fin de lecture) de gros fichiers est conditionné par la vitesse de rotation et la lecture de petits fichiers est conditionné par la vitesse de placement de la tête (temps d’accès). Si vous lisez une multitude de petit fichiers votre disque passe une grande partie de son temps à ne rien lire car la tête est en déplacement. Ces dernières années les constructeurs ont tentés de réduire ce problème en utilisant la technologie Native Command Queuing (NCQ) qui optimise les déplacements de la tête de lecture pour réduire le temps d’accès lorsque vous essayé de lire plein de fichiers en même temps.

Comme je vous l’ai dis lors de mon dernier billet, dans la vie de tous les jours votre disque dur lit plein de fichiers en même temps. NCQ ou pas, votre disque n’arrête donc pas de déplacement sa tête de lecture. Pour augmenter les performances il faut donc réduire ce temps d’accès. Les SDD n’ont pas de partie mécanique et le temps d’accès est environ de 10 à 100 (selon les types de SSD) fois plus rapide qu’un disque classique.

Le silence
L’absence de pièce mécanique rend les disques SSD inaudible ce qui est plus qu’appréciable.

La chaleur
La principale source de dégagement thermique d’un disque est due à la rotation des plateaux. Un SSD à donc un dégagement thermique bien plus faible.

Ce qui change avec les SSD ?

La consommation électrique
Peut-être plus faible avec un disque SSD qu’avec un disque à plateau. Cependant à l’heure actuel certain disque à plateau pour ordinateur portable consomme moins que certain SSD (notamment ceux qui sont les plus performant). La marge de progression dans ce domaine est cependant plus grande pour les SSD.

La casse
La durée de vie d’un disque à plateau est assez faible car les pièces mécaniques s’usent. Ils sont également sensibles aux chocs. Un disque SSD est presque insensible au choc. Sa durée de vie est conditionnée par la les puces mémoires qu’il utilise. Le fait est qu’un SSD sais ou s’il a réussi ou non à écrire les données qu’il devait écrire. Son état S.M.A.R.T. est donc bien plus révélateur que celui des disques à plateau. Si votre SSD “meurt” car vous avez utilisé trop de cycle d’écriture, il deviendra read-only. Donc il n’y a pas de perte de donnée.

La fragmentation
La fragmentation n’a pas de sens sur un SSD. Faire une défragmentation n’apportait pas de performance supplémentaire mais réduirait sa durée de vie.

Quels sont les inconvenants des SSD ?

Les torchons et les serviettes
Les disques SSD sont beaucoup plus chers que les disques à plateau. Cela conduit à l’apparition de SSD bas de gamme ayant des performances et une durée de vie faible. Il va falloir un certain temps avec que le marché soit homogène en terme de qualité de disque et que les prix de disque correct baisse.

SLC et MLC
Derrière ces noms barbares se cache 2 types de cellules mémoires. Les MLC sont peu cher et ont une durée de vie 10 fois moindre que les SLC qui sont plus cher et plus rapide. (voir ici)
Il n’y a pas de différence fondamentale entre les deux si ce n’est qu’une cellule MLC stocke 2 bits la ou une SLC stocke 1 bit. La MLC est donc plus sensible aux erreurs et demande donc plus de précaution ce qui la ralentie “artificiellement” par rapport a la SLC.

Il ne fait pas s’affoler plus que ça au sujet des cellules mémoire qui peuvent “casser”, sur les disques à plateaux il arrive aussi que certaine partie du disque ne fonctionne plus. Heureusement pour nous il y a dans les disques de la place supplémentaire qui prend le relais en cas de problème.

Le temps qui passe
Je n’ai trouvé de test correcte traitant de ce problème mais logiquement les performance d’un SSD devraient décroitre au file du temps. Tant qu’il y a de la place sur le disque les nouvelles données sont écrites dans des emplacements libres, une fois tous les emplacements libre utilisés, si vous voulez écrire le moindre octet, il faudrait réécrire jusqu’à 512Ko. Il serait bon d’avoir un test visant à regarder le comportement des différent modèle de SSD dans ce cas.

Quelles sont les différences entre les SSD ?

Le type de cellules mémoire
SLC ou MLC, j’en ai déjà parlé plus haut.

Le facteur d’amplification d’écriture
Dernière ce nom barbare ce cache quelque chose de simple. Si vous devez écrire 4Ko de données sur votre SSD, ce dernier ne va pas forcement écrire 4Ko peut être amené a en écrire 512ko (soit 100 fois plus !). Quand vous savez que plus vous écrivez, plus vous abimé votre disque, ce facteur est très important. Intel semble être, pour le moment, le seul fabriquant à avoir des algorithmes permettant de réduire au minimum la valeur de ce facteur.
Au final un disque MLC avec un facteur faible peut avoir une durée de vie supérieure à un disque SLC avec un facteur élevé.

En conclusion ?

Les disques MLC vous offriront à moindre cout des performances satisfaisantes pour une utilisation “bureautique” classique. Un disque SLC reste préférable si vous avez besoin de débit important (montage vidéo, retouche de photo, etc.)

Alors que faire ? Il semble que la tendance soit d’utiliser un disque MLC comme disque de démarrage et un disque classic pour stocker vos fichiers volumineux (videos/photos). Ceci Permet d’augmenter significativement, à moindre cout, la réactivité de votre machine et de conserver vos fichiers volumineux sur des disques à bas cout avec les performances que vous connaissez.

Categories: Hi-Tech Tags:

Sauvez la planète ! Achetez des SSD !

December 3rd, 2008 No comments

Je vous l’accorde, ce titre est un peu racoleur, mais l’écologie le développement durable font vendre et avec la crise on se raccroche à ce qu’on peut pour allécher le client lecteur..

Un billet « 2 en 1 » donc (pour le coup c’est un peu passé de mode comme argument marketing, quoi que… sur les produits pour lave-vaisselles…).
Nous commencerons donc avec un argument marketing à la mode pour finir sur les SSD avec une liaison toute trouvée entre les deux (qui cache un semblant de troll) que je vous laisse découvrir un peu plus loin dans ce long billet.

Vous l’avez sans doute remarqué, depuis un certain temps il ne faut plus changer de produit car il est mieux en terme de fonctionnalités ou de performances mais car il est “écologique”.
Ainsi, il ne faut plus changer votre téléviseur pour avoir un écran plat qui prend moins de place et une meilleurs image mais car un LCD consomme moins d’énergie. Apple (entre autre) vente depuis plusieurs mois à chaque nouvelle sortie de matériel qui ne contient pas tel ou tel matériel polluant. De même les écrans à rétro-éclairage LED sont moins polluant car il n’y a plus de cathode froide. Et je ne parle pas des alimentations de PC qui sont toutes plus « Green » les unes que les autres.
Avec la “crise” et les États-Unis qui vont enfin considérer le réchauffement de la planète il y a de fortes chances à parier que le mouvement ne fasse que s’amplifier.

Je trouve que de plus en plus d’applications sont lentes mais sans faire monter le CPU à 100% ce qui peut paraitre étrange. Pas besoin d’acheter le dernier ordinateur à la mode “0 pollution” avec son processeur 2 fois plus rapide et qui n’aidera pas votre vieux PC à se recycler…

Dans beaucoup de cas ceci est dû à l’accès aux fichiers qui dans les applications modernes (type programmation objet, non je ne vise pas Java du tout) est bien moins optimisé que dans les anciennes applications. Cette modernité fait qu’un ordinateur passe de plus en plus de temps à lire et écrire des petits fichiers. Ceci augmente donc le nombre d’entrée/sortie (I/O, le nombre de demande de fichier) avec le disque dur.
Dommage pour vous car votre disque dur déteste quand le nombre d’I/O augmente car à chaque nouvelle demande de fichier le disque doit faire des mouvements mécaniques qui sont lents et dont la vitesse ne peu plus trop être augmentée pour des raisons d’échauffement et de fiabilité. Résultat votre application attend le disque dur, et pour vous c’est lent !

Heureusement, la solution existe ! Les disques SSD qui eux tolèrent un nombre d’I/O très élévé car ils n’ont pas de pièce mécanique. Enfin il y a SSD et SSD et je vous invite à lire cette page (page 8 pour les I/O, mais lisez toutes les pages) qui explique bien le fonctionnement de ces disques et montre bien que dans le monde des SSD, il y a des torchons et des serviettes.

Tous cela pour vous dire que dans un avenir proche les SSD seront incontournables comme disque principal (celui sur lequel sont votre OS et vos applications) pour gagner en rapidité.

Moralité, ne mettez pas votre PC à la casse, achetez lui un SSD.

Categories: Hi-Tech Tags: