vendredi 17 février 2012

Veille technologique semaine 7

Pour le bulletin de la semaine 7, je vous propose les sujets suivants :
  • Microsoft a présenté windows 8 porté sur un processeur ARM : le processeur le plus utilisé dans les smart phones et les tablettes. Microsoft suite office est également en cours de portage.
  • Le forum DVD se met en pause : plus de réunion prévue au sujet des standards CD et DVD. C'est de début de la fin des supports optiques ?
  • Le consortium MPEG annonce la sortie du successeur du H264 : le H265 qui permet de gérer les vidéos jusqu'à 8K x 8K pixels
    (7680x4320). De plus, ce nouveau standard de compression permet de réduire les images HD actuelles de 35% à 65%.
  • Un article au sujet des tests de validation fonctionnels des IHM. L'article est écrit par Robert Martin (une référence dans l'industrie du logiciel) explique qu'il ne faut pas construire des tests de validation du niveau fonctionnel avec un dépendance sur le GUI (Graphic User Interface = les JavaBeans et les pixels), car le GUI (les pixels) sont trop fragiles : ils peuvent changer très souvent sans que le fonctionnel change. Il faut donc s'en abstraire.
  • Un article au sujet de la société Azul qui propose une JVM (Java Virtual Machine) avec un garbage collector sans pause (pauseless). Le temps de latence correspondant est de l'ordre de 100 micro secondes.
  • Une liste des frameworks Java pour des applications à très hautes performances. On peut donc constater que les performances sont plus dépendantes de l'architecture du logiciel plutôt que de sa technologie.
  • La spécification Type Annotations JSR 308 (Java Specification Request) propose pour le JDK 8, des extensions pour les annotations Java. C'est une avancé, proposé par l'université de Washington.
  • Le définition du mot clé Java volatile.
Bonne lecture



Microsoft Details Windows 8 for ARM
Microsoft has detailed Windows 8 for ARM: architected for low power consumption, apps that can only target WinRT, restricted desktop that allows only Office 15 and some Windows components to run. Microsoft demonstrated Windows running on ARM System-on-a-Chip (SoC) at CES 2011, and showed Windows 8 (Win8) for the first time at D9 Conference in Taipei, including running it on a prototype ARM machine. While there has been some rumors related to Microsoft's true intentions regarding ARM, it was not clear if ARM will be considered an equal member of the PC family, whether legacy x86 applications will be able to run on ARM and if Win8/ARM will include the desktop interface besides Metro. Steven Sinofsky, President of the Windows and Windows Live Division at Microsoft, published a blog post offering clear details on their plans with ARM.

First of all, Sinofsky wanted to make sure this move won't be seen as a departure from Intel/AMD architecture, but rather the opening up of new opportunities for Windows and its entire ecosystem:


Microsoft va porter sa suite office sur les processeurs ARM
Selon un message posté sur le blog de Steven Sinofsky, président de la division Windows de Microsoft, la société va porter sa suite office sur les processeurs ARM sous la forme de 15 applications indépendantes. Parmi ces applications on trouvera Word, Excel, PowerPoint et OneNote.
Visiblement, seul Windows en version ARM permettra de faire tourner ces logiciels (dans sa version 8). Elles devraient même être offertes avec !

Il semble bien que Microsoft veuille utiliser sa suite toujours très prisée des professionnels pour lancer la nouvelle version de son OS sur un marché où elle n'a pas encore eu de succès, les tablettes. Ce sera sans conteste un argument de poids sur le marché professionnel, si l'on peut continuer à éditer et modifier ses documents sur une tablette lors de déplacements ou avant une présentation. Penser que cela sera suffisant pour assurer le succès de tablettes sous Windows 8 serait prématuré, mais c'est un argument de poids que personne n'a encore pu mettre en avant face à la tablette d'Apple.


