L’avis de GN⁺
- Cet article porte sur des « hacks maudits » qui consistent à utiliser les logiciels et la technologie de manière créative, et parfois anormale, pour obtenir le résultat souhaité.
- Pour les passionnés de technologie et les ingénieurs logiciel, ce type de hack peut servir d’inspiration en montrant une créativité qui dépasse les limites habituelles de la technique.
- Ce sujet met en avant la souplesse de la technologie et la capacité des utilisateurs à trouver des solutions créatives, et suscite l’intérêt pour l’exploration de cas où l’on emploie parfois la technologie d’une manière non prévue pour produire des résultats surprenants.
1 commentaires
Avis Hacker News
Une startup avait développé un plugin pour Microsoft Outlook, et cela avait bien marché. Les clients voulaient la même fonctionnalité pour Outlook Express, mais OE n’avait pas d’architecture de plugins. Il a toutefois été possible de construire un système de macros à l’aide de hooks Windows et d’injection de DLL. Ce système permettait de voir toutes les actions à l’écran, mais il fonctionnait parfaitement. Une blague avait circulé à l’heure du déjeuner sur le fait qu’il faudrait convaincre les utilisateurs d’OE de ne pas regarder leur écran, et l’idée a réellement fonctionné. Elle consistait à prendre une capture d’écran de tout le bureau et à l’afficher en plein écran, à masquer les manipulations de l’interface, puis à attendre qu’OE se mette à jour avant de fermer l’overlay plein écran.
En 1999, Eksi Sozluk, plateforme sociale très populaire en Turquie, utilisait un simple fichier texte comme base de données. Le site a été monté en seulement 3 heures avec un fichier EXE écrit en Delphi, sans framework web. Aujourd’hui, il utilise .NET/MySQL et, bien qu’il ait été interdit par le gouvernement turc pour des raisons telles que la « sécurité nationale », il reste populaire et demeure une entité commerciale légale malgré l’interdiction du domaine, en payant ses impôts et en acceptant les demandes de suppression de contenu.
Lors d’une mission de conseil chez HBO dans les années 90, il fallait gérer une migration de MS Mail on Mac Server vers MS Exchange sur PC. Le problème était que MS Mail sur Mac n’avait pas de fonction d’export du carnet d’adresses, si bien que les assistantes devaient recopier les contacts un par un. Pour résoudre cela, des expérimentations ont été menées avec un outil de hotkeys à l’écran, et un utilitaire doté d’un véritable langage de programmation a été créé pour convertir automatiquement les contacts en fichiers CSV importables dans Exchange.
Au début de Google Chrome, il a fallu le rendre compatible avec les lecteurs d’écran Windows. La conception de Chrome étant différente de celle de Firefox ou d’IE, implémenter correctement l’API d’accessibilité était un vrai défi. Des essais ont été faits sur des pages web statiques, mais les lecteurs d’écran n’activaient pas dans Chrome les fonctions spécifiques au web. Finalement, après avoir renommé l’exécutable de Chrome en
firefox.exepuis l’avoir lancé, toutes les fonctionnalités se sont mises à marcher. Les éditeurs de lecteurs d’écran ont ensuite été contactés pour leur demander de traiter Chrome comme un navigateur web.Il y a plus de 15 ans, un travail consistait à indexer des gigaoctets de texte sur un CPU mobile. La logique de normalisation des mots était très lente, donc un cache a été utilisé pour accélérer considérablement le traitement. Au moment de développer la logique d’éviction du cache, cela devenait plus rapide dans le simulateur desktop, mais plus lent sur l’appareil embarqué. La version publiée a finalement utilisé la logique d’éviction la plus simple.
Une base de données était coincée dans une boucle boot-crash, et l’
innodb_history_listd’une table particulière était corrompue. Comme la base plantait immédiatement, il était impossible d’ouvrir une session et de supprimer la table. Plusieurs fenêtres de terminal ont été ouvertes etwhile true; do mysql -e 'drop table xyz;' donea été lancé ; après des millions de tentatives, la connexion à la base a fini par réussir.Quand le lecteur CD du premier ordinateur est tombé en panne, il n’y avait pas les moyens d’en acheter un nouveau, donc des disquettes ont été utilisées pendant presque un an. Finalement, le lecteur a été démonté, le problème identifié, et de la kielbasa, une saucisse polonaise, a servi de lubrifiant pour les engrenages afin de réparer le lecteur.
Comme un chauffage au gaz naturel vieux de 30 ans ne prenait pas en charge les thermostats intelligents, un système a été fabriqué en collant un engrenage en plastique sur la molette du thermostat et en le reliant à un servo connecté à un Raspberry Pi pour régler la température.
En travaillant dans le forex de détail, les clients contestaient souvent le prix qu’ils voyaient et le prix auquel leur ordre avait été saisi. Pour résoudre ce problème, une solution a été développée pour consigner le prix au moment du clic sur le bouton de transaction. Le fichier de log enregistrait les éléments de GUI Java Swing sous forme d’art ASCII.
En production, un service utilisait un SSD entier via
mmap, converti directement en structures de données C++. Il n’y avait pas de système de fichiers sur ce SSD, seulement un énorme tableau de structures rempli de données écrit tel quel. En cas de panne du SSD, toutes les données devaient être restaurées depuis une sauvegarde, mais cette approche était étonnamment rapide et peu coûteuse.