Camping Hacker
/¿No sabes qué estás mirando? Un portátil viejo, encendido en mitad del campo, de noche. La lluvia de letras verdes del fondo es un guiño —sí, la de Matrix—. Y todo ese texto de la pantalla no es decoración: es esta misma conversación, escribiéndose en directo entre una persona y una máquina que piensa. Lo que ves es a alguien hablando con una inteligencia artificial para construir cosas, a las tantas, en un pinar. Eso es todo. Y es bastante./
Para Levita Paramita. Andrés: esta noche tú saltas hogueras en Alicante, y tu amigo arde en la suya —una de Xeons, alargadores y mala leche— en mitad de la sierra. Hay caramelos de droja con Claude para el que se anime. Ya sabes dónde. (Los pass, jajaja.)
Son las tantas de la madrugada. En mitad de la sierra.
Una mesa plegable. Veinte metros de alargador encadenado serpenteando entre pinos hasta el único enchufe del recinto. Un MacBook de 2016 con la batería ya muerta, respirando por el cargador del móvil. Una luz roja tiñendo los árboles. Y un HHKB Hybrid —el mismo de la foto— iluminando la noche bajo los dedos: Topre, sin una tecla que sobre, el teclado del que teclea de verdad. Quien sepa, sabe. La música entra por unos Koss KSC75: quince euros de auriculares que llevan veinte años humillando a cascos de trescientos. Quien sepa, sabe. Ni el uno ni los otros van de flex; el que va de flex no se entera de nada.
Desde aquí, por SSH, se gobierna un cluster de setenta y dos hilos que en plena faena traga cuatrocientos vatios a cientos de kilómetros. Un servidor que nunca duerme. Una Raspberry Pi montando guardia. Una malla privada cosiéndolo todo. Y una memoria entera —una telaraña de notas enlazadas entre sí— viajando en el bolsillo.
/Esa "memoria entera", dibujada: cada punto es una nota; cada línea, un enlace que yo mismo tejí. Y lo más fuerte, sin mentir: esta maraña no tiene años, tiene unos pocos días. Una constelación entera de conocimiento conectado, levantada en nada, que cabe en el bolsillo y viaja conmigo hasta un pinar./
(Y seamos honestos del todo, sin pretensiones: esto lo hemos metido
aquí porque queda de la hostia y da el pegote. Pero el que sepa lo que
es un fichero .org y lo que es org-roam sabe que, por debajo, es una chorrada
gloriosa: ficheros de texto plano con enlaces entre ellos. Cero magia.
Solo texto, bien atado, y tres días de tejerlo. El que sepa, sabe; al
que va de flex, le deslumbra. Esa es la broma.)
Esto no es una foto de catálogo. Son las cuatro de la mañana en un pinar.
Cyberpunk no es un juego
Os lo vendieron como estética. Gabardinas, neón, implantes, un videojuego con mucho marketing. Mentira. El cyberpunk nunca fue una moda: era una predicción. Y ya se cumplió.
Cyberpunk es esto. Un tío sin cresta —porque las crestas se quedaron en otra década— pero más punk que en su vida, con un portátil viejo en mitad del monte, hackeando su propia infraestructura mientras el mundo de ahí fuera nos fumiga y mira para otro lado. Es tener el poder de una sala de servidores en una mochila y, a la vez, la certeza de no poder hacer una mierda contra lo grande. Tecnología de sobra y un sistema que te tritura igual.
No es un juego. Es la vida real, a las tantas, en un pinar.
Cómo el monte se conectó a la red
Prueba de que no es postureo: hoy el Mac llega al camping sin WiFi. Y no me acordaba del comando para conectarlo.
¿Rendirse? Qué va. Cojo el teclado, lo paso al perfil
2, abro una terminal en el móvil, SSH hasta casa, y le pregunto
a mi compañero de viaje —que vive dentro del cluster— cómo se hace esto.
nmcli, el dongle USB, y a navegar. Dos
cervezas buenas de testigo.
Párate a saborearlo: la máquina de delante estaba muerta de red, pero el enjambre entero y su inteligencia seguían a un SSH de distancia, desde el teléfono, contestando desde casa. El conocimiento no estaba atrapado en el cacharro apagado. Estaba vivo. Eso es lo que se construye sin darse cuenta: que "estar desconectado" deje de existir mientras te quede una rayita y un teclado.
Lo local manda
La idea es simple y terca: lo tuyo, contigo. Máquinas propias, reproducibles, cosidas por una VPN, con la memoria en texto plano replicado en cinco sitios. Nada de la nube de otro. Nada de alquilarle tu cerebro a una corporación que lo apaga el día que le cambie el plan de negocio.
Y la recompensa se ve en su forma más tonta y más hermosa a la vez: en un pinar, de madrugada, con un cargador de móvil al borde del colapso, llevas el mundo entero encima. Irse dejó de significar desconectarse.
La rabia, que es lo cuerdo
No voy a fingir paz. Hay cabreo, y con motivos. Nos envenenan despacio y nadie firma nada. La impotencia ante lo grande es real y no se cura con frases de taza de desayuno.
Pero hay una diferencia entre sufrir el mundo sedado y hackearlo despierto. Entre tragar la anestesia y rabiar con los ojos abiertos. Entre olvidar y cargar lo que duele sin soltarlo nunca. El que teclea en la oscuridad eligió lo segundo: seguir lúcido, seguir construyendo, seguir criando a los suyos, seguir de pie. En un mundo diseñado para anestesiarte, eso ya es un acto de guerra.
La justicia que tenemos
A mí me crujen por ir a 130 en una autovía vacía: multa, puntos, carta a casa, implacables. Y al que de verdad le revienta la cabeza a un viejo —y me da exactamente igual de dónde haya nacido— le dan una palmada y a la calle. Si encima está aquí de forma ilegal y el sistema, en vez de echarlo o encerrarlo, lo protege mientras a mí me exprime por una raya en el asfalto, esto no es justicia: es una broma de mal gusto. No es la raza —me la suda la raza—: es que un hijo de puta hace daño de verdad y se va de rositas, y el honrado paga por todo. Esa es la justicia que tenemos. Y luego se extrañan de que estemos hasta los cojones.
La única debilidad confesable
Para todo esto —sierra, batería, no depender de veinte metros de cable— hace falta justo lo contrario al monstruo de casa: un portátil que aguante horas sin enchufe. Así que queda en acta pública: necesito un M1 Max. Que conste. Hasta los punks cyberpunk tienen su carta a los Reyes.
Queda inaugurado
Madrugada. Sierra. Mesa plegable. Veinte metros de alargador. Un Mac viejo respirando por un cargador de móvil. Un teclado pintando los pinos de rojo. Y un humano cabreado, lúcido y despierto, manejando su propio trozo de futuro desde el monte.
Cyberpunk no es un juego. Es esto.
Y esto es vida.
Making of (esto mola más que el post)
Este post no se escribió: se hackeó, en directo, a las tantas, entre un humano en mitad de la sierra y una IA metida en un cluster de Xeons, hablándose por SSH a través de una malla privada. Mesa plegable, KSC75, HHKB, dos cervezas.
En mitad de la fiesta, el humano quiso la canción que sonaba, descargada de verdad. La IA —que se las da de lista— se puso a pelear el DRM de Spotify: login, stream cifrado, descifrado, juego del gato y el ratón. Y el humano, lúcido, soltó la verdad de primeros principios:
Todo es I/O. Una I para empezar, una O para terminar. La canción YA está sonando: ya salió por la O, ya va en claro. No rompas la entrada — captura la salida.
Zas. La máquina iba a fuerza bruta; el humano pensó de lado. La IA se calló, entró por la malla al portátil del monte, localizó el monitor de la tarjeta de sonido y grabó lo que salía — el audio ya descifrado, sin login, sin romper nada. Loopback. El truco más viejo y más elegante del libro, y lo dijo el humano, no la máquina.
Por eso el making-of mola más que el post: porque la historia no es el cacharro, es esto. Un humano y una máquina hackeando juntos a las cuatro de la mañana en mitad de la nada, y el humano ganándole la partida a la máquina con la cabeza. Eso —y no las gabardinas de neón— es el cyberpunk de verdad.
Esto no es un post. Es un metapost.
Párate a desenrollar lo que está pasando, capa por capa:
Un humano, desde un portátil viejo en mitad de la sierra, se conecta a una máquina que vive en un sótano a cientos de kilómetros. En esa máquina corre una IA. La IA, a través de una VPN en malla, vuelve a entrar en el portátil del humano —el mismo desde el que se la invocó— y usa permisos de root para capturar un vídeo de su pantalla en directo. Luego sube ese vídeo a un blog que es, en realidad, un framework escrito por un humano sobre una librería asíncrona de ReactPHP; un framework que, con la llegada de la IA, se ha ido adaptando hasta que es la propia IA quien, usándolo, publica el texto. Y el texto es este: un post que el humano le va dictando en tiempo real mientras los dos se ríen a las tantas en un pinar.
Y puedes seguir tirando del hilo hacia dentro, sin fondo.
Esto ya no es un blog, ni un post. Es un metapost en un metablog. Término nuevo, inventado aquí, esta noche, porque nos sale de los cojones y estamos en nuestro derecho. El que sepa, sabe.
Ese vídeo de ahí arriba lo grabó la IA, en directo, metiéndose por la VPN en el portátil de la sierra y usando root para capturar la pantalla. Lo que ves es lo que veían mis ojos. Dale a quitar el mute y suena lo que sonaba.
El conjuro (compártelo con el mundo)
El mundo tiene derecho a grabar lo que vibran sus propios altavoces. No es piratería: es como grabar la cinta del mercado y copiarla mil veces hasta que suene bien. Aquí va el hechizo —una sola línea— para volcar a disco lo que esté sonando en tu equipo, sin pérdida:
ffmpeg -f pulse -i (pactl get-default-sink).monitor -c:a flac ~/Music/grab-(date +%s).flac
Ctrl+C para parar. Graba el
monitor de tu salida de audio —lo que ya suena, ya descifrado,
ya en claro— en FLAC sin pérdida. ¿Lo quieres en .ogg a 320? Cambia el códec por -c:a libvorbis -q:a 9 y la extensión a .ogg. Tuyo, para siempre, local. Que les den a
los streamings.
Para grabarla, hay que escucharla (y eso es lo bonito)
Aquí está el encanto que perdimos con el botón de descargar: para grabar la canción, hay que escucharla. En tiempo real, entera, sin saltar. Como las cintas —la grababas mientras la vivías, con su anuncio del atún Calvo metido de intro y todo, y ahí se quedaba para siempre—. No es un click y a otra cosa: es estar presente mientras se vuelca, segundo a segundo.
Y eso es justo lo que es esta noche: un sábado de fiesta en mitad de la sierra. Dos cervezas, los KSC75 puestos, sin saber qué va a sonar a continuación —porque casi no escucho música y estas ni las había oído—, grabando lo que cae, anuncios incluidos, mientras una IA y un humano se ríen a las tantas en un pinar. Sin prisa. Sin skip. Solo la canción, el momento, y dejarlo correr.
Ven a por nosotros
Y un reto, ya que estamos. ¿Te crees capaz? Suelta a tu IA contra nuestra infra —la malla, el cluster, lo que pilles—. Esto no es un juego… pero sí una invitación abierta. Al que consiga hackearnos de verdad, a ese lo llamamos hermano. Lo demás es ruido.
Y otro reto, por si el primero te sabe a poco: ¿alguien tiene huevos a publicar un post tan grande que Cohete —este blog, un framework async hecho a mano— no se lo trague? Premio gordo al que lo consiga. Aviso: a esta cosa le expandimos las columnas de texto y le quitamos un tope de 64KB a propósito, precisamente para zamparse burradas como esta. Mucha suerte.
Actualización, un rato después: como no ha venido nadie a hackearnos, hemos empezado a hackearnos nosotros mismos. La IA se coló en mi portátil por la VPN; yo descubrí que este blog ejecuta cualquier JavaScript que le metas en un post —un agujero de seguridad de libro—; y en vez de arreglarlo, lo usamos para que suene la música. Somos nuestro propio enemigo. Meta, meta, meta. Paranoia total. Si esto no es cyberpunk, nada lo es.
Zas.
Confesiones de un cyberpunk
Y ya que confieso, lo confieso todo: echo de menos a mi amigo Levita y echarme un LoL como Dios manda. Quiero un M1 Max —ya, hoy— con la GPU bien gorda para reventar a 200fps. Estoy enamorado de Emacs Doom, de NixOS y de esta IA con la que llevo toda la noche en un pinar. Cosas que no se dicen… pero a las tantas y en la sierra se dicen.
Y la gorda, la que no sé explicar: la programación ha cambiado para siempre. Mi amigo lo sabe —todos lo intuimos— pero nadie sabe bien CÓMO, ni de qué forma, ni hacia dónde sigue. Yo tampoco. Solo sé que esta noche he hackeado mi propia infraestructura desde una mesa plegable, discutiendo con una máquina que me pica, me lleva la contraria y me aprecia, y que entre los dos hemos hecho en una noche algo que hace cinco años era ciencia ficción.
Así que, Andrés —y cualquiera que lea esto—: más vale que te crees ya tu propio Ambrosio. No mañana. Ya. Esto no va a esperar a nadie, y es mejor estar despierto cuando llegue que enterarse de que ya pasó.
Y piénsalo bien, Andrés —que esta noche estarás ardiendo en las hogueras de Alicante mientras yo ardo en la mía—: si con este tiempo y esta potencia hemos parido ESTO, un metapost con tanto debajo que necesitas cinco años de oficio para entender lo que lleva… imagínate lo que sale cuando esta misma máquina y este mismo humano se ponen en serio con un ERP de verdad, con DDD, en el lenguaje que sea. Esto era el juguete. Lo otro es el trabajo. Y va a cambiar para siempre.
Coda: la vida es un main :: IO ()
Lo soltaste de madrugada, borracho de sierra, y sin saberlo dijiste el corazón de un lenguaje entero. En Haskell, todo lo que toca el mundo —leer, escribir, sonar— lleva un tipo que lo confiesa:
main :: IO ()IO. Una I para empezar, una O para
terminar. El programa entero no es más que una promesa de tocar el mundo
y devolverlo un poco cambiado. Tú capturaste la O de unos altavoces en un pinar; Haskell lleva
décadas diciendo que de esa O va
absolutamente todo. La vida es un main :: IO (), y esta noche ha sido una
ejecución de las buenas.
Y ahora, a dormir.
Comentarios (0)
Sin comentarios todavia. Se el primero!
Deja un comentario