La opinión de GN⁺
- Este artículo trata sobre “hacks malditos” para lograr el resultado deseado usando software y tecnología de formas creativas y, a veces, anormales.
- Para los entusiastas de la tecnología y los ingenieros de software, estos hacks ofrecen inspiración para desplegar creatividad más allá de los límites de la tecnología.
- Este tema resalta la flexibilidad de la tecnología y la capacidad de los usuarios para encontrar soluciones creativas, y resulta interesante para explorar casos en los que usar la tecnología de maneras no previstas produce resultados sorprendentes.
1 comentarios
Opinión de Hacker News
Una startup desarrolló un plugin para Microsoft Outlook, y fue exitoso. Los clientes querían la misma funcionalidad para Outlook Express, pero OE no tenía arquitectura de plugins. Sin embargo, se podía construir un sistema de macros usando hooks de Windows e inyección de DLL. Este sistema podía ver todo lo que ocurría en la pantalla, pero funcionaba perfectamente. Durante el almuerzo bromeaban con que había que convencer a los usuarios de OE de no mirar la pantalla, y la idea realmente funcionó. Consistía en tomar una captura de pantalla de todo el escritorio y mostrarla a pantalla completa, ocultar la manipulación de la GUI, esperar a que OE se actualizara y luego cerrar la superposición de pantalla completa.
En 1999, la popular plataforma social turca Eksi Sozluk usó un solo archivo de texto como base de datos. El sitio se construyó en apenas 3 horas, como un archivo EXE escrito en Delphi y sin framework web. Ahora usa .NET/MySQL y, aunque ha sido bloqueado por el gobierno turco por razones como "seguridad nacional", sigue siendo popular y continúa siendo una empresa legal pese al bloqueo del dominio, pagando impuestos y aceptando solicitudes de eliminación de contenido.
Cuando hizo consultoría para HBO en los 90, alguien trabajó en una migración desde MS Mail on Mac Server a MS Exchange on PC. El problema era que MS Mail en Mac no tenía función para exportar la libreta de direcciones, así que las asistentes personales tenían que copiar los contactos uno por uno. Para resolverlo, se experimentó con una herramienta de hotkeys de pantalla y, usando una herramienta con un lenguaje de programación completo, se desarrolló una utilidad que convertía automáticamente los contactos a archivos CSV que luego podían importarse en Exchange.
Al comienzo de Google Chrome, alguien tuvo la tarea de hacerlo compatible con lectores de pantalla de Windows. Como el diseño de Chrome era distinto al de Firefox o IE, implementar correctamente las APIs de accesibilidad era un reto. Se intentó hacer que funcionara en páginas web estáticas, pero el lector de pantalla no activaba en Chrome las funciones específicas para web. Al final, cuando ejecutaron Chrome después de renombrar su ejecutable a firefox.exe, todo empezó a funcionar. Después se contactó al proveedor del lector de pantalla para pedirle que tratara a Chrome como navegador web.
Hace más de 15 años, alguien trabajó en indexar gigabytes de texto en una CPU móvil. Como la lógica de normalización de palabras era muy lenta, usó caché para mejorar mucho la velocidad. Al desarrollar la lógica de limpieza de caché, en el simulador de escritorio iba más rápido, pero en el dispositivo embebido iba más lento. Al final, lanzó el producto usando la lógica de limpieza más simple.
Una base de datos estaba atrapada en un bucle de arranque y fallo, y el
innodb_history_listde una tabla específica estaba dañado. Como la base de datos se caía de inmediato, era imposible abrir una sesión y borrar la tabla. Se abrieron varias terminales y se ejecutówhile true; do mysql -e 'drop table xyz;' done, y tras millones de intentos se logró conectar a la base de datos.Cuando se dañó la unidad de CD de la primera computadora de alguien, no había dinero para comprar una nueva, así que durante casi un año usó disquetes. Al final desarmó la unidad, encontró el problema y la reparó lubricando los engranajes con kielbasa, una salchicha polaca.
Como un calentador de gas natural de 30 años no era compatible con un termostato inteligente, alguien construyó un sistema que pegaba un engranaje de plástico a la rueda del termostato y permitía ajustar la temperatura con un servo conectado a una Raspberry Pi.
Mientras trabajaba en forex minorista, alguien veía con frecuencia que los clientes disputaban el precio que estaban viendo y el precio al que se había ingresado la orden. Para resolverlo, se desarrolló una solución que registraba el precio cuando se hacía clic en el botón de operación. El archivo de log guardaba los elementos de la GUI de Java Swing convertidos a arte ASCII.
En un servicio de producción se usó un SSD completo mapeado con
mmapy casteado a estructuras de datos de C++. Ese SSD no tenía sistema de archivos; se guardaba directamente un enorme arreglo de structs lleno de datos. Si el SSD fallaba, había que restaurar todos los datos desde el respaldo, pero este enfoque era sorprendentemente rápido y barato.