Blog de Ludovic Baillet

Aller au contenu | Aller au menu | Aller à la recherche

09juil.

Code golf en langage Rust

Le Rust est un langage de programmation qui se prête peu à l'exercice de Code golf. Par ailleurs les astuces permettant de réduire au maximum la taille des sources en Rust sont très peu documentées. Voici quelques techniques utiles.

  • Réutiliser une string
    Supposons que l'on veuille réutiliser une string.
        let mut s=String::new();
        // Do some stuff with s
        s=String::new();
    Alors, la dernière ligne peut-être remplacée par la ligne suivante qui est plus courte de 6 caractères :
        l.clear();
  • Initialisation multiple
    Supposons que l'on doive initialiser les variables x et y avec le contenu des 3e et 4e valeurs d'un tableau n :
        let mut x=n[2];
    let mut y=n[3];
    Alors, on peut écrire la même chose en une seule ligne et en économisant un peu :
        let(mut x,mut y)=(n[2],n[3]);
  • Réduire std::io
    Souvent, les concours de Code golf nécessitent :
        use std::io;
    Il est possible d'économiser 1 caractère :
        use std::*;
  • Omettre le point-virgule final
    En général, le programme se finit par un print/println tel que :
        println!("{}",n);
    Le point-virgule terminal n'est pas nécessaire, ce qui permet d'économiser un caractère.

17janv.

Tick-Tock-Tack d'Intel : la roadmap actualisée

La dernière fois que j'ai mis à jour mon tableau synthétisant les informations importantes des processeurs Intel sortis depuis 2003 jusqu'aux futurs processeurs devant sortir en 2022, c'était il y a 2 ans.

Depuis, il y a eu quelques changements avec quelques nouveaux noms de code de processeurs. On voit maintenant nettement l'inflexion de "la loi de Moore" avec un rythme de diminution de la taille des transistors en nette baisse.

Voici le tableau modifié en conséquence :

Tick
Tock
Code Date Process Surface
du die
Transis-
tors
Dimension
transistors
Tock Pentium 4, 3 GHz
(Northwood)
2003-04-14 130 nm 131 mm² 55 M 1543 nm
Tick Pentium 4, 3 GHz
(Prescott)
2004-T2 90 nm 112 mm² 125 M 947 nm
Tock Pentium D 830
(Smithfield)
2005-05 90 nm 206 mm² 230 M 946 nm
Tick Pentium D 930
(Presler)
2006-04 65 nm 162 mm² 376 M 656 nm
Tock Core 2 duo E6850
(Core/Conroe)
2007-T3 65 nm 143 mm² 291 M 701 nm
Tick Core 2 duo E8400
(Penryn/Wolfdale)
2008-T1 45 nm 107 mm² 410 M 511 nm
Tock Core i7 940
(Nehalem/Bloomfield)
2008-T4 45 nm 263 mm² 731 M 600 nm
Tock Core i7 870
(Nehalem/Lynnfield)
2009-09-08 45 nm 296 mm² 774 M 618 nm
Tick Core i5 650
(Westmere/Clarkdale)
2010-01-07 32 nm 81 mm² 382 M 460 nm
Tock Core i7 2600
(Sandy bridge)
2011-01-09 32 nm 216 mm² 995 M 466 nm
Tick Core I7 3770K
(Ivy bridge)
2012-Q2 22 nm 160 mm²
1400 M
338 nm
Tock Core I7 4770K
(Haswell)
2013-Q2 22 nm 177 mm²
1400 M 356 nm
Tack Core I7 4790K
(Devil's Canyon)
2014-Q2 22 nm 177 mm²
1400 M 356 nm
Tick Core I7 5775C
(Broadwell)
2015-Q2 14 nm ? ? 264 nm
Tock Core I7 6700K
(Skylake)
2015-Q3 14 nm 122 mm²
1750 M
264 nm
Tack (Kaby Lake)
2016-Q3 ?
14 nm ? ? 264 nm ?
Tick (Cannonlake)
2017 10 nm ? ? 180 nm ?
Tock (Icy Lake)
2018 10 nm ? ? 180 nm ?
Tack (Tigerlake)
2019 10 nm ? ? 180 nm ?
Tick ?
2020
7 nm ? ? 120 nm ?
Tock ? 2021 7 nm ? ? 120 nm ?
Tick ?
2022
5 nm ? ? 80 nm ?
Tock ? 2023 5 nm ? ? 80 nm ?
Enfin, rien n'interdit à nouveau une baisse du rythme de diminution de la taille des transistors.

28nov.

Windows 10 threshold 2 : catastrophique

Microsoft vient de diffuser la version Threshold 2 de Windows 10, une sorte de version 2. Les changements apportés par cette nouvelle version sont essentiellement d'ordre cosmétiques.

On note toutefois quelques mauvaises surprises après application de cette lourde mise à jour :

  • Certains logiciels sont carrément supprimés (par exemple : CPU-Z).
  • Beaucoup de paramètres de confidentialité sont réinitialisés et il faut donc s'amuser à les paramétrer de nouveau.
  • Beaucoup d'associations de fichiers sont réinitialisées. Même traitement.
  • Dans mon cas, suppression du Wifi. Et impossible à réinstaller. Je vais devoir réinstaller Windows 10 uniquement à cause de ce problème.

Par ailleurs, on note que les applications notoirement défaillantes n'ont toujours pas été corrigées. Au top des applications défaillantes, je trouve Microsoft Edge (dixit mon observateur d'événements).

Plantage de Microsoft Edge sous Windows 10

Mais quand est-ce que Microsoft va s'occuper d’améliorer la qualité de ses produits ?

13août

Pourquoi Microsoft Edge est meilleur qu'Internet Explorer

