Archivos Programación: Julio 2008
"Aquellos que no entienden Unix están condenados a reinventarlo, pobremente"
(Those who do not understand Unix are condemned to reinvent it, poorly)
Henry Spencer, el geek que salvo Usenet, y autor, de regex y de Los 10 mandamientos de los programadores C.
(No, no es el padre de Shawn de Psych(Psych_character))
Mañana 19 de julio es la fase final y presencial de la primera Olimpiada Nacional de Informática, a realizarse en Buin.
Los finalistas son:
Nicolas Lehmann - San Felipe, Valparaíso (Ganador 2da fase online)
Manuel Pérez - Santiago (Ganador 1era fase online)
Vicente Iglesias - Las Condes, Santiago
Francisco Hernández - Santiago
Matías Durán - Peñaflor, Santiago
Cristian Silva - Santiago
Juan Manuel Parraguez - Curicó
De entre ellos saldrán los 4 seleccionados chilenos a la Olimpiada Internacional de Informática a realizarse en Egipto en agosto.
Felicitaciones a todos ellos, a sus padres, y profesores que deben sentirse orgullosos también.
Más informaciones en el sitio oficial de la oni: www.oni.cl
Sucede que en estos días me pidieron ayuda para revisar un sistema (escrito mayormente en C) en que participé hace 6 años atrás. En el proceso descubrimos varios errores que sólo se hicieron evidentes ahora que se intentó una actualización del sistema operativo. Errores que nunca aparecieron en 6 años de operación continua.
Considero que no se llega a entender bien un sistema hasta después de observarlo detenidamente durante mucho tiempo. Puedes volver a revisar un código que escribiste hace meses, o años atrás, y siempre encontrarás un detalle. Puede ser un error grave, que sólo aparece como warning, y que en un ambiente no produce problemas, pero que "estalla" al correrlo en otro.
Al revisar tu viejo código sucede que te das cuenta de malas decisiones de diseño, o notas que puedes hacerlo mejor (normalmente porque has ganado experiencia y sabes como escribir mejor código). Otras veces descubres serios fallos de seguridad, que son sutiles, pero que no puedes ignorar. errores que no notaste en un primer momento, o que no pudiste revisar (siempre falta tiempo).
Algo parecido es lo que ha pasado recientemente con el problema en el diseño del DNS, y que tiene de cabeza a los administradores actualizando y parchando los servidores DNS.
La lección es que nunca podemos asegurar que, dado que un sistema lleva mucho tiempo funcionando correctamente, está libre de errores.