Le DVD forum se met en pause
Il y a peu, nous vous parlions du déclin constant des ventes de DVD, qui a conduit certains fabricants de médias vierges à cesser d'en produire. Une nouvelle décision montre que ce format est maintenant en roue libre vers sa mort. Le DVD Forum, qui dicte les normes liées à ce format, a annoncé son intention de se mettre en veille le premier avril prochain. Il n'y aura ainsi plus de réunions planifiées autour de ce format et seules d'importantes décisions à prendre pourront provoquer la convocation de ses membres.
Avec la disparition progressive du DVD, on va plus que certainement assister à la mort programmé des lecteurs / graveurs optiques en informatique, sachant que la présence du Blu-ray reste anecdotique dans les ordinateurs.
A posteriori, on aurait pu prévoir que les graveurs de Blu-ray ne perceraient pas:
  • Lorsque les premiers CD-R de 650 Mo sont arrivés, les disques durs avaient une capacité qui leur était inférieure d'au moins la moitié,
  • Lorsque les premier DVD-R de 4,7 Go sont arrivés, les disques durs avaient une capacité qui leur était 15 fois supérieure,
  • Lorsque les premiers BD-R de 25 Go sont arrivés, les disques durs avaient également une capacité 15 fois supérieure, mais les choses se sont rapidement emballées et aujourd'hui, le rapport est de 40 fois.
Ces médias vierges sont donc devenus trop coûteux par rapport au prix d'un disque dur et ont même perdu leur compétitivité face aux produits dotés de mémoire flash, comme les clés USB, dont l'usage est de plus bien plus flexible. Si l'on rajoute à cela la disparition progressive des appareils optiques avec les Ultrabook, DVD et Blu-ray finiront leur carrière comme supports de distribution de vidéos, tout du moins pour ces derniers tant que la bande passante Internet ne permettra pas de faire de la VoD en HD de manière confortable.


Le format H.265 arrivera en 2013
Une réunion s'est tenue la semaine dernière entre la MPEG LA et l'UIT-T (qui définit les normes de télécommunication). Elle a permis d'en savoir plus sur le prochain format de vidéo compressée, le H.265. (note : le H264 est le format actuellement utilisé pour les vidéos HD : TNT HD et Blu-ray).



Pour commencer, ce nouveau format supportera de très hautes résolutions, le 4K, mais aussi le 8K (7680x4320) de quoi envisager l'avenir sereinement mais aussi permettre aux diffuseurs de films dans les salles de cinéma de l'adopter.

Outre ces hautes résolutions, ce qui en fera certainement un succès sera sa bien meilleure efficacité, qui permettra de garder une qualité équivalente au H.264 tout en économisant sur la taille du fichier final ou du flux de streaming de 35 à 67% du volume/taille.

Ce nouveau format, rien que pour ces dernières raisons, sera certainement très vite adopté par des plateformes de diffusion à moins coût en bande passante films et séries TV, que ce soit en 720 ou 1080p.

Comme à chaque sortie d'un nouveau format, il devrait être entériné en janvier 2013, on aura quand même au départ un problème de décodage sur nos appareils. Actuellement, tous ou presque sont optimisés matériellement pour décoder le H.264, ce qui ne sera pas immédiatement le cas pour le H.265. Il faudra donc que les processeurs centraux s'en chargent, ce qui limitera le décodage aux machines les plus puissantes.


Le successeur du H.264 est sur les rails
Alors que le camp H.264 et le camp WebM se disputent toujours la gestion de la vidéo dans le HTML5, le MPEG-LA et l'International Telecommunication Union se sont mis à pied d'oeuvre sur le H.265, ou plus exactement le HEVC (High Efficiency Video Coding).
Le successeur du codec vidéo tirera parti de l'augmentation de puissance des machines sur deux fronts : le premier concerne le rapport qualité/taille, permettant de réduire la mémoire occupée par les vidéos (et la bande passante lors de leurs transferts) de 35 à 40 % à qualité égale (jusqu'à 67 % en pointe).


