Catégorie : Technique

  • Perfor­mances et ressenti

    Être obligé de donner une illu­sion de ralen­tis­se­ment pour que les gens comprennent que la page est char­gée, ça me donne un petit tic nerveux, je ne sais pas pourquoi.

    Au contraire, dès que je vois un site qui se charge presque instan­ta­né­ment, je suis ravi.

    Stéphane, à partir d’un billet qui conti­nue chez David

    Peut-être que le terme de perfor­mance n’est pas le bon. Est-ce vrai­ment la vitesse qui pose problème ou l’ab­sence de compré­hen­sion de ce qu’il se passe ?

    Je ne crois pas me rappe­ler avoir lu des études critiquant de trop bonnes perfor­mances. En fait c’est tout le contraire. Ce que j’ai lu milite systé­ma­tique­ment pour des chan­ge­ments infé­rieurs à 10ms, y compris sur le web.

    En revanche, il en existe un bon paquet qui critiquent l’ab­sence de tran­si­tion ou l’ab­sence de feed­back sur action. Parfois rien que propo­ser un état « enfoncé » sur un lien ou un bouton, pour les quelques milli­se­condes où le bouton de souris ou touch­pad reste en bas de course, ça suffit à faire effet. Les appli­ca­tions mobiles natives, plutôt bonnes en perfor­mance, ajoutent elles-aussi beau­coup d’ani­ma­tions, simple­ment parce que c’est une façon de donner du feed­back du type « regarde, je fais ce que tu m’as demande, j’ai bien pris en compte, voilà ce qu’il se passe ». C’est d’ailleurs un des prin­ci­paux trucs qui font préfé­rer les appli­ca­tions natives aux sites web, même si personne ne s’en rend compte.

    Je me dis, chez David, c’est peut être que les deux pages avant et après se ressemblent beau­coup. Avec un chan­ge­ment immé­diat sans tran­si­tion certains sont peut être un peu perdus, par exemple ne sachant pas s’ils sont remon­tés en haut ou sur une nouvelle page. La tran­si­tion CSS joue peut être plus parce qu’elle amène le nouveau contenu et le présente bien comme du nouveau qui appa­rait de zéro, et pas forcé­ment grâce à la lenteur retrou­vée.

    Je réflé­chis à haute voix, peut-être suis-je à côté de la plaque. Il faudrait tenter des tests A/B, diffé­rentes vitesses d’ani­ma­tion

  • Conti­nuous Deli­very: The Dirty Details

    Il n’y a rien d’ex­cep­tion­nel­le­ment nouveau mais ça permet quand même de prou­ver certaines pratiques : Préfé­rer des déploie­ments en perma­nence plusieurs fois par jour plutôt que de faire un événe­ment une fois de temps en temps à date program­mée avec vrai proces­sus autour.

  • SQL Tabs

    SQL Tabs is an open source cross plat­form desk­top client for Post­gresql with

    • Data­base explo­rer
    • Rich scripts output
    • Charts from query result
    • Mark­down rende­ring
    • Dark and bright themes
    • Clas­sic and vim editing modes

    and many more useful features.

  • Approa­ching coding style ratio­nally

    […] in most cases, there is no need to have Interface in the name of an inter­face.

    Matthieu Napoli

    Et d’en­chaî­ner de la même façon avec le suffixe Excep­tion, avec des exemples concrets et parlants.

    Les préfixes et suffixes sont jolis pour la clas­si­fi­ca­tion et l’es­prit ingé­nieur avec plein de tiroirs hiérar­chi­sés, mais on finit avec des noms à rallonge, un code plus complexe, moins lisi­ble…

    Pour moi c’était la diffé­rence entre Java et PHP il y a quelques années. Je la vois de moins en moins aujourd’­hui. Bien dommage, parce que si on ne se rend pas immé­dia­te­ment compte de la charge cogni­tive qu’ap­porte toutes nos sur-archi­tec­tures, l’im­pact est bien réel, lui.

  • Log routing for Docker contai­ner logs

    Logspout is a log router for Docker contai­ners that runs inside Docker. It attaches to all contai­ners on a host, then routes their logs where­ver you want. It also has an exten­sible module system.

    It’s a mostly state­less log appliance. It’s not meant for mana­ging log files or looking at history. It is just a means to get your logs out to live somew­here else, where they belong.

    For now it only captures stdout and stderr, but a module to collect contai­ner syslog is plan­ned.

    Logspout, sur Github

    De quoi tout envoyer vers un syslog externe par exemple. Une des briques essen­tielles pour imagi­ner en faire une infra­struc­ture de produc­tion.

  • Amazon’s new $50 Kindle Fire won’t reco­gnize side­loa­ded ebooks on SD cards

    The Kindle Fire comes with a SDXC card slot that outclasses every other tablet in its price range, accom­mo­da­ting storage cards that can hold as much as 128GB of media — but it won’t read ebooks from the slot.

    Chris adds, « This seems like a strange over­sight, given that every other media app on the tablet uses that card for down­loa­ding and storage, and its 5 GB usable inter­nal memory isn’t a lot for people who have a large library of picture-heavy e-books — espe­cially if they want to install other apps, too. »

    […]

    Every walled garden wants to keep out the compe­ti­tion. Amazon also announ­ced yester­day that it would stop carrying the Chro­me­cast and Appletv, devices from Google and Apple that compete with its own Fire TV.

    via BoingBoing

    Et pour­tant j’ai encore des gens, à chaque fois que j’aborde des compa­ra­tifs de liseuses en expliquant avoir mis de côté les Kindle, qui m’ar­gu­mentent que je réagis par inté­rêt ou par idéo­lo­gie.

    Pour l’ins­tant le jardin est grand, doré, mais il est fermé. Demain le jardin sera peut être trop petit, ou les dorures auront dispa­rues parce qu’il sera temps de renta­bi­li­ser. Vous, vous serez encore à l’in­té­rieur.

    Vous, nous peut-être. Je ne sais pas. Parce que l’ana­lyse vaut pour plus que le livre numé­rique et Kindle.

  • Peut-on faire repo­ser des déci­sions publiques sur des boites noires ?

    C’est ce qui est en train d’ar­ri­ver à Martell Chubbs en Cali­for­nie, accusé récem­ment de meurtre dans une affaire qui remonte à 1977, inculpé parce que son ADN corres­pon­drait à l’ADN trouvé sur place, selon les bases de données géné­tiques de la police améri­caine. Chubbs a donc demandé à inspec­ter le code du logi­ciel qui a fait la corré­la­tion entre son ADN et celui recueillit à l’époque afin de consta­ter l’exac­ti­tude des résul­tats. Bien sûr, le construc­teur du programme a refusé, faisant valoir le risque encouru par le dévoi­le­ment du code de son programme proprié­taire. Le tribu­nal a donc rejetté la demande de l’ac­cusé, lais­sant la défense libre d’exa­mi­ner le témoin expert, mais pas l’ou­til que le témoin invoque. D’autres tribu­naux améri­cains ont rendu des déci­sions semblables.

    […] “L’im­mu­nité logi­cielle n’existe pas”, rappelle Rebecca Wexler. Les erreurs de program­ma­tion peuvent modi­fier les rapports de vrais­sem­blance de l’ADN d’un facteur 10. Quand des experts ont mis à jour un bug dans un logi­ciel d’al­coo­test, la Cour suprême du Minne­sota a inter­dit qu’il puisse servir de preuve dans tout juge­ment futur.

    via Inter­net Actu

    Comme le dit l’ar­ticle, rien que le scan­dale récent de triche de Volks­wa­gen sur les contrôles anti-pollu­tion montre qu’un logi­ciel ne reste qu’un outil. Si on ne peut pas étudier les limites de l’ou­til, son analyse ne vaut rien.

    Le pire c’est que des problèmes graves dans les analyses ou procé­dures d’ana­lyses d’ADN, de cheveux, d’al­coo­lé­mie… on en trouve une bonne poignée en cher­chant un peu. Mais offi­ciel­le­ment, impos­sible de contes­ter les logi­ciels pour lesquels il n’y a encore eu aucun scan­dale.

    peut-on faire repo­ser des déci­sions publiques sur des boites noires ?

  • Pattern: Backends For Fron­tends

    On a desk­top app I might allow you to look at the items for sale, order online or reserve in store. On the mobile device though I might want to allow you scan bar codes to do price compa­ri­sons or give you context-based offers while in store. As we’ve built more and more mobile appli­ca­tions we’ve come to realise that people use them very diffe­rently and there­fore the func­tio­na­lity we need to expose will differ too.

    So in prac­tice, our mobile devices will want to make different calls, fewer calls, and will want to display different (and proba­bly less) data than their desk­top coun­ter­parts. This means that we need to add addi­tio­nal func­tio­na­lity to our API backend to support our mobile inter­faces.

    Another problem with the gene­ral-purpose API backend is that they are by defi­ni­tion provi­ding func­tio­na­lity to multiple, user-facing appli­ca­tions. This means that the single API backend can become a bottle­neck when rolling out new deli­very, as so many changes are trying to be made to the same deployable arti­fact.

    — Sam Newman

    Pas forcé­ment convaincu par tout, aucune recette miracle, mais inté­res­sant à lire pour amor­cer une réflexion. La couche d’API doit-elle être géné­rique ou spéci­fique à chaque appli­ca­tion ?

  • Product Mana­gers, Product Owners, and Scalable Models for Agile Product Teams (Cisco)

    Le titre dit déjà tout. Peut être rien de révo­lu­tion­naire, mais quelques rappels et défi­ni­tions bien inté­res­santes.

    Je refor­mule mais « les commer­ciaux ont pour rôle de faire tout ce qui est raison­nable ou dérai­son­nable pour boucler le gros deal à venir, dont les un ou deux trucs que que le produit n’a pas et qui sont spéci­fiques à ce pros­pect » parle sérieu­se­ment à mon expé­rience. C’est aussi une façon très claire d’ex­pliquer pourquoi les socié­tés qui veulent créer un produit ne doivent pas être diri­gés par les commer­ciaux, et doivent avoir des respon­sables produit indé­pen­dants.

    Inté­res­sante aussi la distinc­tion entre product mana­ger et product owner. Pour tenter de la mettre en place depuis quelques mois, c’est parfois loin d’être évident.

  • Kaza­kh­te­le­com JSC noti­fies on intro­duc­tion of Natio­nal secu­rity certi­fi­cate from 1 January 2016

    By words of Nurlan Meir­ma­nov, Mana­ging direc­tor on inno­va­tions of Kaza­kh­te­le­com JSC, Inter­net users shall install natio­nal secu­rity certi­fi­cate, which will be avai­lable through Kaza­kh­te­le­com JSC inter­net resources. « User shall enter the site www.tele­com.kz and install this certi­fi­cate follo­wing step by step instal­la­tion instruc­tions”- under­li­ned N.Meir­ma­nov.

    — Tele­com.kz (dépu­blié, voir la version en cache)

    Première réac­tion : Oh la dicta­ture !

    Seconde réac­tion : Chez nous c’est déjà le cas. Notre gouver­ne­ment contrôle une auto­rité de confiance instal­lée dans tous les gros navi­ga­teurs du marché. Pire : Ils l’ont déjà utili­sée pour faire du man in the middle.

    On peut se récon­for­ter en se disant que l’in­ten­tion n’a jamais été délic­tueuse, mais au final la capa­cité est là. Il y a déjà eu déra­page et vu le climat actuel, il n’y a pas vrai­ment lieu d’avoir beau­coup plus confiance que dans le Kaza­khs­tan sur ce point là. Plus récem­ment, l’État français demande aussi accès aux codes sources et archi­tec­tures des héber­geurs et des four­nis­seurs d’ac­cès. On pour­rait ajou­ter que nous sommes déjà un des leaders mondiaux sur les solu­tions commer­ciales de surveillance à l’échelle de pays.

    Plutôt que de se moquer, nous devrions avoir honte de montrer l’exemple. Le Kaza­khs­tan est juste en retard sur nous.