El poder curativo de JavaScript



Hace poco menos de un año, cuando los bloqueos de Covid-19 comenzaron a extenderse por todo el mundo, la mayoría de las personas comenzaron a abastecerse de papel higiénico y alimentos enlatados. Pero personalmente, buscaba algo diferente: implementar una función de búsqueda.



El propósito de la función de búsqueda no era muy importante, solo necesitaba codificar. El código es tranquilizador porque te permite sentirte en control en esos momentos en los que el mundo aparentemente se hunde en el caos. Básicamente, la programación se trata de pequeños acertijos que resolver. No solo de los rompecabezas que yacen pasivamente sobre la mesa, sino de los rompecabezas en los que se puede respirar la misteriosa vitalidad. Puzzles capaces de realizar tareas, crear algo, automatizar una rutina o publicar textos disponibles para todo el mundo.



Como muchos otros escritores y artistas, tengo un sitio web personal que ha estado funcionando durante casi 20 años. Decidiendo abordar el código, desempolvo mi conocimiento de JavaScript oxidado y comencé a buscar bibliotecas de búsqueda difusa que pueda conectar a un sitio web para que sea más fácil encontrar ensayos de mi colección.



Dividimos la tarea en partes. Los escribimos en una aplicación de tareas pendientes (me encanta usar Things). Y así es como se crea el universo creativo. Todos los días, me alejo del colapso global de la sociedad que se está desarrollando fuera de mi vida y me sumerjo en la investigación, uno por uno, tachando los puntos pendientes. Covid era enorme; mi lista de cosas por hacer era bastante larga.



El verdadero placer de este proyecto fue no solo realizar la búsqueda, sino también mejorar, pulir, eliminar asperezas. Perderme en el mundo que hice yo mismo. Puede que no pueda controlar una pandemia formidable, pero puedo manejar este pequeño puñado de bits.



Todo el proceso de trabajo se convirtió en un escape, pero un escape con un impulso de crecimiento. Configuramos el estilo de navegación de teclado ideal, cambiamos el momento de transmisión de la carga útil de búsqueda, encontramos un equilibrio entre el tamaño del índice y la utilidad de la búsqueda. Lo más importante es que mantenemos nuestro código increíblemente ligero. Resuma, convierta el código en una pequeña "esencia" en GitHub y compártalo con la comunidad. Es como pasar el balón a otras personas: adelante, ahora puedes usar esto en tu sitio web. Búsqueda de clientes ultrarrápida y optimizada para el teclado en Hugo.



Es imperfecto, pero muy bueno.



La conclusión es que la costumbre de intentar codificar no solo es curativa en sí misma, sino también un truco para transformar la sensación de horror en algo constructivo: una función que agrega una pequeña pero valiosa contribución al conjunto.



Empecé a programar cuando tenía diez años y no me he rendido desde entonces. Básicamente, lo aprendí todo yo mismo. Entre otras personas, siento una incomodidad extraordinaria, y la máquina me tranquilizó con su literalidad y prometió dejarme entrar en un mundo que ni siquiera los adultos que me rodeaban podían comprender. En este sentido, el código se ha convertido en un amigo para mí, un amigo que nunca juzgará.



El patrón se desarrolló: cuando estaba cansado de las complejidades de las situaciones sociales cuando era niño, recurrí al código y me convertí en un recluso. Ellen Ullman en su libro Life in Code: A Personal History of Technology escribe: “Hasta que me convertí en programador, no entendía completamente la utilidad de tal aislamiento: silencio, reducir la vida al pensamiento y la forma; por ejemplo, ir a una habitación oscura para trabajar en un programa cuando las relaciones con las personas se complican ".



Leer libros en lenguaje ensamblador en la escuela secundaria o programar el software BBS en la escuela secundaria todavía no me parecía un salvavidas. Mi primer reconocimiento consciente del poder curativo del código se produjo hace unos años cuando refactoricé mi sitio web de un sistema de gestión de contenido a otro. Parece inimaginable, pero es cierto: el CMS me curó.



En ese momento, sufrí de depresión personal y profesional durante mucho tiempo. Estaba completamente inquieto. Cuando comencé a repensar mi estado, me di cuenta de que no estaba donde quería y esperaba estar.



Esto me pasa a veces; esto le pasa mucho a algunas personas. Cuando siento que la gravedad de la depresión desciende sobre mí, a menudo recuerdo el epígrafe de "Visible Darkness".William Styron: "Por lo terrible que me aterrorizó, que me alcanzó ..." Por lo general, esto significa que no descansé lo suficiente. No me refiero a días, sino a meses o años. Me inclino gradualmente, como un barco en el que entra agua a través de un arroyo. Después de un tiempo, definitivamente se ahogará. Mi cerebro se estaba hundiendo gradualmente y sentí que necesitaba servidores como salvación. Resultó que los servidores son uno de los lugares más seguros para mí.



He querido mantener vivo mi endeble y costoso servidor Rackspace durante años, pero soy demasiado vago para hacerlo. Se trata de una tarea voluminosa e ingrata que requiere una concentración constante.



Casi todo lo relacionado con los servidores ocurre en la línea de comandos del "terminal", un mundo libre de imágenes e interfaces gráficas. Solo texto. Cada acción se perfecciona al grano y literalmente. Un error tipográfico en un solo carácter puede destruir el sistema. De hecho, al cambiar al modo de administrador o "superusuario", los servidores han mostrado este mensaje durante décadas:



Confiamos en que haya escuchado la conferencia familiar de su administrador de sistema. Por lo general, se reduce a los siguientes tres puntos:



1: Respete la privacidad de los demás.



2: Piense antes de pulsar las teclas.



3: Una gran fuerza conlleva una gran responsabilidad.


Uno puede sentir debilidad en las rodillas, al darse cuenta de cuánto depende el trabajo del mecanismo del mundo de la precisión de la entrada del teclado. Pero este es exactamente el caso, y cuando explora el interior de su distribución de Linux favorita, observa con la boca abierta lo absurdo y la belleza de las intersecciones de flujos que apoyan el funcionamiento de la web y la mayor parte de nuestra infraestructura digital (e indirectamente , físico).



Esta es en parte la razón del atractivo de los sistemas: moverse a través de este caos, con toda su poesía retorcida grep , vi , git , apachey * .ini— *, con la ayuda de movimientos ultrarrápidos de los dedos en el teclado, es asombroso. Te sientes como un alquimista. Sí, y lo eres. Ingresa palabras misteriosas, casi un galimatías, en una interfaz de texto línea por línea, y ahora está lista una aplicación simple, cuyo acceso aparece instantáneamente para una gran cantidad de personas en todo el mundo.



Las personas que amo a menudo se sienten avergonzadas o incluso sospechosas cuando descubren accidentalmente que soy bueno en bash.(una especie de terminal shell para ingresar comandos). Como si les estuviera ocultando algún secreto desagradable. Una vez, al ingresar al mundo del texto, con unas pocas pulsaciones rápidas, ayudé al hijo adolescente de un amigo a instalar mods para Minecraft. Por su mirada, me di cuenta de que instantáneamente me convertí para él en algo así como una estrella de rock. Gracias a doscientos clics, se creó un puente entre dos generaciones.



Encuentro paz en el caos oscuro de este mundo. El código y los servidores son mi hogar, y este sentimiento es difícil de explicar a aquellos para quienes no están en casa.



Entonces, en mi estado inclinado y ligeramente deprimido, comencé a mover sitios web del servidor antiguo al nuevo. Mis tareas se registraron en mi confiable lista de tareas pendientes. Las URL de los sitios antiguos marcaron épocas únicas en mi vida a través de las lentes de las que una vez me vi.



Mis viejos sitios web son fantasmas. Nadie los verá ni los atacará. Los transferí porque me sentí responsable de ellos, sentí que tienen derecho a seguir la vida en latidos.



La mayor parte del trabajo del servidor implicaba hacer que los sitios complejos fueran menos complejos. Es decir, convierta la dinámica en estática. Extraiga estos sitios de sus núcleos PHP, devuélvalos a HTML y CSS plácidos, y hágalos rápidos de mantener y preparados para el futuro. Es curioso que incluso algo tan simple como una base de datos MYSQL requiera poda y alimentación, al igual que las plantas. Que un script PHP aparentemente inofensivo se vuelve obsoleto después de una docena de años debido a la evolución de los modelos mentales de los lenguajes. Pero si toma una página HTML de principios de los 90, se renderizará en casi cualquier dispositivo con pantalla.



En este sprint al migrar su página de inicioTambién lo convertí en un sitio estático. En una versión más sencilla, que seguirá funcionando en unos cientos de años. Ella se ve muy parecida a como lo hacía antes. Al llegar a los sitios estáticos, hicimos un círculo completo, como poetas agotados que viajaron por el mundo y probaron todas las formas poéticas, y finalmente se dieron cuenta: para vernos a través de nuestras tragedias, un simple haiku es suficiente.



Como ocurre con la mayoría de las obras de infraestructura, estas tareas monótonas tras bambalinas a menudo se ignoran, se ridiculizan por carecer de importancia y cuentan con fondos insuficientes. Esto sucede hasta que algo se rompe o hasta que comienza una pandemia. Entonces entendemos que la infraestructura lo es todo, y sin ella nuestro mundo volverá a un estado de cueva troglodita, o incluso peor.



A finales de la década de 1990, no teníamos más remedio que ser el propietario, el limpiador y el ingeniero de sistemas de su página de inicio. Hoy es posible trasladar esta responsabilidad a terceros. Tumblr, Ghost, Facebook, Blogger, Wordpress: han surgido muchas plataformas en las que puedes concentrarte únicamente en el contenido y, en cambio, reducir tu nivel de control.



Puede elevar demasiado el nivel de responsabilidad. Probablemente me pasó a mí. No importa cuánto esfuerzo ponga en el sistema, el efecto de esto no puede exceder un cierto valor. Pero no me molesta.



Esta resolución de problemas línea por línea a veces se convierte exactamente en lo que me saca de la cama. ¿Conoces este sentimiento? "No quiero salir de debajo de las sábanas"? Todas las mañanas del último año para toda la humanidad, quizás el mayor deseo era quedarse en la cama, este mundo resultó tan desequilibrado. Pero luego, debajo de esta manta, empiezo a pensar ¡Ajá!Sé cómo resolver el problema del servidor X, o cómo lidiar con el extraño comportamiento de Y. Sé cómo arreglar este código de búsqueda. Y gracias a esto, puedo levantarme y convertirme en humano (o al menos parcialmente humano), entrar en este mundo de líneas, donde nadie te juzgará. Contiene sólo a usted y la mecánica de los sistemas; sistemas que se vuelven más hermosos cuanto más tiempo les dedica. Para mí, esta responsabilidad es la terapia.



Y así destruyo el sistema, el sistema que amaba y que me ha servido fielmente durante muchos años, con el fin de crear un marco mejor y más estable para el código, y tal vez en parte para el mundo.



All Articles