Comment faire des tests d'IHM sans se tirer une balle dans le pied ?
L'automatisation des tests d'IHM peut être souvent une mauvaise idée. Le constat est très souvent le même : bien que simple à mettre en place en général, leur apport est souvent mineur par rapport à leur coût (je vous dirige vers l'excellent article de Robert Martin pour creuser le sujet). Comment faire si l'on veut cependant s'engager dans cette voie?

Dans
cet article, Gojko Adzic (commiter fitnesse et auteur du livre passionnant "Bridging the communication gap" ), nous livre des pistes pour maximiser le retour sur investissement sur ceux-ci. Tout d'abord, ne surtout pas partir sur de l'enregistrement brut des cas de tests les uns après les autres (avec Selenium IDE par exemple). C'est dans ce cas-là que l'on se tire une balle dans le pied. Les coûts de maintenance explosent et l'intérêt des tests est remis en question au fil du temps.
La clé est de représenter les tests d'IHM sur plusieurs niveaux :
  • Règles métiers
  • Worfklows
  • Technique
Les niveaux supérieurs sont plus stables dans le temps et sont plus compréhensibles que ceux du dessous. Les niveaux supérieurs s'appuient bien évidemment sur les niveaux du dessous pour fonctionner.
Le but de cette approche est de faire en sorte que les tests restent compréhensibles (bon courage pour aller comprendre la règle métier cachée derrière une centaine d'instructions Selenium) et surtout de promouvoir la réutilisabilité afin de garder la main sur la maintenance des tests.



Ruining your Test Automation Strategy.


Posted by Uncle Bob


The Azul Garbage Collector
The Java language specification mandates some form of automatic garbage collection to reclaim unused storage, and forbids manual memory deallocation. Automatic garbage collection frees the programmer from much of the worry about releasing objects that are no longer needed, which can otherwise consume substantial design effort. It also prevents some kinds of common bugs occurring, including certain kinds of memory leaks, dangling pointer bugs (which occur when a piece of memory is freed while there are still pointers to it and one of those pointers is then used) and double free bugs (which occur when the program tries to free a region of memory that has already been freed and perhaps already been allocated again).


Azul's Pauseless Garbage Collector Goes Native on Linux
Azul Systems have today announced Zing 5.0, eliminating their previous requirement for a hypervisor, and therefore bringing their pauseless JVM to unmodified 64-bit Linux for the first time.
One end is the higher end, the low latency trading guys. These are guys that count [on] 50-100 microsecond response times; they really want to get rid of garbage collection effects but they can't pay an extra 200 microseconds to do it. Those were customers who were very intrigued by Zing 4.0, but the virtualised mechanism with the proxy and the extra hop across it, whilst invisible to any human response time app, would be a 3 times wire latency increase for these guys, so they couldn't use it. With Zing 5.0 it just drops straight in, there's no proxy mechanism, and so no additional cost at all.
But what if all you have is a 3GB heap, and you are just annoyed at the pauses. You can't really go and ask for virtual infrastructure changes to do it. ZingLX is just a better VM for Linux. So it becomes a possibility for these guys too.


High performance libraries in Java
There is an increasing number of libraries which are described as high performance and have benchmarks to back that claim up. Here is a selection that I am aware of.

  • Disruptor library
  • Java Chronicle
  • Colt Matrix library
  • Javolution
  • Trove collections for primitives
  • MG4J: Managing Gigabytes for Java
  • Overview of 8 performance libraries
  • Serialization benchmark

Type Annotations Specification (JSR 308)
The JSR 308 webpage is http://types.cs.washington.edu/jsr308. It contains the latest version of this document, along with other information such as a FAQ, the reference implementation, and sample annotation processors.

Introduction
JSR 308 extends Java's annotation system so that annotations may appear on any use of a type. (By contrast, Java SE 7 permits annotations only on declarations; JSR 308 is backward-compatible and continues to permit those annotations.) Such a generalization removes limitations of Java's annotation system, and it enables new uses of annotations.
This document specifies the syntax of extended Java annotations, but it makes no commitment as to their semantics.


What Volatile Means in Java
Today, I'm going to talk about what volatile means in Java. I've sort-of covered this in other posts, such as my posting on the ++ operator, my post on double-checked locking and the like, but I've never really addressed it directly.
First, you have to understand a little something about the Java memory model. I've struggled a bit over the years to explain it briefly and well. As of today, the best way I can think of to describe it is if you imagine it this way:

1 commentaire:

Nathaniel Richand a dit…

Bonjour Emmanuel,

C'est moi qui avait écris le bout "Comment faire des tests d'IHM sans se tirer une balle dans le pied ?" ravi de le retrouver plusieurs mois après dans ta veille :)

Nathaniel