enero 22, 2013

Macro

Fue una macro de Excel la que desencadenó el fin del mundo.

En tiempos de compatibilidad condicionada, de promesas incumplidas y de tipos de dato prostituídos, un asistente contable de una empresa cualquiera decidió escribir algunas líneas de código para terminar más rápido sus tareas de revisión de saldos, cuentas, transferencias y demás.

Abrió el editor de código VBA con Alt + F11 como le había enseñado un ingeniero el otro día. Se sentía un poco más profesional en su tarea usando atajos de teclado en vez de los habituales clics. Apareció la ventana con bloques de código dispersos y desordenados. Era lo que había grabado la semana anterior. Algunas pruebas que usó para entender lo que había leído en los tutoriales en línea.

Garrapateaba en el teclado, a veces transcribiendo ejemplos de los tutoriales, a veces improvisando desde lo poco que ya había aprendido a hacer. Rangos, celdas, columnas, formatos, sumas, restas, cortar y pegar.
Usaba las funciones que había copiado y las que había grabado, concatenaba los bloques sin mayor apuro.

De repente, pensó en escribir algo más para que la macro terminara más rápido. En un tutorial que no llegó a entender del todo. Sí, había algo que hacía a la rutina ejecutarse más rápido. Eso seguro le gustaría a su jefe.

Trató de recordar, se ayudó pulsando Ctrl + Espacio varias veces. El resultado se parecía a lo que había visto pero no estaba del todo seguro. Igual, sólo con ejecutarlo podría ver si había algún error en la rutina.
Guardar, ir a la hoja de cálculo, Alt + F8, seleccionar la macro principal, Ejecutar.

En uno de los servidores de archivos de la empresa, la ejecución del código apuntó misteriosamente a direcciones de memoria inválidas, a una velocidad vertiginosa. Errores que se sucedían unos a otros sin parar. De repente, la corriente que pasaba a través de los componentes los calentó más allá de cualquier límite conocido y lo que siguió fue una implosión. Todo alrededor del servidor colapsó y ese vacío comenzó a engullir todo a su alrededor.

Cables con conectores RJ-45 y RS-232 sucumbían por igual, latas y diodos LED de colores diversos desaparecían en el oscuro punto. Millones de unos y ceros eran engullidos por el vacío oscuro. El Universo entero desaparecería en medio de un Sub, End Sub interminable.

Hasta que apareció una pantalla azul en la terminal de aquel usuario y aquel vórtice iracundo se quedó sin energía para enviarle datos a algún universo paralelo.

No hay comentarios.: