Retador y un comentario de combate real

Hace años leí en «El péndulo de Foucault» de Umberto Eco una discusión entre personajes sobre la frase latina «nequaquam vacuum», que se traduce literalmente como «de ninguna manera vacío», aunque uno de los personajes la interpreta como «la naturaleza odia el vacío». Otro se burla preguntando si acaso lo dijo el Pato Donald. La anécdota me quedó grabada porque he observado a lo largo de los años cómo la vida tiende a llenar espacios de maneras inesperadas, aunque no siempre deseables. En un excusado o un bote de basura, por ejemplo, el vacío puede ser deseable. Cuando se aplica literalmente «de ninguna manera vacío», el resultado es tonto. Cuando la naturaleza efectivamente «odia el vacío», aparece basura inevitablemente.

Este concepto del vacío se conecta con algo que he observado en el desarrollo de software: existen principalmente dos tipos de desarrolladores, los de desarrollo y los de mantenimiento. Los primeros crean cosas nuevas, los segundos dan seguimiento a cosas antiguas. Sin embargo, la distinción es más de forma que de fondo. Hay muchas personas que empiezan algo y luego saltan de un lenguaje a otro de moda, tratando de llenar curriculum. La mala calidad de sitios web y aplicaciones, construidos sobre frameworks apilados uno encima del otro, es horrible. Hace quince días tuve que revisar un software hecho en aspx corriendo en puerto 300, con una interfaz que me hubiera dado pena en el año 2000, y ahora no se diga. En mis años como desarrollador, no he visto más que dos proyectos medianamente exitosos en los que yo no fui el desarrollador.

Una de mis fortalezas es la optimización de código ajeno. En 2012 me hice cargo de un software php/asp de una empresa de alimentos y creé lo que llamé sistema intermedio, de mil doscientas líneas BASE aproximadamente. Había archivos que tenían setecientas cincuenta líneas con unas veinte de SQL útil. Mi proceso era duplicar la interfaz, mejorarla si se podía, y convertir ese archivo de setecientas cincuenta líneas en una función de diez a treinta líneas. Hacer esto cien o doscientas veces en el mismo proyecto lleva a cambios significativos. Em 2025 sigue funcionando, ya creció a 90mil lineas y se sigue usando trece años después por operaciones de dos millones de pesos mensuales en facturación. Otro ejemplo: a mediados del 2023, el excliente de los monolitos me dio un código de cuatro hojas en PDF, con un cifrado Rijdael indescifrable en C o Java sin especificar, y con errores garrafales. Imposible de usar tal como estaba. Lo que hice fue entender la lógica, pasar a AES y después migrarlo a C#. No era lo óptimo, pero funcionó más de dos años, haciendo cierto maroma y teatro por puertos cerrados. No tuve que saber exactamente qué era. Esto es lo que podríamos llamar evolución.

He desarrollado de manera profesional individual entre cincuenta y setenta proyectos de arriba de cien mil líneas de código propio, y entre sesenta y ciento cincuenta de menos de cincuenta mil líneas, lo que en el medio se llama SLOC. Pienso antes de escribir y es raro hacer cambios por otra cosa que no sean optimizaciones por casos límite o requisitos cambiantes. Hace uno o dos meses hice un sistema de control de laboratorio de veinticinco a treinta mil líneas en unas dieciocho horas. Pero hay un detalle revelador: el cincuenta por ciento de lo que hago para empresas que me pagan, nunca lo usan.

Esto me recuerda a John Galt en «La rebelión de Atlas», que hace un motor maravilloso que nadie usa. El plano es parte de lo que encuentra Dagny en el almacén. Cuando ella pregunta por qué no se lo llevó, él contesta aproximadamente: «Puedo hacer otro. Pero ellos nunca lo usaron.» En los monolitos hice tres sistemas desde cero. Uno lo vieron treinta minutos, corrieron al que lo iba a usar por algo que no venía al caso, y terminé borrándolo por tener datos e ideas confidenciales. Una escuela me contrató para un sistema de control escolar. Conociendo sus detalles, les hice un sistema de cero en poco más de dos semanas con los cambios, y tampoco lo usaron. Solo me pagaron el treinta y tres por ciento y entregué como el setenta y cinco por ciento. No se entrega el código si no pagan el noventa y cinco por ciento. En una empresa industrial en 2007, código corregido de otros en ciento cincuenta a ciento ochenta pantallas de Visual Basic, y nunca implementaron lo más importante. Sí me pagaron, pero no querían usar lo que según esto más les importaba. Señales contradictorias.

El concepto del retador se da en muchas religiones, incluso en poemas. ¿No se supone que somos o debemos ser una versión mejorada de nuestros padres, o a veces algo completamente diferente? El concepto del retador se aplica a la idea de que hay cosas que deben hacerse, pero una vez que se hicieron, ya no es posible hacer más. Kant, por ejemplo: su hijo no podía hacer nada para superarlo. Sin embargo, hay ciertas cosas funcionales reales, como un policía que muere o lo matan, va a aparecer otro, se supone. Incluso en religiones o series heroicas pasa. No se trata de cómo dicen algunos para menospreciar, «nadie es indispensable», pero sí hay un concepto de evolución. Paul Féval, escritor maravilloso, escribe varios libros como «Enrique de Lagardère». Hay una segunda parte escrita al alimón por padre e hijo llamada «La venganza de Lagardère», con escenas memorables como la batalla del puente. Después un tercer libro, «El hijo de Lagardère», muy regular, escrito por Paul Féval hijo, con una muerte memorable y a la vez heroica e indigna de Enrique de Lagardère, pero mejor que mucho de esa época.

A finales de 1990, durante una visita de cortesía con mi padre, conversé con la hermana de mi primera novia. Ella me contó que iban seis o siete compañeros a hacer una tarea de programación. Yo pensé: ¿tantos? Con uno basta, si ella tenía computadora. Al año siguiente yo estaba haciendo nóminas que nadie me pidió de cajeras en supermercados, desarrollando. Ahora el nivel de computación que tengo es bastante alto. Como dato curioso, de los diez o doce desarrolladores que he conocido medianamente buenos y de los que no se quejaban en los últimos veinticinco años, ninguno tiene presencia en línea, trabajo conocido, ni siquiera LinkedIn.

Por esas mismas fechas estaba muy metido en Spengler, Kant, El Kybalion, Colin Wilson. Conocí a una dama que estudiaba derecho y a quien ayudaba con materias como historia de México, universal, literatura, química. Nuestras pláticas fueron mucho de El Kybalion, Dion Fortune, Nagualismo. El día que la conocí, coincidimos con una persona que resultó ser el líder de un grupo de tradiciones mesoamericanas. Hace treinta y siete años pasé por cosas que muchos no hacen, y no me he vendido o comerciado con lo sagrado. No me esperé lo que sucedió, solo pasó. Entendiendo a Kant y otras cosas, literalmente el mundo real estaba a la vista de los ojos. Las tradiciones reales no necesitan títulos ni nombres, solo acciones, algo de cerebro y corazón. Lo mismo la computación: sinceridad y ser brutalmente honesto.

Mi padre le dijo en una ocasión a la madre de mis hijos que sus dos hijos tenían las dos cosas que a él le interesaban. Soy muy parecido a mi padre, pero de mi medio hermano no he sabido nada desde hace más de veinte años. Hice mucho de lo que mi padre hacía, pero sin su talento artístico ni su carisma. Soy líder de guerra, mi padre era líder de tiempos de paz. A mí me buscan cuando hay problemas, lo mismo le pasaba a mi padre.

La Dama Margarita hizo en un momento dado un arreglo muy bonito de cumpleaños con globos. Yo quise aprender para ayudarla y me tomé cursos. Uno de los últimos arreglos que hice fue literalmente sorprendente, y ella me dijo «ya estás listo para hacerlos tú solo». Nuestros estilos eran diferentes: el mío no más vistoso, solo más rápido, más técnico, y hago cosas que solo se ven en las fotos. Lo que más quiso la gente de los últimos arreglos es lo que hice yo, y solo ella y yo lo sabemos. Por la idea de hacer algo en su cumpleaños no se hizo, le hicieron el arreglo más feo que he visto, y luego empezaron a dejarme hacer más. En menos de un año hice cosas diferentes a ella, por los cursos, por aprendizaje, por voluntad, y porque no podía dejar que si ella dejara de hacerlos, mi área quedara mal con otras áreas.

Por desidia o incompetencia de abogados, ahora he aprendido lo suficiente para mandar abogados a la cárcel o contestar casi cualquier tipo de escrito. He manejado casos exitosos penales, mercantiles, administrativos y familiares. ¿Pero por qué? Quizá por el deseo de aprender. La naturaleza odia el vacío. Solo sé que hay cosas que vale la pena conservar, y aunque las hayan dejado de lado mi primera novia, la chica del Kybalion, esos abogados o la Dama Margarita, yo sigo y seguiré.

Al aprender defensa personal, mi maestro me comentaba de mantener la mente en blanco, no pensar ni en derrota ni en victoria. Lo he hecho. La mente en blanco es necesaria a veces: el miedo, odio, emociones y mente ocupada a lo tonto te hacen vulnerable. A veces el recipiente debe estar listo. Tu corazón debe abrirse solo a lo grande lo noble y lo bueno. Lo mismo la mente. A veces es mejor cerrar la puerta que el pozo de agua se ensucie.

Así que me encuentro en ese estado, de pie, preservando. Nunca esperé dedicarme a programar, nunca esperé que las tradiciones mesoamericanas estuvieran tan relacionadas con Zoroastro y que fueran comunes, y mucho menos que iba a volverme un experto en arreglos con globos.

El paralelismo es que en el hospital necesitan que haga algo obvio, mientras en los monolitos piden cosas que son ilegales y ni cuenta se dan, prefieren dinamitar su operación que pagar servidores y abrir puertos. Si no le jalas al excusado, se va a derramar. Y al mismo tiempo, sacar la basura no es censurar: es perseverar en lo noble, lo grande y lo bueno.

Hay cosas que no deben morir, por mi mano al menos.