Depuis la sortie de Windows 10 et de son nouveau navigateur Microsoft Edge, la plupart des articles concernant ce remplaçant d'Internet Explorer 11 ne font que recopier les mêmes caractéristiques imbuvables et se contentent de donner des chiffres imbuvables sur une prétendue meilleure performance du navigateur ainsi que reformuler les communiqués de presse de Microsoft sur les maigres nouveautés, d'ailleurs plutôt inutiles à l'usage.

Pourtant, Edge, c'est autre chose. C'est surtout une compatibilité nettement meilleure du support HTML et CSS, chose qu'Internet Explorer ignorait sur pas mal d'aspects. Dans les faits, des sites conçus en HTML/CSS seront parfaitement rendus sur Firefox, Opera et Chrome, mais aussi sur Edge.

Exemple, sur un cas classique avec du CSS sur la propriété height de blocs dont les hauteurs ne sont pas fixées.

Cf. https://jsfiddle.net/lbaillet/1kzxLgq9/6/

Le principe de ce fiddle est d'avoir 3 colonnes. Dans la première colonne, il y a un bloc aligné verticalement. Dans la deuxième colonne, on divise verticalement l'espace en deux, et chaque division contient lui aussi un bloc aligné verticalement. Enfin, dans la troisième colonne, on répète l'opération : il y a donc 4 blocs alignés verticalement. Jusque là, aucun problème.

Dans le conteneur de la case n°3, on ajoute un bloc que l'on sort du flux (style="background-color:hotPink;"). Ce bloc montre l'étendue complète de l'espace. De même, on ajoute à l'intérieur de ce bloc un autre bloc sorti du flux (style="background-color:cyan;") dont le style est fixé à height:50%.

Avec les navigateurs Firefox, Opera, Chrome et Edge, aucun problème, la hauteur du bloc cyan correspond bien à 50% du bloc conteneur :

jsfiddle 1kzxLgq9-6 et Microsoft Edge

Mais avec Internet Explorer 11 (y compris sous Windows 10), le résultat est hélas catastrophique, la hauteur du bloc cyan correspond à n'importe quoi, et en tout cas ne correspond pas à 50% du conteneur :

jsfiddle 1kzxLgq9-6 et Microsoft Internet Explorer 11

À la décharge de IE11, les spécifications du CSS 2.1 mentionneraient que c'est un cas où la hauteur des cellules est indéfinie. Mais bon, ce n'est quand même pas très malin.

En tout cas on peut se féliciter qu'Edge suive enfin la voie des "bons" navigateurs (Firefox, Opera et Chrome). Surtout qu'Edge est très rapide (en même temps, c'est facile, vu qu'il ne supporte quasiment aucune extension contrairement aux autres navigateurs).

À l'avenir, mes sites ne supporteront plus IE11, qui est trop coûteux à supporter. Seuls Firefox, Opera, Chrome et Edge seront supportés. En effet, presque tout utilisateur d'un Windows peut prendre la peine de migrer gratuitement vers Windows 10, ou utiliser un navigateur alternatif.

01août

Windows 10 : peu de changements face à Windows 8.1

Quoi de neuf avec Windows 10 ? Pas grand chose.

Parmi les nouveautés :

  • Les bureaux virtuels qui seront peu utilisés.
  • Un semblant de menu démarrer peu utile.
  • Un déplacement des fonctionnalités du panneau de configuration vers une nouvelle application "Paramètres". Mais pourquoi ne pas avoir tout migré ?
  • Un nouveau navigateur "Edge" intéressant mais dont il manque les extensions.
  • Un nouveau "centre de notifications" dont on cherche l'utilité.
  • La calculatrice a un nouveau design. Elle est devenue inutilisable dans les modes scientifique et programmeur.

La migration 8.1 vers 10 peut faire perdre quelques drivers, notamment des scanners.

À part ça, rien de bien nouveau. Même le BSOD est inchangé :

Plantage Windows 10 - BSOD

29juil.

Installer Windows 7 sur tablette sans DVD

Windows sur tablette, c'est génial, sauf que Windows a la mauvaise habitude d'occuper de plus en plus en plus de place à force de mises à jour mensuelles. Du coup, avec un SSD limité, il n'y a pas le choix, il faut tout réinstaller pour retrouver de la place.

