Javier Valencia Javier Valencia

Blog personal de Javier Valencia

Ilustración retrofuturista de estética synthwave: una caja central que brilla con su valor dentro, tres cajas pequeñas a la izquierda rotuladas con el signo ampersand que la miran con líneas discontinuas y una caja a la derecha rotulada &mut unida por una flecha sólida, todo bajo una llave de duración rotulada 'a

Borrowing en Rust: préstamos, lifetimes y cómo leer al borrow checker

28 de octubre de 2026 · 9 min de lectura · 4 visitas

Hace dos días conté en Ownership en Rust la primera mitad de la historia: cada valor tiene un único dueño, asignar o pasar a una función un tipo que no es Copy lo mueve, y el valor se libera en la llave de cierre del ámbito de su dueño. Aquel post terminaba con un incordio: si una función necesita leer un String, pasárselo es regalárselo, y para recuperarlo hay que devolverlo. Nadie escribe así. La solución es prestar, y la parte del compilador que vigila esos préstamos es la que todo el mundo llama, con una mezcla de respeto y...

Leer más →
Ilustración retrofuturista de estética synthwave: una ruleta de casino de neón vista en perspectiva, con la bola a punto de caer, delante de un sol a rayas y flanqueada por siluetas de cúpulas en forma de cebolla sobre el horizonte

Dostoyevski, vida y obra: el fusilamiento que no llegó, Siberia y la ruleta

27 de octubre de 2026 · 11 min de lectura · 8 visitas

Cuando escribí sobre El idiota antes de leerlo prometí un post sobre la vida y la obra de Dostoyevski. Aquí está. Antes de abrir sus novelas quiero saber quién era el hombre que las escribió, porque casi todo lo que le pasó acabó dentro de un libro. Repito la confesión del otro día: no he leído ninguna de sus novelas. Esto es el cuaderno de quien se prepara para leer, con lo que cuentan biógrafos como Joseph Frank y las enciclopedias. No sé ruso: las citas van en versión mía, sin pretensiones. Una nota de calendario: en la Rusia del...

Ilustración retrofuturista de estética synthwave: sobre una rejilla de neón, una caja vacía de trazo discontinuo pasa su contenido con una flecha rotulada move a otra caja que ahora brilla con el valor dentro

Ownership en Rust: quién es el dueño de cada valor y cuándo muere

26 de octubre de 2026 · 10 min de lectura · 20 visitas

Durante años usé Go para todo lo que no hacía con Rails, y en todo ese tiempo no me hice ni una vez una pregunta que en Rust te haces en cada línea: ¿quién es el dueño de este valor? En Go no hace falta. Creas un slice, se lo pasas a tres funciones, lo guardas en un struct y lo devuelves en un canal, y el recolector de basura se encarga de liberarlo cuando nadie lo mire. Hoy ese hueco lo ocupa Rust, y la pregunta del dueño es la primera que hay que aprender a responder. En Go...

Ilustración retrofuturista de estética synthwave: un libro abierto de neón sobre el horizonte, con una bacía de barbero usada como yelmo flotando encima, una lanza larga que cruza la escena en diagonal y una pluma de escribir a la izquierda, con un sol a rayas a la izquierda

Cinco enseñanzas y cinco frases del Quijote (y algunas que no son suyas)

23 de octubre de 2026 · 12 min de lectura · 29 visitas

Cuando hice mi lista de las diez mejores cosas de España, el primer puesto no tuvo debate: el Quijote. Lo resumí como la historia de un fracasado entrañable que decide que la realidad no le gusta y sale a corregirla, en un libro que se ríe de él, de sí mismo y del género que lo contiene, y que en mitad de la risa te rompe el corazón. Hace poco volvió a salirme al paso con Dostoyevski, que lo tenía por el gran antecedente del príncipe Mishkin de El idiota: el personaje bello que solo funciona porque al mismo tiempo...

Ilustración retrofuturista de estética synthwave: seis parejas de barras de neón de alturas distintas que se alzan como rascacielos delante de un sol a rayas, bajo las palabras go, vs y rs

Go frente a Rust, fase a fase: lo que hacía con uno y ahora hago con el otro

22 de octubre de 2026 · 26 min de lectura · 38 visitas

Durante muchos años mi caja de herramientas tuvo dos compartimentos. En uno estaba Rails, para cualquier aplicación web con formularios, sesiones y una base de datos detrás. En el otro estaba Go, para todo lo demás: la CLI que convierte ficheros, el demonio que escucha en un puerto, el servicio que habla con una centralita, la herramienta que se deja corriendo en una máquina sin pedirle nada. Este blog es el ejemplo más visible de ese segundo compartimento: un binario de Go que sirve Markdown desde memoria, sin base de datos y sin contenedor. Ese segundo compartimento hoy lo ocupa...