Mike et moi parlions de deux projets d'horloge très similaires que nous avions tous deux construits récemment: ils utilisent tous les deux des modules ESP8266 pour obtenir l'heure via WiFi et NTP, et ils ont tous deux échoué. Mike a échoué parce qu'il rendait visite à des parents dans un fuseau horaire différent avec des informations d'identification WiFi différentes, et le mien a échoué parce que l'heure d'été m'a pris au dépourvu. Dans les deux cas, nous avons codé en dur des choses qui pourraient évidemment changer, mais nous avons tiré des conclusions très différentes.

Mike pensait qu'il résoudrait son problème de WiFi avec une solution de secours vers un portail captif, et qu'il devrait peut-être trouver une interface Web pour configurer le fuseau horaire. Une solution professionnelle très propre. Moi? J'ai de bons commentaires dans le code, je peux trouver le décalage UTC (ou les crédits WiFi) en quelques minutes et flasher la nouvelle version simplement en récupérant un câble USB, pour quelque chose qui se passe deux fois par an. Il ne vaut guère la peine de créer une interface Web.

Il y a un XKCD pour tout.

Nous avons accidentellement incarné un dilemme qui s'étend à la fois au monde matériel et logiciel: la flexibilité doit-elle être exposée à l'utilisateur final ou au pirate informatique qui peut regarder sous le capot ou ouvrir le code source? (Et si l'utilisateur final est le hacker?) Quels sont les compromis, en termes de complexité du projet et de facilité d'utilisation?

Et en cela, Mike est du côté du bien et du bien, et je suis l'hérétique. Je n’écris pas toujours mon code pour qu’il soit extensible ou réutilisable. Je l'écris parfois pour être réédité et corrigé rapidement chaque fois que j'en ai besoin. Est-ce plein de nombres magiques? Sûr! Mais je sais exactement où ils sont et comment les changer. Heck, la plupart sont même bien documentés dans leur propre fichier d'en-tête. Vous pourriez probablement le comprendre à peu près aussi vite. Mon beau-père serait-il capable de modifier le fuseau horaire? Nan! Mais ce n’est pas son projet de toute façon.

Osez coder pour les hackers! Ne généralisez pas trop ou n’abstenez pas trop. Moins est plus. N'ayez pas peur de modifier le code. Ajustez, compilez et re-flashez lorsque la situation change. Après tout, c’est ainsi que vous avez obtenu le code en premier lieu.

Et bien que je sois du mauvais côté de l’histoire, dans ce cas, j’avais raison. Vous voyez, avant que l’heure d’été ne revienne, et que j’aurais pu utiliser ce portail captif que je n’avais pas pris la peine de coder de toute façon, mon fils est entré en première année. Tout doit être changé, du matériel au logiciel. Vais-je coder la prochaine version avec des régimes horaires flexibles? Aussi flexible que j'en ai besoin, mais pas plus.

LAISSER UN COMMENTAIRE

Rédigez votre commentaire !
Entrez votre nom ici