Sans lecteur ou graveur de DVD portable, il n'y a pas le choix, il faut passer par l'option USB. Dans ce cas, il y a en général 2 cas : utiliser un outil dédié fourni par le constructeur pour mettre le système sur une clé USB (et parfois la tablette ne fonctionne plus au redémarrage, faute à un bug de l'outil du constructeur, ça arrive). Autre option, avoir une image ISO de Windows. Dans ce dernier cas, il est possible d'utiliser l'outil Rufus pour réaliser cette opération.

Ensuite, lors de l'installation de Windows avec une clé USB, il n'est pas rare d'avoir cette stupide erreur : "Windows is unable to find a system volume which meets its criteria for installation". Dans ce cas, ne pas s'énerver, il existe plusieurs possibilités pour passer outre.

  • Option 1 :
    Supprimer dans le Bios la clé USB de la séquence de démarrage du BOOT mais forcer le démarrage sur la clé USB. Parfois, il suffit de laisser appuyer la touche ESC au démarrage pour avoir cette possibilité.
  • Option 2 :
    Lors de l'apparition du message stupide, créer manuellement une partition convenable. Appuyer sur Shift+F10 pour entrer dans le "System Recovery Options" et taper successivement :
    DISKPART
    LIST DISK
    SELECT DISK 0
    CLEAN
    CREATE PARTITION PRIMARY
    SELECT PARTITION=1
    ACTIVE
    FORMAT FS=NTFS QUICK
    ASSIGN
    EXIT
    EXIT
  • Option 3:
    À la vue du message stupide, retirer carrément la clé USB !
    Exit (cliquer sur la croix rouge de la boîte de dialogue)
    Démarrer l'installation depuis le début sans redémarrer
    Après avoir sélectionné l'installation de Windows 7, une nouvelle erreur apparaît
    Appuyer sur OK dans la boîte de dialogue d'erreur. Vous êtes redirigé vers le menu principal de l'installation de Windows.
    Remettre la clé USB
    Installer Windows

28juin

Le tic-tac d'Intel se complexifie

Le tic-tac d'Intel est une pratique ayant cours depuis 2007 par Intel afin d'alterner une année sur deux une nouvelle finesse de gravure et l'autre année, une amélioration de la micro-architecture.

Dans un précédent billet, je mentionnais la roadmap d'Intel jusque 2022.

Avec un marché du PC qui décline et l'absence de rupture technologique qui permettrait de créer de la valeur, la stratégie semble être d'occuper le terrain des pseudos nouveautés.

Ainsi entre les processeurs Haswell et Broadwell, du "hors tic-tac" s'est glissé : Haswell refresh. Sans véritable nouveauté. Rebelote entre Skylake et Canonlake, un nouveau nom vient d'arriver : Kaby Lake. Cela permettra d'introduire quelques petites nouveautés en 2016 (USB 3.1 natif et augmentation de la taille mémoire de la partie graphique). Mais rien d'extraordinaire.

Intel Core i7 4790K - illustration

En conclusion, même s'il reste encore pas mal d'années où les performances des processeurs seront améliorées, les gains se feront à un rythme toujours plus ralenti.

Au Tic-Tac d'Intel va succéder le Tic-Tac-Toc.

17mar.

Comportement spécial d'un table-cell sur mobile

Le HTML moderne bénéficie des styles "display:table" ou encore "display:table-cell" afin de simuler le comportement de tableaux ou de cellules de tableaux sans avoir besoin de recourir aux tableaux (qui sont eux destinés à afficher des données tabulaires).

Néanmoins, le style "display:table-cell" a un inconvénient majeur quand on l'utilise sur un navigateur mobile : la taille de la police peut devenir très réduite en fonction du viewport du téléphone et du reste du contenu de la page. À noter que ce problème est spécifique sur navigateur mobile (exemple : Chome ou Firefox sur Android).

Prenons en exemple le code suivant :

<!doctype html>
<html lang="fr">
<head>
<meta charset="utf-8">
<title>Viewport test</title>
<!--<meta
name="viewport" content="initial-scale=1, maximum-scale=1">-->
<link
href='http://fonts.googleapis.com/css?family=Open+Sans&amp;subset=latin,latin-ext' rel='stylesheet' type='text/css'>
<style
type="text/css">
html{font-size:100%;}
body {margin:0;background:#ddd;min-width:300px;font-family:'Open Sans',sans-serif;font-size:13px;color:black; text-size-adjust:none;}
div {margin:0;padding:0;border:0;vertical-align:top;}
#content {background-color:white;padding:2px 5px;text-size-adjust:none;}
</style>
</head>

<body>
    <div
id="content">
        <h1>Simple titre</h1>
       
<p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Sed non risus. Suspendisse lectus tortor, dignissim sit amet, adipiscing nec, ultricies sed, dolor. Cras elementum ultrices diam. Maecenas ligula massa, varius a, semper congue, euismod non, mi. Proin porttitor, orci nec nonummy molestie, enim est eleifend mi, non fermentum diam nisl sit amet erat. Duis semper. Duis arcu massa, scelerisque vitae, consequat in, pretium a, enim. Pellentesque congue. Ut in risus volutpat libero pharetra tempor. Cras vestibulum bibendum augue. Praesent egestas leo in pede. Praesent blandit odio eu enim. Pellentesque sed dui ut augue blandit sodales. Vestibulum ante ipsum primis in faucibus orci luctus et ultrices posuere cubilia Curae; Aliquam nibh. Mauris ac mauris sed pede pellentesque fermentum. Maecenas adipiscing ante non diam sodales hendrerit.</p>
        <div
style="display:table;">Cas de display:table</div>
        <div
style="display:table-cell;">Cas de display:table-cell</div>
        <div
style="display:block;"><p>Cas de &lt;p&gt; dans display:block</p></div>
    </div>
 </body>

Cas concret en images. Prenons Firefox 36 sur Windows 8.1 :

Display:table-cell affiché correctement avec Firefox sous Windows, sans viewport

La même page sur Firefox mobile pour Android 5 :

Display:table-cell affiché incorrectement avec Firefox sous Android, sans viewport

On remarque que la police utilisée dans le cas du display:table-cell est très petite. À noter que le résultat est similaire avec Chrome pour Android. Et la présentation du display:table occasionne des retours à la ligne.

Maintenant, décommentons du code HTML précédent la ligne "<meta name="viewport" content="initial-scale=1, maximum-scale=1">".

On obtient toujours la même chose avec Firefox 36 sur Windows 8.1 :

Display:table-cell affiché correctement avec Firefox sous Windows, avec viewport

Et cette  même page sur Firefox mobile pour Android 5 :

Display:table-cell affiché correctement avec Firefox sous Android, avec viewport

On voit que le résultat est maintenant parfait.

Plus généralement, un site Internet doit prendre en compte les navigateurs des mobiles. Cette balise meta pour le viewport n'est qu'une première étape pour traiter correctement les mobiles et tendre vers le Responsive design.

06sept.

Le ralentissement de l'augmentation de la taille des disques dur

L’augmentation de la taille des disques dur a connu au cours des décennies passées une progression remarquablement fulgurante. À la fin des années 80, la capacité d'un disque dur 5 pouces et quart (pour 2 puces d'épaisseur) était souvent entre 10 et 20 Mo seulement. À la fin des années 90, on trouvait régulièrement des disques 3 pouces et demi (et 1 pouce d'épaisseur) d'une capacité de 2 Go. En 2003, on trouvait déjà des disques de 200 Go. En 2013, on avait accès aux disques de 4 To. En 2014, on commence à accéder aux disques de 5 To, voire 6 To en cette fin d'année. Les disques de 8 To devraient arriver pour le grand public en 2015, voire 2016.

Par ailleurs, en 2013, Seagate annonçait des disques dur de 60 To pour 2023. Ces disques devant utiliser la technologie HAMR dont la mise au point semble poser davantage de problèmes que prévu.

Si on graphe ces informations (année en abscisse et en ordonnée le logarithme à base 10 de la taille du disque en octets), cela donne cette jolie courbe :

Évolution de la densité des disques dur

L'importante inflexion du début des années 2000 ne doit pas étonner, c'était une période où la capacité des disques augmentait à un rythme bien plus élevé qu'actuellement. IBM fournit d'ailleurs une confirmation.

Il faut remarquer que l'évolution récente des disques tient davantage du bricolage que de la rupture technologique : augmentation du nombre de plateaux par disques (d'où réduction de la vitesse de rotation, voire utilisation déraisonnable de l'hélium à la place de l'air afin de limiter l'échauffement). Également, utilisation de la technologie SMR pour tenter de faire à peine mieux.

Et c'est actuellement (en 2014 ou 2015) que l'on assiste au croisement entre la courbe et sa courbe de tendance.

Curieusement, on trouve déjà depuis environ 1 an des disques dur de 2 pouces et demi dotés de 2 plateaux et ayant une capacité de 2 To. En extrapolant, on pourrait imaginer déjà avoir des disques dur de 3 pouces et demi dotés de 5 plateaux ayant une capacité de 10 To. On peut imaginer que ces disques de 10 To n'arriveraient que vers 2017 seulement. Ou 2016 pour que ces disques dur classiques continuent de se démarquer des SSD dont les capacités n'arrêtent pas de battre des records, tout comme leurs caractéristiques.

Bref, entre la concentration du secteur (il reste à peu de chose près un duopole Seagate/Western Digital), le SSD qui part de très loin pour véritablement concurrencer le secteur, et les vraies difficultés pour faire toujours mieux, il est très probable que les prochaines années ne verront pas une progression aussi fulgurante que ce qui est annoncé, d'où le ralentissement dans la croissance des capacités des disques dur.

Bien sûr, on trouve encore des esprits chagrins dotés de peu de réflexion pour demander bêtement "À quoi ça sert ? Moi, je n'ai pas besoin d'autant de place". Leur cas particulier ne doit pas faire oublier ceux qui sont en avance : la pratique de la vidéo en haute définition, voire en 4K et davantage ou à très haute vitesse ; ou la photo HDR avec de vrais Réflex en mode RAW avec un bracketing de 5 ou 7 photos consomme dorénavant une énorme place (parfois 300 Mo par photo complète). Et je ne parle pas des timelapses ; par exemple, les timelapses de l'ESO que l'on peut télécharger. Autre pratique : se doter d'une bibliothèque d'images gratuites demande de la place. Par exemple, cette vue de M31 de plus d'un demi milliard de pixels occupe plus de 300 Mo, et encore, grâce à la compression.

12août

Un VPN avec Android via un NAS Synology

L'utilisation d'un VPN avec un téléphone tournant sous Android est intéressante pour plusieurs raisons : accès possible à son réseau personnel, débit parfois plus élevé grâce à la compression généralement mise en œuvre.

Par ailleurs, pour les clients de l'opérateur de téléphonie Free, il était connu que l'utilisation d'un VPN en mode d'itinérance avec le réseau Orange permettait de retrouver des débits raisonnables (dans son communiqué du 23 juin 2014, l'ARCEP indiquait que Free n'obtenait que 2 indicateurs sur 258 au-dessus de la moyenne (!!!) démontrant ainsi que les clients de Free qui se plaignent ont raison, et que Free reste largement derrière ses concurrents - même s'il faut relativiser car la situation est loin d'être idéale, y compris pour le #1). Néanmoins, il semble que cette astuce soit -déjà- en passe de s'effondrer : Free Mobile : la situation en itinérance encore dégradée ?

Free en itinérance, souvent un désastre en utilisation réelle

Passons maintenant à l'installation du VPN. Via, un NAS Synology, la première étape sera d'installer le serveur VPN (de type OpenVPN). La procédure est extrêmement simple : Comment configurer le NAS Synology comme serveur VPN. Ne surtout pas oublier de rediriger le port UDP 1194 sur le NAS.

Ensuite, installer l'application OpenVPN for Android de Arne Schwabe.

Puis suivre rigoureusement la longue procédure suivante : [HOW-TO] Connect to OpenVPN server with Android apps. Attention : utiliser la procédure en bas de cette page (section OpenVPN for Android (by Arne Schwabe)).

Réglages d'OpenVPN

Ça fonctionne. Il est ensuite possible de connecter/déconnecter le VPN à la demande.

11août

Les commandes utiles "about:" des navigateurs

Certaines commandes "about:" des principaux navigateurs sont bien connues. Par exemple about:blank qui affiche une page blanche. Certains sites essaient de publier des listes de ces commandes. Il y a aussi les pages Wikipedia qui s'essaient à constituer cette liste.
L'une des commandes about: les plus utiles pour le développeur Web est sans aucun doute la commande about:memory qui fournit l'état de la mémoire, et qui fonctionne avec les principaux navigateurs.
Une autre commande intéressante est la commande about:about qui fournit la liste complète des commandes about:. Hélas, ça ne fonctionne qu'avec les navigateurs Firefox et Chrome.
Enfin, on regrettera que la commande about:cpu qui fonctionnait avec l'ancien navigateur Opera ne fonctionne plus depuis qu'il est basé sur Webkit. Cette commande about:cpu était pourtant très utile pour étudier la consommation CPU d'un onglet ouvert sur une page Web particulière.
La commande about:cpu dans l'ancienne version d'Opera

19janv.

Faire durer son PC plus longtemps - Le logiciel, partie 2

Dans un billet que je publiais il y a bientôt 3 ans concernant l'allongement de la durée de vie de son PC en jouant sur les logiciels, j'écrivais en conclusion : « Le pouvoir des logiciels est considérable. Ils contribuent largement à l'augmentation de la durée de vie des machines ». C'est plus vrai que jamais. De ce fait, savoir choisir et/ou changer de logiciels permet de maintenir son matériel à un haut niveau de performance.

Ce nouveau billet s'attaque de nouveau au problème logiciel au travers d'exemples concrets sur le cas des logiciels évidemment les plus répandus : l'anti-virus et le navigateur. Et s'attaque au cas des logiciels cachés.

Anti-virus

Prenons le cas de l'anti-virus de Microsoft : Microsoft Security Essentials. S'il a d'indiscutables qualités en terme de détection, il souffre néanmoins d'un défaut majeur : il est CPUvore. Sur une configuration un peu limite, un utilisateur lambda choisirait à coup sûr de changer de matériel pour quelque chose de plus performant à cause de cet anti-virus. En creusant un peu les choses, et en cherchant sur Internet : "Microsoft Security Essentials high CPU usage", Google trouve plus de vingt millions de résultats, ce qui est considérable. Le même genre de recherche sur l'anti-virus Avast ("Avast high CPU usage") renvoie moins de cent mille résultats. Dans le cas de l'anti-virus de Microsoft, certains ont trouvé la parade pour le rendre moins consommateur. Mais depuis tant d'années, ce problème aurait dû être résolu.

Microsoft Security Essentials, l'anti-virus CPUvore

Cela illustre bien qu'un simple anti-virus doit être choisi avec précaution afin de ne pas anéantir inutilement la puissance de sa machine. Et il faut aussi penser à sanctionner les mauvais logiciels  : Microsoft Security Essentials ne doit pas être installé ou doit être désinstallé. Avast est de toute manière infiniment meilleur en terme de consommation de ressources (CPU, mémoire, disque, réseau, fonctionnalités additionnelles, etc.). D'autres anti-virus peuvent être également une bonne alternative.

Navigateur

Autre cas concret important : le navigateur. Il existe beaucoup de légendes sur le sujet : Firefox est gourmand en mémoire, Chrome est le plus rapide, Internet Explorer est encore plus rapide (peut-être même plus rapide que les neutrinos supraluminiques), etc. Il n'existe en fait pas de vérité unique car les valeurs mesurées (consommation de mémoire, vitesse) vont dépendre des machines qui vont faire tourner les navigateurs.

Si les 4 grands navigateurs (Firefox 20+, Chrome 30+, Opera 18+, Internet Explorer 10+) ont fait d'importants progrès ces dernières années, il y a tout de même des disparités notables.
Et je ne peux que constater que :

  • Internet Explorer 11 rame incroyablement quand le navigateur n'est pas rechargé très fréquemment (chaque jour). À l'inverse Firefox reste réactif de manière raisonnable même s'il reste ouvert plus d'un mois avec une centaines d'onglets
  • Il est difficile d'ouvrir plusieurs dizaines d'onglets avec Internet Explorer 11
  • Les dernières versions de Chrome et Internet Explorer ont une tendance diabolique à surconsommer de la mémoire lorsque l'on ouvre plusieurs onglets. En tout cas, bien davantage que Firefox, à URL identiques
  • Chrome a tendance à se mettre à jour n'importe quand et consomme alors d'importantes ressources

Firefox reste ainsi largement supérieur aux autres navigateurs, surtout grâce à sa sobriété de consommation de CPU et de mémoire, et grâce à son impressionnante bibliothèque d'extensions. Mais la concurrence a du bon, et utiliser les 4 navigateurs au quotidien ne fait pas de mal.

Enfin, la technique importante pour optimiser son navigateur, c'est de réduire les extensions supplémentaires (supprimer Firebug sous Firefox par exemple, mais conserver AdBlock+), n'accepter aucune barre d'extension, supprimer l'essentiel des plugins (d'ailleurs, vivement que l'on puisse vraiment se séparer de ce fichu Flash), et supprimer tout autre module (notamment sous Internet Explorer). Avec tous ces conseils, le surf sur Internet devient plus agréable pour soi et pour sa machine.

Internet Explorer 11 : penser à désactiver un maximum d'extensions, barres d'outils, accélérateurs, etc.

Logiciels et pratiques discutables

Certains logiciels s'installent dans le dos des utilisateurs. Ainsi, on trouve très souvent des "logiciels gratuits" proposés pendant l'installation d'autres logiciels. Il serait normal que ces logiciels supplémentaires soient décochés par défaut.

Par ailleurs, on trouve aussi des logiciels espion, genre ceux de Flexera :

Dossiers des applications "espion" FlexNet et Macrovision de Flexera dans C:\Programdata

Flexera indique sur son site Web (http://www.flexerasoftware.com/products/entitlement-management/flexnet-connect/) que ces outils permettent de pister l'usage des logiciels pour tous les utilisateurs. Ça fait froid dans le dos. En plus, ces outils de flicage s'installent dans le dossier C:\Programdata qui correspond au dossier spécial CSIDL_COMMON_APPDATA. La documentation MSDN indique que ce dossier est réservé aux données partagées. Ce n'est donc pas un dossier où on devrait y trouver des applications. Il faut réagir : bloquer ces applications à coup de Firewall, voire les supprimer. Car en les surveillant un peu, on découvre qu'elles consomment des ressources (CPU, mémoire, disque, réseau). En plus, qu'en pense la CNIL ? Comment puis-je exercer mes droits dans ces conditions de camouflage ?

Conclusion

Ainsi, faire attention aux logiciels que l'on installe permet vraiment de faire durer son PC plus longtemps. Une machine même modeste avec de bons logiciels sera toujours meilleure qu'une machine de puissance moyenne mais équipée de mauvais logiciels, fussent-ils peu nombreux.

03janv.

Tick-Tock d'Intel : la roadmap actualisée

Il y a environ 20 mois, je mettais à jour mon tableau synthétisant les informations importantes des processeurs Intel sortis depuis 2003 jusqu'aux futurs processeurs devant sortir en 2022.

Je peux maintenant compléter ce tableau avec les informations concernant le processeur Haswell. Par ailleurs, alors que j'imaginais qu'il serait pourvu d'une version 8 cœurs, j'avais presque bon: seule la version Extreme Edition la plus chère sera dotée de ce type de processeurs. Et en conséquence, le TDP sera particulièrement élevé (140W) même avec une fréquence réduite.

Pour le futur, les process 10 nm et 7 nm semblent confirmés.

Voici le tableau modifié en conséquence :
Tick
Tock
Code Date Process Surface
du die
Transis-
tors
Dimension
transistors
Tock Pentium 4, 3 GHz
(Northwood)
2003-04-14 130 nm 131 mm² 55 M 1543 nm
Tick Pentium 4, 3 GHz
(Prescott)
2004-T2 90 nm 112 mm² 125 M 947 nm
Tock Pentium D 830
(Smithfield)
2005-05 90 nm 206 mm² 230 M 946 nm
Tick Pentium D 930
(Presler)
2006-04 65 nm 162 mm² 376 M 656 nm
Tock Core 2 duo E6850
(Core/Conroe)
2007-T3 65 nm 143 mm² 291 M 701 nm
Tick Core 2 duo E8400
(Penryn/Wolfdale)
2008-T1 45 nm 107 mm² 410 M 511 nm
Tock Core i7 940
(Nehalem/Bloomfield)
2008-T4 45 nm 263 mm² 731 M 600 nm
Tock Core i7 870
(Nehalem/Lynnfield)
2009-09-08 45 nm 296 mm² 774 M 618 nm
Tick Core i5 650
(Westmere/Clarkdale)
2010-01-07 32 nm 81 mm² 382 M 460 nm
Tock Core i7 2600
(Sandy bridge)
2011-01-09 32 nm 216 mm² 995 M 466 nm
Tick Core I7 3770K
(Ivy bridge)
2012-Q2 22 nm 160 mm²
1400 M
338 nm
Tock Core I7 4770K
(Haswell)
2013-Q2 22 nm 177 mm²
1400 M 356 nm
Tick (Broadwell) 2014-Q3 14 nm ? ? 235 nm ?
Tock (Skylake) 2016 14 nm ? ? 235 nm ?
Tick (Cannonlake)
2017 10 nm ? ? 165 nm ?
Tock ? 2018 10 nm ? ? 165 nm ?
Tick ?
2019
7 nm ? ? 115 nm ?
Tock ? 2020 7 nm ? ? 115 nm ?
Tick ?
2021
5 nm ? ? 80 nm ?
Tock ? 2022 5 nm ? ? 80 nm ?
Par ailleurs, concernant le successeur de Haswell, le processeur Broadwell, serait retardé d'un trimestre. Ce processeur, disposant d'une surface réduite d'un facteur 2, verrait sa consommation réduite de seulement 30%. Entre temps, une version remaniée de Haswell verrait le jour courant 2014.
Il semble néanmoins peu probable qu'un processeur grand public doté de 8 cœurs (soit 16 cœurs logiques grâce à l'hyper-threading) avec un TDP maximal de 90W et une fréquence d'au moins 3 GHz sorte avant skylake, voire cannonloake.

09mai

Le futur du Web : le HTML5

Dans un précédent billet au sujet de l'Unicode, j'indiquais que le format d'encodage UTF-8 était d'un usage croissant sur le Web. Et en particulier, l'ensemble des sites que je maintiens avait fait sa migration vers ce format d'encodage devenu inéluctable.

La révolution du Web passe maintenant par le format HTML5 qui est amené à supplanter l'obsolète HTML4 et les autres formats moins anciens tels les XHTML 1.0 et XHTML 1.1.

Même s'il n'est pas encore totalement finalisé, le HTML5 présente en l'état de nombreuses améliorations et nouvelles APIs pour la conception des sites Web : Canvas, multimédia, bases de données, géolocalisation, web fonts, etc. Par ailleurs, le HTML5 est souvent associé à CSS3 qui présente lui aussi de nombreuses améliorations améliorations sur le CSS2.

Logo HTML5

Par ailleurs, d'anciens navigateurs (Internet Explorer 6, 7 ou 8 que l'on trouvent par exemple avec Windows XP)  ne sont pas ou pu compatibles avec le HTML5 ou avec des bibliothèques modernes, telles que JQuery 2.

Les sites que je maintiens migreront progressivement vers le HTML5 et ne seront plus compatibles avec les vieux navigateurs. Beaucoup de sites de réputation mondiale ont déjà procédé de la sorte (par exemple : google, gmail, facebook, etc.).

Les utilisateurs de navigateurs obsolètes sont prévenus : il est temps d'utiliser un navigateur moderne. Même avec Windows XP, il est facile d'installer un tel navigateur : il y a le choix entre Firefox et Chrome.

29sept.

Informatique : des déceptions vers le reset ?

Le processeur Haswall d'Intel : future déception ?

Lors de l'Intel Developer Forum 2012, la quatrième génération des processeurs Core a été en partie dévoilée. C'est notamment le processeur dont le nom de code est Haswell qui a été exhibé.

Malgré l'ajout de superlatifs et de noms de codes exotiques pouvant laisser croire que ce futur processeur pourrait délivrer une puissance de calcul incroyablement plus élevée que ses prédécesseurs, il semble bien qu'il décevra lors de sa sortie en 2013. Tout d'abord parce que ce sera encore une fois un processeur doté de 4 cœurs, avec hyper-threading néanmoins.

Pourtant de nombreux smartphones ont déjà commencé à montrer leurs muscles : c'est en 2012 que l'on a vu des smartphones dotés de processeurs à 4 cœurs. Des processeurs puissants et économes en énergie.

Dans un proche avenir, le coût du Mflop pourrait ne plus être intéressant avec Intel. Une nouvelle concurrence pourrait apparaître rapidement et bousculer le quasi monopole d'Intel qui dure depuis tant d'années.

Windows 8 : le plus grand échec de l'informatique ?

On se souvient d'échecs retentissants chez Microsoft : Windows Millenium, et surtout Windows Vista. On se rappelle aussi des grands succès : Windows XP et Windows 7.

Le futur Windows 8 risque de figurer dans la catégorie des échecs. Ainsi, beaucoup appellent à ne pas migrer Windows vers la version 8. Il faut dire que ce Windows amène beaucoup de contraintes et pas vraiment d'intérêt. Il oblige aussi à se servir d'une interface mal aboutie, et oblige les développeurs à se lancer dans l'apprentissage de nouvelles technologies. Quant-au Windows Store, on comprend bien l'intérêt pour le fabricant, mais ça s'arrête là.

Du coup, allons nous assister dans les prochaines années vers un basculement en faveur d'autres OS, notamment  Android ?

En conclusion : l'informatique bouge rapidement ces temps ci. On risque bien de voir les cartes redistribuées.

19mai

Tick-Tock d'Intel : la roadmap actualisée jusque 2022

Il y a 7 mois, je mettais à jour mon tableau synthétisant les informations importantes des processeurs Intel sortis depuis 2003 jusqu'aux futurs processeurs devant sortir en 2017.

On a désormais des informations sur la série des processeurs Ivy Bridge. Il s'agit surtout d'une énorme déception dont on se demande encore quel est l'intérêt par rapport au prédécesseur Sandy Bridge, mis à part 13 W économisés (TDP limité à 77 W au lieu de 90 W) et un composant graphique restant très insuffisant.

Intel a également communiqué sur l'après 14 nm. Je mets à jour mon tableau en conséquence, même si les process en dessous de 10 nm restent très hypothétiques.

Voici le tableau modifié en conséquence :
Tick
Tock
Code Date Process Surface
du die
Transis-
tors
Dimension
transistors
Tock Pentium 4, 3 GHz
(Northwood)
2003-04-14 130 nm 131 mm² 55 M 1543 nm
Tick Pentium 4, 3 GHz
(Prescott)
2004-T2 90 nm 112 mm² 125 M 947 nm
Tock Pentium D 830
(Smithfield)
2005-05 90 nm 206 mm² 230 M 946 nm
Tick Pentium D 930
(Presler)
2006-04 65 nm 162 mm² 376 M 656 nm
Tock Core 2 duo E6850
(Core/Conroe)
2007-T3 65 nm 143 mm² 291 M 701 nm
Tick Core 2 duo E8400
(Penryn/Wolfdale)
2008-T1 45 nm 107 mm² 410 M 511 nm
Tock Core i7 940
(Nehalem/Bloomfield)
2008-T4 45 nm 263 mm² 731 M 600 nm
Tock Core i7 870
(Nehalem/Lynnfield)
2009-09-08 45 nm 296 mm² 774 M 618 nm
Tick Core i5 650
(Westmere/Clarkdale)
2010-01-07 32 nm 81 mm² 382 M 460 nm
Tock Core i7 2600
(Sandy bridge)
2011-01-09 32 nm 216 mm² 995 M 466 nm
Tick Core I7 3770K
(Ivy bridge)
2012-Q2 22 nm 160 mm²
1400 M
338 nm
Tock (Haswell) 2013 22 nm ? ? 340 nm ?
Tick (Rockwell) 2014 14 nm ? ? 235 nm ?
Tock (Skylake) 2016 14 nm ? ? 235 nm ?
Tick (Skymont)
2017 10 nm ? ? 165 nm ?
Tock ? 2018 10 nm ? ? 165 nm ?
Tick ?
2019
7 nm ? ? 115 nm ?
Tock ? 2020 7 nm ? ? 115 nm ?
Tick ?
2021
5 nm ? ? 80 nm ?
Tock ? 2022 5 nm ? ? 80 nm ?
Finalement, Haswell sera peut-être le processeur tant attendu : 8 cœurs au lieu de 4. D'autant plus que la guerre des processeurs va reprendre avec les processeurs ARM concurrents d'Intel sur le marché Windows.

28avr.

Plugins : la fin imminente d'un calvaire

Les plugins sont présents depuis fort longtemps dans les navigateurs Internet. En premier lieu, Flash. Le plugin Silverlight étant lui tardivement arrivé.

Dotés de sérieux atouts, leurs défauts n'ont cessé de croître. Et la concurrence de solutions alternatives finira enfin par les achever.

Parmi les atouts de ces plugins, citons notamment qu'ils remplissaient des fonctions essentielles dont les navigateurs ont été durablement incapables, telles que l’affichage de graphiques riches et animés, l'interaction avec l'utilisateur, etc.

Le plugin Flash a une renommée certaine dans les cas de plantages (avec tous types de navigateurs) :

Plugin Flash - CrashEt pour qu'il n'y ait pas de jaloux, le même genre crash avec Silverlight :

Plugin Silverlight - Crash

C'est Apple qui avait véritablement lancé les premières attaques contre le plugin Flash en le déclarant trop gourmand de ressources, et généreux en plantages. De plus, l'arrivée inéluctable du HTML5 rendra inutile ce composant sur le long terme. Attention toutefois, certaines fonctionnalités resteront encore longtemps impossibles à réaliser en HTML5 : par exemple, comment accéder à une webcam en HTML5 ? C'est faisable simplement avec Flash, mais reste infaisable en HTML5 (des solutions semblent émerger avec webrtc et d'autres), du moins au cours de ce premier semestre 2012 (en dans tous les cas, le HTML5 reste pour plusieurs années encore une norme en cours de développement). Comme beaucoup de nouveautés, beaucoup trop d'espoirs sont misés dessus.

Dans tous les cas, Adobe a fini à ne plus croire en son composant Flash et va finir par l'achever :

Il restera bien sûr l'environnement AIR pour prendre un peu le relai de Flash, notamment sur les mobiles. Mais la cible est différente. Flash était devenu incontournable pour afficher des publicités et faire des petits jeux sans ambition sur des pages HTML. C'est bientôt terminé. Pour le meilleur et pour le pire.

30déc.

Futur des processeurs : déceptions en cœur

Je m'inquiétais il y a près d'un an de l'absence de progression dans le nombre de cœurs des processeurs.

On sait que le prochain processeur d'Intel qui sera lancé en avril 2012, Ivy Bridge ne comportera toujours que 4 cœurs (8 threads).

Plus grave, le processeur suivant qui devrait débuter sa carrière mi-2013, Haswell ne comportera lui aussi que 4 cœurs.

La déception est totale.

C'est d'autant plus gênant que les langages de programmation évoluent pour mieux prendre en compte un nombre élevé de cœurs et les traitements multitâches. À l'exemple du langage C dont la norme C11 a été adoptée.

10août

Tick-Tock d'Intel : la roadmap jusque 2017

Il y a à peine 5 mois, je publiais mon premier tableau synthétisant les informations importantes des processeurs Intel sortis depuis 2003 jusqu'aux futurs processeurs devant sortir en 2014.

Il y a près de 2 ans, j'écrivais quelques lignes sur l'évolution à venir concernant le nombre de cœurs par processeur : précision sur la loi de Moore.

On en sait légèrement plus sur les intentions d'Intel pour l'après 2014, d'après des informations parues dans la presse, l'époque qui devrait voir l'arrêt de la loi de Moore :

  • Les noms de code des processeurs qui suivront Haswell et Rockwell seraient Skylake et Skymont.
  • Le process des processeurs Rockwell et Skylake devrait être à 14 nm au lieu de 16, et celui de Skymont devrait être à 10 nm au lieu de 11.
  • Les nouveaux processeurs se succèderont à un rythme plus lent, en tout cas supérieur à l'année (environ 14 mois au lieu de 12). Le début de la fin ?
Voici le tableau modifié en conséquence :
Tick
Tock
Code Date Process Surface
du die
Transis-
tors
Dimension
transistors
Tock Pentium 4, 3 GHz
(Northwood)
2003-04-14 130 nm 131 mm² 55 M 1543 nm
Tick Pentium 4, 3 GHz
(Prescott)
2004-T2 90 nm 112 mm² 125 M 947 nm
Tock Pentium D 830
(Smithfield)
2005-05 90 nm 206 mm² 230 M 946 nm
Tick Pentium D 930
(Presler)
2006-04 65 nm 162 mm² 376 M 656 nm
Tock Core 2 duo E6850
(Core/Conroe)
2007-T3 65 nm 143 mm² 291 M 701 nm
Tick Core 2 duo E8400
(Penryn/Wolfdale)
2008-T1 45 nm 107 mm² 410 M 511 nm
Tock Core i7 940
(Nehalem/Bloomfield)
2008-T4 45 nm 263 mm² 731 M 600 nm
Tock Core i7 870
(Nehalem/Lynnfield)
2009-09-08 45 nm 296 mm² 774 M 618 nm
Tick Core i5 650
(Westmere/Clarkdale)
2010-01-07 32 nm 81 mm² 382 M 460 nm
Tock Core i7 2600
(Sandy bridge)
2011-01-09 32 nm 216 mm² 995 M 466 nm
Tick (Ivy bridge) 2012 22 nm ? ? 330 nm ?
Tock (Haswell) 2013 22 nm ? ? 330 nm ?
Tick (Rockwell) 2014 14 nm ? ? 235 nm ?
Tock (Skylake) 2016 14 nm ? ? 235 nm ?
Tick (Skymont) 2017 10 nm ? ? 165 nm ?
Ainsi, la loi de Moore semble encore assurée jusque 2017/2018 environ comme prévu il y a 2 ans.

09août

Faire durer son PC plus longtemps - La maintenance matérielle

Malgré l'utilisation de composants a priori de qualité pour monter son PC et l'entretien minutieux que l'on peut en faire, les pannes restent relativement courantes notamment pour certains types de matériel : la mémoire et les disques dur. Ces composants peuvent lâcher subitement ou au contraire fonctionner de manière plus ou moins dégradée relativement longtemps.

Un cas classique de symptôme pouvant être causé par une mémoire ou un disque dur défectueux est l'écran bleu de la mort (blue screen of death ou encore bsod).

Attention : il est vrai que ce maudit écran peut avoir une cause purement logicielle (notamment un pilote logiciel fautif) et non matérielle. Voici par exemple Avast s'exécutant hors de Windows qui détecte de nombreux fichiers suspects (virus et fichiers corrompus) :

Pour traquer la véritable origine de la panne, certains logiciels sont utiles. Notamment :

  • Analyse fine anti-virus au redémarrage de l'ordinateur
  • Memtest86 (disponible également dans Ultimate Boot CD ci-dessous) pour tester la mémoire
  • Blue screen view (permettant d'analyser les causes des écrans bleus de Windows)
  • Ultimate boot CD (incluant notamment Memtest86 et des outils de tests propriétaire de vérification d'état du disque dur)

Dans tous les cas, ne jamais croire qu'un composant même garanti à vie ne tombera jamais en panne. Voici par exemple Memtest86 en action sur une mémoire de marque Corsair. Cette barrette est manifestement fichue, après avoir correctement fonctionné pendant plusieurs années :


Attention également : la panne simultanée de plusieurs composants est possible.

Dans tous les cas, penser à faire des sauvegardes et des archivages régulièrement de toutes les données !

- page 1 de 2