Besoin d'un matériel tout-en-un pour maîtriser le bus USB ?
14,90 € TTC
p. 04 Cynthion : l'outil ultime pour maîtriser l'USB
p. 24 Périphérique USB : STM32 est aussi dans la course !
p. 42 Les flipdots : un système d'affichage électromécanique presque vintage
p. 64 Simulez vos périphériques USB avec un SBC... ou un PC
p. 94 Mise en œuvre d’un serveur NTRIP pour la mesure de position centimétrique : qu’est-ce que l’altitude ?
p. 116 PC/104 : le format standard des premières heures de l'embarqué
On me demande souvent...
Lorsque j’échange avec un lecteur croisé à un salon ou une conférence, il est une question qui arrive presque toujours sur le tapis : « mais comment fais-tu pour avoir toutes ces idées d’articles ? »
La réponse est simple, il ne s’agit pas vraiment de plusieurs idées, mais d’une sorte de parcours aux nombreux embranchements, une pelote de laine que je déroule depuis des années, en somme. Toute l’astuce consiste simplement à essayer de ne pas se perdre ou de s’enfoncer trop profondément dans de sombres passages.
Voici un exemple, vous voyez une vidéo sur ces faux QRcodes destinés à tromper le chaland et vous vous posez la question de savoir si ajouter une signature serait faisable. Une signature est basée sur un hash, et vous partez explorer le sujet, ceci en tête, et vous vous demandez à un moment si, par hasard, il ne serait pas amusant de créer une chaîne contenant une partie du hash qui en résulterait. Après quelques essais de passage au crible, il s’avère que paralléliser les tests serait plus efficace et vous commencez à jouer avec les threads POSIX. Mais, pourquoi ne pas aussi demander cela au GPU ? Et vous voici en train d’explorer OpenCL en vous demandant comment un SBC s’en sortirait... Bien sûr, l’idée de base n’en est pas pour autant oubliée et l’implémentation sur RP2040 montre le bout du nez, tout comme l’idée d’utiliser un module de lecture de QRcode. Mais... si le RP2040 vérifie la signature, pourquoi ne transmettrait-il pas le résultat directement comme s’il était un clavier USB ? Et pouf ! Vous voici en train de fouiller dans TinyUSB, alors que vos ESP32 vous regardent de travers, en pensant « et nous, alors ? ». Et ainsi de suite...
Cette approche génère énormément d’idées, des bookmarks énormes, des tonnes de code avorté et des dizaines de pages de carnets à spirale (oui, je suis un peu old school de ce côté-là). Mais c’est un puits sans fond ou plutôt une arborescence sans fin, car un élagage ponctuel est parfois nécessaire, sachant que même une branche coupée il y a bien longtemps peut revenir à la vie sans prévenir au détour d’une découverte, et finir greffée à nouveau au tronc principal.
Voici comment cela fonctionne et il n’y a aucune magie, il suffit de se laisser raisonnablement emporter, et de définir où sont ses priorités en termes d’allocation de temps et d’énergie. Mais ça, c’est une tout autre histoire !
Denis Bodor
Né en 2014, Hackable est un bimestriel destiné aux professionnels et particuliers souhaitant découvrir et progresser dans les domaines de l’électronique numérique et de l’embarqué. Il fournit un contenu riche orienté vers une audience désireuse de bénéficier d'une veille technologique différente et résolument pratique. Le contenu du magazine est conçu de manière à permettre une mise en pratique directe des connaissances acquises et apprendre tout en faisant.

Le gestionnaire de versions Git est devenu omniprésent et son utilisation a depuis longtemps dépassé le cadre des projets logiciels. Cet article est le premier d'une série qui s'adresse tout autant à ceux qui connaissent tout juste trois ou quatre commandes Git qu'à ceux qui ont une utilisation avancée et souhaitent une compréhension plus profonde. Cet article décrit les concepts sous-jacents à Git : le commit (non, ça n'est pas un diff), la branche (non, ça n'est pas une séquence de commits), HEAD… L'article introduit une représentation graphique de ces concepts et liste rapidement quelques représentations alternatives que l'on peut trouver ailleurs. Pour permettre une compréhension profonde de l'outil, cet article détaille enfin comment Git stocke vos informations dans le système de fichiers. Les articles suivants de la série présenteront différentes façons de travailler avec Git, en étudiant par exemple l'impact des commandes merge et rebase. Ils expliqueront de nombreuses commandes Git et leurs options en s'appuyant sur votre nouvelle compréhension des concepts et sur notre représentation graphique.
Rappelez-vous, je vous avais laissé dans un état de tension insupportable à l’issue de mon précédent article sur la première partie de l’énigme du 17e jour de l’Advent of Code (ce fameux mini calendrier de l’avent du code). Voici le moment de vous révéler ce qui nous attendait dans la seconde partie…
Le bit de parité est semblable à ce brave petit soldat qui sonne l’alerte, avec ses moyens réduits et quand il le peut, pour que la cavalerie vienne s’occuper du problème. Mais cet humble bit obéit aux lois de l’information et laisse passer une erreur sur deux. Grâce aux codes Gray, configurés de façon inhabituelle, nous pourrons mieux filtrer les erreurs, sans augmenter considérablement la taille du circuit ni déployer des théories (trop) complexes.