¿Cuál es el problema informático más difícil que has resuelto? ¿Cómo lo resolviste?

Escribí una aplicación que usa la biblioteca tsocks para forzar aplicaciones a través de un proxy 1337micro / SSHTunnel

La biblioteca es muy antigua y usa un archivo de configuración. También utiliza un analizador de archivos de texto muy antiguo para leer este archivo de texto (config). Necesitaba modificar este archivo de configuración usando Python para cambiar ciertas configuraciones para el usuario.

Al final del archivo hay la siguiente línea:

server_port = 1080

Esto representa el puerto que le gustaría usar para conectarse a un servidor remoto o un proxy local SOCKS 127.0.0.1.

En esencia, la aplicación no se conectaba y no estaba seguro de por qué. Con la ayuda de algunos administradores de sistemas de freenode IRC, descubrimos que la aplicación estaba intentando conectarse en el puerto 108 en lugar de 1080 .

¡No podía entender por qué estaba haciendo esto! Cuando usaría la biblioteca manualmente, este problema no aparecería. Modificaría el archivo de configuración usando el editor de texto “nano” y funcionaría bien.

Resulta que cuando estaba modificando el archivo de configuración con Python, no dejé una línea vacía al final del archivo. Al ser una biblioteca antigua, Tsocks utilizó un analizador de texto para leer su archivo de configuración, pero el analizador no funcionó correctamente cuando no encontró un “\ n” al final del archivo. El resultado fue tsocks cortando el último carácter en el archivo que era el 0 al final del número de puerto 1080 . Para resolver el problema, solo necesitaba agregar manualmente un “\ n” después de modificar el archivo con python. Los editores de texto, como nano, dejan este nuevo carácter de línea adicional al final de los archivos automáticamente por exactamente este motivo. Algunos analizadores más antiguos esperan un “\ n” al final del archivo o algún otro carácter especial. Si el analizador no encuentra un “\ n”, alcanzará un EOF inesperado y puede funcionar mal, destruyendo cierta información al final.

Me tomó muchos días darme cuenta y estaba a punto de renunciar al proyecto, pero Freenode me salvó.

Desconectando mi computadora de Internet para evitar que Microsoft cargue toneladas de “actualizaciones”, arruinando mi sistema operativo, reiniciando la computadora sin mi conocimiento o permiso, y destruyendo mucho trabajo en progreso.

Como estudiante de MS (CS), el problema más difícil fue escribir una tesis sobre robótica la primera vez en mi graduación. Aunque fue un momento difícil para mí, así que pensé que nada es imposible, así que comencé con esta imaginación y finalmente conseguí el Objetivo. Eso es todo.

Estaba reparando un Windows corrupto que no se actualizó por completo de Windows 8 a 8.1 porque el usuario apagó la computadora durante la actualización. Me llevó 3 días encontrar una solución. El enlace está adjunto: https: //kickthatcomputer.wordpre

No puedo decir cuál fue el problema exacto, pero tuve que trabajar con mi equipo durante todo el día para encontrar la solución. Por la noche todavía no habíamos identificado el problema y volvimos a casa.

Más tarde en la noche me sentí en mi cama como un árbol muerto. Cuando me lastimé la cama, tuve un destello de luz en mi cabeza, mi cerebro comenzó a pensar nuevamente en el problema y todo estaba muy claro y encontré la solución. En menos de un segundo

Al día siguiente, podría explicarle a mi equipo cuál es la fuente del problema y cómo resolverlo. Pero no podía recordar la complejidad de la reflexión que hizo mi cerebro durante ese destello.